:root{--color-background:#091e2a;--color-surface:#102d3d;--color-surface-raised:#173e53;--color-accent:#50aff4;--color-border:#28617e;--color-text:#f1f6fa;--color-text-muted:#a8c8da;--color-warning:#f3b85a;color-scheme:dark;font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;color:var(--color-text);background:var(--color-background)}*{box-sizing:border-box}body{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:1px;font-weight:600}h2{font-size:20px;font-weight:600}h3{font-size:14px;color:var(--color-text-muted);font-weight:500}button,input,select,textarea{font:inherit}button{background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:9px 16px;border-radius:3px;cursor:pointer}button:hover{background:var(--color-surface-raised);border-color:var(--color-accent)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--color-accent);border-color:var(--color-accent);color:#06202e;font-weight:600}.primary:hover{background:#8bcbfa}.quiet{padding:4px 8px;border-color:transparent;color:var(--color-text-muted)}input,select,textarea{background:#0a2331;color:var(--color-text);border:1px solid var(--color-border);border-radius:3px;padding:10px 12px;width:100%;min-width:0}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}label{display:block;color:var(--color-text-muted);margin-bottom:18px}label input,label select,label textarea{display:block;margin-top:6px}input[type=checkbox]{width:auto;margin-right:8px}.topbar{height:76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:#0b2330}.brand{color:var(--color-text);font-size:25px;letter-spacing:5px;font-weight:700;display:flex;gap:20px;align-items:center}.brand span{font-size:12px;letter-spacing:2px;color:var(--color-text-muted);font-weight:400}.topbar nav{display:flex;align-items:center;gap:24px}.muted{color:var(--color-text-muted)}.warning{color:var(--color-warning)}.panel{padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px}.account-shell{max-width:1150px;margin:8vh auto;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;padding:36px}.intro{padding:30px 0;background:radial-gradient(ellipse at 50% 10%,#19465b77,transparent 60%)}.intro h1{font-size:44px;line-height:1.4;font-weight:500}.intro p{max-width:360px;font-size:16px;color:var(--color-text-muted)}.orbit{font-size:94px;color:var(--color-accent);line-height:1;margin-bottom:32px}.intro-line{margin-top:48px;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-text-muted);letter-spacing:2px}.auth-panel{align-self:center;padding:36px}.auth-panel form button{width:100%;margin:8px 0 20px}.home{max-width:1200px;margin:auto;padding:48px 32px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.group-list{display:grid;gap:16px}.group-link{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.group-link strong{font-size:20px}.group-link:hover{background:var(--color-surface-raised);text-decoration:none}.workspace{display:grid;grid-template-columns:220px minmax(360px,1fr) 340px;min-height:calc(100vh - 76px)}.rail{background:#0b2635;border-right:1px solid var(--color-border);padding:25px 20px;display:flex;flex-direction:column}.back{font-size:12px;margin-bottom:24px}.rail h2{overflow-wrap:anywhere}.rail-nav{display:grid;gap:6px;margin:24px -8px}.rail-nav button{text-align:left;border-color:transparent}.rail-nav button.active,.character-link.active{background:var(--color-surface-raised);color:var(--color-accent);border-color:var(--color-border)}.character-link{width:100%;text-align:left;padding:10px 8px;margin-bottom:6px;border-color:transparent;overflow-wrap:anywhere}.character-link small{display:block;color:var(--color-text-muted)}.rail-footer{margin-top:auto;padding-top:40px;color:var(--color-text-muted);font-size:11px;overflow-wrap:anywhere}.sheet{padding:28px;min-width:0}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.sheet-heading h1{margin:0;font-size:28px}.sheet-heading p{margin:4px 0 0}.scene{min-height:110px;background:linear-gradient(125deg,#173e53,#0d2735 80%);border:1px solid var(--color-border);display:flex;align-items:center;padding:20px;position:relative;margin-bottom:24px;gap:18px}.scene img{width:74px;height:88px;object-fit:cover;border:1px solid var(--color-border)}.portrait-fallback{width:74px;height:88px;display:grid;place-items:center;font-size:40px;color:var(--color-text-muted);border:1px solid var(--color-border)}.scene-image{width:100%;max-height:180px;object-fit:cover}.summary{display:flex;gap:24px;flex-wrap:wrap;color:var(--color-text-muted)}.summary strong{color:var(--color-text);margin-left:6px}.attributes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:24px 0}.attribute{background:var(--color-surface);border:1px solid var(--color-border);padding:12px 8px;text-align:center}.attribute span{font-size:11px;letter-spacing:1px;color:var(--color-text-muted)}.attribute strong{font-size:28px;display:block;font-weight:500}.attribute small{color:var(--color-accent)}.attribute input{padding:5px;text-align:center}.sheet-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--color-border);padding-bottom:12px;margin-bottom:24px}.sheet-tabs button{white-space:nowrap;border-color:transparent;padding:6px 10px}.sheet-tabs .active{color:var(--color-accent);background:var(--color-surface-raised)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.save-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.save-state{margin-left:auto;color:var(--color-text-muted)}.wizard{background:var(--color-surface);border:1px solid var(--color-border);padding:22px;margin-bottom:24px}.wizard h2{font-size:17px}.wizard p{color:var(--color-text-muted)}.wizard-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.todo{border-left:2px solid var(--color-warning);background:#173444;padding:16px;margin-top:14px}.todo p{color:var(--color-warning);white-space:pre-wrap}.todo small{display:block;margin-bottom:10px;color:var(--color-text-muted)}.timeline-item{border-left:2px solid var(--color-border);padding:0 0 20px 20px;white-space:pre-wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-border);vertical-align:top}th{font-size:12px;color:var(--color-text-muted);font-weight:500}td input,td select{min-width:85px;padding:6px}.chat{border-left:1px solid var(--color-border);background:#0b2432;height:calc(100vh - 76px);position:sticky;top:0;display:flex;flex-direction:column;min-width:0}.chat-heading{padding:22px 20px 10px;display:flex;justify-content:space-between;align-items:center}.chat-heading h2{font-size:17px;margin:0}.chat-heading span{font-size:11px}.chat-controls{display:flex;justify-content:space-between;padding:0 14px 12px}.messages{overflow-y:auto;flex:1;padding:0 20px}.message{border-bottom:1px solid #20475e;padding:14px 0;font-size:13px;overflow-wrap:anywhere}.message-meta{font-size:11px;color:var(--color-text-muted);display:flex;justify-content:space-between;margin-bottom:6px}.message-text{white-space:pre-wrap}.message.DiceRoll .message-text{color:var(--color-accent);font-family:Consolas,monospace;font-size:16px}.message details{color:var(--color-text-muted);font-size:11px}.message pre{white-space:pre-wrap;font:inherit}.chat form{padding:16px 20px;border-top:1px solid var(--color-border)}.chat textarea{min-height:70px}.chat-send{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:11px}.chat-send button{font-size:13px}.empty{padding:50px 20px;text-align:center;color:var(--color-text-muted)}#notice{position:fixed;top:84px;right:24px;max-width:min(500px,90vw);padding:14px 22px;z-index:20;background:var(--color-surface-raised);border:1px solid var(--color-warning);box-shadow:0 8px 28px #0006;white-space:pre-wrap}.mobile-tabs{display:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}details summary{cursor:pointer}.inline-check{display:inline-flex;align-items:center;margin:6px 14px 6px 0}.danger{border-color:#a76159;color:#ffb9ad}.member-actions{display:flex;gap:8px;flex-wrap:wrap}
.scene .scene-banner{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:0}.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#091e2a99,#091e2a55);pointer-events:none;z-index:0}.scene>div,.scene>#portrait-image{position:relative;z-index:1}
@media(min-width:1600px){.workspace{grid-template-columns:250px minmax(360px,1fr) 400px}.sheet{padding:36px 48px}}@media(max-width:1100px){.workspace{grid-template-columns:180px minmax(300px,1fr) 290px}.sheet{padding:20px 16px}.rail{padding:20px 12px}.attributes{gap:4px}.attribute strong{font-size:22px}.chat-heading{padding-left:14px;padding-right:14px}.topbar{padding:0 20px}}@media(max-width:850px){.topbar{height:66px;padding:0 16px}.brand{font-size:21px;gap:0}.brand span{display:none}.topbar nav{gap:12px;font-size:12px}.workspace{grid-template-columns:1fr;min-height:calc(100vh - 66px)}.rail{padding:16px;border-right:0;border-bottom:1px solid var(--color-border)}.rail .back,.rail-footer,.rail h3,#character-list{display:none}.rail h2{margin:0;font-size:20px}.rail-nav{display:flex;margin:10px -6px 0;gap:0;overflow-x:auto}.rail-nav button{padding:7px 10px;white-space:nowrap}.mobile-tabs{display:flex;padding:10px 16px;gap:8px;background:var(--color-surface)}.mobile-tabs button{flex:1}.sheet{padding:20px 16px}.chat{display:none;height:calc(100dvh - 230px);min-height:450px;position:relative;border-left:0}.workspace.show-chat .chat{display:flex}.workspace.show-chat .sheet{display:none}.attributes{grid-template-columns:repeat(3,1fr)}.account-shell{grid-template-columns:1fr;margin:24px auto;gap:28px;padding:20px;max-width:520px}.intro{padding:0}.intro h1{font-size:30px}.intro h1 br{display:none}.orbit,.intro-line{display:none}.intro p{font-size:14px;margin:0}.auth-panel{padding:24px}.home{padding:28px 20px}.two-column{grid-template-columns:1fr}.page-heading>span{display:none}.form-grid{grid-template-columns:1fr}.sheet-heading{align-items:flex-start}.sheet-heading h1{font-size:24px}.wizard{padding:16px}.messages{padding:0 16px}.group-link{padding:20px}.group-link strong{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
