/* Weeknote · a little room for the week */
:root{color-scheme:light;--paper:#e7e7e7;--ink:#262626;--muted:#606060;--line:#cccccc;--accent:#9e360c;--signal:#ff702e;--outside:#d4d4d4;--soft:#dadada;--panel:#f2f2f2;--day-1:#dedede;--day-2:#bdbdbd;--day-3:#979797;--day-4:#747474;--day-5:#565656;--day-6:#3c3c3c;--day-7:#272727;--badge:#ffffff55}
:root[data-theme=dark]{color-scheme:dark;--paper:#202020;--ink:#eeeeee;--muted:#aaaaaa;--line:#404040;--accent:#f1854f;--signal:#ff874d;--outside:#151515;--soft:#2c2c2c;--panel:#282828;--day-1:#878787;--day-2:#727272;--day-3:#5e5e5e;--day-4:#4b4b4b;--day-5:#3b3b3b;--day-6:#2e2e2e;--day-7:#242424;--badge:#ffffff0d}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line) var(--paper)}
body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:28px 20px;background:var(--outside);color:var(--ink);font:15px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit;border:0;background:none}button{cursor:pointer;touch-action:manipulation}button:focus-visible{outline:1px solid var(--muted);outline-offset:3px;border-radius:3px}input:focus-visible{outline:none;box-shadow:0 1px 0 var(--muted)}input{caret-color:var(--accent)}::selection{background:var(--ink);color:var(--paper)}[hidden]{display:none!important}
.device{position:relative;width:min(390px,calc(100vw - 40px));height:min(844px,calc(100dvh - 56px));min-height:460px;border:9px solid #242722;border-radius:56px;background:var(--paper);box-shadow:0 22px 50px #0003}
.device:before,.device:after{content:'';position:absolute;width:3px;border-radius:2px;background:#444940}.device:before{left:-12px;top:145px;height:58px;box-shadow:0 70px #444940}.device:after{right:-12px;top:192px;height:84px}
.screen{height:100%;overflow:auto;border-radius:46px;scrollbar-width:none;overscroll-behavior:contain;background:var(--paper)}.screen::-webkit-scrollbar{display:none}
.statusbar{height:51px;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:var(--paper);padding:0 26px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.statusbar svg{width:58px;height:14px}.island{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:108px;height:29px;background:#111310;border-radius:20px}.island:after{content:'';position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#1b211e}
.home-indicator{pointer-events:none;position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:112px;height:4px;border-radius:3px;background:var(--ink);z-index:3}
.planner{width:100%;padding:0 25px 32px;background:var(--paper)}
.wordmark{display:flex;align-items:baseline;gap:4px;padding:23px 0 0;font-size:22px;line-height:1.2;font-weight:700;letter-spacing:-.8px}.brand-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--signal);flex-shrink:0}.brand-caption{margin-left:auto;font-size:11px;line-height:1.5;font-weight:400;letter-spacing:0;color:var(--muted);max-width:110px;text-align:right}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:28px 0 18px;padding-bottom:0;border-bottom:0}.weeks{display:flex;align-items:center;gap:0;margin-left:0;background:var(--soft);border-radius:9px;padding:0 3px}#week{font-size:14px;font-weight:400;font-variant-numeric:tabular-nums;padding:10px 0;min-width:128px}.icon{width:36px;min-height:44px;display:grid;place-items:center;padding:9px}.icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.icon .nine-dots{fill:currentColor;stroke:none;width:17px;height:17px}.icon:hover,#week:hover{color:var(--accent)}#settings{margin-right:-9px}
.day{--ink:#20251f;--muted:var(--ink);--accent:var(--ink);--line:#20251f33;color:var(--ink);border:0;border-radius:9px;margin-bottom:6px;background:var(--day-1)}:root[data-theme=dark] .day{--ink:#fff9ef;--line:#fff9ef40}.day:nth-child(2){background:var(--day-2)}.day:nth-child(3){background:var(--day-3)}.day:nth-child(4){background:var(--day-4)}.day:nth-child(5){background:var(--day-5)}.day:nth-child(6){background:var(--day-6)}.day:nth-child(7){background:var(--day-7);margin-bottom:0}.day-heading{margin:0}.day-toggle{display:grid;grid-template-columns:46px 1fr 16px;column-gap:14px;align-items:center;text-align:left;width:100%;min-height:72px;padding:12px 14px;font-weight:400;line-height:1.3}.day-name{font-size:24px;font-weight:700;letter-spacing:-.8px}.day-number{grid-column:1;grid-row:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--badge);font-size:18px;line-height:1;font-weight:600;letter-spacing:-.4px;color:var(--muted);font-variant-numeric:tabular-nums;transition:transform .18s ease-out}.day-label{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:3px}.day-today{font-size:11px;font-weight:400;letter-spacing:.15px;color:var(--ink)}.day.today .day-number{color:#262626;background:var(--signal)}.day-chevron{grid-column:3;grid-row:1;width:13px;height:13px;fill:none;stroke:var(--muted);stroke-width:1.3;transition:transform .18s ease-out}.day.open .day-chevron{transform:rotate(45deg)}.day-toggle:hover .day-name{color:var(--muted)}.day.open .day-number{transform:scale(1.08)}
.day-body{padding:0 14px 20px 74px;display:flex;flex-direction:column;min-height:120px}.tasks{list-style:none;margin:0 0 12px;padding:0}.task{display:flex;align-items:center;gap:8px;min-height:44px;border-bottom:1px solid var(--line)}.task-check{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 17px;width:17px;height:17px;padding:0;margin:0;border:1px solid var(--muted);border-radius:50%;cursor:pointer}.task-check:checked{background:var(--ink);border-color:var(--ink)}.task-check:checked:after{content:'';position:absolute;left:5px;top:3px;width:4px;height:7px;border:solid var(--day-fill);border-width:0 1.3px 1.3px 0;transform:rotate(45deg)}.task-text{min-width:0;width:100%;padding:10px 0;font-size:15px;line-height:22px}.task.done .task-text{text-decoration:line-through;color:var(--muted)}.task-actions{flex:0 0 24px;width:24px;height:44px;padding:0;color:var(--muted)}.task-actions svg{width:16px;height:16px;fill:currentColor}.delete{flex:0 0 24px;width:24px;height:44px;padding:6px;color:var(--muted);opacity:0}.delete svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.3}.task:hover .delete,.task:focus-within .delete{opacity:1}.delete:hover{color:var(--accent)}
.add-form{display:flex;align-items:center;gap:6px;margin-top:auto}.add-input{width:100%;min-width:0;height:44px;padding:10px 0;font-size:15px}.add-input::placeholder{color:var(--muted);opacity:1}.add-button{padding:12px 0 12px 5px;font-size:12px;color:var(--accent)}.add-button:disabled{display:none}footer{height:0;overflow:hidden;position:absolute;width:1px;clip-path:inset(50%)}
.settings-layer{position:absolute;inset:0;z-index:5;overflow:hidden;border-radius:46px}.settings-backdrop{position:absolute;inset:0;background:#10151070}.settings-panel{position:absolute;bottom:0;width:100%;max-height:94%;overflow:auto;background:var(--panel);padding:26px 25px 36px;border-radius:20px 20px 0 0;box-shadow:0 -12px 35px #0002}.settings-head{display:flex;align-items:center;justify-content:space-between}.settings-head h2{display:flex;align-items:baseline;gap:4px;margin:0;font-size:22px;letter-spacing:-.5px;font-weight:500}.settings-head .icon{margin-right:-8px}.settings-subtitle{font-size:12px;color:var(--muted);margin:3px 0 26px}.settings-section{border-top:1px solid var(--line);padding-top:19px;margin-top:20px}.settings-section h3{margin:0 0 13px;font-size:12px;font-weight:600}.settings-section p{font-size:14px;line-height:1.65;margin:0 0 10px}.theme-options{display:flex;gap:3px;padding:3px;background:var(--soft);border-radius:7px}.theme-options button{flex:1;padding:11px 5px;font-size:12px;border-radius:4px;color:var(--muted)}.theme-options button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.storage-note{font-size:11px;line-height:1.6;color:var(--muted);margin:25px 0 0}.settings-layer~.home-indicator{z-index:6}.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;line-height:1.5;min-height:44px}.setting-toggle input{appearance:none;-webkit-appearance:none;flex:0 0 34px;width:34px;height:20px;background:var(--line);border-radius:12px;position:relative;cursor:pointer}.setting-toggle input:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--paper)}.setting-toggle input:checked{background:var(--ink)}.setting-toggle input:checked:before{left:17px}
.move-panel h2{font-size:20px;margin:0 0 10px;font-weight:500;letter-spacing:-.4px}.move-panel p{font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin:0 0 24px}.move-choice{display:block;width:100%;padding:15px 0;text-align:left;font-size:14px;border-top:1px solid var(--line)}#move-form{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;align-items:center}.date-label{width:100%;font-size:12px;color:var(--muted)}#date-picker-toggle{flex:1;min-width:0;text-align:left;font-size:14px;padding:10px 0}#move-confirm{font-size:13px;padding:10px 0 10px 12px;color:var(--accent)}#move-layer{z-index:7}#calendar{padding:0 0 16px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#calendar-month{font-size:13px;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}#calendar-weekdays span{font-size:11px;color:var(--muted);padding:8px 0}#calendar-days button{height:38px;padding:0;font-size:12px;border-radius:5px;font-variant-numeric:tabular-nums}#calendar-days button:hover{background:var(--soft)}#calendar-days button[aria-current=date]{color:var(--accent)}#calendar-days button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
#delete-layer{z-index:8}.delete-options{display:flex;gap:10px}.delete-options button{flex:1;padding:13px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px}#confirm-delete{background:var(--ink);color:var(--paper);border-color:var(--ink)}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:250px;max-width:calc(100vw - 32px);padding:14px 18px;border-radius:8px;font-size:13px;box-shadow:0 6px 24px #0002}#undo{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.native-app body{display:block;padding:0;background:var(--paper)}.native-app .device{width:100%;height:100dvh;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}.native-app .device:before,.native-app .device:after,.native-app .statusbar,.native-app .home-indicator{display:none}.native-app .screen{border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:var(--paper)}.native-app .planner{padding-bottom:14px}.native-app .wordmark{padding-top:24px}.native-app .settings-layer{border-radius:0}.native-app .settings-panel{padding-bottom:max(30px,env(safe-area-inset-bottom));max-height:calc(100% - env(safe-area-inset-top))}.native-app .task-text,.native-app .add-input{font-size:16px}
@media(hover:none){.delete{opacity:.8}.task-text,.add-input{font-size:16px}}
@media(max-width:420px){body{padding:18px 14px}.device{width:calc(100vw - 28px);height:calc(100dvh - 36px);border-width:8px;border-radius:50px}.screen,.settings-layer{border-radius:42px}.statusbar{padding:0 24px}.planner{padding-left:23px;padding-right:23px}.day-toggle{grid-template-columns:40px 1fr 13px;column-gap:12px}.day-body{padding-left:66px}}
@media(max-width:359px){.planner{padding-left:18px;padding-right:18px}.brand-caption{max-width:90px;font-size:11px}#week{font-size:12px;min-width:108px}.day-body{padding-left:14px}.task-text{font-size:16px}}
@media(max-height:540px){body{display:block}.device{margin:auto;height:600px;min-height:0}.native-app .device{height:100dvh}}
@media(prefers-reduced-motion:reduce){.day-chevron,.day-number{transition:none}}

.palette-options{display:grid;gap:4px}.palette-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;text-align:left;font-size:13px;border:1px solid transparent;border-radius:10px}.palette-choice[aria-pressed=true]{border-color:var(--ink);background:var(--soft)}.palette-swatches{display:flex;margin-left:auto;gap:3px}.palette-swatch{width:13px;height:22px;border-radius:5px}.palette-check{width:14px;visibility:hidden}.palette-choice[aria-pressed=true] .palette-check{visibility:visible}

html:not(.native-app) body{background:transparent;padding:18px 14px}.device{box-shadow:0 12px 24px #0002}
:root[data-theme]{color-scheme:normal;background:transparent}
