:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e9e4d7;font-synthesis:none;--ink:#e9e4d7;--muted:#9aa5a0;--faint:#65706c;--panel:#131b1ceb;--panel-light:#192324e6;--line:#c8b5802b;--line-strong:#c8b5805c;--gold:#c9ae6c;--gold-bright:#e0c783;--teal:#63a69d;--teal-dark:#376e68;--danger:#cb8375;--success:#75b49b;background:#0b1011;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif}*{box-sizing:border-box}html{background:#0b1011;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 15% 0,#345b562e,#0000 34rem),radial-gradient(circle at 82% 12%,#7960331c,#0000 28rem),linear-gradient(155deg,#0a0f10,#101718 48%,#090d0e);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}button:disabled,input:disabled{cursor:not-allowed;opacity:.52}h1,h2,p{margin-top:0}h1,h2{color:#f2ead8;font-family:Noto Serif KR,Batang,serif}.muted{color:var(--muted)}.compact{margin:0;font-size:.85rem;line-height:1.6}.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .45rem;font-size:.68rem;font-weight:700}.centered-state{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:2rem;display:grid}.centered-state h1{margin:.8rem 0;font-size:clamp(1.8rem,4vw,3rem)}.centered-state .muted{max-width:38rem;line-height:1.8}.sigil{border:1px solid var(--line-strong);width:4.5rem;height:4.5rem;color:var(--gold);border-radius:50%;place-content:center;font-family:serif;font-size:1.8rem;display:grid;box-shadow:0 0 40px #c9ae6c14,inset 0 0 20px #c9ae6c0d}.creation-shell{grid-template-columns:minmax(0,1.2fr) minmax(24rem,.8fr);align-items:stretch;min-height:100vh;display:grid}.creation-story{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(3rem,9vw,9rem);display:flex;position:relative;overflow:hidden}.creation-story:after{content:"";pointer-events:none;border:1px solid #c9ae6c0a;border-radius:50%;width:28rem;height:28rem;position:absolute;bottom:-12rem;right:-8rem;box-shadow:0 0 0 4rem #c9ae6c03,0 0 0 8rem #c9ae6c02}.creation-story h1{letter-spacing:-.04em;max-width:10ch;margin:1rem 0 2rem;font-size:clamp(3rem,6.2vw,6.3rem);line-height:1.06}.creation-story .lede{color:#c7c6bd;max-width:38rem;font-family:Noto Serif KR,Batang,serif;font-size:1.14rem;line-height:2}.creation-story blockquote{border-left:1px solid var(--gold);color:var(--gold-bright);margin:2.4rem 0 0;padding:1rem 0 1rem 1.5rem;font-family:Noto Serif KR,Batang,serif;font-size:1.08rem}.creation-card{border:1px solid var(--line);background:#111819e0;border-radius:3px;align-self:center;width:min(32rem,100% - 4rem);margin:3rem auto;padding:2.2rem;box-shadow:0 2rem 6rem #00000047}.creation-card h2{margin-bottom:1.8rem;font-size:1.8rem}.character-form{gap:1rem;display:grid}.field-label,fieldset legend{color:#c8c8bf;letter-spacing:.06em;font-size:.8rem;font-weight:600}.character-form input[type=text],.character-form>input{width:100%;color:var(--ink);background:#0d1415;border:1px solid #ffffff1f;border-radius:2px;padding:.9rem 1rem;transition:border-color .2s,box-shadow .2s}.character-form>input:hover{border-color:var(--line-strong)}.character-form fieldset{border:0;margin:.5rem 0;padding:0}.character-form fieldset legend{margin-bottom:.75rem}.background-options{gap:.55rem;display:grid}.background-option{cursor:pointer;background:#ffffff05;border:1px solid #ffffff17;border-radius:2px;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;padding:.85rem 1rem;transition:border-color .18s,background .18s;display:grid}.background-option:hover{border-color:var(--line-strong)}.background-option.selected{background:#63a69d14;border-color:#63a69d8c}.background-option input{accent-color:var(--teal);margin-top:.25rem}.background-option span{gap:.2rem;display:grid}.background-option strong{font-family:Noto Serif KR,Batang,serif;font-size:1rem}.background-option small{color:var(--muted);font-size:.75rem;line-height:1.55}.primary-button,.secondary-button,.quiet-button,.text-button{cursor:pointer;border-radius:2px;transition:border-color .18s,color .18s,background .18s,transform .18s}.primary-button{border:1px solid var(--gold);color:#171811;background:linear-gradient(135deg,#d7bd7a,#a98e4f);padding:.82rem 1.2rem;font-weight:700}.primary-button:not(:disabled):hover{background:linear-gradient(135deg,#ead291,#bca15d);transform:translateY(-1px)}.secondary-button{border:1px solid var(--line-strong);background:#ffffff06;padding:.8rem 1.15rem}.secondary-button:not(:disabled):hover{border-color:var(--gold);color:var(--gold-bright)}.quiet-button{color:#b7c0bc;background:#ffffff05;border:1px solid #ffffff1a;padding:.55rem .75rem;font-size:.76rem}.quiet-button:not(:disabled):hover{border-color:var(--line-strong);color:var(--ink)}.text-button{color:var(--gold);background:0 0;border:0;padding:.3rem;font-size:.78rem}.text-button:not(:disabled):hover{color:var(--gold-bright);text-decoration:underline}.full-width{width:100%}.inline-alert{border-left:2px solid var(--teal);color:#c9d8d3;text-align:left;background:#63a69d14;margin:0 0 1.2rem;padding:.8rem 1rem;font-size:.8rem;line-height:1.6}.inline-alert.error{border-color:var(--danger);background:#cb837514}.inline-alert.warning{border-color:var(--gold);background:#c9ae6c14}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080d0ee6;justify-content:space-between;align-items:center;gap:2rem;min-height:4.6rem;padding:.75rem clamp(1rem,2.8vw,2.8rem);display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:.8rem;min-width:15rem;display:flex}.brand-mark{border:1px solid var(--line-strong);width:2.6rem;height:2.6rem;color:var(--gold);border-radius:50%;place-content:center;font-family:serif;display:grid}.brand-block .eyebrow{margin-bottom:.16rem;font-size:.56rem}.brand-title{margin:0;font-family:Noto Serif KR,Batang,serif;font-size:.98rem;font-weight:700}.topbar-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.save-pill{color:var(--muted);border-radius:99px;align-items:center;gap:.45rem;padding:.5rem .7rem;font-size:.7rem;display:inline-flex}.status-dot{background:var(--success);width:.45rem;height:.45rem;box-shadow:0 0 8px var(--success);border-radius:50%}.save-pill.warning .status-dot{background:var(--gold);box-shadow:0 0 8px var(--gold)}.save-pill.error .status-dot{background:var(--danger);box-shadow:0 0 8px var(--danger)}.segmented{background:#0a1011;border:1px solid #ffffff1a;border-radius:3px;padding:.18rem;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:.38rem .68rem;font-size:.72rem}.segmented button.active{color:#e9e3d2;background:#263432;box-shadow:inset 0 0 0 1px #63a69d2e}.notice-bar{color:#bdd1cb;text-align:center;background:#2f635c1f;border-bottom:1px solid #63a69d29;justify-content:center;align-items:center;gap:1rem;min-height:2.7rem;padding:.6rem 1rem;font-size:.76rem;display:flex}.notice-bar.warning{color:#d8c99f;background:#896b3121;border-color:#c9ae6c29}.notice-bar.error{color:#ddb1a9;background:#8d433524;border-color:#cb837533}.notice-bar button{color:currentColor;cursor:pointer;background:0 0;border:0;padding:.2rem;font-weight:700;text-decoration:underline}.game-layout{grid-template-columns:minmax(0,3fr) minmax(17rem,1fr);width:min(100%,104rem);margin:0 auto;display:grid}.story-column{border-right:1px solid var(--line);min-width:0;padding:clamp(2rem,4vw,4.5rem)}.scene-card{border:1px solid var(--line);background:linear-gradient(135deg,#63a69d0e,#0000 42%),linear-gradient(#192324cc,#0f1617ed);border-radius:3px;min-height:27rem;padding:clamp(1.5rem,3vw,3rem);box-shadow:0 1.5rem 5rem #0003}.scene-heading,.section-heading-row,.combat-title-row,.sidebar-title-row{justify-content:space-between;align-items:flex-start;gap:1.2rem;display:flex}.location{color:#ddd4bf;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1.05rem}.chapter-chip,.distance-badge{border:1px solid var(--line);min-height:1.8rem;color:var(--muted);border-radius:99px;align-items:center;padding:.3rem .65rem;font-size:.67rem;display:inline-flex}.ornament{color:var(--gold);opacity:.62;align-items:center;gap:.8rem;margin:2.4rem 0 1.2rem;font-size:.48rem;display:flex}.ornament span{background:var(--line-strong);width:2.5rem;height:1px}.scene-card>h1{letter-spacing:-.025em;margin:0 0 1.6rem;font-size:clamp(2rem,3.3vw,3.6rem);line-height:1.18}.prose{color:#c8c7be;max-width:52rem;font-family:Noto Serif KR,Batang,serif;font-size:1.02rem;line-height:2}.prose p{margin-bottom:1rem}.ending-panel{background:linear-gradient(135deg,#c9ae6c17,#63a69d0b);border:1px solid #c9ae6c52;margin:2rem 0 .5rem;padding:1.5rem}.ending-panel h2{margin:.35rem 0 .8rem;font-size:1.55rem}.ending-panel>p:not(.section-kicker){color:#d7cfbd;font-family:Noto Serif KR,Batang,serif;line-height:1.85}.inventory-view{border:1px solid var(--line);background:#142022b8;margin-top:1.25rem;padding:1.1rem}.inventory-view .section-heading-row{margin-bottom:.8rem}.inventory-view h2{margin:.25rem 0 0;font-size:1.3rem}.inventory-list{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.inventory-item{background:#101b1ddd;border:1px solid #c9ae6c40;min-width:0;padding:.9rem}.inventory-item>p{color:#d2d0c5;margin:.6rem 0;font-size:.9rem;line-height:1.65}.inventory-heading{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.inventory-heading>span{color:#b9ccbf;font-size:.75rem}.inventory-unavailable{color:#cbb58f!important}.inventory-facts{margin:.6rem 0;font-size:.8rem}.inventory-facts div{grid-template-columns:3.2rem minmax(0,1fr);gap:.5rem;display:grid}.inventory-facts dt{color:var(--faint)}.inventory-facts dd{overflow-wrap:anywhere;margin:0}.inventory-actions{gap:.45rem;display:grid}.inventory-action{text-align:left;justify-content:space-between;gap:.6rem;display:flex}.inventory-action span{color:var(--muted);font-size:.78rem}.aftermath-panel{background:linear-gradient(135deg,#c9ae6c17,#63a69d0b);border:1px solid #c9ae6c52;margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem)}.aftermath-panel h2{margin:.3rem 0 .8rem;font-size:clamp(1.4rem,3vw,2rem)}.aftermath-panel>p{line-height:1.8}.aftermath-panel ul{margin:1rem 0;padding-left:1.2rem;line-height:1.75}.aftermath-memory{border-left:3px solid var(--gold);background:#c9ae6c14;padding:.7rem}.aftermath-actions{margin:1rem 0}.clue-strip{border-top:1px solid #ffffff12;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.1rem;display:flex}.clue-label{color:var(--faint);letter-spacing:.08em;margin-right:.3rem;font-size:.66rem;font-weight:700}.clue{color:#cdbf98;background:#c9ae6c0a;border:1px solid #c9ae6c2e;border-radius:99px;padding:.34rem .6rem;font-size:.7rem}.combat-panel{border:1px solid #cb837540;border-left:3px solid var(--danger);background:#5d2e2717;margin-top:2rem;padding:1.25rem 1.4rem}.combat-panel h2{margin:.28rem 0 0;font-size:1.25rem}.combat-panel>p{color:#bdb9ae;font-size:.82rem;line-height:1.7}.danger-label{color:var(--danger);letter-spacing:.12em;font-size:.6rem;font-weight:700}.distance-badge{color:#d3a39a;border-color:#cb837533}.meter-row{color:var(--muted);grid-template-columns:auto minmax(8rem,1fr);align-items:center;gap:1rem;font-size:.68rem;display:grid}.meter{background:#ffffff14;border:0;border-radius:99px;width:100%;height:.42rem;overflow:hidden}.meter::-webkit-progress-bar{background:#ffffff14;border-radius:99px}.meter::-webkit-progress-value{background:linear-gradient(90deg, var(--teal-dark), var(--teal));border-radius:99px}.meter::-moz-progress-bar{background:linear-gradient(90deg, var(--teal-dark), var(--teal));border-radius:99px}.meter.enemy::-webkit-progress-value{background:linear-gradient(90deg, #77493f, var(--danger))}.meter.enemy::-moz-progress-bar{background:linear-gradient(90deg, #77493f, var(--danger))}.intent{border-left:1px solid var(--gold);background:#c9ae6c0d;margin:1rem 0 0;padding:.7rem .8rem}.intent strong{color:var(--gold);margin-right:.7rem;font-size:.7rem}.actions-section{padding:3rem 0}.section-heading-row{align-items:end;margin-bottom:1.2rem}.section-heading-row h2{margin:0;font-size:1.55rem}.keyboard-hint{color:var(--faint);margin:0;font-size:.68rem}kbd{min-width:1.25rem;color:var(--muted);text-align:center;background:#ffffff09;border:1px solid #ffffff21;border-bottom-width:2px;border-radius:3px;padding:.12rem .27rem;display:inline-block}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.action-card{min-height:5.5rem;color:var(--ink);text-align:left;cursor:pointer;background:#131c1db8;border:1px solid #ffffff17;border-radius:3px;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:start;gap:.8rem;padding:1rem;transition:border-color .18s,background .18s,transform .18s;display:grid}.action-card:not(:disabled):hover{background:#1f2a2adb;border-color:#c9ae6c7a;transform:translateY(-2px)}.action-card.recommended-action{background:linear-gradient(135deg,#63a69d1a,#131c1dcc);border-color:#63a69d6b}.action-number{border:1px solid var(--line-strong);width:1.9rem;height:1.9rem;color:var(--gold);border-radius:50%;place-content:center;font-family:Noto Serif KR,Batang,serif;font-size:.8rem;display:grid}.action-copy{gap:.35rem;min-width:0;display:grid}.action-copy strong{font-family:Noto Serif KR,Batang,serif;font-size:.94rem;line-height:1.45}.recommended-badge{color:#8bc1b9;letter-spacing:.04em;vertical-align:.12rem;border:1px solid #63a69d61;border-radius:99px;margin-left:.55rem;padding:.16rem .38rem;font-family:Pretendard,Noto Sans KR,sans-serif;font-size:.55rem;font-weight:700;display:inline-flex}.action-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;line-height:1.5;overflow:hidden}.disabled-reason{color:var(--danger);font-size:.65rem}.action-arrow{color:var(--faint);align-self:center}.attack-toggle{color:var(--gold);text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-self:start;padding:.4rem .2rem;font-size:.72rem;text-decoration:underline}.attack-toggle:hover{color:var(--gold-bright)}.journal{border-top:1px solid var(--line);padding:2rem 0 1rem}.journal-list{counter-reset:log;gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.journal-list li{color:#aeb4b0;counter-increment:log;border-bottom:1px solid #ffffff0d;padding:0 0 .8rem 2rem;font-family:Noto Serif KR,Batang,serif;font-size:.83rem;line-height:1.7;position:relative}.journal-list li:before{content:counter(log, decimal-leading-zero);color:var(--gold);font-family:Noto Sans KR,sans-serif;font-size:.58rem;position:absolute;top:.1rem;left:0}.status-sidebar{background:#0b11127a;min-width:0;min-height:calc(100vh - 4.6rem)}.character-panel,.sidebar-section{border-bottom:1px solid var(--line);padding:2rem clamp(1.2rem,2.1vw,2rem)}.character-heading{align-items:center;gap:.9rem;margin:1rem 0 1.5rem;display:flex}.character-heading h2{margin:0 0 .18rem;font-size:1.45rem}.character-heading p{color:var(--muted);margin:0;font-size:.74rem}.portrait-rune{width:3.1rem;height:3.1rem;color:var(--gold-bright);background:radial-gradient(circle,#c9ae6c1a,#0000 68%);border:1px solid #c9ae6c59;border-radius:50%;place-content:center;font-family:Noto Serif KR,Batang,serif;font-size:1.25rem;display:grid}.health-block{gap:.55rem;display:grid}.health-label{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:.7rem;display:flex}.health-label strong{color:var(--ink);font-size:1.1rem}.health-label small{color:var(--faint);font-weight:400}.health-block>p{color:var(--muted);margin:0;font-size:.7rem}.health-block>p strong{color:var(--danger)}.guest-notice{color:var(--faint);border-top:1px solid #ffffff0f;margin:1.4rem 0 0;padding-top:1rem;font-size:.65rem;line-height:1.7}.resource-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.9rem;display:grid}.resource{color:var(--muted);background:#ffffff05;border:1px solid #ffffff0f;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;padding:.62rem .65rem;font-size:.67rem;display:grid}.resource strong{color:var(--ink);font-size:.88rem}.resource-icon{width:1rem;color:var(--gold);text-align:center}.stat-list{grid-template-columns:repeat(2,1fr);gap:0 1.5rem;margin:.8rem 0 0;display:grid}.stat-list div{border-bottom:1px solid #ffffff0e;justify-content:space-between;padding:.58rem 0;display:flex}.stat-list dt{color:var(--muted);font-size:.7rem}.stat-list dd{color:var(--gold-bright);margin:0;font-family:Noto Serif KR,Batang,serif;font-weight:700}.die-icon{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--gold);place-content:center;font-size:.52rem;display:grid;transform:rotate(45deg)}.die-icon:first-line{transform:rotate(-45deg)}.roll-card{background:#ffffff05;border:1px solid #fff1;margin-top:.65rem;padding:.75rem}.roll-card>div{justify-content:space-between;gap:.6rem;font-size:.7rem;display:flex}.roll-card p{color:var(--muted);margin:.45rem 0 0;font-family:ui-monospace,monospace;font-size:.64rem}.roll-result{font-weight:700}.roll-result.success{color:var(--success)}.roll-result.failure{color:var(--danger)}.dialog{border:1px solid var(--line-strong);width:min(31rem,100vw - 2.5rem);max-height:calc(100vh - 2.5rem);color:var(--ink);background:linear-gradient(155deg,#182223,#101718);border-radius:3px;padding:2rem;overflow-y:auto;box-shadow:0 2rem 8rem #0009}.dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030708c7}.dialog h2{margin:.4rem 0 1rem;font-size:1.7rem;line-height:1.35}.dialog-intro{color:var(--muted);font-size:.8rem;line-height:1.7}.preview-list{border-top:1px solid var(--line);margin:1.5rem 0}.preview-list div{border-bottom:1px solid var(--line);grid-template-columns:6rem 1fr;gap:1rem;padding:.85rem 0;display:grid}.preview-list dt{color:var(--muted);font-size:.72rem}.preview-list dd{color:#ddd5c2;margin:0;font-family:ui-monospace,monospace;font-size:.78rem}.warning-box{border-left:2px solid var(--danger);color:#d4bbb5;background:#cb837512;gap:.35rem;margin:1rem 0 1.5rem;padding:.9rem 1rem;font-size:.76rem;line-height:1.65;display:grid}.warning-box strong{color:var(--danger);letter-spacing:.1em;font-size:.65rem}.dialog-actions{justify-content:flex-end;gap:.7rem;margin-top:1.5rem;display:flex}.save-manager-dialog{width:min(38rem,100vw - 2rem)}.save-manager{gap:1rem;display:grid}.save-manager h2,.save-manager .dialog-intro,.save-manager-note{margin:0}.save-manager-note{color:var(--muted);font-size:.78rem;line-height:1.65}.save-manager .text-button{justify-self:start}.fixture-shell{background:#101718;place-items:start center;min-height:100vh;padding:clamp(1rem,5vw,4rem);display:grid}.fixture-shell .save-manager{border:1px solid var(--line-strong);background:linear-gradient(155deg,#182223,#101718);width:min(38rem,100%);padding:clamp(1.25rem,4vw,2.5rem)}.new-game-dialog{width:min(36rem,100vw - 2.5rem)}.new-game-dialog .character-form{margin-top:1.5rem}.new-game-dialog>.text-button{width:100%;margin-top:.7rem}.confirm-check{color:#c7bea7;cursor:pointer;background:#c9ae6c0d;border:1px solid #c9ae6c33;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.8rem;font-size:.72rem;line-height:1.55;display:grid}.confirm-check input{accent-color:var(--gold);margin-top:.18rem}@media (width<=950px){.topbar{align-items:flex-start;position:static}.topbar-tools{max-width:30rem}.game-layout{grid-template-columns:minmax(0,1fr)}.story-column{border-right:0;padding:2rem}.status-sidebar{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto;display:grid}.character-panel,.sidebar-section{border-right:1px solid var(--line)}.creation-shell{grid-template-columns:1fr}.creation-story{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:5rem 2rem 3rem}.creation-story h1{font-size:clamp(2.8rem,10vw,5rem)}}@media (width<=650px){.topbar{gap:.75rem;display:grid}.topbar-tools{justify-content:flex-start}.save-pill{padding-left:0}.story-column{padding:1rem}.scene-card{padding:1.35rem}.scene-card>h1{font-size:2rem}.action-grid{grid-template-columns:1fr}.keyboard-hint{display:none}.status-sidebar{grid-template-columns:1fr}.character-panel,.sidebar-section{border-right:0}.creation-card{width:calc(100% - 2rem);margin:1rem auto 2rem;padding:1.4rem}.creation-story{padding:3rem 1.25rem 2rem}.dialog{padding:1.4rem}.dialog-actions{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.visual-controls{flex-wrap:wrap;gap:.4rem;display:flex}.scene-art{border:1px solid var(--line);background:#101b1d;margin:1.6rem 0 0;overflow:hidden}.scene-art img{aspect-ratio:16/9;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.scene-art figcaption{color:#b8c6be;letter-spacing:.09em;align-items:center;gap:.7rem;padding:.65rem .9rem;font-size:.68rem;display:flex}.creation-story{padding:clamp(2rem,4.4vw,5rem)}.creation-story .visual-controls{margin-bottom:1.2rem}.creation-story .scene-art{margin:0 0 2rem}.creation-story h1{max-width:13ch;font-size:clamp(2.8rem,4.7vw,5rem)}.scene-art+.ornament{margin-top:1.8rem}.outcome-card{border:1px solid #9b8954;border-left:4px solid var(--gold-bright);background:linear-gradient(125deg,#283633,#172324);margin-bottom:1.8rem;padding:clamp(1.2rem,3vw,2rem);scroll-margin-top:8rem;box-shadow:0 .6rem 2.4rem #0004}.outcome-card:focus{outline:2px solid var(--gold-bright);outline-offset:4px}.outcome-card h2{margin-bottom:1rem;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.5}.outcome-logs{color:#e6e3d7;padding-left:1.25rem;line-height:1.9}.outcome-logs li+li{margin-top:.4rem}.outcome-recovery{color:#e2d3a9;line-height:1.8}.outcome-rolls{gap:.75rem;margin:1rem 0;display:grid}.outcome-roll{border:1px solid var(--line-strong);background:#0f1b1dd9;align-items:center;gap:1.2rem;padding:1rem;display:flex}.outcome-roll>div:last-child{min-width:0}.outcome-verdict{color:var(--gold-bright);margin:.3rem 0;font-size:1.25rem;font-weight:700}.outcome-formula{color:#ced4cd;margin:.4rem 0 0;font-size:.85rem;line-height:1.6}.d20-stage{perspective:400px;flex:0 0 5rem;width:5rem}.d20{filter:drop-shadow(0 8px 10px #0009);width:100%;display:block;overflow:visible}.die-body{fill:#1d4c4b;stroke:#e0c783;stroke-width:2px}.die-facets{fill:#37877b55;stroke:#b8cbab;stroke-width:1px}.d20 text{fill:#fff6d8;font:700 26px ui-serif,serif}.outcome-changes{flex-wrap:wrap;gap:.6rem;padding:0;list-style:none;display:flex}.outcome-changes li{background:#09161699;border:1px solid #68877866;padding:.55rem .75rem;font-size:.85rem;line-height:1.6}#scene-title{scroll-margin-top:8rem}.action-meta{white-space:normal;overflow:visible}.app-shell,.creation-shell{overflow-wrap:anywhere}.guest-notice,.keyboard-hint,.clue-label{color:#9aa5a0}@media (width<=650px){.outcome-card,#scene-title{scroll-margin-top:1rem}.outcome-roll{gap:.8rem;padding:.75rem}.d20-stage{flex-basis:4rem;width:4rem}.scene-heading{flex-wrap:wrap}.meter-row{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}.scene-card .scene-art img{max-height:320px}#actions-title{scroll-margin-top:8rem}.outcome-card>.text-button{margin-right:1rem}.dice-overlay{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);overscroll-behavior:contain;background:radial-gradient(at 50% 46%,#193430ba,#03080aef 65%);border:0;margin:0;padding:1.5rem;position:fixed;inset:0;overflow:hidden auto}.dice-overlay::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020609dc}.dice-overlay-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,44rem);min-height:100%;margin:auto;display:flex}.dice-overlay h2{margin:.5rem 0 1rem;font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.5}.dice-overlay-description{color:#ced9d1;max-width:34rem;min-height:3rem;margin:0;line-height:1.6}.dice-theater{perspective:900px;place-items:center;width:100%;height:clamp(210px,35vh,350px);display:grid;position:relative}.dice-flight{z-index:1;width:clamp(145px,22vw,250px);animation:2s cubic-bezier(.17,.62,.31,1) both dice-enter;position:relative}.cinematic-d20{filter:drop-shadow(0 15px 25px #000b);width:100%;display:block;overflow:visible}.cinematic-d20 .die-body{fill:url(#dice-metal);stroke:#ead698;stroke-width:1.5px}.cinematic-d20 .die-facets{fill:#b4e8c419;stroke:#cedac19c;stroke-width:.8px}.cinematic-d20 text{fill:#fff7dc;font:700 28px ui-serif,serif}.dice-floor{background:#0007;border-radius:50%;width:220px;max-width:75%;height:30px;position:absolute;bottom:8%;box-shadow:0 0 60px 15px #7bbbaa20}.dice-theater.pending .cinematic-d20{animation:2s ease-in-out 2s infinite alternate dice-wait}.dice-theater.landing .cinematic-d20{animation:2s ease-out both dice-settle}@keyframes dice-settle{0%{transform:rotateX(32deg)rotate(18deg)}55%{transform:rotateX(-12deg)rotate(-9deg)}80%{transform:rotate(4deg)}to{transform:none}}.dice-theater.revealed.success .cinematic-d20{filter:drop-shadow(0 0 25px #75b49b66)}.dice-theater.revealed.partial .cinematic-d20{filter:drop-shadow(0 0 25px #e0c78366)}.dice-theater.revealed.failure .cinematic-d20{filter:drop-shadow(0 0 25px #cb837566)}@keyframes dice-enter{0%{transform:translate(-65vw)translateY(50px)rotate(-440deg)rotateY(180deg)scale(.6)}75%{transform:translate(12px)translateY(-14px)rotate(12deg)}to{transform:none}}@keyframes dice-wait{0%{opacity:.7}to{opacity:1}}.dice-reveal{min-height:7rem}.dice-verdict{letter-spacing:.06em;margin:0;font-family:Noto Serif KR,serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:800}.dice-verdict.success{color:#91dbb9}.dice-verdict.partial{color:#ead18a}.dice-verdict.failure{color:#f0a193}.dice-calculation{color:#d6ded7;margin:.6rem 0;font-size:1.1rem}.dice-calculation span{margin-left:1rem;display:inline-block}.dice-overlay-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin:1rem 0;display:flex}.dice-overlay-continue{min-width:11rem}.dice-overlay-footnote{color:#a7b8af;font-size:.75rem;line-height:1.7}@media (width<=650px){.dice-overlay{padding:1rem}.dice-overlay-description{font-size:.85rem}}@media (prefers-reduced-motion:reduce){.dice-overlay *,.dice-overlay :before,.dice-overlay :after{animation:none!important}}.dice-overlay.motion-off *,.dice-overlay.motion-off :before{animation:none!important}.system-motion-notice{color:#c8d6ce;align-self:center;max-width:18rem;font-size:.7rem;line-height:1.5}.replay-dice{margin:1rem 0;font-size:.85rem;display:block}.play-layout{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start}.compact-status{border-bottom:1px solid var(--line);color:#c8d0c9;z-index:10;background:#121c1d;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.65rem 1.5rem;padding:.8rem 1.6rem;font-size:.9rem;display:flex;position:sticky;top:4.6rem}.compact-status b{color:var(--ink)}.journey-act{color:#a8d3c9;border:1px solid #63a69d6b;border-radius:99px;padding:.2rem .5rem;font-size:.78rem;font-weight:700}.journey-summary{border:1px solid #63a69d4d;border-left:3px solid var(--teal);background:linear-gradient(110deg,#63a69d1c,#131c1d8f);margin:.8rem 0 1rem;padding:.8rem 1rem}.journey-summary .journey-title{color:#f2ead8;margin:0 0 .55rem;font-family:Noto Serif KR,Batang,serif;font-size:1.22rem;font-weight:700}.journey-summary>p:not(.section-kicker){color:#d1dbd4;margin:.45rem 0 0;font-size:.9rem;line-height:1.7}.growth-pending{color:#e0c783!important}.journey-detail-section{margin-top:1.5rem}.journey-detail-section h3{color:#d8dfd8;margin:0 0 .65rem;font-size:.98rem}.growth-earned{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.growth-earned li{background:#c9ae6c0d;border:1px solid #c9ae6c42;gap:.2rem;padding:.7rem;display:grid}.growth-earned span{color:var(--muted);font-size:.85rem;line-height:1.65}.play-layout .story-column{padding:1.25rem 1.6rem}.play-layout .scene-card{min-height:0;padding:1.25rem 1.5rem}.play-layout .scene-heading{align-items:center}.play-layout .scene-card>h1{margin:.65rem 0;font-size:clamp(1.7rem,2.3vw,2.4rem)}.play-layout .prose{font-size:1rem;line-height:1.8}.play-layout .prose p{margin:.6rem 0}.play-layout .scene-art{border-radius:2px;height:150px;margin:.8rem 0 .25rem;display:flex}.artwork{background:#182627;width:100%;min-width:0;height:100%;overflow:hidden}.scene-art .artwork img,.preview-assets .artwork img{object-fit:cover;width:100%;height:100%;max-height:none;display:block}.artwork-fallback{color:#c4cbc4;text-align:center;place-content:center;height:100%;padding:.75rem;font-size:.8rem;display:grid}.npc-art{border-left:3px solid #182627;flex:0 0 150px;height:150px;position:relative}.npc-art>span{background:#111d1eee;padding:.2rem .6rem;position:absolute;bottom:.4rem;right:.5rem}.scene-action-link{margin-left:auto;font-size:.9rem;display:block}.play-layout .actions-section{padding:1.4rem 0 .5rem}.action-group{margin:0 0 1rem}.action-group h3{color:#c5d2c9;margin:0 0 .55rem;font-size:.95rem;font-weight:500}.action-card{min-height:4.8rem;padding:.85rem}.action-meta{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:.8rem;overflow:visible}.disabled-reason{font-size:.8rem}.play-layout .status-sidebar{border:0;min-height:0;display:block;position:sticky;top:8.1rem}.auxiliary-controls,.auxiliary-detail{padding:1.3rem}.auxiliary-controls{border-bottom:1px solid var(--line);gap:.6rem;display:grid}.auxiliary-controls label{color:var(--muted);font-size:.85rem}.auxiliary-controls select{border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:#162122;padding:.7rem}.auxiliary-detail{overflow-wrap:anywhere;font-size:.9rem;line-height:1.8}.auxiliary-detail h2{font-size:1.25rem}.detail-list{padding-left:1.2rem}.detail-list li{margin-bottom:.8rem}.auxiliary-detail .stat-list dt,.auxiliary-detail .roll-card p{font-size:.85rem}.play-layout .outcome-card{margin-bottom:1rem}.art-fixture-preview{border:1px dashed var(--line-strong);margin:2rem;padding:1rem}.preview-assets{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.preview-assets figure{min-width:0;margin:0}.preview-assets .artwork{height:240px}.preview-assets figcaption{padding-top:.5rem}@media (width<=950px){.play-layout{grid-template-columns:minmax(0,1fr)}.compact-status{gap:.5rem 1rem;padding:.7rem 1rem;font-size:.85rem;top:0}.play-layout .status-sidebar{border-top:1px solid var(--line);position:static}.play-layout .story-column{padding:1rem}.preview-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.play-layout .scene-card{padding:1rem}.play-layout .scene-art{height:130px}.npc-art{flex-basis:100px;height:130px}.scene-heading{flex-wrap:wrap;gap:.5rem}.preview-assets{grid-template-columns:minmax(0,1fr)}.scene-art figcaption{display:none}.compact-status>strong{flex-basis:100%}}.play-layout .scene-art{position:relative}.play-layout .scene-art figcaption{background:#101b1de6;padding:.25rem .5rem;font-size:.65rem;position:absolute;bottom:.4rem;left:.5rem}.artwork.portrait-art img{object-position:50% 20%}@media (width<=950px){.compact-status{position:static}}.checkpoint-art>.artwork img{object-position:50% 25%}.conversation-view{gap:1.2rem;margin-bottom:1.2rem;display:grid}.participant-card{border:1px solid var(--line);background:#142022;min-width:0;padding:1rem}.participant-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.participant-heading h3{margin:.3rem 0 .8rem;font-size:1.35rem}.participant-art{height:160px;margin:0 0 1rem;display:flex;overflow:hidden}.participant-art .artwork img{object-fit:cover;width:100%;height:100%;display:block}.participant-art .npc-art{flex-basis:125px;height:160px}.action-entry{min-width:0}.action-entry .action-card{width:100%;height:auto}.action-formula{color:#c7d6cd;overflow-wrap:anywhere;margin:.3rem 0 .5rem;padding:.4rem .6rem;font-size:.82rem}.action-formula summary,.auxiliary-detail summary{cursor:pointer;padding:.35rem 0;line-height:1.6}.action-formula p{margin:.6rem 0;line-height:1.8}.combat-view .combat-panel{margin:0 0 1.2rem}.combat-title-row h3{margin:.4rem 0;font-size:1.6rem}.combat-resources{border-top:1px solid var(--line);padding-top:.8rem}.combat-view .attack-toggle{margin:.5rem 0}@media (width<=650px){.participant-card{padding:.8rem}.participant-art{height:130px}.participant-art .npc-art{flex-basis:90px;height:130px}}.participant-orman .participant-art>.artwork img{object-position:50% 30%}.participant-mara .participant-art>.artwork img{object-position:50% 40%}.combat-story summary{cursor:pointer;color:#becdc3;padding:.5rem 0}.combat-action-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;display:grid}.combat-action-groups>[data-combat-group=attack]{grid-column:1/-1}.combat-action-groups>.action-group:not([data-combat-group=attack]) .action-grid{grid-template-columns:minmax(0,1fr)}.play-layout .combat-scene{padding-top:.75rem;padding-bottom:.65rem}.play-layout .combat-scene>h1{font-size:1.6rem}.combat-scene .scene-action-link{float:right;margin:.2rem 0}.combat-view .combat-panel{margin-bottom:1rem;padding:.8rem 1rem}.enemy-art{float:right;background:#111a1b;border:1px solid #cb837540;width:7.5rem;height:7.5rem;margin:.15rem 0 .45rem .8rem;overflow:hidden}.enemy-art img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.enemy-art .artwork-fallback{box-sizing:border-box;height:100%;padding:1rem}.combat-memory{border-left:3px solid var(--gold);background:#c9ae6c14;margin:.8rem 0;padding:.65rem .75rem;line-height:1.65}@media (width<=650px){.enemy-art{width:5.5rem;height:5.5rem;margin-left:.55rem}.combat-action-groups{grid-template-columns:minmax(0,1fr)}.combat-scene .scene-action-link{float:none}}@media (width>=1100px){.conversation-view:has(.participant-mara){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.conversation-view:has(.participant-mara) .action-grid{grid-template-columns:minmax(0,1fr)}.conversation-view:has(.participant-mara) .participant-art{height:130px}.conversation-view:has(.participant-mara) .participant-art .npc-art{height:130px}}.map-view{border:1px solid var(--border,#474237);background:#191d1b;border-radius:12px;margin-top:1.5rem;padding:1.1rem}.map-history-note{color:#cec4ae;font-size:.85rem}.node-map{background:#262e28;border-radius:8px;height:340px;margin:1rem 0;position:relative;overflow:hidden}.node-map>img,.node-map>svg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.node-map>img{opacity:.48}.node-map>svg line{stroke:#dcc18b;stroke-width:.6px;stroke-dasharray:2 1}.map-node{color:#eee5d4;text-align:center;background:#222a24;border:1px solid #a39370;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;max-width:130px;min-height:44px;padding:6px 10px;font-size:.8rem;text-decoration:none;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-node small{color:#c4baa4;font-size:.68rem}.map-node-current{background:#49402c;border:2px solid #e9c77a}.map-node:focus-visible,.map-destinations li:focus{outline-offset:3px;outline:3px solid #efd18d}.map-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.map-destinations li{border:1px solid #49493d;border-radius:8px;min-width:0;padding:12px}.map-destination-heading,.topic-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.map-destination-heading span,.topic-heading span{color:#c9bca0;font-size:.75rem}.map-destinations .action-grid{margin-top:8px}.map-destinations .muted{margin-bottom:0;font-size:.8rem}.conversation-topic{border:1px solid #45483c;border-radius:8px;margin:10px 0;padding:10px}.conversation-topic .action-grid{margin-top:8px}.topic-heading strong{font-size:.85rem}.participant-reply{border-left:3px solid #b99a62;margin:12px 0;padding:10px 14px;font-size:.9rem}.background-option .portrait-art{border-radius:6px;flex:0 0 58px;width:58px;height:76px;overflow:hidden}.background-option .portrait-art img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}.background-option>span{min-width:0}@media (width<=600px){.map-view{padding:10px}.map-destinations{grid-template-columns:1fr}.node-map{height:360px}.map-node{max-width:82px;padding:4px;font-size:.66rem}.map-node small{font-size:.6rem}}.node-map{overflow:auto}.node-map-canvas{width:100%;min-width:600px;height:100%;position:relative}.node-map-canvas>img,.node-map-canvas>svg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.node-map-canvas>img{opacity:.48}.node-map-canvas>svg line{stroke:#dcc18b;stroke-width:.6px;stroke-dasharray:2 1}@media (width<=600px){.map-node{max-width:100px;font-size:.75rem}}.background-option:has(.portrait-art){grid-template-columns:auto 58px minmax(0,1fr);align-items:center}.participant-art .portrait-art img{object-position:50% 30%}.map-destinations .action-grid{grid-template-columns:minmax(0,1fr)}.map-scroll-hint{color:#cec4ae;font-size:.8rem;display:none}@media (width<=850px){.map-scroll-hint{display:block}}.map-view>.section-heading-row{margin-bottom:10px}.map-view>.section-heading-row h3{margin:0}.map-view .map-destinations li:has(.action-card){padding:8px}.map-view:first-of-type{margin-top:0}.save-transfer-section{border:1px solid var(--line-strong);gap:.8rem;min-width:0;margin:0;padding:1rem;display:grid}.save-transfer-section legend,.save-transfer-section h3{margin:0;font-size:1rem;font-weight:700}.save-transfer-section p{margin:0;line-height:1.65}.save-transfer-section input,.save-transfer-section textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.save-transfer-section textarea{resize:vertical;overflow-wrap:anywhere;min-height:6rem;color:var(--ink);border:1px solid var(--line-strong);background:#101718;padding:.7rem}.save-transfer-section button{white-space:normal;overflow-wrap:anywhere}.save-backup{border-top:1px solid var(--line-strong);gap:.6rem;min-width:0;padding-top:.8rem;display:grid}.save-backup p,.save-manager dd{overflow-wrap:anywhere}.save-manager :disabled{cursor:not-allowed}.save-transfer-section input{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--ink);font:inherit;background:#101718;padding:.6rem}.save-transfer-section input[type=file]{font-size:.85rem}.save-transfer-section textarea{font:inherit;font-size:.85rem}.save-manager input:focus-visible,.save-manager textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}@media (width<=390px){.save-transfer-section{padding:.75rem}.save-transfer-section button{word-break:keep-all;padding-inline:.65rem;font-size:.9rem}}
