:root{color-scheme:dark;--bg:#0e0f12;--panel:#16181d;--panel-2:#1d2027;--line:#262a33;--ink:#e8e6e1;--ink-dim:#9a9891;--accent:#d9a441;--accent-ink:#171205;--error:#e06c60;--mention:#b9a8e4;--fallback-glow:#23262e;--chip-release-bg:#1e3a2a;--chip-release-ink:#7fd49a;--chip-beta-bg:#3a331e;--chip-beta-ink:#d9c27f;--chip-proto-bg:#2a1e3a;--chip-proto-ink:#b79fd9;--code:#9ec1ff;--select:#6d9bff;--canvas:#111318;--node-line:#343946;--node-rule:#2c303b;--node-end:#1a1d24;--edge:#c9cdd6;--edge-dashed:#8fa3c7;--handle-in:#3b4252;--block-edge:#3b4a66;--ok:#7fd49a;--warn:#e0b44c;--radius:10px}:root[data-theme=light]{color-scheme:light;--bg:#f7f5f0;--panel:#fff;--panel-2:#efece5;--line:#dcd7cc;--ink:#1d1c19;--ink-dim:#6a675f;--accent:#9a6b12;--accent-ink:#fffaf0;--error:#b23a2e;--mention:#5b45a0;--fallback-glow:#fff;--chip-release-bg:#dcf0e2;--chip-release-ink:#22683a;--chip-beta-bg:#f4ead0;--chip-beta-ink:#7a5d10;--chip-proto-bg:#e9e0f6;--chip-proto-ink:#5b3f8a;--code:#2a55a8;--select:#3b6fe0;--canvas:#ebe8e1;--node-line:#cfc9bd;--node-rule:#ddd8cd;--node-end:#f3f1ec;--edge:#5c6070;--edge-dashed:#7a8cb0;--handle-in:#b7bcc8;--block-edge:#8ea3c9;--ok:#22683a;--warn:#8a6410}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;line-height:1.5;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono,code{font-family:ui-monospace,monospace;font-size:.9em}.muted{color:var(--ink-dim)}.error{color:var(--error)}.shell{display:flex;flex-direction:column;min-height:100vh}.topbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:.75rem 1.25rem}.wordmark{color:var(--ink);font-size:1.15rem;font-weight:700;letter-spacing:.02em;text-decoration:none}.wordmark:hover{color:var(--accent);text-decoration:none}.topnav{align-items:center;display:flex;gap:1rem}.wordmark{white-space:nowrap}@media(max-width:600px){.topbar{gap:.75rem;padding:.6rem .9rem}.topnav{gap:.7rem}.nav-user{display:none}}.nav-user{color:var(--ink-dim);font-size:.85rem}.account{position:relative}.account-btn{align-items:center;background:none;border:none;color:var(--ink-dim);cursor:pointer;display:flex;font:inherit;gap:.4rem;padding:0}.account-btn:hover,.account-btn:hover .nav-user{color:var(--ink)}.account-icon{fill:none;height:1.25rem;stroke:currentColor;stroke-linecap:round;stroke-width:1.8;width:1.25rem}.account-menu{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #00000026;display:flex;flex-direction:column;min-width:12rem;padding:.35rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:20}.account-email{border-bottom:1px solid var(--line);color:var(--ink-dim);font-size:.8rem;margin-bottom:.25rem;overflow:hidden;padding:.35rem .6rem .5rem;text-overflow:ellipsis}.account-item{background:none;border:none;border-radius:5px;color:var(--ink);cursor:pointer;font:inherit;font-size:.9rem;padding:.4rem .6rem;text-align:left;text-decoration:none}.account-item:hover{background:var(--panel-2);text-decoration:none}.theme-toggle{background:none;border:1px solid var(--line);border-radius:99px;color:var(--ink-dim);cursor:pointer;font:inherit;font-size:.85rem;padding:.1rem .6rem}.theme-toggle:hover{border-color:var(--ink-dim);color:var(--ink)}.page{margin:0 auto;padding:1.5rem 0 4rem;width:min(64rem,100% - 2.5rem)}.page.narrow{width:min(26rem,100% - 2.5rem)}.hero{padding:3.5rem 0 2.5rem;text-align:center}.hero-title{animation:awen-flow 9s ease-in-out infinite;background:linear-gradient(100deg,var(--ink) 20%,var(--accent) 50%,var(--ink) 80%);-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:transparent;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:800;letter-spacing:.01em;margin:0}@keyframes awen-flow{0%,to{background-position:0 0}50%{background-position:100% 0}}@media(prefers-reduced-motion:reduce){.hero-title{animation:none}}.hero-tag{color:var(--ink-dim);margin:.75rem auto 0;max-width:34rem}.shelf-title{color:var(--ink-dim);font-size:1.05rem;letter-spacing:.08em;margin:1.5rem 0 .75rem;text-transform:uppercase}.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);display:block;overflow:hidden;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.card,.card:hover{transform:none}}.card-art{aspect-ratio:16/9;background:var(--panel-2)}.card-art img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.card-art-fallback{align-items:center;background:radial-gradient(ellipse at 30% 20%,var(--fallback-glow),var(--panel-2));color:var(--ink-dim);display:flex;font-size:1.1rem;font-weight:700;height:100%;justify-content:center;width:100%}.card-body{padding:.9rem 1rem 1.1rem}.card-body h2{font-size:1.05rem;margin:0 0 .3rem}.card-body p{color:var(--ink-dim);display:-webkit-box;font-size:.9rem;-webkit-line-clamp:2;margin:0;-webkit-box-orient:vertical;overflow:hidden}.game-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.game-art{border:1px solid var(--line);border-radius:var(--radius);width:min(20rem,100%)}.game-desc{max-width:40rem;white-space:pre-wrap}.links-row{gap:.5rem;margin:.25rem 0 1rem}.links-row,.tag-row{display:flex;flex-wrap:wrap}.tag-row{gap:.35rem;margin:.4rem 0}.tag{background:var(--panel-2);border:1px solid var(--line);border-radius:99px;color:var(--ink-dim);display:inline-block;font:inherit;font-size:.72rem;padding:.1rem .5rem}button.tag{cursor:pointer}.tag-on,button.tag:hover{border-color:var(--accent)}.tag-on{color:var(--accent)}.tag-suggestions{gap:.35rem}.row-hidden td{opacity:.45}.links-editor{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.build-group{margin-bottom:1.25rem}.chip{background:var(--panel-2);border-radius:99px;color:var(--ink-dim);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.06em;margin:0 0 .5rem;padding:.15rem .6rem;text-transform:uppercase}.chip-release{background:var(--chip-release-bg);color:var(--chip-release-ink)}.chip-beta{background:var(--chip-beta-bg);color:var(--chip-beta-ink)}.chip-prototype{background:var(--chip-proto-bg);color:var(--chip-proto-ink)}.build-table{border-collapse:collapse;width:100%}.build-table td,.build-table th{border-bottom:1px solid var(--line);font-size:.92rem;padding:.5rem .75rem;text-align:left;vertical-align:middle}.build-table th{color:var(--ink-dim);font-size:.8rem;font-weight:600}.build-table .actions{display:flex;gap:.5rem;justify-content:flex-end}.build-table .notes{max-width:16rem}.stack{flex-direction:column}.row,.stack{display:flex;gap:.75rem}.row{align-items:center;flex-wrap:wrap}input,select,textarea{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;padding:.55rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:vertical}.row>input{flex:1;min-width:10rem}.btn{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;display:inline-block;font:inherit;font-size:.9rem;padding:.45rem .9rem}.btn,.btn:hover{text-decoration:none}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent}.btn:disabled{cursor:default;opacity:.5}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.1rem 1.25rem}.panel h2{font-size:1.1rem;margin-top:0}.notice{color:var(--ink-dim);padding:1rem 0}.rating-row{gap:.75rem}.art-cell,.rating-row{align-items:center;display:flex}.art-cell{gap:.5rem}.art-thumb{border:1px solid var(--line);border-radius:4px;height:27px;-o-object-fit:cover;object-fit:cover;width:48px}.hidden-input{display:none}.feedback-item{border-top:1px solid var(--line);padding:.75rem 0}.feedback-item .row{font-size:.85rem;gap:1rem}.feedback-text{margin:.35rem 0 0;white-space:pre-wrap}.unread{position:relative}.unread:after{background:var(--accent);border-radius:50%;content:"";height:.45rem;pointer-events:none;position:absolute;right:.25rem;top:.3rem;width:.45rem}
