:root{--bg:#0b0d12;--panel:#0e1118;--line:#1c2230;--slate:#8fa3bf;--slate-dim:#56647a;--text:#c4cedc;--amber:#c9a66b;--amber-dim:#8a7448;--rose:#d9a8a0;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--mono);margin:0;font-size:12.5px;line-height:1.45}#root{height:100%}h1,h2,p{margin:0}button,input,select{font:inherit;color:inherit}.glyph{filter:url(#pencil);overflow:visible}.game{background:var(--line);grid-template-rows:minmax(0,1fr) 216px;grid-template-columns:minmax(0,1fr) 344px 324px;gap:1px;height:100%;display:grid}.sky{background:#07090d;grid-area:1/1;position:relative;overflow:hidden}.sky-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.masthead{pointer-events:none;position:absolute;top:22px;left:28px;right:28px}.title{font-family:var(--serif);letter-spacing:.04em;color:#e3d3bd;font-size:22px;font-weight:400}.narrative{font-family:var(--serif);color:#a79a86;margin-top:4px;font-size:15px;font-style:italic}.notice-slot{z-index:3;height:0;position:sticky;top:0}.notice{color:var(--text);border-bottom:1px solid var(--amber-dim);background:#12151d;padding:9px 16px;font-size:13px;line-height:1.4;position:absolute;top:0;left:0;right:0;box-shadow:0 6px 12px #00000059}.notice:empty{display:none}.col{background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--line) transparent;grid-row:1/span 2;padding:0 0 12px;overflow-y:auto}.col:first-of-type{grid-column:2}.col:nth-of-type(2){grid-column:3}.log-panel{background:var(--bg);flex-direction:column;grid-area:2/1;display:flex;overflow:hidden}.panel{border-bottom:1px solid var(--line);background:var(--panel);padding:14px 16px 12px}.panel h2,.label{letter-spacing:.14em;text-transform:uppercase;color:var(--slate-dim);font-size:10.5px;font-weight:400}.panel h2{margin-bottom:8px}.label.strong{color:var(--amber);letter-spacing:.12em}.rows{flex-direction:column;display:flex}.row{align-items:center;gap:10px;padding:4px 0;display:flex}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.big{color:var(--text);font-size:17px}.dim{color:var(--slate-dim)}.small{font-size:11px}.empty{padding:4px 0}.res .label{width:84px}.res .big{text-align:right;min-width:64px}.res .dim{margin-left:auto}.bld{border-top:1px solid var(--line);grid-template-columns:1fr auto;grid-template-areas:"name level""cost btn";gap:2px 10px;padding:7px 0;display:grid}.bld:first-child{border-top:0}.bld-name{flex-direction:column;grid-area:name;display:flex}.bld>.num:nth-child(2){text-align:right;color:var(--slate);grid-area:level}.bld-cost{grid-area:cost;align-self:center}.bld .btn{grid-area:btn;justify-self:end}.btn{border:1px solid var(--slate-dim);color:var(--slate);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;padding:3px 10px;font-size:11px}.btn:hover:not(:disabled){border-color:var(--amber);color:var(--amber)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible,.sig:focus-visible,.glyph-btn:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid var(--amber-dim);outline-offset:1px}.dots{gap:6px;display:inline-flex}.dots i{border:1px solid var(--slate-dim);border-radius:50%;width:9px;height:9px}.dots i.on{background:var(--amber);border-color:var(--amber)}.row .num:last-child{margin-left:auto}.shield{flex-direction:column;align-items:stretch;gap:8px}.shield-state{align-items:baseline;gap:6px;display:flex}.shield-state .num:last-child{margin-left:auto}.shield .btn{white-space:nowrap}.out{gap:8px}.out-what{color:var(--text);align-items:center;display:inline-flex}.out .out-when{color:var(--slate);margin-left:auto}.out.delivered .out-when{color:var(--slate-dim)}.out.delivered .out-what{opacity:.55}.sig{text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:1fr 44px 58px 76px;gap:8px;width:100%;padding:5px 6px;display:grid}.sig.hovered{background:#8fa3bf0f}.sig.selected{border-left-color:var(--amber);background:#c9a66b14}.status{color:var(--slate-dim);text-align:right;letter-spacing:.06em;font-size:11px}.status.contact{color:var(--amber)}.send .target{color:var(--slate);margin-bottom:8px}.glyphs{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.glyph-btn{border:1px solid var(--line);cursor:pointer;background:#d9a8a008;justify-content:center;padding:6px;display:flex}.glyph-btn:hover:not(:disabled){background:#d9a8a017;border-color:#6b5b57}.glyph-btn[aria-pressed=true]{background:#d9a8a02e;border-color:#b98f87}.transmit{width:100%;margin-bottom:12px;padding:6px 10px;display:block}.glyph-btn:disabled{opacity:.35;cursor:not-allowed}.gift{grid-template-columns:1fr 64px auto;gap:6px;display:grid}.gift select,.gift input{background:var(--bg);border:1px solid var(--line);min-width:0;padding:3px 6px}.gift input:disabled,.gift select:disabled{opacity:.4}.hint{min-height:1.4em;margin-top:8px}.log-panel h2{flex:none}.log-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;overflow-y:auto}.log-row{align-items:center;gap:14px;min-height:24px;padding:3px 0;display:flex}.log-time{color:var(--slate-dim);flex:none}.log-text{font-family:var(--serif);color:#aab4c4;align-items:center;gap:4px;font-size:14px;display:inline-flex}.log-row.sent .log-text,.log-row.quiet .log-text{color:#5d6a7e}.log-row.wave .log-text{color:var(--amber)}.log-row.from-glyph .log-text{color:#d8c3b3}.log-glyph{display:inline-flex}.gift-amt{color:var(--text);font-size:13px}.invite,.boot{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100%;display:flex}.boot{color:var(--slate-dim);font-family:var(--serif);font-style:italic}.invite .title{font-size:34px}.invite-form{gap:8px;margin-top:14px;display:flex}.invite-form input{background:var(--panel);border:1px solid var(--line);letter-spacing:.08em;width:240px;padding:7px 10px}.invite-form .btn{padding:7px 16px}.invite-error{min-height:1.4em;color:var(--amber-dim)}@media (width<=1180px){.game{grid-template-columns:minmax(0,1fr) 300px 280px}.sig{grid-template-columns:1fr 40px 52px 70px;gap:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
