:root{--cursor: auto;--screen-w: 256px;--screen-h: 192px;--hinge: 24px;--pad: 24px;--shell-w: calc(var(--screen-w) + var(--pad) * 2);--shell-h: calc(var(--screen-h) * 2 + var(--hinge) + var(--pad) * 2 + 72px)}*{box-sizing:border-box}*,*:before,*:after{cursor:var(--cursor)}html,body{cursor:var(--cursor);margin:0;height:100%;background:#f6e3ea;color:#eee;font-family:Galmuri9,Galmuri11,ui-monospace,monospace;-webkit-font-smoothing:none;overflow:hidden;touch-action:none}#app{height:100%;display:grid;place-items:center;position:relative;z-index:1}.backdrop{position:fixed;inset:0;width:100%;height:100%;z-index:0;image-rendering:pixelated;pointer-events:none}.theme-toggle{position:absolute;top:3px;right:3px;width:14px;height:14px;padding:1px;border:0;background:transparent;cursor:var(--cursor);display:grid;place-items:center}.sound-toggle{position:absolute;top:3px;right:20px;width:14px;height:14px;padding:1px;border:0;background:transparent;cursor:var(--cursor);display:grid;place-items:center}.sound-toggle .icon{grid-area:1 / 1;width:12px;height:12px;image-rendering:pixelated;transition:opacity .18s}.sound-toggle .icon--off,.sound-toggle.is-muted .icon--on{opacity:0}.sound-toggle.is-muted .icon--off{opacity:1}.sound-toggle:hover .icon{filter:brightness(1.15)}.theme-toggle .icon{grid-area:1 / 1;width:12px;height:12px;image-rendering:pixelated;transition:opacity .25s,transform .25s}.theme-toggle .icon--moon{opacity:0;transform:rotate(-40deg) scale(.6)}.theme-toggle.is-night .icon--sun{opacity:0;transform:rotate(40deg) scale(.6)}.theme-toggle.is-night .icon--moon{opacity:1;transform:none}.theme-toggle:hover .icon{filter:brightness(1.15)}.shell{width:var(--shell-w);height:var(--shell-h);transform-origin:center;background:#e9b7c6;border-radius:18px;box-shadow:inset 0 0 0 2px #d99ab0,0 12px 30px #00000073;padding:var(--pad);display:flex;flex-direction:column;gap:0;position:relative;image-rendering:pixelated}.screen{width:var(--screen-w);height:var(--screen-h);background:#000;border:2px solid #c98aa1;width:calc(var(--screen-w) + 4px);height:calc(var(--screen-h) + 4px);margin-left:-2px;position:relative;overflow:hidden}.screen--top canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.hinge{height:var(--hinge);background:#dea3b7}.screen--bottom{background:#fff3f7;color:#3a2a3a;font:9px/1.3 Galmuri9,monospace;padding:4px 5px;display:flex;flex-direction:column;gap:4px;overscroll-behavior:contain}.screen--bottom .bar{display:flex;align-items:center;gap:4px;height:16px;padding:0 2px;border-bottom:2px solid #e6b9c9}.year-badge{background:#d9679f;color:#fff;font:11px/14px Galmuri11,monospace;font-weight:700;padding:0 4px;border-radius:3px}.ganji{color:#8a5a70}.bar-right{margin-left:auto;font:7px Galmuri7,monospace;color:#c493a8;letter-spacing:.5px}.bubble{position:relative;background:#fff;border:2px solid #3a2a3a;border-radius:6px;padding:5px 7px;min-height:26px;display:flex;align-items:center;box-shadow:2px 2px #e6b9c9}.bubble:after{content:"";position:absolute;left:14px;bottom:-6px;width:6px;height:6px;background:#fff;border-right:2px solid #3a2a3a;border-bottom:2px solid #3a2a3a;transform:rotate(45deg)}.bubble-text{font-size:9px}.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:4px}.tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 3px;background:#ffe3ec;border:2px solid #f0c4d3;border-radius:5px;transition:transform .12s,background .12s}.tile-icon{width:32px;height:32px;image-rendering:pixelated;display:block}.tile-label{font:7px Galmuri7,monospace;color:#7a5a70}.tile.is-near{background:#fff;border-color:#3a2a3a;transform:translateY(-2px);box-shadow:2px 2px #3a2a3a}.tile.is-held{background:#d9679f;border-color:#a63f74}.tile.is-held .tile-label{color:#fff}.tile.is-held .tile-icon{opacity:.9}.screen--bottom.is-browse .bubble,.screen--bottom.is-browse .tiles{display:none}.screen--bottom .browse{display:none;flex:1;min-height:0;gap:5px;margin-top:2px}.screen--bottom.is-browse .browse{display:flex}.pane-left{flex:0 0 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#d9679f;border-radius:6px;color:#fff;box-shadow:inset 0 -3px #a63f74}.pane-icon{width:30px;height:30px;image-rendering:pixelated;display:block}.pane-label{font:9px Galmuri9,monospace;font-weight:700}.pane-right{flex:1;min-width:0;position:relative}.carousel{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}.carousel::-webkit-scrollbar{display:none}.carousel[hidden]{display:none}.carousel-track{display:flex;flex-direction:column;row-gap:3px;padding:0 2px}.row{scroll-snap-align:center;display:flex;align-items:center;gap:6px;height:22px;padding:0 5px;background:#ffe9f0;border:2px solid transparent;border-radius:4px;color:#7a5a70;cursor:var(--cursor)}.row.is-focus{background:#fff;border-color:#3a2a3a;color:#3a2a3a;box-shadow:2px 2px #3a2a3a}.row--empty{justify-content:center;color:#b08aa0;cursor:var(--cursor)}.row .thumb{width:12px;height:16px;flex:0 0 auto;border:1px solid #3a2a3a;object-fit:cover;background:#ffd1e8}.row .thumb--empty{display:grid;place-items:center;font:7px Galmuri7,monospace;color:#d9679f}.row .meta{min-width:0;display:flex;flex-direction:column;gap:1px}.row .t{font:9px/10px Galmuri9,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .s{display:flex;align-items:center;gap:4px;font:7px Galmuri7,monospace}.row .s .star{width:5px;height:5px}.row .s .stars b{font:7px Galmuri7,monospace}.row .d{color:#b08aa0}.statusline{margin-top:auto;display:flex;align-items:center;gap:6px;padding:3px 4px;background:#ffe3ec;border-radius:4px;color:#5a3a4a}.statusline .keys{margin-left:auto;display:inline-flex;gap:5px;align-items:center;color:#8a5a70}.statusline kbd{font:7px/9px Galmuri7,monospace;color:#fff;background:#3a2a3a;border-radius:2px;padding:0 3px}.hud-year{position:absolute;top:3px;left:4px;font:9px/11px Galmuri9,monospace;color:#fff;text-shadow:1px 0 #3a2a3a,-1px 0 #3a2a3a,0 1px #3a2a3a,0 -1px #3a2a3a;pointer-events:none}.hud-year b{font:11px/11px Galmuri11,monospace;font-weight:700;margin-right:2px}.hud-year.is-night{color:#e8ecff}.controls{height:72px;display:flex;align-items:center;justify-content:space-between;padding:8px 4px 0}.dpad{display:grid;grid-template-columns:repeat(3,16px);grid-template-rows:repeat(3,16px)}.dpad button,.buttons button{width:16px;height:16px;padding:0;border:0;border-radius:3px;background:#f3d3dd;color:#a86b82;font:inherit;font-size:7px;box-shadow:0 1px #c98aa1;touch-action:none;user-select:none;-webkit-user-select:none}.buttons{display:flex;gap:8px}.buttons button{width:20px;height:20px;border-radius:50%}button[data-action].is-down{background:#c9789a;color:#fff;box-shadow:none;transform:translateY(1px)}.card--empty{display:grid;place-items:center;color:#a08ba8}.detail{position:absolute;inset:0;display:grid;place-items:center;padding:8px;font:9px/1.35 Galmuri9,monospace;color:#2b2233}.detail[hidden]{display:none}.card{position:relative;width:100%;height:100%;background:#fff7fa;border:2px solid #2b2233;box-shadow:3px 3px #2b2233;display:grid;grid-template-columns:56px 1fr;gap:8px;padding:8px}.card .cover{width:56px;height:80px;border:2px solid #2b2233;object-fit:cover;background:#ffd1e8}.card .cover--empty{display:grid;place-items:center;font-size:14px;font-weight:700;color:#d9679f;background:repeating-linear-gradient(45deg,#ffd1e8 0 4px,#ffe6f1 4px 8px)}.card .body{display:flex;flex-direction:column;gap:3px;min-width:0}.card .status{align-self:flex-start;padding:0 4px;border:1px solid #2b2233;font:7px/9px Galmuri7,monospace}.status--done{background:#b8f0c2}.status--reading{background:#ffe08a}.status--todo{background:#dfe3ff}.status--stop{background:#d9d4dd;color:#4a4350}.card .title{margin:0;font:11px/1.2 Galmuri11,monospace;font-weight:700}.card .period{color:#7a6b80}.card .desc{margin:2px 0 0;color:#3c3346;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.card .note{margin-top:auto;color:#3f63d6;text-decoration:none}.card .close-hint{position:absolute;right:6px;bottom:4px;font:7px Galmuri7,monospace;color:#a08ba8}.stars{display:inline-flex;align-items:center;gap:1px}.stars b{margin-left:3px;font:9px Galmuri9,monospace;color:#7a6b80}.stars--none{color:#a08ba8}.star{width:7px;height:7px;display:inline-block;background:#e5dce8;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.star--full{background:#ffb400}.star--half{background:linear-gradient(90deg,#ffb400 50%,#e5dce8 50%)}.dgrid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:0 1px}.dgrid[hidden]{display:none}.dgrid-head{font:8px Galmuri9,monospace;color:#7a5a70;letter-spacing:.5px;margin-bottom:5px}.dgrid-canvas{image-rendering:pixelated;width:198px;height:79px}.dgrid-legend{display:flex;align-items:center;gap:2px;margin-top:4px;font:7px Galmuri7,monospace;color:#a1798f}.dgrid-legend i{width:6px;height:6px;display:block}.dgrid-legend span:first-child{margin-right:2px}.dgrid-legend span:last-child{margin-left:2px}.card .author{font:9px Galmuri9,monospace;color:#8a5a70;margin:-1px 0 3px}.card--drink .cups{margin:3px 0 5px}.card--drink .dstat{margin-top:6px;padding-top:4px;border-top:1px solid #f0d7e2;font:8px Galmuri9,monospace;color:#a1798f}.card--drink .cups{display:flex;gap:2px;flex-wrap:wrap}.card--drink .cups i{width:5px;height:8px;display:block;background:linear-gradient(#fff8e7 0 2px,#f7d08a 2px 100%);border:1px solid #2b2233}.card--drink .who{list-style:none;margin:1px 0 3px;padding:0;display:flex;flex-wrap:wrap;gap:2px 6px}.card--drink .who li{display:flex;align-items:center;gap:3px;font:9px/13px Galmuri9,monospace;color:#5a3a4a}.card--drink .who img{width:10px;height:9px;image-rendering:pixelated}.card--drink .total{font:9px Galmuri9,monospace;color:#8a5a70;margin-bottom:3px}.card--drink .rounds{list-style:none;margin:0 0 3px;padding:0}.card--drink .rounds li{font:9px/13px Galmuri9,monospace;color:#5a3a4a}.card--drink .rounds b{color:#a81f4d;margin-right:3px}.card--drink{grid-template-columns:1fr}.card--drink .status{background:#f7d08a;color:#5b3d0a}.card--drink .title{font-size:13px}.card--dry .status{background:#d7dde3;color:#46545f}.card--dry .title{color:#46545f}.card--dry .title .zero{font:9px Galmuri9,monospace;color:#8a99a5;border:1px solid #c4ced6;border-radius:3px;padding:0 3px;margin-left:4px;vertical-align:2px}.card--dry .cups--dry i{background:none;border-color:#c4ced6}.card--dry .desc{color:#6b7a86}.shell.is-night .screen--bottom{background:#241c33;color:#e8dcf0}.shell.is-night .screen--bottom .bubble{background:#2f2542;border-color:#4a3a63;color:#e8dcf0}.shell.is-night .screen--bottom .bubble:after{background:#2f2542;border-right-color:#4a3a63;border-bottom-color:#4a3a63}.shell.is-night .tile{background:#33284a;border-color:#4a3a63}.shell.is-night .tile-label{color:#d9c8ea}.shell.is-night .statusline{background:#2f2542;color:#cbbadf;border-top-color:#3d3057}.shell.is-night .statusline .keys{color:#a894c4}.shell.is-night .statusline kbd{background:#56447a}.shell.is-night .bar{border-bottom-color:#3d3057}.shell.is-night .bar-right,.shell.is-night .ganji{color:#9d8ab8}.shell.is-night .row{background:#2f2542;color:#d9c8ea}.shell.is-night .row.is-focus{background:#3f3260;border-color:#7a63a8}.shell.is-night .row .star{background:#4a3a63}.shell.is-night .row .star--full{background:#ffb400}.shell.is-night .row .star--half{background:linear-gradient(90deg,#ffb400 50%,#4a3a63 50%)}.shell.is-night .dgrid-head{color:#c3b0da}.shell.is-night .dgrid-legend{color:#9d8ab8}.shell.is-night .card--dry .status{background:#3a4550;color:#cdd8e0}@font-face{font-family:Galmuri11;font-weight:400;src:url(/assets/Galmuri11-DfQIlyDK.woff2) format("woff2");font-display:block}@font-face{font-family:Galmuri11;font-weight:700;src:url(/assets/Galmuri11-Bold-QdFGsJ3v.woff2) format("woff2");font-display:block}@font-face{font-family:Galmuri9;font-weight:400;src:url(/assets/Galmuri9-B9HMP827.woff2) format("woff2");font-display:block}@font-face{font-family:Galmuri7;font-weight:400;src:url(/assets/Galmuri7-DZrunm1m.woff2) format("woff2");font-display:block}
