:root{color-scheme:dark;--bg:#111512;--surface:#1a201c;--surface2:#222a24;--line:#344039;--text:#eef2ed;--muted:#9daaa1;--accent:#b9d8bd;--accent2:#dbe9d8;--danger:#e2a4a4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#263028 0,transparent 35%),var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,"Noto Sans SC",sans-serif}button,.button,input,textarea,select{font:inherit}button,.button{border:1px solid transparent;border-radius:10px;background:var(--accent);color:#172019;padding:10px 15px;cursor:pointer;text-decoration:none;font-weight:650}.secondary,.quiet{background:transparent;color:var(--accent2);border-color:var(--line)}.quiet{padding:8px 11px}.hidden{display:none!important}.topbar{height:76px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#111512dd;backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.topbar>div{text-align:center}.topbar h1{font-size:20px;margin:0}.topbar .back{color:var(--accent2);text-decoration:none}.topbar button{justify-self:end}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--muted)}main{max-width:1450px;margin:auto;padding:24px}.library-head,.section-title,.play-head,.panel-head,.dialog-title,.lore-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.library h2,.play h2{margin:0}.library p,.play-head p{margin:3px 0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:22px 0 38px}.pack-card,.save-card,.panel{background:linear-gradient(145deg,var(--surface),#171c18);border:1px solid var(--line);border-radius:16px;padding:18px}.pack-card h3,.save-card h3,.panel h3{margin:0}.pack-card p{color:var(--muted);min-height:70px}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.save-list{display:grid;gap:10px}.save-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.save-meta{color:var(--muted);font-size:13px}.danger{color:var(--danger);border-color:#6b4444;background:transparent}.play{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;height:calc(100vh - 124px)}.story-column{min-height:0;display:grid;grid-template-rows:auto 1fr auto auto}.messages{overflow:auto;padding:18px 8px 80px}.message{max-width:850px;margin:0 auto 16px;padding:15px 18px;border-radius:15px;white-space:pre-wrap}.message.assistant{background:var(--surface);border:1px solid var(--line)}.message.user{background:#2a382d;margin-left:auto;width:min(80%,850px)}.message.pending{color:var(--muted)}.composer{display:flex;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.composer textarea{flex:1;resize:none;background:transparent;border:0;color:var(--text);outline:0;padding:8px}.change-strip{padding:8px 14px;color:var(--accent2);font-size:13px}.panels{overflow:auto;display:grid;align-content:start;gap:12px}.panel{padding:15px}.panel-head button{padding:4px 8px;background:transparent;color:var(--muted);border:0}.field-list,.inventory-list{display:grid;gap:8px;margin-top:12px}.field-row,.item-row{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #2b342e;padding-top:8px}.field-label,.item-meta{color:var(--muted)}.progress{height:7px;background:#303a33;border-radius:99px;overflow:hidden;margin-top:5px}.progress span{height:100%;display:block;background:var(--accent)}dialog{border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);width:min(680px,calc(100vw - 28px));max-height:88vh;padding:0}dialog::backdrop{background:#070907bb;backdrop-filter:blur(3px)}.dialog-card{padding:22px;display:grid;gap:16px}.dialog-card label{display:grid;gap:6px;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#111512;color:var(--text)}textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.icon{background:transparent;color:var(--text);font-size:22px;padding:2px 8px}.editor-card{max-height:85vh;overflow:auto}.editor-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;margin-bottom:8px}.pack-editor{max-height:88vh;overflow:auto}.lore-list{display:grid;gap:8px}.lore-item{border:1px solid var(--line);border-radius:11px;padding:10px}.lore-item summary{cursor:pointer;display:flex;gap:8px}.lore-item textarea{margin-top:10px;min-height:120px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#e4eee2;color:#172019;padding:10px 16px;border-radius:10px;z-index:20}.login{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;z-index:30}.login-card{width:min(360px,90vw);display:grid;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px}.login-card h1{margin:0}.error{color:var(--danger);margin:0}@media(max-width:850px){.topbar{padding:0 14px}.topbar .eyebrow{display:none}main{padding:12px}.play{grid-template-columns:1fr;height:auto}.story-column{height:calc(100vh - 100px)}.panels{grid-template-columns:1fr}.save-card{align-items:flex-start;flex-direction:column}.editor-row{grid-template-columns:1fr}.message.user{width:90%}}
.memory-dialog-card{max-height:88vh;overflow:auto}.story-memory-list{display:grid;gap:12px}.chapter-memory{border:1px solid var(--line);border-radius:14px;padding:14px;background:#141916}.chapter-memory h3{margin:0}.chapter-memory p{white-space:pre-wrap;color:var(--text)}.chapter-memory .carryover{border-left:2px solid var(--accent);padding-left:10px;color:var(--muted)}.chapter-memory-actions{display:flex;gap:8px;flex-wrap:wrap}.chapter-memory-actions button{padding:7px 10px}.chapter-status{font-size:12px;color:var(--muted)}
