:root{--c-text: #20262c;--c-text-sub: #6e7780;--c-bg: #f6f7f8;--c-surface: #fff;--c-border: #e2e6e9;--c-home: #28785f;--c-home-bg: #e8f5ef;--c-external: #b9543b;--c-external-bg: #fff0e9;--c-both: #6b50a7;--c-both-bg: #f1eafd;--c-excluded: #59626b;--c-excluded-bg: #eef1f3;--c-select: #2878d0;--c-error: #c63f42;--c-pending: #f59a0b;--c-primary: #232a30;--shadow: 0 7px 24px rgb(32 38 44 / .075);--pad: 16px;color-scheme:light;font-family:Segoe UI,Yu Gothic UI,system-ui,sans-serif}[data-c=home]{--tone: var(--c-home);--tone-bg: var(--c-home-bg)}[data-c=external]{--tone: var(--c-external);--tone-bg: var(--c-external-bg)}[data-c=both]{--tone: var(--c-both);--tone-bg: var(--c-both-bg)}[data-c=excluded]{--tone: var(--c-excluded);--tone-bg: var(--c-excluded-bg)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--c-bg);color:var(--c-text);font-size:14px;line-height:1.6}img{max-width:100%}.app{max-width:430px;min-height:100dvh;margin:0 auto;padding-bottom:116px;background:var(--c-bg)}@media(max-width:370px){:root{--pad: 14px}}.header{display:flex;align-items:center;gap:10px;height:62px;padding:0 var(--pad);border-bottom:1px solid var(--c-border);background:var(--c-surface)}.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--c-primary);color:#fff}.brand{font-size:16px;font-weight:800}.who{margin-left:auto;padding:4px 12px;border-radius:999px;background:var(--c-excluded-bg);color:var(--c-text-sub);font-size:12px;font-weight:700}.page{padding:17px var(--pad) 0}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--c-text-sub);font-size:12px;font-weight:700}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-select)}.eyebrow b{color:var(--c-text)}h1{margin:0;font-size:24px;font-weight:800;letter-spacing:-.2px}.lead{margin:6px 0 0;color:var(--c-text-sub)}.sectionHead{display:flex;align-items:baseline;gap:8px;margin-top:19px;font-size:14px;font-weight:750}.sectionHead span{margin-left:auto;color:var(--c-text-sub);font-size:12px;font-weight:700}.card{margin-top:12px;padding:14px;border-radius:14px;background:var(--c-surface);box-shadow:var(--shadow)}.note{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:13px;background:var(--c-home-bg);color:var(--c-home);font-size:13px}.note b{display:block;font-size:14px;font-weight:750}.note p{margin:2px 0 0;color:#3c6a5c;font-size:12.5px}.note svg{flex:none;margin-top:2px}.alert{margin-top:12px;padding:14px;border-radius:13px;background:var(--c-external-bg);color:var(--c-external)}.alert b{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800}.alert p{margin:4px 0 0;color:#8b4a39;font-size:12.5px}.fail{margin-top:10px;padding:14px;border-radius:13px;background:#fff5f5;color:var(--c-error)}.fail b{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750;word-break:break-all}.fail p{margin:4px 0 0;color:#8f3a3c;font-size:12.5px}.muted{margin-top:10px;color:var(--c-text-sub);font-size:12.5px}button{font-family:inherit}.primary,.secondary,.danger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border:0;border-radius:12px;background:var(--c-primary);color:#fff;font-size:15px;font-weight:750}.primary:disabled{background:#c9ced3}.secondary{background:var(--c-surface);color:var(--c-text);box-shadow:inset 0 0 0 1px var(--c-border)}.danger{background:var(--c-surface);color:var(--c-error);box-shadow:inset 0 0 0 1px #f0c7c7}.small{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:var(--c-surface);color:var(--c-text);font-size:13px;font-weight:750;box-shadow:inset 0 0 0 1px var(--c-border)}.link{min-height:44px;padding:0 4px;border:0;background:none;color:var(--c-select);font-size:13px;font-weight:750}.bottom{position:fixed;right:0;bottom:0;left:0;display:flex;gap:10px;max-width:430px;min-height:82px;margin:0 auto;padding:10px var(--pad) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--c-border);background:var(--c-surface)}.bottom>button{flex:1}.bottom>button:first-child:not(:only-child){flex:0 0 40%}.bottomNote{position:fixed;right:0;bottom:calc(82px + env(safe-area-inset-bottom));left:0;max-width:430px;margin:0 auto;padding:4px var(--pad);background:var(--c-bg);color:var(--c-text-sub);font-size:12px;text-align:center}.picker{display:grid;place-items:center;min-height:86px;margin-top:12px;border:1.5px dashed #c6d3e4;border-radius:14px;background:#fbfdff;color:var(--c-text);font-size:15px;font-weight:750}.picker div{display:flex;align-items:center;gap:10px}.picker input{display:none}.counts{display:flex;align-items:baseline;margin-top:16px;font-size:15px;font-weight:800}.counts span{margin-left:auto;color:var(--c-text-sub);font-size:12.5px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 0;padding:0;list-style:none}.tile{position:relative;aspect-ratio:1;border-radius:11px;background:var(--c-excluded-bg)}.tile>img{width:100%;height:100%;border-radius:11px;object-fit:cover}.tile[aria-selected=true]{outline:3px solid var(--c-select);outline-offset:2px}.pick{position:absolute;top:6px;left:6px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:#ffffffe6;color:transparent;box-shadow:0 1px 3px #0003}.tile[aria-selected=true] .pick{background:var(--c-select);color:#fff}.marks{position:absolute;top:6px;right:6px;display:flex;gap:4px}.mark{position:relative;display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:var(--tone);color:#fff;box-shadow:0 1px 3px #00000038}.mark[data-mark=new]{background:var(--c-surface);color:var(--tone);box-shadow:0 0 0 2px var(--c-pending),0 1px 3px #0003}.mark[data-mark=remove]:after{content:"";position:absolute;top:-5px;right:-5px;width:16px;height:16px;border:1.6px solid #fff;border-radius:50%;background:var(--c-error) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 10px 10px no-repeat}.mark.big{width:31px;height:31px}.mark.mini{width:20px;height:20px;border-radius:6px}.duration{position:absolute;bottom:6px;left:6px;display:flex;align-items:center;gap:3px;padding:2px 6px 2px 4px;border-radius:7px;background:#14181cb8;color:#fff;font-size:11px;font-weight:700}.hero{position:relative;margin-top:12px}.hero>img{display:block;width:100%;height:164px;border-radius:13px;object-fit:cover;background:var(--c-excluded-bg)}.hero .marks{top:10px;right:10px}.heroMeta{display:flex;align-items:baseline;gap:8px;margin-top:10px;font-size:13px;font-weight:750;word-break:break-all}.heroMeta span{margin-left:auto;color:var(--c-text-sub);font-size:12px;font-weight:600;white-space:nowrap}.destGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.dest{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:0;border-radius:12px;background:var(--c-surface);color:var(--c-text);font-size:15px;font-weight:750;box-shadow:inset 0 0 0 1px var(--c-border)}.dest[aria-pressed=true]{background:var(--tone-bg);color:var(--tone);box-shadow:inset 0 0 0 1.6px var(--tone)}.strip{display:flex;gap:7px;margin-top:10px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none}.strip::-webkit-scrollbar{display:none}.strip .tile{flex:0 0 61px;width:61px;border-radius:9px}.strip .tile>img{border-radius:9px}.strip .marks{top:4px;right:4px;gap:3px}.strip .duration{bottom:4px;left:4px;padding:1px 4px;font-size:10px}.batch{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:13px;background:var(--c-surface);box-shadow:var(--shadow);font-size:14px;font-weight:750}.batch p{margin:2px 0 0;color:var(--c-text-sub);font-size:12px;font-weight:500}.batch .link{margin-left:auto;white-space:nowrap}.thumbRow{display:flex;gap:7px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.thumbRow .tile{flex:0 0 61px;width:61px;border-radius:9px}.thumbRow .tile>img{border-radius:9px}.thumbRow .marks{top:4px;right:4px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.stat{padding:12px 14px;border-radius:13px;background:var(--c-surface);box-shadow:var(--shadow)}.stat small{color:var(--c-text-sub);font-size:12px;font-weight:700}.stat b{display:block;font-size:22px;font-weight:800}.stat[data-tone=error] b{color:var(--c-error)}.breakdown{margin-top:12px;color:var(--c-text-sub);font-size:12.5px}.timerCard{display:grid;place-items:center;margin-top:12px;padding:24px 14px 20px;border-radius:16px;background:var(--c-surface);box-shadow:var(--shadow);text-align:center}.ring{position:relative;width:150px;height:150px}.ring svg{transform:rotate(-90deg)}.ring div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ring b{font-size:52px;font-weight:800;line-height:1}.ring small{color:var(--c-text-sub);font-size:12px;font-weight:700}.timerCard h2{margin:18px 0 0;font-size:19px;font-weight:800}.timerCard p{margin:4px 0 0;color:var(--c-text-sub);font-size:13px}.checklist{display:grid;gap:6px;margin-top:12px;padding:14px;border-radius:13px;background:var(--c-surface);box-shadow:var(--shadow);font-size:13px}.checklist div{display:flex;align-items:center;gap:8px}.progressHead{display:flex;align-items:baseline;gap:8px}.progressHead small{color:var(--c-text-sub);font-size:13px;font-weight:700}.progressHead b{margin-left:auto;font-size:34px;font-weight:800;line-height:1}.track{height:9px;margin-top:10px;border-radius:5px;background:var(--c-excluded-bg);overflow:hidden}.fill{height:100%;border-radius:5px;background:var(--c-home);transition:width .25s linear}.progressFoot{display:flex;margin-top:8px;color:var(--c-text-sub);font-size:12.5px;font-weight:700}.progressFoot span{margin-left:auto}.current{display:flex;gap:12px;align-items:flex-start}.current .tile{flex:0 0 56px;width:56px;border-radius:9px}.current .tile>img{border-radius:9px}.current b{display:block;font-size:14px;font-weight:750;word-break:break-all}.current small{color:var(--c-text-sub);font-size:12px}.current em{display:block;margin-top:2px;color:var(--tone, var(--c-home));font-size:12.5px;font-style:normal;font-weight:750}.done{display:grid;place-items:center;margin-top:24px;text-align:center}.done .badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--c-home-bg);color:var(--c-home)}.done[data-tone=error] .badge{background:#fdecec;color:var(--c-error)}.done h1{margin-top:14px;font-size:22px}.driveLinks{display:grid;gap:10px;margin-top:10px}.driveLink{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border:0;border-radius:12px;background:var(--c-surface);color:var(--c-text);font-size:14px;font-weight:700;box-shadow:inset 0 0 0 1px var(--c-border)}.driveLink svg:first-child{color:var(--tone)}.driveLink svg:last-child{margin-left:auto;color:var(--c-text-sub)}.dayHead{margin-top:19px;font-size:14px;font-weight:800}.rows{display:grid;gap:10px;margin:10px 0 0;padding:0;list-style:none}.row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:13px;background:var(--c-surface);box-shadow:var(--shadow)}.row>.thumb{position:relative;flex:0 0 65px;width:65px;height:65px;border-radius:9px;background:var(--c-excluded-bg)}.row .body{min-width:0;flex:1}.row b{display:block;font-size:13.5px;font-weight:750;word-break:break-all}.row small{color:var(--c-text-sub);font-size:12px}.row .where{display:flex;align-items:center;gap:5px;margin-top:2px;color:var(--tone);font-size:12.5px;font-weight:750}.folders{display:grid;gap:10px;margin-top:10px}.folder{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;background:var(--c-surface);box-shadow:var(--shadow)}.folder .tone{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--tone);color:#fff}.folder b{display:block;font-size:14px;font-weight:750}.folder small{color:var(--c-text-sub);font-size:12px}.hello{display:flex;gap:8px;margin-top:12px}.hello img{width:33%;height:160px;border-radius:12px;object-fit:cover}label{display:grid;gap:4px;margin-top:14px;font-size:13px;font-weight:750}label input{min-height:48px;padding:0 12px;border:1px solid var(--c-border);border-radius:12px;font-family:inherit;font-size:15px}label small{color:var(--c-text-sub);font-size:12px;font-weight:500}.message{display:flex;gap:8px;margin:12px var(--pad) 0;padding:12px 14px;border-radius:12px;background:#fff5f5;color:var(--c-error);font-size:13px}.center{display:grid;place-items:center;min-height:60dvh;padding:var(--pad);text-align:center}
