:root{--bg:#0b0f0a;--panel:#0c120ce0;--panel-border:#263a26;--text:#e6e9e3;--muted:#8ea08c;--accent:#ffd54f;--accent-text:#1a1400;--danger:#ef5350;--ok:#8bc34a;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:14px/1.4 var(--font);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#map{cursor:crosshair;touch-action:none;display:block;position:fixed;inset:0}.btn{font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:#1d2a1d;border-radius:8px;padding:8px 14px}.btn:hover{background:#26382a}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.btn.small{padding:5px 10px;font-size:13px}a.btn{color:inherit;text-decoration:none;display:inline-block}.btn.tiny{border-radius:6px;padding:2px 8px;font-size:12px}select,input{font:inherit;color:var(--text);border:1px solid var(--panel-border);background:#121a12;border-radius:6px;max-width:100%;padding:5px 8px}input[type=number]{width:4.5em}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);min-height:1.2em;margin:6px 0 0}#hud{pointer-events:none;background:linear-gradient(#050805eb,#05080599 80%,#0000);justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 12px;display:flex;position:fixed;top:0;left:0;right:0}#hud>*{pointer-events:auto}.hud-left{flex-direction:column;gap:6px;display:flex}.hud-time{letter-spacing:.02em;font-weight:600}.hud-needs{grid-template-columns:auto 120px auto;align-items:center;gap:2px 8px;font-size:12px;display:grid}.need{display:contents}.need-label{color:var(--muted)}.need-bar{border:1px solid var(--panel-border);background:#1a241a;border-radius:4px;height:8px;overflow:hidden}.need-fill{background:var(--ok);height:100%;transition:width .4s}.need-fill.low{background:var(--danger)}.need-val{font-family:var(--mono);color:var(--muted);text-align:right;min-width:2.2em}.hud-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.hud-autonomy{color:var(--accent);font-weight:600}.hud-autonomy.danger,.diary-auto.danger{color:var(--danger)}.hud-hush{color:var(--muted);margin-top:-4px;font-size:12px}.hud-status.offline{color:var(--danger);font-size:12px}.hud-status.polling{color:var(--muted);font-size:12px}.routine-toggle{display:none}#side{background:var(--panel);border-left:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:300px;padding:10px 12px 16px;position:fixed;top:96px;bottom:90px;right:0;overflow-y:auto}#side h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:10px 0 6px;font-size:13px}#side h3:first-child{margin-top:0}.slots{flex-direction:column;gap:6px;display:flex}.slot-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.slot-name{color:var(--muted);font-size:13px}.slot-row select{flex:1}.rule-row{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;font-size:13px;display:flex}.rule-word{color:var(--muted)}.rule-when{color:var(--muted);margin-left:4px;font-size:12px}.rule-when.done{opacity:.6;font-style:italic}.rule-hint{flex-basis:100%;font-size:12px}.queue-why{margin-left:auto;margin-right:6px;font-size:12px}.rule-low{align-items:center;gap:4px;display:inline-flex}.queue-row{justify-content:space-between;align-items:center;padding:3px 0;display:flex}.queue-add{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.inv{flex-wrap:wrap;gap:4px 10px;font-size:13px;display:flex}.inv-item{font-family:var(--mono)}#chat{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-direction:column;width:340px;max-height:220px;display:flex;position:fixed;bottom:12px;left:12px;overflow:hidden}.chat-head{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:4px 10px;font-size:12px;display:flex}.chat-list{flex:1;min-height:60px;padding:0 10px 6px;font-size:13px;overflow-y:auto}.chat-msg b{color:var(--accent);font-weight:600}.chat-form{border-top:1px solid var(--panel-border);gap:6px;padding:6px 8px;display:flex}.chat-form input{flex:1}#chat.collapsed .chat-list,#chat.collapsed .chat-form{display:none}#chat.collapsed{width:auto;max-height:none}#hint{background:var(--panel);border:1px solid var(--accent);text-align:center;border-radius:10px;max-width:min(520px,92vw);padding:10px 14px;font-size:14px;display:none;position:fixed;top:110px;left:50%;transform:translate(-50%)}#hint.show{display:block}#actions{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);scrollbar-width:none;border-radius:999px;gap:8px;max-width:min(92vw,720px);padding:6px;display:flex;position:fixed;bottom:18px;left:50%;overflow-x:auto;transform:translate(-50%)}#actions::-webkit-scrollbar{display:none}.chip{font:600 15px var(--font);color:var(--text);border:1px solid var(--panel-border);cursor:pointer;white-space:nowrap;background:#1d2a1d;border-radius:999px;flex:none;padding:10px 16px}.chip.primary{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.chip:active{transform:scale(.97)}.actions-empty{color:var(--muted);white-space:nowrap;padding:8px 12px;font-size:13px}#cell{max-width:min(92vw,720px);color:var(--text);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#080c08b8;border-radius:8px;padding:4px 12px;font-size:13px;position:fixed;bottom:78px;left:50%;overflow:hidden;transform:translate(-50%)}#cell:empty{display:none}#toast{border:1px solid var(--panel-border);opacity:0;pointer-events:none;background:#1d2a1d;border-radius:8px;max-width:90vw;padding:8px 14px;transition:opacity .2s,transform .2s;position:fixed;bottom:118px;left:50%;transform:translate(-50%)translateY(10px)}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}#toast.show.clickable{pointer-events:auto;cursor:pointer;border-color:var(--accent)}#notice{border:1px solid var(--accent);z-index:30;background:#1d2a1d;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:min(92vw,520px);padding:10px 14px;display:none;position:fixed;top:52px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}#notice.show{display:flex}.notice-buttons{gap:6px;display:inline-flex}#waves{border-left:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;background:#0c120cf5;flex-direction:column;width:340px;padding:10px 12px 12px;display:none;position:fixed;top:96px;bottom:90px;right:0}#waves.open{display:flex}.waves-list,.wave-chat{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.waves-list{touch-action:pan-y;overflow-y:auto}.waves-head{align-items:center;gap:6px;display:flex}.waves-head h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex:1;margin:0;font-size:13px}.wave-who{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.wave-who .muted{font-size:12px}.wave-request{background:#172317;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;font-size:13px;display:flex}.wave-request>span{flex:100%}.wave-row{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:#121b12;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.wave-row:hover{border-color:var(--panel-border)}.wave-row-top{align-items:center;gap:6px;display:flex}.wave-row-top .muted{margin-left:auto;font-size:12px}.wave-dot{background:#455a64;border-radius:50%;flex:none;width:8px;height:8px}.wave-dot.on{background:var(--ok)}.wave-unread{background:var(--accent);min-width:18px;color:var(--accent-text);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:700}.wave-last{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.wave-earlier{align-self:center}.wave-feed{touch-action:pan-y;-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:4px;padding:4px 0;display:flex;overflow-y:auto}.wave-day{color:var(--muted);align-self:center;margin:6px 0 2px;font-size:11px}.wave-msg{flex-direction:column;align-items:flex-start;display:flex}.wave-msg.mine{align-items:flex-end}.wave-bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#1b281b;border-radius:12px;max-width:85%;padding:6px 10px}.wave-msg.mine .wave-bubble{background:#2c3a1c}.wave-time{color:var(--muted);float:right;margin-top:4px;margin-left:8px;font-size:10px}.wave-shrunk{border-left:3px solid var(--accent);color:var(--muted);background:#ffd54f14;border-radius:8px;align-self:stretch;margin:4px 0 2px;padding:6px 10px;font-size:12px}.wave-form{align-items:flex-end;gap:6px;display:flex}.wave-form textarea{resize:none;font:inherit;color:var(--text);border:1px solid var(--panel-border);-webkit-user-select:text;user-select:text;background:#0f160f;border-radius:8px;flex:1;padding:8px}.wave-form textarea:disabled{opacity:.6}.hud-badge{background:var(--accent);color:var(--accent-text);border-radius:8px;margin-left:5px;padding:0 5px;font-size:11px;font-weight:700}.peeps-card{aspect-ratio:1200/630;border:1px solid var(--panel-border);object-fit:contain;background:#0b0f0a;border-radius:8px;width:100%;margin:10px 0;display:block}.peeps-buttons{flex-wrap:wrap;gap:6px;display:flex}.peeps-births{color:var(--accent);margin-top:10px;font-weight:600}#modal{background:#0009;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}#modal.open{display:flex}.modal-box{border:1px solid var(--panel-border);background:#0f160f;border-radius:14px;width:min(480px,100%);max-height:90vh;padding:18px 20px 16px;overflow-y:auto;box-shadow:0 10px 40px #0009}.modal-title{margin:0 0 12px;font-size:20px}.modal-buttons{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-box input:not([type=number]){width:100%;padding:10px;font-size:16px}.help-section{border-top:1px solid var(--panel-border);padding:6px 0}.help-section:first-child{border-top:none}.help-section summary{cursor:pointer;padding:4px 0;font-weight:600}.help-section ul{margin:4px 0 6px;padding-left:18px}.help-section li{margin:3px 0;line-height:1.4}.diary p{margin:6px 0}.diary-block{background:#121b12;border-radius:10px;margin:10px 0;padding:8px 10px}.diary-block h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px;font-size:12px}.diary-alarm{color:var(--accent);font-weight:600}.diary-fixes{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.diary-auto{color:var(--accent);margin-top:12px;font-weight:600}.tiny{font-size:11px}body.mobile #hud{padding:6px 8px}body.mobile .hud-needs{grid-template-columns:auto 80px auto;font-size:11px}body.mobile #hud{gap:6px}body.mobile .hud-right{gap:4px}body.mobile .hud-right .btn.small{padding:4px 7px;font-size:12px}body.mobile .hud-time{font-size:13px}body.mobile .routine-toggle{display:inline-block}body.mobile #side{border-left:none;border-top:1px solid var(--panel-border);border-radius:14px 14px 0 0;width:auto;max-height:70vh;padding-bottom:80px;transition:transform .25s;inset:auto 0 0;transform:translateY(100%)}body.mobile #side.open{transform:translateY(0)}body.mobile #side.open~#chat,body.mobile #side.open~#hint{display:none}body.mobile #actions{max-width:96vw;bottom:14px}body.mobile #cell{max-width:96vw;font-size:12px;bottom:88px}body.mobile #toast{bottom:124px}body.mobile #waves{width:auto;padding:10px 10px calc(10px + env(safe-area-inset-bottom));z-index:40;border-left:none;inset:0}body.mobile #notice{top:108px}body.mobile .chip{padding:12px 18px;font-size:16px}body.mobile #chat{width:auto;max-height:40vh;bottom:76px;right:12px}body.mobile #hint{top:120px}body.spectator #actions,body.spectator #hint,body.spectator #waves,body.spectator .hud-peeps,body.spectator .hud-waves{display:none!important}#spectate{z-index:30;color:#d8e0c8;background:#0b0f0ae0;border:1px solid #ffffff26;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100vw - 16px);padding:6px 10px;font:12px/1.4 ui-monospace,Menlo,monospace;display:flex;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}#spectate select,#spectate input{font:inherit;color:inherit;background:#1a2016;border:1px solid #3a4532;border-radius:4px;padding:1px 4px}#spectate input{width:7em}#spectate a{color:#9fd36b}.bag h4,.thing-card h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:12px 0 6px;font-size:12px}.thing-slots{flex-wrap:wrap;gap:6px;display:flex}.thing-slot{width:40px;height:40px;font-family:var(--mono);color:#f3f7ee;cursor:pointer;background:#182418;border:1px solid #3a4a3a;border-radius:8px;font-size:22px;line-height:1}.thing-slot.empty{color:#3e4e3e;cursor:default}.thing-slot:not(.empty):hover{border-color:var(--accent)}.thing-head{align-items:center;gap:10px;display:flex}.thing-glyph{font-family:var(--mono);background:#182418;border-radius:10px;justify-content:center;align-items:center;width:52px;height:52px;font-size:40px;line-height:1;display:inline-flex}.thing-history{color:var(--muted);margin:0;padding-left:18px;font-size:13px}.thing-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.thing-name-row{gap:6px;margin-top:10px;display:flex}.thing-name-row input{flex:1;min-width:0}.clues{flex-direction:column;gap:6px;display:flex}.clue-row{text-align:left;align-items:center;gap:10px;display:flex}.clue-arrow{font-family:var(--mono);text-align:center;color:#fff176;width:24px;font-size:20px}.diary-clue{font-style:italic}.diary-tally summary{cursor:pointer;color:var(--muted);font-size:13px;list-style:none}.diary-tally summary::-webkit-details-marker{display:none}.diary-tally[open] summary{margin-bottom:6px}.offers{margin-top:10px}.offer-row{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:flex}.offer-row span{flex:100%}.dream-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:8px;display:grid}.dream-quirks{flex-direction:column;gap:6px;display:flex}
