@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f5f4f1;--panel: #ffffff;--ink: #37352f;--ink-muted: #9b9a97;--accent: #e2604f;--accent-ink: #fff9f2;--line: #e0dfdb;--radius: 16px;--radius-sm: 10px;--status-anticipated: #b3a3de;--status-shelved: #db8a80}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}.glyph{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;padding:0;cursor:pointer}.app{position:relative;min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.corner-gear{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;z-index:45;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink-muted);background:color-mix(in srgb,var(--ink) 5%,transparent)}.corner-gear .glyph{width:18px;height:18px}.corner-gear[aria-current=page]{color:var(--accent);box-shadow:0 0 0 1.5px var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.view{flex:1;display:flex;flex-direction:column;gap:16px}.greeting{font-size:clamp(30px,8.5vw,34px);line-height:1.18;font-weight:800;letter-spacing:-.02em;text-align:center;text-wrap:balance;margin:18px 4px 6px}.ribbon{font-size:13px;color:var(--ink-muted);background:color-mix(in srgb,var(--ink) 5%,transparent);border-radius:var(--radius-sm);padding:8px 12px}.ribbon--warn{color:#7a4a12;background:#d9a13d29}.ribbon--link{display:block;text-decoration:none}.backlink{align-self:flex-start;font-size:14px;font-weight:600;color:var(--ink-muted);text-decoration:none;padding:4px 6px}.backlink:active{color:var(--ink)}.minigrid{align-self:center;display:flex;flex-direction:column;gap:4px;padding:2px 4px}.mg-months{display:flex;gap:3px;height:6px}.mg-slot{width:14px;display:grid;place-items:center}.mg-pip{width:3px;height:3px;border-radius:50%;background:var(--ink);opacity:.9}.mg{display:flex;gap:3px}.mg-col{display:flex;flex-direction:column;gap:3px}.mg-cell{width:14px;height:14px;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:0;background:var(--panel)}.mg-cell.hue-p{--heat: var(--status-anticipated)}.mg-cell.hue-r{--heat: var(--status-shelved)}.mg-cell.l1{background:color-mix(in srgb,var(--heat) 58%,var(--panel))}.mg-cell.l2{background:color-mix(in srgb,var(--heat) 80%,var(--panel))}.mg-cell.l3{background:var(--heat)}.mg-cell.future{visibility:hidden}.composer-wrap{display:flex;flex-direction:column;margin-top:auto;position:sticky;bottom:0;background:var(--paper);padding-top:6px}.composer-tabs{position:relative;z-index:1;display:flex;align-items:flex-end;gap:4px;padding:0 10px;margin-bottom:-1px}.ctab{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-muted);padding:8px 12px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0}.ctab .glyph{width:15px;height:15px}.ctab.is-on{background:var(--panel);border-color:var(--line);color:var(--ink)}.qgo{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-muted);text-decoration:none;padding:7px 4px;white-space:nowrap}.qgo--warn{color:#a33327}.qgo .spin{width:10px;height:10px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:cinspin .9s linear infinite}.composer{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px}.composer textarea{width:100%;min-height:120px;resize:none;border:0;outline:none;background:none;font-size:16px}.composer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tool{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.tool:active{background:color-mix(in srgb,var(--ink) 13%,transparent)}.tool .glyph{width:18px;height:18px}.tool-spacer{flex:1}.gamechip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;margin-left:auto;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.gamechip .glyph{width:14px;height:14px;color:var(--accent)}.gamechip-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.send{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.send .glyph{width:20px;height:20px;stroke-width:1.7}.send:disabled{opacity:.45}.keep{background:var(--accent);color:var(--accent-ink);font-weight:600;padding:9px 18px;border-radius:999px}.keep:disabled{opacity:.45}@keyframes cinspin{to{transform:rotate(360deg)}}.qlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.qitem{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px}.qrow{display:flex;align-items:center;gap:12px}.qthumb{flex:none;width:64px;height:48px;border-radius:10px;object-fit:cover;background:color-mix(in srgb,var(--ink) 7%,transparent);display:grid;place-items:center;color:var(--ink-muted);overflow:hidden}.qthumb .glyph{width:22px;height:22px}.qbody{flex:1;min-width:0}.qname{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qstate{font-size:13px;color:var(--ink-muted)}.qstate--failed{color:#a33327}.qstate--done{color:#2f7a43}.qbar{height:4px;border-radius:2px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;margin-top:6px}.qbar>span{display:block;height:100%;background:var(--accent);transition:width .25s linear}.qtag{font-size:12px;color:var(--ink-muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qactions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:8px}.qbtn{font-size:13px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink);background:var(--paper)}.qbtn--accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.empty{text-align:center;color:var(--ink-muted);font-size:14px;padding:48px 12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.card h2{margin:0;font-size:15px}.field{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:10px 12px;font-size:15px}.error{color:#a33327;font-size:13px;margin:0}.muted{color:var(--ink-muted);font-size:13px;margin:0}.meter{height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.meter>span{display:block;height:100%;background:var(--accent)}.sheet-veil{position:fixed;inset:0;background:#1e1a1466;z-index:60}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--panel);border-radius:20px 20px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));max-height:70dvh;display:flex;flex-direction:column;gap:10px}.sheet ul{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column}.sheet li button{width:100%;text-align:left;padding:12px 6px;border-bottom:1px solid var(--line);font-size:15px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:70;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 16px;font-size:14px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px #1e1a144d}.toast button{color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
