:root{--paper:#f7f3e8;--ink:#343447;--muted:#696878;--line:#d8d3c9;--gold:#f4bf48;--purple:#e4ddf6;--blue:#397da5;--cols:16;--cell-height:clamp(86px,calc((100dvh - 430px)/6),140px)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI","Noto Sans CJK SC",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#fcfaf3;padding:10px 14px;border-radius:0;transition:transform .15s,background-color .15s}button:hover{background:#eee8da}button:active{transform:translateY(2px)}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.topbar{margin:0 3%;padding:24px 0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:15px;align-items:center;font-size:23px;font-weight:800;letter-spacing:1px}.brand small{display:block;font:10px/1.5 monospace;letter-spacing:1.5px;color:var(--muted);margin-top:3px}.brand-pixels{display:grid;grid-template-columns:repeat(2,15px);gap:4px;transform:rotate(-6deg)}.brand-pixels i{width:15px;height:15px;background:#eaaa39;box-shadow:2px 2px 0 #b97f25}.brand-pixels i:nth-child(2){background:#8c80ca;box-shadow:2px 2px 0 #64569b}.brand-pixels i:nth-child(3){background:#70a3a6;box-shadow:2px 2px 0 #487b80}.brand-pixels i:nth-child(4){background:#e28c79;box-shadow:2px 2px 0 #b96a58}.date-nav{display:flex;align-items:center;gap:8px}.date-nav button{min-width:44px}.date-label input{border:0;background:transparent;color:var(--ink);font-weight:700;padding:9px 4px;font-size:18px;max-width:175px}.backup{font-size:13px}main{margin:0 3%;padding-bottom:25px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0}.eyebrow{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.mini-square{width:8px;height:8px;background:#e68870;box-shadow:3px 3px 0 #efd1bd}h1{font-size:32px;line-height:1.3;margin:10px 0 8px;letter-spacing:1px}.spark{color:#bc8021;display:inline-block;margin-left:14px;font-size:27px}.intro p{color:var(--muted);font-size:14px;margin:0}.score{display:flex;gap:18px;align-items:center;background:#f5e9c8;padding:18px 24px;box-shadow:4px 4px 0 #e4d5ac;border:1px solid #dccd9f;min-width:360px}.coin{width:42px;height:42px;display:grid;place-items:center;color:#875a11;background:var(--gold);box-shadow:3px 3px 0 #c48a22;font-size:27px}.score strong{font:700 29px/1.2 monospace}.score small{display:block;color:#71603b;font-size:12px;margin-top:4px}.score-detail{border-left:1px solid #d5c79d;padding-left:20px;margin-left:20px;font-size:12px}.score-detail b,.score-detail span{display:block}.score-detail span{color:#71603b;margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.map-toolbar h2{font-size:17px;margin:0;display:inline}.map-toolbar #day-caption{font:12px monospace;color:var(--muted);margin-left:14px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend span{display:flex;gap:6px;align-items:center}.swatch{width:12px;height:12px;display:inline-block;border:1px solid #b7b1a4;background:#faf7ef}.swatch.done{background:var(--gold);border-color:#ad7918}.swatch.planned{background:#d9dadb;border-color:#9a9da2}.swatch.sleep{background:#b9a9e5;border-color:#8b78bc}.swatch.now{border:2px solid var(--blue)}.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:8px}.block{padding:10px;position:relative;height:var(--cell-height);min-width:0;background:#fcfaf4;border:1px solid #d9d3c6;box-shadow:0 3px 0 #ded7c9;text-align:left;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.block:hover{background:#ede8da;border-color:#9c9483;transform:translateY(-2px)}.block-time{font:12px/1.3 monospace;color:#73716d;display:flex;justify-content:space-between;gap:3px}.block-hour{font-weight:700;color:#514f4a}.block-task{font-size:14px;line-height:1.4;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.block-project{font-size:10px;line-height:1.4;color:#64646d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block.empty .block-task{font-weight:400;color:#969083;font-size:21px;align-self:center}.block.sleep{background:var(--purple);border-color:#c4b5e1;box-shadow:0 3px 0 #c6b7df;color:#61517c}.block.sleep .block-time{color:#76658e}.block.sleep .block-hour{color:#5f4d7e}.block.sleep .block-task{font-size:13px;font-weight:400}.block.sleep .block-project{color:#786695}.block.sleep:hover{background:#d9cfee}.block.planned{background:#e0e1e3;border-color:#bfc2c7;box-shadow:0 3px 0 #bfc2c7}.block.done{background:var(--gold);border-color:#d49b24;box-shadow:0 3px 0 #c69331}.block.done .block-time,.block.done .block-project{color:#755219}.block.done .block-task{color:#523d16}.block.selected{outline:3px solid #3e86af;outline-offset:2px;z-index:1}.block.current:after{content:"";position:absolute;inset:0;border:2px solid var(--blue);pointer-events:none}.block.current .block-time:after{content:"现在";font:9px/1.3 system-ui;color:#256289}.block.current .block-time{font-size:11px}.block.just-done{animation:light-up .32s ease-out}@keyframes light-up{50%{transform:translateY(-5px);filter:brightness(1.16)}}.map-footer{margin-top:20px;display:flex;justify-content:space-between;gap:15px;color:#77717e;font-size:12px}.editor{background:#efece1;border:1px solid #d7d1c1;box-shadow:5px 5px 0 #ded6c6;padding:24px;position:sticky;top:20px}.editor-top{display:flex;justify-content:space-between;align-items:center;color:#597d74;font:12px monospace}.pixel-flower{font-size:30px;color:#d38069;line-height:1}.editor h2{font-size:21px;margin:15px 0 8px;font-family:system-ui}.editor>p{color:var(--muted);font-size:13px;margin:0 0 22px}.editor label{display:block;font-size:13px;font-weight:650;margin:18px 0 7px}.editor label span{color:var(--muted);font-size:11px;font-weight:400}.editor input,.editor textarea,.editor select{display:block;width:100%;padding:11px;border:1px solid #c6c1b3;background:#fcfaf4;resize:vertical;color:var(--ink);font-size:14px;border-radius:0}.editor .field-note{font-size:11px;color:var(--muted);margin:8px 0 17px}.primary{width:100%;background:#538981;color:#fffaf0;border-color:#3d6b64;box-shadow:3px 3px 0 #3d6b64;font-weight:650}.primary:hover{background:#426f68}.task-actions{display:flex;gap:10px;margin-top:14px}.gold-button{flex:1;background:#f4c663;border-color:#d6a64a;font-size:13px;font-weight:650}.gold-button:hover{background:#f3be4f}.clear-button{font-size:12px;background:transparent}.editor-bottom{border-top:1px solid #d4cdbe;margin-top:25px;padding-top:20px}.editor-bottom h3{font-size:13px;margin:0 0 8px}.editor-bottom p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.progress-pixels{display:grid;grid-template-columns:repeat(13,1fr);gap:4px;margin-top:17px}.progress-pixels i{height:10px;background:#d9d4c7}.progress-pixels i.lit{background:#e4ad35}.moon-art{font-size:78px;color:#8a75b8;text-align:center;margin:20px 0}.moon-art span{font-size:30px;color:#c4953c}.editor #sleep-note h3{font-size:16px;text-align:center}.editor #sleep-note p{font-size:13px;color:var(--muted);line-height:1.8}.bottomline{font-size:11px;display:flex;justify-content:space-between;color:#7e786d;margin-top:28px;gap:20px}.bottomline>span:last-child{font-family:monospace;letter-spacing:1px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#3b514d;color:#fffaf0;padding:13px 24px;box-shadow:4px 4px 0 #abc0b3;font-size:14px;z-index:5;max-width:90vw;text-align:center}
@media(min-width:2400px){.workspace{grid-template-columns:minmax(0,1fr) 360px;gap:36px}.editor{padding:30px}.block-task{font-size:17px}.block-time{font-size:14px}.block-project{font-size:12px}.block.sleep .block-task{font-size:15px}.block.empty .block-task{font-size:28px}.topbar{padding-top:28px}.intro{padding:36px 0}.block{padding:14px}}
@media(max-width:2200px){:root{--cols:12;--cell-height:clamp(72px,calc((100dvh - 350px)/8),115px)}.workspace{gap:22px;grid-template-columns:minmax(0,1fr) 290px}.block{padding:8px}.block-task{font-size:12px}}
@media(max-width:1500px){:root{--cols:8;--cell-height:86px}.workspace{grid-template-columns:minmax(0,1fr) 280px}.score{min-width:300px;padding:14px}.score-detail{margin-left:8px;padding-left:12px}.grid{gap:7px}.map-toolbar{align-items:flex-start;flex-direction:column}.intro{padding:24px 0}h1{font-size:28px}}
@media(max-width:980px){:root{--cols:8;--cell-height:88px}.workspace{grid-template-columns:1fr}.editor{position:static;max-width:none}.intro{align-items:flex-start}.score{min-width:0}.score-detail{display:none}.map-toolbar{flex-direction:row}.editor-bottom{display:none}#task-form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}#task-form label[for=task],#task-form #task{grid-column:2;grid-row:1 / 2}#task-form #task{grid-row:2 / 5}#task-form label[for=duration]{grid-column:1}#task-form .primary{grid-column:1}#task-form .task-actions{margin-top:0;align-items:center}.editor h2{margin:10px 0}.topbar{gap:12px}.brand{font-size:20px}.brand small{display:none}.backup{font-size:12px}.map-footer{font-size:11px}}
@media(max-width:600px){:root{--cols:4;--cell-height:88px}.topbar{flex-wrap:wrap;padding:18px 0 14px;gap:15px}.brand{font-size:21px}.date-nav{order:3;width:100%;justify-content:center}.backup{margin-left:auto}.intro{padding:24px 0;flex-direction:column;gap:20px}h1{font-size:26px}.intro p{font-size:12px}.score{width:100%;padding:12px 16px}.score-detail{display:block;margin-left:auto}.score strong{font-size:25px}.map-toolbar{flex-direction:column;gap:10px}.map-toolbar #day-caption{font-size:11px}.legend{gap:12px}.block-task{font-size:13px}.block-time{font-size:11px}.block.current .block-time{font-size:10px}.block.current .block-time:after{font-size:8px}.map-footer{flex-direction:column;gap:4px}.editor{padding:20px}.bottomline{flex-direction:column;gap:7px}#task-form{display:block}.task-actions{margin-top:14px!important}.grid{gap:7px}.block{padding:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Bright pixel-game revision: only the 52 daytime blocks. */
:root{--paper:#edf6fc;--ink:#23395e;--muted:#607891;--line:#bed2e4;--gold:#ffd05c;--blue:#267dd2;--cols:13;--cell-height:clamp(90px,calc((100dvh - 400px)/4),170px)}
body{background:var(--paper)}.topbar{border-bottom:2px solid #c9dceb}.brand{color:#153359}.brand small{color:#6986a3;letter-spacing:.5px}.brand-pixels{transform:none}.brand-pixels i:nth-child(2){background:#539fe8;box-shadow:2px 2px 0 #2f6fad}.brand-pixels i:nth-child(3){background:#6dc8bb;box-shadow:2px 2px 0 #369688}.brand-pixels i:nth-child(4){background:#f6896f;box-shadow:2px 2px 0 #c15843}
.date-nav button{background:#fbfcfd;border-color:#9cb6cf;box-shadow:2px 2px 0 #b4c9dd}.date-nav #prev,.date-nav #next{background:#ffc5b7;color:#943d2d;border-color:#d97861;box-shadow:2px 2px 0 #d97861}.date-label input{color:#23395e}.backup{background:#fbfcfd;border-color:#b4c9dd}.intro{padding:28px 0}.eyebrow{color:#6583a3}.intro p{color:#607891}.mini-square{background:#f5876b;box-shadow:3px 3px 0 #fbd8cd}.spark{color:#e5a62b}.score{background:#fff0bf;border-color:#dbaa35;box-shadow:4px 4px 0 #dfbe69}.score small,.score-detail span{color:#806331}.score-detail{border-color:#dec378}.coin{background:#ffd05c;box-shadow:3px 3px 0 #cf9324}.legend{color:#4c6886}.swatch{background:#fbfcfd;border-color:#a9c3dc}.swatch.done{background:#ffd05c}.swatch.planned{background:#d9e0e8}.swatch.empty{background:#fbfcfd}.map-toolbar{margin-bottom:12px}.hour-headers{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:8px;margin:0 0 8px}.hour-headers span{font:700 13px/1.4 monospace;text-align:center;color:#4b7098;background:#dfedf9;padding:8px 4px;border:1px solid #c0d6ed;box-shadow:0 2px 0 #c0d6ed}.block{order:var(--wide-order);background:#fbfcfd;border-color:#c2d5e5;box-shadow:0 3px 0 #b5cde2}.block:hover{background:#e7f2fc;border-color:#6f9fc8}.block-time,.block-project{color:#637e9a}.block-hour{color:#355777}.block.empty .block-task{color:#9cb1c6}.block.planned{background:#dbe1e8;border-color:#b5beca;box-shadow:0 3px 0 #aeb9c7}.block.done{background:#ffd05c;border-color:#d6a43a;box-shadow:0 3px 0 #cb962c}.block.done:hover{background:#ffdb7d}.block.done .block-time,.block.done .block-project{color:#806027}.block.done .block-task{color:#584217}.block.current:after{border-color:#267dd2}.block.current .block-time:after{color:#2065a6}.block.selected{outline-color:#267dd2}.editor{background:#fafdff;border-color:#aac7e1;box-shadow:5px 5px 0 #c4d9ea}.editor-top{color:#607e9a}.pixel-flower{color:#ef8266}.editor input,.editor textarea,.editor select{background:#f7fbfe;border-color:#b5cbe0;color:#23395e}.primary{background:#ef8469;border-color:#be5743;box-shadow:3px 3px 0 #be5743;color:#412b25}.primary:hover{background:#f59b83}.gold-button{background:#ffd05c;border-color:#c7942c;color:#584217}.gold-button:hover{background:#ffdc7f}.editor-bottom{border-color:#cadce9}.progress-pixels i{background:#d6e4ef}.progress-pixels i.lit{background:#efb637}.map-footer,.bottomline{color:#6b849d}.toast{background:#244e78;box-shadow:4px 4px 0 #a6c9ea}.score-detail b{color:#685126}
@media(min-width:2400px){.workspace{grid-template-columns:minmax(0,1fr) 360px}.block{padding:15px}.block-task{font-size:18px}.block-time{font-size:15px}.block-project{font-size:13px}.hour-headers span{font-size:15px}}
@media(max-width:2200px){:root{--cols:13;--cell-height:clamp(90px,calc((100dvh - 420px)/4),140px)}.block-task{font-size:13px}}
@media(max-width:1500px){:root{--cols:8;--cell-height:92px}.block{order:0}.hour-headers{display:none}}
@media(max-width:980px){:root{--cols:8;--cell-height:92px}}
@media(max-width:600px){:root{--cols:4;--cell-height:92px}.intro{padding:24px 0}.date-nav button{padding:10px 14px}.block-task{font-size:13px}}
.block:nth-child(1){--wide-order:0;}
.block:nth-child(2){--wide-order:13;}
.block:nth-child(3){--wide-order:26;}
.block:nth-child(4){--wide-order:39;}
.block:nth-child(5){--wide-order:1;}
.block:nth-child(6){--wide-order:14;}
.block:nth-child(7){--wide-order:27;}
.block:nth-child(8){--wide-order:40;}
.block:nth-child(9){--wide-order:2;}
.block:nth-child(10){--wide-order:15;}
.block:nth-child(11){--wide-order:28;}
.block:nth-child(12){--wide-order:41;}
.block:nth-child(13){--wide-order:3;}
.block:nth-child(14){--wide-order:16;}
.block:nth-child(15){--wide-order:29;}
.block:nth-child(16){--wide-order:42;}
.block:nth-child(17){--wide-order:4;}
.block:nth-child(18){--wide-order:17;}
.block:nth-child(19){--wide-order:30;}
.block:nth-child(20){--wide-order:43;}
.block:nth-child(21){--wide-order:5;}
.block:nth-child(22){--wide-order:18;}
.block:nth-child(23){--wide-order:31;}
.block:nth-child(24){--wide-order:44;}
.block:nth-child(25){--wide-order:6;}
.block:nth-child(26){--wide-order:19;}
.block:nth-child(27){--wide-order:32;}
.block:nth-child(28){--wide-order:45;}
.block:nth-child(29){--wide-order:7;}
.block:nth-child(30){--wide-order:20;}
.block:nth-child(31){--wide-order:33;}
.block:nth-child(32){--wide-order:46;}
.block:nth-child(33){--wide-order:8;}
.block:nth-child(34){--wide-order:21;}
.block:nth-child(35){--wide-order:34;}
.block:nth-child(36){--wide-order:47;}
.block:nth-child(37){--wide-order:9;}
.block:nth-child(38){--wide-order:22;}
.block:nth-child(39){--wide-order:35;}
.block:nth-child(40){--wide-order:48;}
.block:nth-child(41){--wide-order:10;}
.block:nth-child(42){--wide-order:23;}
.block:nth-child(43){--wide-order:36;}
.block:nth-child(44){--wide-order:49;}
.block:nth-child(45){--wide-order:11;}
.block:nth-child(46){--wide-order:24;}
.block:nth-child(47){--wide-order:37;}
.block:nth-child(48){--wide-order:50;}
.block:nth-child(49){--wide-order:12;}
.block:nth-child(50){--wide-order:25;}
.block:nth-child(51){--wide-order:38;}
.block:nth-child(52){--wide-order:51;}
/* Small, code-native pixel details, without reducing Chinese readability. */
h1 .spark{font-size:0;width:32px;height:32px;background:url('./sun.svg') center/contain no-repeat;vertical-align:middle;image-rendering:pixelated}.topbar{position:relative}.topbar:after{content:"";position:absolute;left:29%;top:24px;width:72px;height:30px;background:url('./cloud.svg') center/contain no-repeat;pointer-events:none}.date-nav button{border-width:2px;box-shadow:3px 3px 0 #8ba9c6}.date-nav #prev,.date-nav #next{box-shadow:3px 3px 0 #c86953}.primary{border:2px solid #a64b38;box-shadow:4px 4px 0 #a64b38;background:#ff9073;font-weight:750}.primary:hover{background:#ffa88f}.gold-button{border:2px solid #be8a22;box-shadow:3px 3px 0 #be8a22;font-weight:750}.editor{border:2px solid #7ea6c9;box-shadow:6px 6px 0 #b7d1e7}.block{border-width:2px}.block.done{border-color:#d3a02d}.block.done .block-task{font-weight:750}.hour-headers span{font-weight:800}.brand{font-weight:900}.map-footer span:first-child{padding-left:24px;background:url('./sun.svg') left center/16px no-repeat}
@media(max-width:980px){.topbar:after{display:none}}
/* Direct editing: the square itself is the editor. */
.workspace{display:block}.block{height:auto;aspect-ratio:1 / 1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:12px;cursor:text;transition:background-color .15s,border-color .15s;justify-content:normal}.block:hover{transform:none}.block-time{font:13px/1.4 monospace;min-width:0}.block.current .block-time{font-size:13px}.block.current .block-time:after{content:none}.now-label{display:none;font:10px/1.5 system-ui;color:#2671ae}.block.current .now-label{display:block}.block-task,.block.empty .block-task{display:block;-webkit-line-clamp:unset;width:100%;height:100%;min-height:0;align-self:stretch;padding:5px 0;resize:none;border:0;background:transparent;color:#23395e;font:650 16px/1.5 system-ui;outline-offset:0;overflow:auto}.block-task::placeholder{color:#8fa8c0;font-weight:400;font-size:13px}.block-task:focus{outline:0}.block:focus-within{outline:3px solid #267dd2;outline-offset:2px;z-index:1}.block-footer{display:flex;align-items:center;gap:6px;min-width:0}.block-project{width:0;flex:1;min-width:0;border:0;border-radius:0;padding:5px 0;background:transparent;color:#60758a;font:12px/1.4 system-ui;outline-offset:0}.block-project::placeholder{color:#8ba2b8;font-size:10px}.block-project:focus-visible{outline:0;box-shadow:0 1px 0 #397da5}.block-complete{padding:0;width:36px;height:36px;flex:none;display:grid;place-items:center;background:#fff8e5;border:1px solid #d5b768;box-shadow:2px 2px 0 #cfbb86;color:#705629;font:700 22px/1 system-ui}.block-complete:hover{background:#ffe8a0}.block-complete[aria-pressed=true]{background:#ffe6a0;border-color:#b18427;box-shadow:2px 2px 0 #b18427}.block-complete:disabled{background:transparent;border-color:#cedbe6;color:#a4b5c5;box-shadow:none;opacity:.6}.block.done .block-task{color:#584217}.block.done .block-project{color:#7c5c26}.block.empty .block-project{opacity:.45}.block.empty:focus-within .block-project,.block.empty:hover .block-project{opacity:1}.block.selected:not(:focus-within){outline:0}
@media(min-width:2400px){.block{padding:16px;gap:10px}.block-task,.block.empty .block-task{font-size:19px}.block-task::placeholder{font-size:16px}.block-project{font-size:14px}.block-project::placeholder{font-size:12px}.block-complete{width:44px;height:44px}.block-time,.block.current .block-time{font-size:15px}}
@media(max-width:1500px){:root{--cols:8}.block{padding:10px;gap:5px}.block-task,.block.empty .block-task{font-size:14px}.block-complete{width:32px;height:32px}}
@media(max-width:980px){:root{--cols:5}.block-complete{width:36px;height:36px}}
@media(max-width:600px){:root{--cols:3}.block{padding:6px;gap:3px}.block-time,.block.current .block-time{font-size:10px}.now-label{font-size:8px}.block-task,.block.empty .block-task{font-size:13px;line-height:1.35;padding:3px 0}.block-task::placeholder{font-size:11px}.block-project{font-size:10px;padding:3px 0}.block-project::placeholder{font-size:9px}.block-complete{width:32px;height:32px;font-size:20px}}
.block-task::placeholder{color:#59738e}.block-project::placeholder{color:#607b95}.block.empty .block-project{opacity:1}
@media(max-width:600px){.block-complete{width:44px;height:44px;font-size:20px}}
.cloud-badge{font-size:13px;color:#3b6b80;background:#e5f2f8;border:1px solid #b4cfdf;padding:10px 14px;white-space:nowrap}.bottomline .backup{font-size:11px;padding:0 0 2px;border:0;border-bottom:1px solid #a5bfd2;background:transparent;box-shadow:none}.block.waiting{background:#fbfcfd;border-color:#c2d5e5;box-shadow:0 3px 0 #b5cde2}.block.waiting:hover{background:#e7f2fc}.block.planned:hover{background:#d3dce6}
@media(max-width:600px){.cloud-badge{font-size:11px;padding:8px 10px;margin-left:auto}.bottomline{align-items:flex-start}}
.hour-headers small{display:block;font-size:11px;font-weight:400;color:#587895;margin-top:3px}
.intro>.date-nav{justify-content:center;padding:16px 20px;margin:0 0 20px;background:#e2f0fa;border:1px solid #bbd3e8;gap:14px}.intro>.date-nav .date-label input{font-size:30px;font-weight:800;max-width:245px;width:245px;padding:10px 8px}.intro>.date-nav button{min-width:58px;height:58px;font-size:22px;padding:8px 18px}.intro>.date-nav #today{font-size:21px;min-width:88px}
@media(max-width:600px){.intro>.date-nav{width:100%;padding:12px 6px;gap:7px;flex-wrap:nowrap}.intro>.date-nav .date-label input{font-size:20px;width:165px;max-width:165px;padding:6px 2px}.intro>.date-nav button{min-width:42px;height:46px;padding:8px;font-size:18px}.intro>.date-nav #today{min-width:52px;font-size:16px}}

.intro>.date-nav{margin:0;flex:none;background:transparent;border:0;padding:0}.intro{gap:30px}.intro>div:first-child{min-width:0}
@media(max-width:1350px) and (min-width:601px){.intro{flex-wrap:wrap;gap:20px}.intro>.date-nav .date-label input{font-size:25px;width:215px;max-width:215px}.intro>.date-nav button{min-width:50px;height:50px;font-size:20px}.intro>.date-nav #today{min-width:76px;font-size:18px}}
@media(max-width:600px){.intro>.date-nav{order:1;width:100%;padding:12px 6px;background:#e2f0fa;border:1px solid #bbd3e8}.intro>.score{order:2}.intro{gap:18px}}
/* Vivid 8-bit platform-game palette, with readable task surfaces. */
:root{--paper:#426ae0;--ink:#432b16;--muted:#6c4d33;--line:#b67b3b;--gold:#ffd13c;--blue:#087cf1}body{background:#426ae0;color:#fff5de}.topbar{border-bottom:2px solid #8bb4ff}.brand{color:#fff9e8;text-shadow:2px 2px 0 #254299}.brand small{color:#e4efff;text-shadow:none}.topbar:after{width:95px;height:38px;image-rendering:pixelated}.eyebrow,.intro p{color:#f4f7ff}.mini-square{background:#ffcb38;box-shadow:3px 3px 0 #bb7824}h1{text-shadow:3px 3px 0 #243f94}.intro>.date-nav .date-label input{color:#fff9e8;text-shadow:2px 2px 0 #254299}.date-label input::-webkit-calendar-picker-indicator{filter:invert(1)}.date-nav #prev,.date-nav #next{background:#e2a04c;color:#512800;border-color:#714011;box-shadow:4px 4px 0 #593008}.date-nav #prev:hover,.date-nav #next:hover{background:#f5bd70}.date-nav #today{background:#85ca48;color:#23420e;border-color:#386b18;box-shadow:4px 4px 0 #284f10}.date-nav #today:hover{background:#a3db64}.score{background:#ffd13c;border:3px solid #9b611a;box-shadow:5px 5px 0 #593309;color:#57370d}.score-detail{border-color:#b78826}.score small,.score-detail span,.score-detail b{color:#6a4615}.coin{background:#ffe789;color:#7d5011;box-shadow:3px 3px 0 #a66c20}.map-toolbar h2{color:#fff5de}.map-toolbar #day-caption{color:#e9f1ff}.legend{color:#fff5de;font-weight:600}.swatch{border-color:#fff4d6;background:#fff6df}.swatch.done{background:#ffd13c;border-color:#9b611a}.swatch.planned{background:#b5beca;border-color:#627287}.swatch.empty{background:#fff6df;border-color:#a26328}.swatch.now{border-color:#0b81fa;background:#fff6df}.hour-headers span{background:#ce893a;color:#482406;border:2px solid #744012;box-shadow:3px 3px 0 #593008;padding:9px 4px}.block{border-width:3px;box-shadow:4px 4px 0 #6b3910}.block.waiting,.block.empty.waiting{background:#fff6df;border-color:#a26126;box-shadow:4px 4px 0 #65350d}.block.waiting:hover{background:#fffbe9;border-color:#ba7631}.block.planned{background:#b5beca;border-color:#64768b;box-shadow:4px 4px 0 #3f4b5e}.block.planned:hover{background:#c8cfd8}.block.done{background:#ffd13c;border-color:#a2691c;box-shadow:4px 4px 0 #6b420d}.block.done:hover{background:#ffdf65}.block-task,.block.empty .block-task{color:#432b16}.block.planned .block-task{color:#263646}.block-task::placeholder{color:#88603b}.block.planned .block-task::placeholder{color:#4c5e70}.block-time,.block-hour,.block-project{color:#77502c}.block.planned .block-time,.block.planned .block-hour,.block.planned .block-project{color:#3d5268}.block-project::placeholder{color:#765739}.block.planned .block-project::placeholder{color:#455a70}.block.done .block-task{color:#52340c}.block.done .block-time,.block.done .block-project{color:#795016}.block.current:after{border:3px solid #087cf1}.block:focus-within{outline-color:#ffec96}.now-label{color:#0672c8;font-weight:750}.block-complete{background:#ffdf85;border:2px solid #b47b28;color:#754913;box-shadow:3px 3px 0 #ab7424}.block-complete:hover{background:#ffefb5}.block-complete[aria-pressed=true]{background:#f6b52b;border-color:#965a14;box-shadow:3px 3px 0 #7b4810;color:#593709}.block-complete:disabled{background:transparent;border-color:#8797a7;color:#5a7185;opacity:.55}.map-footer,.bottomline{color:#f1f5ff}.bottomline .backup{color:#fff2ca;border-bottom-color:#c0d8ff}.cloud-badge{background:#b9e282;color:#284513;border:2px solid #5a892f;box-shadow:3px 3px 0 #345b16}.toast{background:#ffdf6d;color:#593b0e;box-shadow:4px 4px 0 #714514}
@media(max-width:600px){.intro>.date-nav{background:#3555b0;border:2px solid #95b8fa}.intro>.date-nav .date-label input{color:#fff9e8}.block{padding:6px}.cloud-badge{padding:8px;font-size:10px}}
/* Warm neutral task blocks coordinate with sky blue and gold. */
.block.planned{background:#e0d6c3;border-color:#aa8653;box-shadow:4px 4px 0 #715027}.block.planned:hover{background:#ebe1cf}.block.planned .block-task{color:#493824}.block.planned .block-task::placeholder{color:#6b553b}.block.planned .block-time,.block.planned .block-hour,.block.planned .block-project{color:#695034}.block.planned .block-project::placeholder{color:#69543c}.block.waiting,.block.empty.waiting{background:#fff5db;border-color:#b68b48;box-shadow:4px 4px 0 #775024}.block.waiting:hover{background:#fff9e8}.block-complete:disabled{border-color:#b4a080;color:#826943;background:#ece1c9;opacity:.65}.block.waiting .block-complete:disabled{background:#fff3d8}.swatch.planned{background:#e0d6c3;border-color:#aa8653}.hour-headers span{background:#dba64e;border-color:#9d6d2c;color:#533309;box-shadow:3px 3px 0 #735022}
.inspiration{margin-top:32px;padding:24px;background:#fff5db;border:3px solid #a87536;box-shadow:5px 5px 0 #684516;color:#503716}.ideas-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}.ideas-heading h2{font-size:23px;margin:0}.ideas-heading>span{font-size:12px;color:#80613d}#idea-form{display:flex;gap:12px}#idea-new{flex:1;min-width:0;padding:12px 14px;background:#fffaf0;border:2px solid #bd9b63;color:#493824;font-size:16px;border-radius:0}#idea-new::placeholder{color:#8b7051}#idea-form>button{background:#e8a34b;color:#57330c;border:2px solid #a16d26;box-shadow:3px 3px 0 #805017;font-weight:750;padding:10px 20px}#ideas-empty{margin:18px 0 0;color:#8a6b45;font-size:13px}#idea-list{list-style:none;margin:18px 0 0;padding:0}.idea-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #d9c49c}.idea-text{flex:1;min-width:0;color:#493824;background:transparent;border:0;padding:9px 4px;font-size:16px;border-radius:0}.idea-done{width:44px;height:44px;padding:0;font-size:23px;background:#ffe197;border:2px solid #b18a43;color:#6a4919}.idea-arrange{background:#bde283;border:2px solid #639238;color:#305119;font-weight:650;font-size:13px;padding:9px 16px}.idea-remove{background:transparent;border:0;color:#9c7550;font-size:24px;padding:7px 10px}.idea-finished .idea-text{text-decoration:line-through;color:#927c5c}.idea-finished .idea-done{background:#ffcb3c}.idea-selected{background:#f7e9c0}.idea-selected .idea-arrange{background:#87c449;color:#1c3d0a}
@media(max-width:600px){.inspiration{padding:16px;margin-top:24px}.ideas-heading h2{font-size:20px}#idea-form{gap:8px}#idea-new{font-size:14px;padding:10px 8px}#idea-form>button{padding:8px 10px;font-size:13px}.idea-row{gap:7px}.idea-text{font-size:13px}.idea-arrange{padding:8px;font-size:12px}.idea-remove{padding:5px}.idea-done{width:38px;height:44px}}
/* Quiet keyboard-inspired board: shared cream gutters, no repeated cast shadows. */
.grid{background:#f8ebc9;gap:3px;padding:7px;border:1px solid #d0bc91}
.block,.block.planned,.block.waiting,.block.empty.waiting,.block.done{border:1px solid #d6c39b;box-shadow:none}
.block.planned{background:#eee2c7}.block.planned:hover{background:#f5e9ce}
.block.waiting,.block.empty.waiting{background:#fff3d3}.block.waiting:hover{background:#fff8e4}
.block.current{background:#a9e2f3;border-color:#347baa}.block.current:after{border:2px solid #347baa}
.block.done{background:#ffda65;border-color:#bca052}
.block-task,.block.planned .block-task{color:#394e61}.block-task::placeholder,.block.planned .block-task::placeholder{color:#637078}
.block-time,.block-project,.block.planned .block-time,.block.planned .block-project{color:#526578}.block-project::placeholder,.block.planned .block-project::placeholder{color:#647181}
.block-complete,.block-complete[aria-pressed=true]{box-shadow:none;border-width:1px}.block-complete:disabled{background:transparent;border-color:#c6bba4;color:#81796b}
.hour-headers{gap:3px;background:#f8ebc9;padding:7px 7px 3px;margin-bottom:0}.hour-headers span{background:#f8ebc9;border:0;box-shadow:none;color:#435f78}
.swatch.planned{background:#eee2c7;border-color:#d6c39b}.swatch.empty{background:#fff3d3;border-color:#d6c39b}.swatch.now{background:#a9e2f3;border-color:#347baa}
.block.current.waiting,.block.current.empty.waiting,.block.current.planned{background:#a9e2f3;border-color:#347baa}
/* Uniform light cream squares; time is indicated by outline rather than fill. */
.block,.block.planned,.block.waiting,.block.empty.waiting,.block.current,.block.current.waiting,.block.current.empty.waiting,.block.current.planned{background:#fff3d3}
.block.planned:hover,.block.waiting:hover,.block.current:hover{background:#fff8e4}
.block.done,.block.done.current{background:#ffda65}.block.done:hover{background:#ffe387}
.swatch.planned,.swatch.empty,.swatch.now{background:#fff3d3}

/* One brown outline around the whole time board. */
.time-board{background:#f8ebc9;border:3px solid #a87536;box-shadow:5px 5px 0 #684516}.time-board .grid{border:0}

.date-nav #today{background:#ef6855;color:#fff8ec;border-color:#a43c30;box-shadow:4px 4px 0 #78291f}.date-nav #today:hover{background:#f77b68}

.block-footer{justify-content:flex-end}
/* Give task text the full remaining height; completion stays in the corner. */
.block{grid-template-rows:auto minmax(0,1fr);gap:6px}
.block-footer{position:absolute;right:12px;bottom:12px}
.block-task,.block.empty .block-task{padding:0 42px 0 0;line-height:1.4;font-size:15px}
@media(max-width:600px){.block-footer{right:6px;bottom:6px}.block-task,.block.empty .block-task{font-size:13px;padding-right:32px;line-height:1.3}}
/* Use the full square width for task text; preserve user-entered newlines. */
.block-task,.block.empty .block-task{padding-right:0;font-size:14px;line-height:1.4}
@media(max-width:600px){.block-task,.block.empty .block-task{padding-right:0;font-size:12px}}
/* Current-time marker: larger red circle with white type. */
.now-label{width:48px;height:48px;display:none;align-items:center;justify-content:center;border-radius:50%;background:#e74f43;color:#fff;font:700 14px/1 system-ui;position:absolute;top:7px;right:7px;z-index:2}
.block.current .now-label{display:flex}
@media(max-width:600px){.now-label{width:36px;height:36px;font-size:11px;top:4px;right:4px}}
[data-copy]{cursor:text}[data-copy][contenteditable=true]{outline:2px dashed #fff1bb;outline-offset:5px;background:#3558bd;white-space:pre-wrap}
.block-task,.block.empty .block-task,.block.planned .block-task,.block.done .block-task{color:#50321e}
.topbar:after{background-image:url('./pixel-sky.svg');width:240px;height:48px;top:16px;image-rendering:pixelated}
@media(max-width:600px){.topbar:after{display:block;left:auto;right:0;width:132px;height:30px;top:20px}}
.topbar:after{left:auto;right:0}
/* Smaller sky sprites with finer visible pixels. */
.topbar:after{width:144px;height:29px;top:25px}
@media(max-width:600px){.topbar:after{width:108px;height:22px;top:24px}}
/* Detailed sky panorama, drawn on a fine three-pixel grid. */
.topbar:after{width:360px;height:72px;top:5px;background-image:url('./pixel-sky.svg?v=26')}
@media(max-width:600px){.topbar:after{width:162px;height:33px;top:18px}}
.idea-arrange{background:#ef6855;border-color:#a43c30;color:#fff8ec}.idea-arrange:hover{background:#f77b68}.idea-selected .idea-arrange{background:#c94636;color:#fff8ec;border-color:#852d24}
/* Fixed desktop columns keep date controls independent of editable copy width. */
@media(min-width:1351px){.intro{display:grid;grid-template-columns:minmax(0,1fr) 540px minmax(0,1fr);gap:28px;align-items:center}.intro>.date-nav{justify-content:center;min-width:0;width:540px}.intro>.score{justify-self:end;min-width:0}.intro>div:first-child{min-width:0;overflow-wrap:anywhere}}
@media(min-width:1351px){.intro{align-items:start}.intro>.date-nav{padding-top:20px;align-self:start}.intro>.score{align-self:start}}
