:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0b09;--surface:#17150f;--surface-2:#221e17;--line:#d6b06a2e;--line-strong:#e0c17a6b;--gold:#e0c17a;--gold-deep:#b8893e;--ink:#f6f0e6;--muted:#b7a892;--faint:#8b7d6b;--danger:#e7a093;--danger-bg:#a8483a29;--ok:#c5d4ae;--font-display:"Cormorant Garamond", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--nav-h:calc(64px + env(safe-area-inset-bottom));font-family:var(--font-body);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.45}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(900px 420px at 50% -80px, #b8893e2e, transparent 60%), var(--bg);min-height:100dvh;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shell{width:min(100%,560px);min-height:100dvh;margin:0 auto}.skip{background:var(--gold);color:#24180a;z-index:10;border-radius:999px;padding:.55rem .8rem;text-decoration:none;position:absolute;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip:focus{transform:none}.topbar{z-index:4;padding:calc(.85rem + env(safe-area-inset-top)) 1.15rem .75rem;border-bottom:1px solid var(--line);background:#0c0b09f5;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:.03em;margin:0;font-size:1.85rem;font-weight:600;line-height:1}.brand span{color:var(--gold)}.banner{border:1px solid var(--line-strong);color:var(--gold);background:#2a2418;border-radius:14px;flex-direction:column;gap:.65rem;margin:.75rem 1rem 0;padding:.75rem .85rem;display:flex}.banner p,.confirm p,.card p{margin:0}.banner-danger{color:var(--danger);background:var(--danger-bg);border-color:#0000}.content{padding-bottom:calc(var(--nav-h) + 1.75rem)}.page{flex-direction:column;gap:.9rem;padding:1rem 1rem 0;display:flex}.page-head{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.page-head h1,h1{font-family:var(--font-display);letter-spacing:.01em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.9rem,8vw,2.45rem);font-weight:600;line-height:1.05}.lead,.hint,.meta,.preview,.empty{color:var(--muted)}.lead,.hint,.empty,.meta,.preview{margin:0}.lead{margin-top:.3rem}.meta{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;display:block}.list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.95rem 1rem;scroll-margin:5.5rem}.card-button{text-align:left;flex-direction:column;gap:.28rem;width:100%;display:flex}.card-button:hover,.note.is-target{border-color:var(--line-strong)}.card-title{font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;font-size:1.55rem;line-height:1.15}.preview{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.empty{text-align:center;padding:1.4rem .2rem}.form,.stack,.composer,.note{flex-direction:column;gap:.75rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.label{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}input,textarea{border:1px solid var(--line-strong);background:#0e0c0a;border-radius:12px;width:100%;padding:.75rem .8rem}input[type=date],input[type=search]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}textarea{resize:vertical;min-height:148px;font-size:1rem;line-height:1.5}::placeholder{color:var(--faint)}.btn{background:0 0;border:1px solid #0000;border-radius:999px;min-height:46px;padding:.65rem 1rem}.btn-small{min-height:40px;padding:.4rem .8rem}.btn-block{width:100%}.btn-primary{color:#24180a;background:linear-gradient(#edd7a0,#c49645);font-weight:600}.btn-ghost{border-color:var(--line-strong);color:var(--gold)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-quiet-danger{color:var(--danger);background:0 0;border-color:#0000}.btn-quiet-danger:hover{background:var(--danger-bg)}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{gap:.6rem;display:flex}.composer .actions,.composer .confirm{bottom:calc(var(--nav-h) + .45rem);z-index:3;background:var(--surface);scroll-margin-bottom:calc(var(--nav-h) + 1rem);padding-top:.45rem;position:sticky}.actions .btn{flex:1}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.hint-error{color:var(--danger)}.hint-ok{color:var(--ok)}.confirm{flex-direction:column;gap:.7rem;display:flex}.back{min-height:44px;color:var(--gold);background:0 0;border:0;align-self:flex-start;padding:.2rem 0}.tabbar{z-index:5;border-top:1px solid var(--line);width:min(100%,560px);padding-bottom:env(safe-area-inset-bottom);background:#120f0c;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{min-height:64px;color:var(--faint);letter-spacing:.01em;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.12rem;padding:.2rem .15rem;font-size:.68rem;display:flex}.tab[aria-current=page]{color:var(--gold);box-shadow:inset 0 2px 0 var(--gold)}.section-title{font-family:var(--font-display);margin:0;font-size:1.55rem;font-weight:600}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line-strong);min-height:36px;color:var(--gold);background:0 0;border-radius:999px;padding:.3rem .75rem}.chip.is-on{color:var(--ink);border-color:var(--gold);background:#3a2e16}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.character-card{text-align:center;align-items:center}.character-card .card-title{font-size:1.35rem}.portrait,.portrait-fallback{aspect-ratio:1;background:#221e17;border-radius:12px;width:100%}.portrait{object-fit:cover;display:block}.portrait-fallback{color:var(--gold);font-family:var(--font-display);place-items:center;font-size:2.4rem;display:grid}.portrait-hero{aspect-ratio:1;object-fit:cover;border:1px solid var(--line-strong);background:#221e17;border-radius:16px;align-self:center;width:min(100%,280px)}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.thumb-wrap{position:relative}.thumb{aspect-ratio:1;border:1px solid var(--line);background:#0e0c0a;border-radius:12px;width:100%;padding:0;display:block;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-missing{text-align:center;color:var(--faint);place-items:center;padding:.35rem;font-size:.72rem;display:grid}.thumb-remove{z-index:1;width:2.75rem;height:2.75rem;color:var(--ink);touch-action:manipulation;background:#0c0b09db;border:0;border-radius:999px;font-size:1.35rem;line-height:1;position:absolute;top:.2rem;right:.2rem}.lightbox{z-index:30;padding:calc(.8rem + env(safe-area-inset-top)) calc(.8rem + env(safe-area-inset-right)) calc(.8rem + env(safe-area-inset-bottom)) calc(.8rem + env(safe-area-inset-left));background:#080706f0;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:12px;max-width:100%;max-height:calc(100dvh - 7rem)}.lightbox-close{align-self:flex-end}.cover-block{flex-direction:column;gap:.7rem;display:flex}.cover-frame{aspect-ratio:16/9;border:1px solid var(--line);background:#221e17;border-radius:16px;width:100%;overflow:hidden}button.cover-frame{color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;padding:0;display:grid}button.cover-frame:hover,button.cover-frame[aria-expanded=true]{border-color:var(--line-strong)}.cover-stage{width:100%}.cover-missing{text-align:center;color:var(--muted);place-items:center;padding:1rem;display:grid}.cover-frame img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.audio-section-title{color:var(--gold);font-family:var(--font-body);letter-spacing:.08em;margin:.4rem 0 0;font-size:.78rem;font-weight:600}.audio-row{flex-direction:column;gap:.65rem;display:flex}.audio-heading-row{align-items:flex-start;gap:.7rem;display:flex}.audio-copy{flex:1;min-width:0}.note-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.audio-icon{border:1px solid var(--line-strong);width:2.4rem;height:2.4rem;color:var(--gold);border-radius:12px;flex:none;place-items:center;display:grid}.audio-name{overflow-wrap:anywhere;margin:0;font-weight:600}.player{width:100%;height:40px}.menu{flex:none;position:relative}.menu-trigger,.menu-item{touch-action:manipulation}.menu-trigger{width:2.75rem;height:2.75rem;color:var(--gold);background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;display:grid}.menu-trigger.is-open,.menu-trigger:hover{background:var(--surface-2);border-color:var(--line)}.menu-panel{z-index:8;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:14px;min-width:13.5rem;max-width:min(18rem,100vw - 1.5rem);padding:.3rem;position:absolute;top:calc(100% + .3rem);right:0;box-shadow:0 14px 36px #0000007a}.cover-stage .menu-panel{top:auto;bottom:.65rem;right:.65rem}.menu-item{text-align:left;width:100%;min-height:2.75rem;color:var(--ink);background:0 0;border:0;border-radius:10px;padding:.55rem .75rem;display:block}.menu-item.is-danger{color:var(--danger)}.menu-item:hover,.menu-item:focus-visible{background:#e0c17a1a}.menu-item:disabled{opacity:.45;cursor:not-allowed}.dialog-backdrop{z-index:40;padding:calc(1rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));background:#080706c7;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;flex-direction:column;gap:.8rem;width:min(100%,26rem);padding:1.15rem 1.05rem 1.05rem;display:flex;box-shadow:0 18px 50px #00000080}.dialog-title{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:clamp(1.55rem,6vw,1.9rem);font-weight:600;line-height:1.15}.dialog-text{overflow-wrap:anywhere;margin:0}.dialog .btn-danger{color:#fff8f4;background:#8f3b32;font-weight:600}.dialog .btn-ghost{border-color:var(--gold)}.dialog .actions .btn{white-space:normal;text-align:center;line-height:1.2}.file-input{clip:rect(0 0 0 0);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}mark{color:inherit;background:#e0c17a47;border-radius:3px;padding:0 .08em}@media (width>=700px){body{background:radial-gradient(900px 420px at 50% -80px,#b8893e29,#0000 55%),#080807}.shell{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 16px 50px #00000059}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
