:root{color-scheme:dark;--ink: #f5efe3;--muted: #aaa397;--night: #11100f;--panel: #1c1917;--raised: #27221e;--line: #403831;--ember: #d99045;--bright: #f1b76f;--danger: #f19a92;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--night);color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 10% 10%,rgba(117,69,31,.2),transparent 32rem),linear-gradient(145deg,#151311,#0d0c0b 70%)}button,input,textarea,select{font:inherit}a{color:var(--bright)}.brand{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink);font:700 1.25rem Georgia,Times New Roman,serif;text-decoration:none;letter-spacing:.04em}.brand img{width:1.55rem;height:1.55rem;object-fit:contain}.feature-icon{color:var(--ember)}.eyebrow{color:var(--bright);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(100%,28rem);padding:clamp(1.5rem,5vw,2.75rem);border:1px solid var(--line);border-radius:1rem;background:#1c1917f0;box-shadow:0 1.5rem 5rem #00000061}.auth-card h1,.feature-card h1{margin:1.5rem 0 .5rem;font:700 clamp(1.8rem,5vw,2.5rem) Georgia,"Times New Roman",serif}.subtitle,.feature-card p{color:var(--muted);line-height:1.65}form{display:grid;gap:.65rem;margin-top:2rem}label{margin-top:.55rem;font-weight:600}.hint{color:var(--muted);float:right;font-size:.75rem;font-weight:400}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:.55rem;padding:.8rem .9rem;background:#12100f;color:var(--ink)}textarea{min-height:7rem;resize:vertical}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(217,144,69,.45);outline-offset:2px}button{border:0;border-radius:.55rem;cursor:pointer}button.primary{margin-top:1rem;padding:.9rem 1rem;background:var(--ember);color:#17100a;font-weight:800}button:not(.primary):not(.quiet){padding:.65rem .85rem;background:var(--raised);color:var(--ink)}button.primary.compact{margin:0;padding:.65rem .85rem}button.danger,.danger{color:var(--danger)}button.selected,.tabs button.active{box-shadow:inset 0 0 0 2px var(--ember);color:var(--bright)}button:disabled{cursor:wait;opacity:.55}.quiet{padding:.55rem .75rem;background:transparent;color:var(--muted)}.form-error{color:var(--danger);margin:.5rem 0 0}.auth-switch{margin:1.5rem 0 0;color:var(--muted);text-align:center}.app-frame{min-height:100vh;display:grid;grid-template:4.5rem 1fr/15rem 1fr}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid var(--line);background:#11100feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.account{display:flex;align-items:center;gap:.65rem}.avatar{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--ember);color:#17100a;font-weight:800}.side-nav{padding:1.25rem .8rem;border-right:1px solid var(--line)}.side-nav a{display:flex;gap:.8rem;align-items:center;margin:.3rem 0;padding:.8rem;border-radius:.55rem;color:var(--muted);text-decoration:none}.side-nav a.active,.side-nav a:hover{background:var(--raised);color:var(--ink)}.content{min-width:0;padding:clamp(1.25rem,4vw,3rem)}.table-nav{display:flex;gap:.4rem;max-width:75rem;margin:1rem auto 2rem;padding-bottom:.6rem;overflow-x:auto;border-bottom:1px solid var(--line)}.table-nav a{padding:.7rem .9rem;border-radius:.55rem;color:var(--muted);text-decoration:none;white-space:nowrap}.table-nav a:hover,.table-nav a.active{background:var(--raised);color:var(--bright)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;max-width:75rem;margin:0 auto 1.5rem}.page-head h1{margin:.25rem 0;font:700 clamp(2rem,5vw,3.2rem) Georgia,serif}.page-head p{color:var(--muted)}.panel{max-width:75rem;margin:0 auto 1.25rem;padding:clamp(1rem,3vw,1.6rem);border:1px solid var(--line);border-radius:.8rem;background:var(--panel)}.panel h2{margin-top:0;font-family:Georgia,serif}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:75rem;margin:auto}.columns .panel{width:100%}.search-row,.inline-form,.toolbar,.actions{display:flex;align-items:end;gap:.65rem}.search-row input{flex:1}.search-row .primary,.toolbar .primary{margin:0}.item-list,.session-list{display:grid;gap:.65rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--line)}.user{display:flex;align-items:center;gap:.7rem}.user-copy,.list-item>div,.list-item>span{display:grid;gap:.15rem}.user-copy small,.list-item small,.muted,.empty,.panel small{color:var(--muted)}.count,.role{display:inline-block;padding:.2rem .5rem;border-radius:99px;background:var(--raised);color:var(--bright);font:700 .7rem sans-serif;text-transform:uppercase;letter-spacing:.07em}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;max-width:75rem;margin:auto}.table-card{min-height:13rem;padding:1.4rem;border:1px solid var(--line);border-radius:.8rem;background:var(--panel);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}.table-card:hover{transform:translateY(-2px);border-color:var(--ember)}.table-card h2{font-family:Georgia,serif}.table-card p{color:var(--muted)}.back{display:inline-block;margin:0 0 1rem;text-decoration:none}.danger-zone{border-color:#6b3732}.invite-result{display:flex;gap:1rem;align-items:center;margin:1rem 0;padding:1rem;border-radius:.7rem;background:var(--raised)}.invite-result canvas{border:.5rem solid white;width:180px;height:180px}.invite-result>div{flex:1;min-width:0}.toolbar{justify-content:space-between;max-width:75rem;margin:0 auto 1rem}.tabs{display:flex;gap:.4rem}.session-card{display:grid;grid-template-columns:1fr auto;gap:1.5rem}.session-card dl{display:grid;gap:.7rem}.session-card dl div{display:grid;gap:.15rem}.session-card dt{color:var(--muted);font-size:.8rem}.session-card dd{margin:0}.session-actions{display:grid;align-content:start;gap:.7rem;min-width:12rem}.roster{grid-column:1/-1;display:grid;gap:.35rem;border-top:1px solid var(--line);padding-top:1rem}.cancelled{opacity:.65}.success{color:#9ed39e}.notice{display:flex;justify-content:space-between;align-items:center;max-width:75rem;margin:0 auto 1rem;padding:.8rem 1rem;border:1px solid var(--ember);border-radius:.6rem;background:#2a2118}.main-note{display:flex;justify-content:space-between;align-items:center;border-color:var(--ember);background:linear-gradient(110deg,#2b2118,var(--panel))}.main-note.unwritten{border-style:dashed}.notes-layout{display:grid;grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);gap:1.25rem;max-width:75rem;margin:0 auto}.notes-layout .panel{width:100%;margin-bottom:1.25rem}.note-list{align-self:start;max-height:70vh;overflow:auto}.note-row{display:grid;width:100%;gap:.3rem;padding:.9rem;border-bottom:1px solid var(--line);border-radius:0!important;background:transparent!important;color:var(--ink);text-align:left}.note-row span,.note-row small{color:var(--muted);font-size:.78rem}.note-row.active{background:var(--raised)!important;box-shadow:inset 3px 0 var(--ember)}.note-workspace{min-height:30rem}.workspace-empty{display:grid;min-height:25rem;place-content:center;text-align:center}.workspace-empty>span{color:var(--ember);font-size:4rem}.editor-head,.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.filters summary{cursor:pointer;font-weight:700}.filters form{margin-top:1rem}.markdown-editor{min-height:22rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55}.markdown-body{overflow-wrap:anywhere;line-height:1.7}.markdown-body pre{overflow:auto;padding:1rem;border-radius:.5rem;background:#0f0e0d}.markdown-body code{padding:.1rem .25rem;border-radius:.2rem;background:#0f0e0d}.markdown-body table{width:100%;border-collapse:collapse}.markdown-body th,.markdown-body td{padding:.5rem;border:1px solid var(--line);text-align:left}.markdown-body img{max-width:100%}.preview{min-height:22rem;padding:1rem;border:1px solid var(--line);border-radius:.55rem;background:#12100f}fieldset{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:.6rem}.relation-chip{display:inline-flex;align-items:center;gap:.35rem;margin:.5rem .35rem 0 0;padding:.3rem .5rem;border-radius:99px;background:var(--raised);color:var(--muted);font-size:.78rem}.relation-chip button{padding:0 .25rem!important;background:transparent!important}.relations{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:1rem 0}.copy-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--raised)}.copy-callout .primary{flex:0 0 auto;margin:0}.character-layout{display:grid;grid-template-columns:minmax(15rem,21rem) minmax(0,1fr);gap:1.25rem;max-width:75rem;margin:0 auto}.character-layout>.panel{width:100%;margin-bottom:1.25rem}.character-list{align-self:start}.character-list h3{margin-top:2rem}.template-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.template-row>span{display:grid;gap:.2rem}.studio-title,.list-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.studio-title h2,.list-title h2{margin-bottom:.35rem}.safe-badge{flex:0 0 auto;padding:.4rem .65rem;border:1px solid #486b4d;border-radius:99px;color:#a8d5ad;font-size:.72rem;font-weight:800}.editor-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:1.4rem;padding:.35rem;border-radius:.7rem;background:#12100f}.editor-tabs button{display:grid;gap:.12rem;padding:.7rem!important;background:transparent!important;color:var(--muted)!important}.editor-tabs button small{font-size:.65rem;font-weight:400}.editor-tabs button.active{background:var(--raised)!important;box-shadow:inset 0 0 0 1px var(--line);color:var(--bright)!important}.studio-editor{min-height:30rem}.studio-editor>label{display:grid;gap:.55rem}.studio-editor textarea{min-height:28rem;font:.78rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.studio-editor code{color:var(--bright)}.preview-frame{margin-top:.55rem;padding:.6rem;border:1px solid var(--line);border-radius:.7rem;background:#12100f}.sheet-host{min-width:0}.sheet-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.sheet-toolbar h2{margin-bottom:.25rem}.isolation-note{color:var(--muted);font-size:.78rem}.feature-card{display:flex;gap:1.5rem;max-width:55rem;min-height:18rem;align-items:center;padding:clamp(1.5rem,5vw,3rem);border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.feature-icon{font-size:clamp(3rem,10vw,6rem)}.bottom-nav{display:none}.error-toast{position:fixed;right:1rem;bottom:1rem;display:flex;align-items:center;gap:1rem;max-width:min(28rem,100vw - 2rem);padding:.8rem 1rem;border:1px solid var(--danger);border-radius:.6rem;background:#2a1715;box-shadow:0 .8rem 2rem #00000059}@media(max-width:720px){.app-frame{grid-template:4rem 1fr 4.5rem/1fr}.topbar{padding:0 1rem}.account-name,.side-nav{display:none}.content{padding:1rem}.feature-card{align-items:flex-start;min-height:auto}.columns,.session-card{grid-template-columns:1fr}.page-head,.toolbar,.inline-form,.invite-result{align-items:stretch;flex-direction:column}.search-row{align-items:stretch}.session-actions{min-width:0}.invite-result canvas{align-self:center}.main-note,.copy-callout{align-items:stretch;flex-direction:column}.notes-layout,.editor-head,.character-layout,.editor-tabs{grid-template-columns:1fr}.editor-tabs button{grid-template-columns:1fr auto}.studio-title{align-items:stretch;flex-direction:column}.safe-badge{align-self:flex-start}.sheet-toolbar{flex-direction:column}.note-list{max-height:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:sticky;bottom:0;border-top:1px solid var(--line);background:#151311}.bottom-nav a{display:grid;place-items:center;gap:.15rem;padding:.55rem .2rem;color:var(--muted);text-decoration:none}.bottom-nav a.active{color:var(--bright)}.bottom-nav small{font-size:.62rem}}@media(prefers-reduced-motion:no-preference){.auth-card,.feature-card{animation:arrive .35s ease-out}@keyframes arrive{0%{opacity:0;transform:translateY(.5rem)}}}
