:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-primary:#2eb573;--brand-primary-hover:#1f8c59;--brand-primary-soft:#e6f7ed;--state-error:#ff6e6b;--state-warning:#ffc107;--state-success:#25a36a;--state-info:#4785ff;--text-primary:#242424;--surface-subtle:#f5f5f5;--line:#e0e0e0;--gray-950:#111;--gray-900:#242424;--gray-800:#3d3d3d;--gray-700:#555;--gray-600:#6f6f6f;--gray-500:#8a8a8a;--gray-400:#adadad;--gray-300:#d0d0d0;--gray-200:#e8e8e8;--gray-100:#fff;--surface:#fff;--surface-canvas:#f6f8f7;--text-secondary:#65706b;--clinical-ink:#244038;--warning-soft:#fff8dc;--error-soft:#fff0ef;--info-soft:#edf3ff;--space-2:8px;--space-3:12px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-base:4px;--radius-card:8px;--radius-modal:12px;--radius-round:999px;--content-width:1280px;font-synthesis:none;letter-spacing:-.025em;background:var(--surface-canvas);color:var(--text-primary);font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:var(--surface-canvas);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #4785ff52}code{letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.page-shell{width:min(var(--content-width), calc(100% - 40px));margin:0 auto;padding-bottom:64px}.page-shell--game{width:min(1080px,100% - 40px)}.app-header{align-items:center;gap:var(--space-6);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;min-height:78px;display:grid}.app-header--compact{min-height:70px}.brand{align-items:center;gap:var(--space-3);width:fit-content;display:inline-flex}.brand__mark{flex:none;display:block}.brand__copy{gap:2px;display:grid}.brand__copy strong{font-size:14px}.brand__copy small{color:var(--text-secondary);font-size:11px}.app-nav{align-items:center;gap:var(--space-8);color:#4c5954;min-width:0;font-size:13px;font-weight:700;display:flex;overflow-x:auto}.app-nav a{white-space:nowrap;border-bottom:2px solid #0000;flex:none;padding:10px 0}.app-nav a:hover{color:var(--brand-primary-hover)}.app-nav a[aria-current=page]{color:var(--brand-primary-hover);border-bottom-color:var(--brand-primary)}.user-menu{justify-content:flex-end;align-items:center;gap:10px;display:flex}.user-menu>*{white-space:nowrap;flex-shrink:0}.user-menu__identity{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:12px;overflow:hidden}.status-pill,.count-badge,.content-status,.phase-badge,.recovery-badge,.verdict,.new-chip{border-radius:var(--radius-round);letter-spacing:-.02em;align-items:center;width:fit-content;min-height:28px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.status-pill--approved,.status-pill--admin{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.status-pill--admin{box-shadow:inset 0 0 0 1px #b2dfc7}.status-pill--pending{color:#735800;background:var(--warning-soft)}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-card);cursor:pointer;border:1px solid #0000;min-height:52px;padding:0 20px;font-size:14px;font-weight:800;line-height:1.25;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{color:var(--gray-500);background:var(--gray-200);cursor:not-allowed}.button--primary{color:#fff;background:var(--brand-primary)}.button--primary:hover:not(:disabled){background:var(--brand-primary-hover)}.button--secondary{color:var(--brand-primary-hover);background:#fff;border-color:#9dcbb4}.button--secondary:hover:not(:disabled){border-color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.button--quiet{color:#58635e;border-color:var(--line);background:0 0}.button--quiet:hover:not(:disabled){background:var(--surface-subtle)}.button--small{border-radius:var(--radius-base);min-height:41px;padding:0 14px;font-size:12px}.eyebrow{margin:0 0 var(--space-3);color:var(--brand-primary-hover);letter-spacing:.12em;font-size:11px;font-weight:800}.hero{border-bottom:1px solid var(--line);grid-template-columns:.9fr 1.1fr;align-items:center;gap:48px;padding:56px 0 48px;display:grid}.hero__intro{gap:18px;display:grid}.hero h1{color:var(--clinical-ink);letter-spacing:-.055em;margin:0;font-size:clamp(34px,4.4vw,56px);line-height:1.14}.hero__description{max-width:530px;color:var(--text-secondary);margin:0;font-size:16px;line-height:1.75}.hero__art{border:2px solid var(--gray-900);box-shadow:8px 8px 0 var(--brand-primary-soft);margin:0;line-height:0}.hero__art img{width:100%;height:auto;display:block}.section{padding-top:48px}.section__heading{justify-content:space-between;align-items:end;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.section__heading h2{margin:0;font-size:28px;line-height:1.25}.count-badge{color:var(--text-secondary);background:var(--gray-200)}.content-status--draft{color:#806100;background:var(--warning-soft)}.content-status--reviewed{color:#315fa8;background:var(--info-soft)}.content-status--published{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.new-chip{color:#fff;background:var(--brand-primary-hover);letter-spacing:.1em;white-space:nowrap;font-size:10px;font-weight:900;box-shadow:inset 0 0 0 1px #175f3e}.new-chip:before{content:"✦";margin-right:4px}.home-next{border:2px solid var(--gray-900);background:var(--surface);box-shadow:6px 6px 0 var(--brand-primary-soft);border-radius:2px;gap:8px;margin-top:8px;padding:20px 22px;display:grid}.home-next .eyebrow{margin:0}.home-next__title{color:var(--clinical-ink);margin:0;font-size:20px;font-weight:800;line-height:1.4}.home-next__note{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.home-next__actions{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:8px;display:flex}.home-next__office{color:var(--text-secondary);text-underline-offset:3px;font-size:12px;font-weight:800;text-decoration:underline}.home-next__office:hover{color:var(--brand-primary-hover)}.home-notice{margin-top:var(--space-6)}.notice.home-new{gap:8px;margin:0;display:grid}.home-new__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-new .eyebrow{color:#315682;margin:0}.home-new__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.home-new__list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-new__list a{min-width:0;color:inherit;text-underline-offset:3px;flex:auto;font-size:13px;font-weight:800;line-height:1.5;text-decoration:underline}.home-new__list a:hover{color:var(--brand-primary-hover)}.home-new__list a:before{content:"✦";color:var(--brand-primary);margin-right:6px}.home-new__close,.home-new__all{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.home-new__close{border-radius:var(--radius-round);width:32px;height:32px;margin:-2px -2px -2px 0;font-size:18px;line-height:1}.home-new__close:hover,.home-new__all:hover{color:var(--brand-primary-hover);background:#fff9}.home-new__all{text-underline-offset:3px;align-items:center;min-height:28px;margin:-4px 0;padding:0 6px;font-size:11px;font-weight:800;text-decoration:underline;display:inline-flex}.home-new__more{color:inherit;text-underline-offset:3px;font-size:12px;font-weight:800;text-decoration:underline}.home-new__more:hover{color:var(--brand-primary-hover)}.home-lower{gap:var(--space-6);margin-top:var(--space-6);grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);align-items:start;display:grid}.home-guide{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.home-guide summary{color:var(--text-secondary);cursor:pointer;padding:16px 22px;font-size:13px;font-weight:800}.home-guide summary:hover{color:var(--brand-primary-hover)}.home-guide[open] summary{border-bottom:1px dashed var(--gray-300)}.home-guide__list{color:#495b53;gap:10px;margin:0;padding:18px 22px 20px 42px;font-size:13px;line-height:1.75;display:grid}.home-book{border:2px solid var(--gray-900);background:var(--surface);box-shadow:6px 6px 0 var(--brand-primary-soft);border-radius:2px;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:18px 18px 18px 16px;display:grid}.home-book__cover{border:2px solid var(--gray-900);align-self:start;width:90px;height:auto;display:block;box-shadow:3px 3px #dce9e2}.home-book__body{align-content:start;gap:6px;min-width:0;display:grid}.home-book .eyebrow{margin:0}.home-book h2{color:var(--clinical-ink);letter-spacing:-.03em;margin:0;font-size:17px;font-weight:800;line-height:1.35}.home-book__sub{color:var(--text-secondary);margin:0;font-size:12px;font-weight:700;line-height:1.5}.home-book__meta{color:var(--gray-600);margin:0;font-size:11px;line-height:1.55}.home-book__blurb{color:#495b53;margin:4px 0 2px;font-size:13px;line-height:1.7}.home-book .button{justify-self:start;margin-top:4px}.auth-page{grid-template-columns:minmax(360px,520px) minmax(320px,500px);justify-content:center;align-items:center;gap:clamp(50px,9vw,130px);width:min(1180px,100% - 40px);min-height:100vh;margin:0 auto;padding:48px 0;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius-modal);background:var(--surface);padding:clamp(28px,5vw,48px)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:48px;font-size:14px;font-weight:800;display:flex}.auth-card h1{color:var(--clinical-ink);letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,43px);line-height:1.25}.auth-card__description{margin:var(--space-5) 0 var(--space-6);color:var(--text-secondary);line-height:1.75}.button--google{width:100%;color:var(--text-primary);border-color:var(--line);background:#fff}.button--google:hover:not(:disabled){border-color:var(--gray-400);background:var(--surface-subtle)}.google-mark{color:#4285f4;font-size:18px;font-weight:900}.auth-card__footnote{margin:var(--space-5) 0 0;color:var(--gray-600);text-align:center;font-size:11px;line-height:1.6}.auth-context{max-width:470px}.auth-context blockquote{margin:0 0 var(--space-8);color:var(--clinical-ink);letter-spacing:-.045em;font-size:clamp(22px,3vw,31px);font-weight:750;line-height:1.55}.auth-context ul{gap:var(--space-3);border-top:1px solid var(--line);color:var(--text-secondary);margin:0;padding:24px 0 0;font-size:14px;list-style-position:inside;display:grid}.notice{margin-bottom:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px;font-size:12px;line-height:1.65}.notice--warning{color:#735800;background:var(--warning-soft);border-color:#ead58b}.notice--info{color:#315682;background:var(--info-soft);border-color:#cbdaf0}.center-page{min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.state-card{border:1px solid var(--line);border-radius:var(--radius-modal);background:var(--surface);text-align:center;width:min(100%,560px);padding:clamp(30px,6vw,52px)}.state-icon{width:58px;height:58px;color:var(--brand-primary-hover);background:var(--brand-primary-soft);letter-spacing:2px;border-radius:50%;place-items:center;margin:0 auto 24px;font-size:23px;font-weight:900;display:grid}.state-card h1{margin:0;font-size:28px}.state-card>p:not(.eyebrow){color:var(--text-secondary);line-height:1.75}.account-line{border-radius:var(--radius-card);background:var(--surface-subtle);gap:5px;margin:28px 0;padding:18px;display:grid}.account-line span{color:var(--text-secondary);font-size:11px}.account-line strong{font-size:14px}.state-card__hint{font-size:12px}.access-key-form{margin-bottom:var(--space-5);text-align:left;gap:10px;display:grid}.access-key-form__label{color:var(--text-secondary);font-size:11px;font-weight:800}.access-key-form input{border:1px solid var(--gray-300);border-radius:var(--radius-base);letter-spacing:.08em;background:#fff;height:48px;padding:0 14px}.access-key-form input:focus{border-color:var(--state-info);outline:3px solid #4785ff2e}.narrow-main{width:min(900px,100%);margin:0 auto;padding:64px 0}.page-heading{margin-bottom:var(--space-8)}.page-heading--split{justify-content:space-between;align-items:end;gap:var(--space-5);display:flex}.page-heading h1{margin:0;font-size:36px}.page-heading>p:last-child,.page-heading>div>p:last-child{color:var(--text-secondary);margin:10px 0 0;line-height:1.65}.empty-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:center;padding:48px}.empty-card__mark{width:50px;height:50px;color:var(--brand-primary-hover);background:var(--brand-primary-soft);border-radius:50%;place-items:center;font-size:22px;display:inline-grid}.empty-card h2{margin:var(--space-5) 0 10px;font-size:20px}.empty-card p{max-width:650px;color:var(--text-secondary);margin:0 auto;font-size:14px;line-height:1.75}.approval-actions{flex-wrap:wrap;gap:8px;display:flex}.roster-none{color:var(--text-secondary)}.roster-delete-confirm{border-radius:var(--radius-base);background:var(--warning-soft);border:1px solid #ead58b;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.roster-delete-confirm>span{color:#735800;font-size:11px;font-weight:700}.game-titlebar{justify-content:space-between;align-items:end;gap:var(--space-5);padding:32px 0 20px;display:flex}.game-titlebar h1{color:var(--clinical-ink);margin:0;font-size:clamp(22px,3vw,30px);line-height:1.3}.counseling-banner{isolation:isolate;border:2px solid var(--gray-900);border-radius:var(--radius-base);background:var(--gray-800);height:clamp(150px,23vw,230px);margin:0 6px 22px 0;position:relative;overflow:hidden;box-shadow:6px 6px #cfe9db}.counseling-banner:after{z-index:1;content:"";background:linear-gradient(90deg,#0c1914c2,#0c191433 68%,#0c19147a);position:absolute;inset:0}.counseling-banner img{object-fit:cover;object-position:center 52%;width:100%;height:100%;display:block}.counseling-banner figcaption{z-index:2;color:#fff;text-shadow:2px 2px #00000085;gap:5px;display:grid;position:absolute;bottom:clamp(18px,3vw,34px);left:clamp(20px,4vw,42px)}.counseling-banner figcaption span{color:#a9e5c5;letter-spacing:.12em;font:800 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.counseling-banner figcaption strong{letter-spacing:-.04em;font-size:clamp(19px,3vw,28px)}.game-status{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--line);grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:1px;display:grid;overflow:hidden}.alliance-grid{background:var(--line);grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1px;display:grid}.progress-box,.gauge--compact{background:var(--surface);padding:15px 18px;position:relative}.gauge--member.gauge--compact{padding:11px 14px}.gauge__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.gauge__head span{color:var(--text-secondary);font-size:11px;font-weight:700}.gauge__head strong{color:var(--brand-primary-hover);font-size:13px}.gauge__label{align-items:center;gap:8px;min-width:0;display:inline-flex}.gauge__label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gauge--member .gauge__track{margin-top:9px}.alliance-note{color:var(--text-secondary);margin:-8px 0 0;font-size:12px;line-height:1.7}.gauge__track{border-radius:var(--radius-round);background:#dfe9e3;height:6px;margin-top:11px;overflow:hidden}.gauge__fill,.progress__fill{border-radius:inherit;background:var(--brand-primary);height:100%;transition:width .5s;display:block}.gauge--down .gauge__fill{background:var(--state-error)}.gauge__effect{color:var(--state-success);letter-spacing:3px;pointer-events:none;font-size:15px;animation:.43s steps(4,end) both trust-spark;position:absolute;top:5px;right:43px}.gauge--down .gauge__effect{color:#b23e3b}.gauge--member .gauge__effect{font-size:13px;top:2px;right:32px}.portrait{aspect-ratio:1;flex:none;place-items:center;width:86px;display:inline-grid;position:relative}.portrait img,.portrait__fallback{border:2px solid var(--gray-900);object-fit:cover;border-radius:2px;place-items:center;width:100%;height:100%;display:grid;box-shadow:4px 4px #d9c7b4}.portrait img{image-rendering:auto;background:#f5e7d7}.portrait__fallback{color:#8b4d27;background:#f8dfc3;font-size:27px;font-weight:900}.portrait--therapist img,.portrait--therapist .portrait__fallback{box-shadow:4px 4px #a9d7bf}.portrait--therapist .portrait__fallback{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.portrait__emote{z-index:4;border:2px solid var(--gray-900);background:#fff;border-radius:2px;place-items:center;min-width:37px;height:34px;padding:0 5px;font-size:18px;line-height:1;animation:.36s steps(4,end) both emote-pop;display:grid;position:absolute;top:-20px;left:50%;transform:translate(-50%);box-shadow:3px 3px #2424243d}.portrait--bounce{animation:.42s steps(4,end) both portrait-bounce}.portrait--shake{animation:.4s steps(5,end) both portrait-shake}.portrait--mini{width:26px}.portrait--mini img,.portrait--mini .portrait__fallback{border-width:1px;box-shadow:2px 2px #d9c7b4}.portrait--mini .portrait__fallback{font-size:13px}.portrait--mini.portrait--therapist img,.portrait--mini.portrait--therapist .portrait__fallback{box-shadow:2px 2px #a9d7bf}.game-main{gap:var(--space-5);padding:var(--space-5) 0 56px;display:grid}.cast-intro,.scene-card,.feedback-panel,.ending-card,.self-report,.frame-focus-card{border:2px solid var(--gray-900);border-radius:var(--radius-base);background:var(--surface);box-shadow:6px 6px #dce9e2}.cast-intro{padding:clamp(24px,4vw,40px)}.cast-intro__heading{max-width:820px}.cast-intro__heading h2{color:var(--clinical-ink);margin:0;font-size:clamp(25px,4vw,34px)}.cast-intro__heading>p:last-child{color:var(--text-secondary);margin:12px 0 0;font-size:14px;line-height:1.75}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0;padding:0;list-style:none;display:grid}.cast-card{background:#fffaf5;border:2px solid #9c7557;border-radius:2px;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:17px;min-height:138px;padding:16px;display:grid;box-shadow:4px 4px #ead8c4}.cast-card--therapist{background:#f4fbf7;border-color:#62a984;box-shadow:4px 4px #c8e7d6}.cast-card .portrait{width:100%}.cast-card__copy{min-width:0}.cast-card__copy>span{color:#986139;font-size:10px;font-weight:850;display:block}.cast-card--therapist .cast-card__copy>span{color:var(--brand-primary-hover)}.cast-card__copy>strong{color:var(--clinical-ink);margin-top:3px;font-size:18px;display:block}.cast-card__copy p{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.55}.cast-intro__start{margin-left:auto;box-shadow:4px 4px #175f3e}.scene-card{padding:clamp(24px,4vw,40px)}.scene-card--recovery{border-color:#ddc78a;box-shadow:inset 4px 0 #c69b28}.scene-card__meta{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.phase-badge{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.recovery-badge{color:#755900;background:var(--warning-soft)}.scene-card__narration{border-block:2px solid var(--gray-300);color:var(--clinical-ink);background:var(--surface-subtle);text-align:center;margin:0 0 30px;padding:18px 22px}.scene-card__narration>span,.narration-band>span{color:var(--brand-primary-hover);letter-spacing:.14em;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.scene-card__narration p{max-width:850px;margin:6px auto 0;font-size:clamp(15px,2vw,18px);font-weight:720;line-height:1.7}.dialogue-list{gap:22px;margin:0;padding:0;list-style:none;display:grid}.dialogue-row{align-items:end;gap:15px;width:min(88%,800px);display:flex}.dialogue-row--therapist{justify-self:end}.dialogue{flex:1;gap:6px;min-width:0;display:grid}.dialogue__speaker{border:2px solid var(--gray-900);color:#7d4827;background:#f7dfc5;border-radius:2px;width:fit-content;padding:5px 9px;font-size:11px;font-weight:850;box-shadow:2px 2px #d7c1aa}.dialogue-row--therapist .dialogue__speaker{color:var(--brand-primary-hover);background:var(--brand-primary-soft);justify-self:end;box-shadow:2px 2px #aed5c0}.dialogue__bubble{border:2px solid var(--gray-900);background:#fffaf5;border-radius:2px;margin:0 4px 4px 0;padding:16px 18px;position:relative;box-shadow:4px 4px #d8c8b7}.dialogue__bubble:before{border-bottom:2px solid var(--gray-900);border-left:2px solid var(--gray-900);content:"";background:#fffaf5;width:10px;height:10px;position:absolute;bottom:18px;left:-7px;transform:rotate(45deg)}.dialogue-row--therapist .dialogue__bubble{background:#f3fbf7;margin-left:4px;margin-right:0;box-shadow:-4px 4px #b9dcca}.dialogue-row--therapist .dialogue__bubble:before{border:0;border-top:2px solid var(--gray-900);border-right:2px solid var(--gray-900);background:#f3fbf7;left:auto;right:-7px}.dialogue__bubble p{margin:0;font-size:14px;line-height:1.72}.narration-band{border-block:2px solid var(--gray-400);width:min(88%,820px);color:var(--text-secondary);text-align:center;background:#f4f5f4;justify-self:center;padding:14px 20px}.narration-band p{margin:5px 0 0;font-size:13px;line-height:1.7}.choices{padding-top:4px}.section__heading--game{margin-bottom:14px}.section__heading--game h2{font-size:18px}.section__heading--game p{color:var(--text-secondary);margin:5px 0 0;font-size:12px}.choice-list{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.choice{align-items:start;gap:var(--space-3);border:2px solid var(--gray-800);min-height:120px;color:var(--text-primary);background:var(--surface);box-shadow:4px 4px 0 var(--gray-200);text-align:left;cursor:pointer;border-radius:2px;grid-template-columns:30px 1fr 20px;padding:19px;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.choice:hover{border-color:var(--brand-primary-hover);background:#fbfefc;transform:translateY(-2px);box-shadow:4px 4px #b7dfc9}.choice__number{color:var(--gray-500);font:700 11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.choice__text{font-size:14px;font-weight:650;line-height:1.72}.choice__arrow{color:var(--brand-primary-hover);font-size:17px}.choice-loading{border:1px dashed var(--gray-300);border-radius:var(--radius-card);color:var(--text-secondary);text-align:center;padding:42px}.feedback-panel{border-top:5px solid var(--brand-primary);padding:clamp(24px,4vw,38px)}.verdict--best{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.verdict--good{color:var(--state-success);background:#eaf7f0}.verdict--mixed{color:#725700;background:var(--warning-soft)}.verdict--poor{color:#b23e3b;background:var(--error-soft)}.feedback-panel h2{margin:15px 0 7px;font-size:24px}.chosen-line{color:#4d5d56;margin:0 0 24px;font-size:13px;line-height:1.7}.reaction-stage{align-items:end;gap:18px;margin:34px 0 24px;display:flex}.reaction-stage .portrait{width:112px}.reaction{border:2px solid var(--gray-900);background:#fffaf5;border-radius:2px;flex:1;margin:0 4px 4px 0;padding:18px 20px;position:relative;box-shadow:4px 4px #d8c8b7}.reaction:before{border-bottom:2px solid var(--gray-900);border-left:2px solid var(--gray-900);content:"";background:#fffaf5;width:10px;height:10px;position:absolute;bottom:20px;left:-7px;transform:rotate(45deg)}.reaction-stage--narration .reaction:before{display:none}.reaction blockquote{margin:0}.detail-label{color:var(--text-secondary);letter-spacing:.06em;font-size:11px;font-weight:800}.reaction p,.feedback-detail p,.coach-note p,.learning-note p{margin:6px 0 0;line-height:1.75}.feedback-detail{border-top:1px solid var(--line);padding:18px 0}.feedback-detail--theory p,.muted-copy{color:var(--text-secondary);font-size:13px}.gauge-change-list{gap:var(--space-2);flex-wrap:wrap;margin-top:10px;display:flex}.gauge-change{border-radius:var(--radius-base);color:var(--brand-primary-hover);background:var(--brand-primary-soft);align-items:center;gap:8px;padding:7px 11px;font-size:12px;font-weight:800;animation:.45s both gauge-pop;display:inline-flex}.alliance-deltas{margin-top:14px}.alliance-deltas ul{flex-wrap:wrap;gap:8px;margin:9px 0 0;padding:0;list-style:none;display:flex}.alliance-delta{border:1px solid var(--line);border-radius:var(--radius-base);background:var(--brand-primary-soft);color:var(--brand-primary-hover);align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.alliance-delta strong{font-size:13px}.alliance-delta--down,.gauge-change--down{color:#a93c39;background:var(--error-soft)}@keyframes gauge-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes trust-spark{0%{opacity:0;transform:translateY(5px)scale(.7)}45%{opacity:1;transform:translateY(-5px)scale(1.15)}to{opacity:0;transform:translateY(-12px)scale(.9)}}@keyframes emote-pop{0%{opacity:0;transform:translate(-50%,8px)scale(.6)}70%{opacity:1;transform:translate(-50%,-3px)scale(1.12)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes portrait-bounce{0%,to{transform:translateY(0)}45%{transform:translateY(-9px)}70%{transform:translateY(2px)}}@keyframes portrait-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.coach-note,.learning-note{border-radius:var(--radius-card);background:#eff9f4;border:1px solid #bddfcf;margin-top:16px;padding:18px 20px}.coach-note strong,.learning-note strong{color:var(--brand-primary-hover);font-size:13px}.learning-note--debrief{background:var(--info-soft);border-color:#cbd8e9}.learning-note__choice{font-weight:750}.learning-note p:last-child{color:#52625b;font-size:13px}.feedback-panel__next{margin:24px 0 0 auto}.ending-card{padding:clamp(28px,5vw,50px)}.ending-card h2{color:var(--clinical-ink);margin:8px 0 12px;font-size:clamp(26px,4vw,36px)}.ending-card__text{color:#495b53;max-width:780px;margin:0;line-height:1.8}.epilogue{z-index:60;cursor:pointer;background:#10201a;justify-content:center;align-items:flex-end;animation:.42s both epilogue-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.epilogue--leaving{pointer-events:none;animation:.6s both epilogue-fade-out}.epilogue__art{object-fit:cover;object-position:center;opacity:0;transform-origin:50% 55%;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.epilogue--showing .epilogue__art,.epilogue--leaving .epilogue__art{opacity:1;animation:.9s both epilogue-art-in,5.8s linear both epilogue-zoom}.epilogue__caption{z-index:1;border-radius:var(--radius-base);color:#f4f1e6;text-align:center;word-break:keep-all;opacity:0;background:#10201ad1;border:2px solid #f4f1e6;max-width:820px;margin:0 20px clamp(36px,8vh,72px);padding:16px 24px;font-size:clamp(15px,2vw,19px);line-height:1.8;position:relative;box-shadow:6px 6px #00000059}.epilogue--showing .epilogue__caption,.epilogue--leaving .epilogue__caption{animation:.8s .7s both epilogue-caption-in}.epilogue__skip{z-index:2;color:#f4f1e6;cursor:pointer;background:#10201a99;border:1px solid #f4f1e6b3;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;position:absolute;top:16px;right:16px}.epilogue__skip:hover,.epilogue__skip:focus-visible{background:#f4f1e633;outline:none}@keyframes epilogue-fade-in{0%{opacity:0}to{opacity:1}}@keyframes epilogue-fade-out{0%{opacity:1}to{opacity:0}}@keyframes epilogue-art-in{0%{opacity:0}to{opacity:1}}@keyframes epilogue-zoom{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes epilogue-caption-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:30px 0;display:grid}.result-card{border:1px solid var(--line);border-radius:var(--radius-card);background:#fafcfb;min-height:108px;padding:18px}.result-card--score span{color:var(--text-secondary);font-size:11px;font-weight:700}.result-card--score strong{color:var(--brand-primary-hover);margin-top:5px;font-size:36px;display:block}.skill-report{border-top:1px solid var(--line);padding-top:26px}.skill-report h3{margin:0 0 6px;font-size:20px}.skill-report>p{color:var(--text-secondary);margin:0 0 16px;font-size:12px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-card);overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:13px}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px}.table-wrap tr:last-child td{border-bottom:0}.table-wrap th{color:var(--text-secondary);background:var(--surface-subtle);font-size:11px}.score-plus{color:var(--state-success);font-weight:800}.score-minus{color:#b23e3b;font-weight:800}.assessment{font-weight:800}.assessment--strength{color:var(--state-success)}.assessment--growth{color:#b23e3b}.assessment--observed{color:var(--text-secondary)}.ending-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.parallel-review{border:2px solid var(--gray-900);border-radius:var(--radius-base);background:#f8fcfa;padding:clamp(28px,5vw,50px);box-shadow:7px 7px #b9ddca}.parallel-review__intro{max-width:780px}.parallel-review__intro h2{color:var(--clinical-ink);margin:0;font-size:clamp(26px,4vw,36px)}.parallel-review__intro>p:last-child{color:var(--text-secondary);margin:10px 0 0;line-height:1.75}.review-scene-list{gap:24px;margin-top:32px;display:grid}.review-scene{border:2px solid var(--gray-800);background:var(--surface);border-radius:2px;overflow:hidden;box-shadow:5px 5px #d8e5de}.review-scene--recovery{background:#fffdf3;border-color:#9b7920;box-shadow:5px 5px #e9dcae}.review-scene__header{border-bottom:2px solid var(--gray-200);background:#f5f8f6;padding:20px 22px}.review-scene--recovery .review-scene__header{background:var(--warning-soft)}.review-scene__badges{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.review-scene__header h3{color:var(--clinical-ink);margin:0;font-size:16px;line-height:1.65}.review-timelines{background:var(--gray-800);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.review-timeline{background:#fffaf5;min-width:0;padding:22px}.review-timeline--alternate{background:#f2fbf6}.review-timeline__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.review-timeline__heading h4{color:#704a30;margin:0;font-size:15px}.review-timeline--alternate .review-timeline__heading h4{color:var(--brand-primary-hover)}.timeline-label{color:var(--brand-primary-hover);background:#fff;border:1px solid #86c4a4;border-radius:2px;padding:5px 8px;font-size:10px;font-weight:850;display:inline-flex}.timeline-label--avoided{color:#a13d39;background:var(--error-soft);border-color:#dcaaa7}.review-timeline__choice{overflow-wrap:anywhere;min-height:92px;margin:16px 0 12px;font-size:13px;font-weight:700;line-height:1.72}.review-reaction{grid-template-columns:70px minmax(0,1fr);align-items:end;gap:14px;margin-top:22px;display:grid}.review-reaction .portrait{width:70px}.review-reaction blockquote{border:2px solid var(--gray-900);background:#fff;border-radius:2px;min-width:0;margin:0 4px 4px 0;padding:14px 15px;position:relative;box-shadow:4px 4px #d8c8b7}.review-reaction blockquote:before{border-bottom:2px solid var(--gray-900);border-left:2px solid var(--gray-900);content:"";background:#fff;width:10px;height:10px;position:absolute;bottom:14px;left:-7px;transform:rotate(45deg)}.review-reaction--narration{grid-template-columns:minmax(0,1fr)}.review-reaction--narration blockquote:before{display:none}.review-timeline--alternate .review-reaction blockquote{box-shadow:4px 4px #b9dcca}.review-reaction p{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;line-height:1.7}.review-timeline__explanation{border-top:1px solid #bddfcf;margin-top:18px;padding-top:16px}.review-timeline__explanation p{color:#52625b;overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.75}.recovery-path{background:#fff;border:2px solid #9b7920;border-radius:2px;margin:22px;padding:18px 20px;box-shadow:4px 4px #eadca9}.recovery-path p{margin:12px 0 7px;font-weight:700;line-height:1.7}.recovery-path small{color:#746333;line-height:1.6}.review-debrief{background:var(--gray-800);grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:2px;display:grid}.review-debrief__choice,.review-debrief__copy{background:#fffaf5;padding:22px}.review-debrief__choice{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.review-debrief__choice p{margin:2px 0 0;font-size:13px;font-weight:700;line-height:1.72}.review-debrief__copy{background:var(--info-soft)}.review-debrief__copy strong{color:#315fa8;font-size:14px}.review-debrief__copy p{color:#455872;margin:8px 0 0;font-size:13px;line-height:1.82}.unexplored-panel{border:2px solid var(--gray-900);background:#f2f5f3;border-radius:2px;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);align-items:center;gap:26px;margin-top:32px;padding:24px;display:grid;box-shadow:5px 5px #cbd8d1}.unexplored-panel h3{margin:0;font-size:20px}.unexplored-panel>div:first-child>p:last-child{color:var(--text-secondary);margin:7px 0 0;font-size:12px;line-height:1.65}.unexplored-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.unexplored-metric{border:1px solid var(--gray-300);background:#fff;border-radius:2px;min-width:0;padding:17px}.unexplored-metric>span{color:var(--text-secondary);font-size:11px;font-weight:800}.unexplored-metric strong{color:var(--brand-primary-hover);margin-top:5px;font-size:30px;display:block}.unexplored-metric strong small{margin-left:4px;font-size:11px}.unexplored-metric p{color:var(--text-secondary);overflow-wrap:anywhere;margin:5px 0 0;font-size:11px;line-height:1.6}.parallel-review__cta{border-top:2px dashed #9fafa7;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:26px;display:flex}.parallel-review__cta>div:first-child>strong{color:var(--clinical-ink);font-size:18px}.parallel-review__cta>div:first-child>p{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.65}.parallel-review__cta .ending-actions{flex:none;margin-top:0}.parallel-review__cta .button--primary{box-shadow:4px 4px #175f3e}.self-report{padding:clamp(28px,5vw,50px)}.self-report h2{max-width:720px;color:var(--clinical-ink);margin:8px 0 12px;font-size:clamp(22px,3.4vw,30px);line-height:1.5}.self-report__hint{max-width:680px;color:var(--text-secondary);margin:0 0 24px;font-size:13px;line-height:1.75}.self-report__options{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.self-report__option{border:2px solid var(--gray-800);background:var(--surface);box-shadow:4px 4px 0 var(--gray-200);text-align:left;cursor:pointer;border-radius:2px;gap:4px;padding:17px 19px;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.self-report__option:hover{border-color:var(--brand-primary-hover);background:#fbfefc;transform:translateY(-2px);box-shadow:4px 4px #b7dfc9}.self-report__option strong{font-size:15px}.self-report__option span{color:var(--text-secondary);font-size:11px;font-weight:700}.self-report__skip{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;margin-top:20px;padding:4px 0;font-size:12px;text-decoration:underline;display:block}.self-report__skip:hover{color:var(--text-primary)}.frame-focus-card{padding:clamp(28px,5vw,50px)}.frame-focus-card h2{color:var(--clinical-ink);margin:8px 0 12px;font-size:clamp(24px,3.6vw,32px)}.frame-focus__lead{color:#495b53;max-width:760px;margin:0 0 22px;font-size:13px;line-height:1.8}.frame-focus__counts{gap:9px;margin:0;padding:0;list-style:none;display:grid}.frame-focus__counts li{border:1px solid var(--line);border-radius:var(--radius-base);background:#fafcfb;align-items:center;gap:10px;padding:11px 14px;font-size:13px;display:flex}.frame-focus__count-label{flex:1;min-width:0}.frame-focus__counts strong{font-size:14px}.frame-focus__dot{border:1px solid var(--gray-800);border-radius:2px;flex:none;width:12px;height:12px;display:inline-block}.frame-focus__dot--step{width:18px;height:18px}.frame-focus__timeline-wrap{margin-top:20px}.frame-focus__timeline li{display:flex}.frame-focus__timeline-wrap{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.frame-focus__timeline{flex-wrap:wrap;gap:7px;margin:10px 0 0;padding:0;list-style:none;display:flex}.frame-focus__contrast{border-radius:var(--radius-card);background:var(--info-soft);border:1px solid #cbd8e9;margin-top:20px;padding:16px 18px}.frame-focus__contrast p{color:#455872;margin:6px 0 0;font-size:13px;line-height:1.8}.frame-focus__normalize{color:#495b53;max-width:760px;margin:20px 0 0;font-size:13px;line-height:1.85}.frame-focus__theory{color:var(--text-secondary);margin:10px 0 0;font-size:11px}.frame-focus__links{flex-wrap:wrap;gap:14px;margin:16px 0 0;display:flex}.frame-focus__links a{color:var(--brand-primary-hover);font-size:12px;font-weight:800;text-decoration:underline}.home-stats{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin-top:24px;display:grid;overflow:hidden}.home-stats a{background:var(--surface);gap:4px;padding:20px 22px;display:grid}.home-stats span,.home-stats small{color:var(--text-secondary);font-size:11px}.home-stats strong{color:var(--clinical-ink);font-size:24px}.home-stats a:hover{background:var(--brand-primary-soft)}.data-card{margin-top:var(--space-5);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.data-card h2{margin:0 0 var(--space-5);font-size:18px}.data-empty{color:var(--text-secondary);text-align:center;margin:0;padding:34px 12px}.data-caption{color:var(--text-secondary);margin:-8px 0 14px;font-size:11px;line-height:1.6}.data-card td small{color:var(--text-secondary);margin-top:3px;font-size:10px;display:block}.record-status{border-radius:var(--radius-round);padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.record-status--done{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.record-status--open{color:#725700;background:var(--warning-soft)}.habit-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.habit-card{border:2px solid var(--gray-900);background:var(--surface);border-radius:2px;padding:20px}.habit-card--strength{box-shadow:5px 5px #c8e7d6}.habit-card--caution{box-shadow:5px 5px #ead8c4}.habit-card header{border-bottom:2px solid var(--gray-200);margin-bottom:14px;padding-bottom:12px}.habit-card__kicker{color:var(--brand-primary-hover);letter-spacing:.14em;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.habit-card--caution .habit-card__kicker{color:#a2711f}.habit-card h3{color:var(--clinical-ink);margin:6px 0 0;font-size:17px}.habit-card__none{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.habit-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.habit-list li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;display:grid}.habit-list__icon{border:2px solid var(--gray-900);background:var(--surface-subtle);border-radius:2px;place-items:center;width:34px;height:34px;font-size:15px;line-height:1;display:grid}.habit-card--strength .habit-list__icon{background:var(--brand-primary-soft)}.habit-card--caution .habit-list__icon{background:var(--warning-soft)}.habit-list strong{color:var(--clinical-ink);overflow-wrap:anywhere;font-size:13px;line-height:1.6;display:block}.habit-list p{color:var(--text-secondary);margin:5px 0 0;font-size:12px;line-height:1.7}.habit-empty{border:2px dashed var(--gray-300);text-align:center;border-radius:2px;justify-items:center;gap:8px;padding:34px 16px;display:grid}.habit-empty>span{font-size:24px}.habit-empty p{margin:0;font-size:13px;font-weight:700;line-height:1.7}.habit-empty small{color:var(--text-secondary);font-size:11px}.habit-trend{margin-top:var(--space-5);border-top:1px solid var(--line);padding-top:16px}.habit-trend ol{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.habit-trend li{border:1px solid var(--gray-300);background:#fafcfb;border-radius:2px;gap:3px;min-width:84px;padding:10px 12px;display:grid}.habit-trend strong{color:var(--brand-primary-hover);font-size:20px}.habit-trend small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.alias-card{gap:var(--space-6);margin-bottom:var(--space-5);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:1fr minmax(320px,.8fr);align-items:center;display:grid}.alias-card h2{margin:0 0 6px;font-size:18px}.alias-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.alias-card form{gap:8px;display:flex}.alias-card input{border:1px solid var(--gray-300);border-radius:var(--radius-base);background:#fff;flex:1;min-width:0;height:41px;padding:0 12px}.alias-card input:focus{border-color:var(--state-info);outline:3px solid #4785ff2e}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-list li{border-top:1px solid var(--line);grid-template-columns:44px minmax(160px,1fr) 110px 100px;align-items:center;gap:12px;min-height:58px;padding:10px 14px;font-size:13px;display:grid}.leaderboard-list li:first-child{border-top:0}.leaderboard-list__current{border-radius:var(--radius-base);background:var(--brand-primary-soft)}.leaderboard-rank{color:var(--brand-primary-hover);text-align:center;font-size:18px}.leaderboard-alias{align-items:center;gap:8px;font-weight:800;display:flex}.leaderboard-alias small{border-radius:var(--radius-round);color:var(--brand-primary-hover);background:#fff;padding:3px 6px;font-size:10px}.leaderboard-list--streak li{grid-template-columns:44px minmax(160px,1fr) 120px}.league-banner{border-radius:var(--radius-base);background:var(--brand-primary-soft);margin:10px 0 4px;padding:10px 14px;font-size:13px;font-weight:700}.league-banner--empty{border:1px dashed var(--line);background:0 0;font-weight:500}.league-participants{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 4px;font-size:12px;display:flex}.league-participants__label{color:var(--brand-primary-hover);font-weight:800}.league-participants span:not(.league-participants__label){border-radius:var(--radius-round);background:var(--brand-primary-soft);align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.league-me{border-top:1px solid var(--line);margin:8px 0 0;padding:10px 14px;font-size:13px}.medals{border-radius:var(--radius-round);letter-spacing:.02em;white-space:nowrap;background:#fff;align-items:center;gap:4px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-flex}.league-podium{flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-weight:600;display:flex}.hall-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.hall-list li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex}.hall-list .medals{background:var(--brand-primary-soft);justify-content:flex-start;min-width:96px}.hall-list li:first-child{border-top:0}.achievement-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.achievement-card{border:1px solid var(--line);border-radius:var(--radius-card);color:var(--gray-600);background:var(--surface-subtle);grid-template-columns:54px 1fr;gap:16px;padding:22px;display:grid}.achievement-card--earned{color:var(--text-primary);background:var(--surface);border-color:#abd8c0}.achievement-card__icon{background:var(--gray-200);filter:grayscale();border-radius:50%;place-items:center;width:54px;height:54px;font-size:24px;display:grid}.achievement-card--earned .achievement-card__icon{color:var(--brand-primary-hover);background:var(--brand-primary-soft);filter:none}.achievement-card__state{color:var(--text-secondary);letter-spacing:.06em;font-size:10px;font-weight:800}.achievement-card h2{margin:5px 0 6px;font-size:17px}.achievement-card p{margin:0;font-size:13px;line-height:1.6}.achievement-card small{color:var(--text-secondary);margin-top:10px;font-size:10px;display:block}.achievement-toast{z-index:100;border-radius:var(--radius-modal);background:#fff;border:1px solid #91c9aa;grid-template-columns:38px 1fr 24px;align-items:center;gap:12px;width:min(380px,100vw - 40px);padding:16px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 38px #1849332e}.achievement-toast>span{background:var(--brand-primary-soft);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.achievement-toast strong{color:var(--brand-primary-hover);font-size:11px}.achievement-toast p{margin:2px 0 0;font-size:13px;font-weight:800}.achievement-toast button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:20px}.resume-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:clamp(28px,5vw,46px)}.resume-card h2{color:var(--clinical-ink);margin:0 0 10px;font-size:26px}.resume-card>p:not(.eyebrow){color:var(--text-secondary);line-height:1.7}.resume-card>small{color:var(--text-secondary)}.save-indicator{min-height:34px;color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:10px;font-size:11px;display:flex}.save-indicator:before{background:var(--gray-400);content:"";border-radius:50%;width:7px;height:7px}.save-indicator--saved:before{background:var(--state-success)}.save-indicator--saving:before{background:var(--state-info)}.save-indicator--local:before{background:var(--state-warning)}.save-indicator button{color:var(--brand-primary-hover);cursor:pointer;background:0 0;border:0;padding:3px 7px;font-size:11px;font-weight:800}.bgm-toggle{z-index:40;border:1px solid var(--line);border-radius:var(--radius-round);cursor:pointer;background:#fff;place-items:center;width:44px;height:44px;padding:0;font-size:17px;line-height:1;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 10px #00000014}.bgm-toggle:hover{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.bgm-toggle:active{background:var(--brand-primary-soft);transform:translateY(1px)}.bgm-toggle:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.session-badge{border-radius:var(--radius-round);color:#5b4a86;letter-spacing:-.02em;background:#eee9fa;align-items:center;width:fit-content;min-height:28px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.game-titlebar__tags{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.carryover-note{border-radius:0 var(--radius-card) var(--radius-card) 0;background:#f6f3fd;border-left:4px solid #9d8ac7;margin:0 0 24px;padding:18px 20px}.carryover-note__kicker{color:#5b4a86;letter-spacing:.12em;margin-bottom:8px;font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.carryover-note p{color:var(--clinical-ink);margin:0 0 6px;font-size:14px;line-height:1.75}.carryover-note p:last-child{margin-bottom:0}.cast-card--absent{background:#f7f2f2;border-color:#b9a6a6;box-shadow:4px 4px #e3d4d4}.cast-card--absent .portrait{opacity:.45;filter:grayscale()}.absent-badge{border-radius:var(--radius-round);color:#8a4a4a;vertical-align:middle;background:#f0dede;margin-left:6px;padding:2px 7px;font-size:10px;font-weight:800}.carry-forward{border-radius:var(--radius-card);text-align:left;margin:24px 0 0;padding:18px 20px}.carry-forward strong{margin-bottom:6px;font-size:15px;display:block}.carry-forward p{margin:0;font-size:13px;line-height:1.75}.carry-forward--canonical{color:var(--brand-primary-hover);background:var(--brand-primary-soft);border:1px solid #9dcbb4}.carry-forward--practice{color:var(--text-secondary);border:1px solid var(--line);background:var(--surface-subtle)}.series-list{gap:var(--space-5);display:grid}.series-card{border:2px solid var(--gray-900);background:var(--surface);border-radius:2px;padding:20px;box-shadow:5px 5px #e5dff5}.series-card__head{justify-content:space-between;align-items:start;gap:var(--space-5);border-bottom:2px solid var(--gray-200);margin-bottom:18px;padding-bottom:14px;display:flex}.series-card__kicker{color:#5b4a86;letter-spacing:.14em;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.series-card__head h3{color:var(--clinical-ink);margin:6px 0 0;font-size:17px}.series-card__head p{color:var(--text-secondary);margin:6px 0 0;font-size:12px}.series-card__confirm{border-radius:var(--radius-card);background:var(--warning-soft);border:1px solid #ead58b;max-width:320px;padding:14px}.series-card__confirm p{color:#735800;margin:0 0 10px;font-size:12px;line-height:1.6}.series-card__confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.series-card__confirm .button{border-radius:var(--radius-base);min-height:41px;padding:0 14px;font-size:12px}.button--danger{color:#fff;background:#b34a4a;border-color:#a33f3f}.button--danger:hover:not(:disabled){background:#9c3d3d}.series-flow{gap:12px;margin:0;padding:0;list-style:none;display:grid}.series-node{border:1px solid var(--line);border-left:4px solid var(--gray-400);border-radius:var(--radius-card);background:var(--surface-subtle);padding:14px 16px}.series-node--done{border-left-color:var(--brand-primary);background:#fff}.series-node--locked{border-style:dashed dashed dashed solid}.series-node__session{color:#5b4a86;letter-spacing:.08em;font-size:10px;font-weight:800;display:block}.series-node__title{color:var(--clinical-ink);margin-top:3px;font-size:14px;display:block}.series-node__result{gap:var(--space-6);flex-wrap:wrap;margin:10px 0 0;display:flex}.series-node__result div{gap:3px;display:grid}.series-node__result dt{color:var(--text-secondary);font-size:10px;font-weight:700}.series-node__result dd{margin:0;font-size:13px;font-weight:700}.series-node__empty{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.6}.recap-screen{border:2px solid var(--gray-900);border-radius:var(--radius-base);background:var(--surface);text-align:center;justify-items:center;gap:10px;padding:clamp(28px,5vw,48px) clamp(20px,4vw,40px);display:grid;box-shadow:6px 6px #e5dff5}.recap-screen h2{color:var(--clinical-ink);margin:0;font-size:clamp(24px,4vw,32px)}.recap-screen__body{max-width:620px;color:var(--clinical-ink);margin:6px 0 0;font-size:15px;line-height:1.9}.recap-screen__hint{max-width:620px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.recap-screen__start{margin-top:14px;box-shadow:4px 4px #175f3e}.recap-folder{width:clamp(140px,26vw,200px);height:clamp(104px,20vw,148px);margin-bottom:6px;animation:.52s cubic-bezier(.2,.9,.3,1.4) both recap-folder-open;position:relative}.recap-folder img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.recap-folder--drawn span{border:2px solid var(--gray-900);position:absolute}.recap-folder__tab{background:#d8c9a6;border-bottom:0;border-radius:2px 2px 0 0;width:34%;height:14%;top:6%;left:8%}.recap-folder__sheet{background:#fdfcf6;border-radius:2px;width:64%;height:62%;top:16%;left:18%;box-shadow:4px 4px #e9e3d2}.recap-folder__body{background:#e6d7ae;border-radius:2px 6px 2px 2px;width:88%;height:74%;top:19%;left:6%}@keyframes recap-folder-open{0%{opacity:0;transform:translateY(10px)rotate(-3deg)scale(.94)}to{opacity:1;transform:none}}.recap-tier{border-radius:var(--radius-round);border:1px solid #0000;align-items:center;min-height:26px;padding:4px 11px;font-size:11px;font-weight:800;display:inline-flex}.recap-tier--low{color:#8a4a4a;background:#f7eded;border-color:#e0c4c4}.recap-tier--mid{color:#735800;background:var(--warning-soft);border-color:#ead58b}.recap-tier--high{color:var(--brand-primary-hover);background:var(--brand-primary-soft);border-color:#9dcbb4}.choice--conditional{border-color:#9d8ac7;box-shadow:4px 4px #e5dff5}.choice--conditional:hover{border-color:#7a63ab;box-shadow:4px 4px #d9cff2}.choice__unlocked{border-radius:var(--radius-round);color:#5b4a86;letter-spacing:-.01em;background:#eee9fa;align-items:center;gap:4px;margin-top:8px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.choice__unlocked:before{content:"✦"}.choice--locked,.choice--locked:hover{border-color:var(--line-strong,#cfc8bc);box-shadow:none;color:#8a8478;cursor:not-allowed;background:#f3f0ea;transform:none}.choice--locked .choice__number{color:#a39c8f}.choice--locked .choice__arrow{filter:grayscale();opacity:.7}.choice__locked-note{border-radius:var(--radius-round);color:#7c7466;letter-spacing:-.01em;background:#e9e4da;align-items:center;gap:4px;margin-top:8px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.feedback-detail--trust-unlocked{border-radius:var(--radius-base);background:#f4f0fc;border:1px solid #cdbfeb;margin-top:14px;padding:12px 14px}.feedback-detail--trust-unlocked .detail-label{color:#5b4a86}.feedback-detail--trust-unlocked .detail-label:before{content:"✦ "}.feedback-detail--trust-unlocked p{color:#4c4364;margin:6px 0 0;font-size:13px;line-height:1.7}@media (max-width:900px){.app-header{grid-template-columns:1fr auto}.app-nav{grid-area:2/1/auto/-1;justify-content:safe center;padding-bottom:14px;overflow-x:auto}.user-menu__identity{display:none}.hero{grid-template-columns:1fr;gap:24px;padding-top:56px}.home-lower{grid-template-columns:1fr}.auth-page{grid-template-columns:minmax(0,560px)}.auth-context{display:none}}@media (max-width:700px){.page-shell,.page-shell--game{width:min(100% - 40px,560px)}.app-header{flex-wrap:wrap;gap:12px;padding:12px 0;display:flex}.app-header .brand{margin-right:auto}.app-header .status-pill,.app-header .user-menu__identity{display:none}.app-nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;order:3;justify-content:flex-start;gap:8px;width:calc(100% + 40px);margin-inline:-20px;padding:2px 20px 8px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.app-nav::-webkit-scrollbar{display:none}.app-nav a{border:1px solid var(--line);border-radius:var(--radius-round);background:#fff;padding:8px 14px;font-size:13px;font-weight:700;line-height:1.2}.app-nav a:hover{border-color:#9dcbb4}.app-nav a[aria-current=page]{color:#fff;border-color:var(--brand-primary);background:var(--brand-primary)}.choice-list{grid-template-columns:1fr}.home-next,.home-book{box-shadow:4px 4px 0 var(--brand-primary-soft)}.auth-page{width:min(100% - 40px,560px);padding:20px 0}.auth-card{padding:28px 20px}.game-titlebar{align-items:start}.game-titlebar .content-status{flex:none}.series-card__head{flex-direction:column}.series-card__confirm{max-width:none}.counseling-banner{height:150px;margin-right:4px;box-shadow:4px 4px #cfe9db}.counseling-banner figcaption{bottom:16px;left:18px}.game-status{grid-template-columns:1fr}.alliance-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.cast-intro,.scene-card,.feedback-panel,.ending-card,.self-report,.frame-focus-card{box-shadow:4px 4px #dce9e2}.parallel-review{box-shadow:4px 4px #b9ddca}.cast-grid{grid-template-columns:1fr}.cast-card{grid-template-columns:82px minmax(0,1fr);min-height:112px;padding:13px}.dialogue-row{gap:10px;width:100%}.dialogue-row .portrait{width:62px}.dialogue__bubble{padding:14px}.dialogue__bubble p{font-size:13px}.narration-band{width:100%}.reaction-stage{align-items:start;gap:12px}.reaction-stage .portrait{width:76px}.reaction{padding:15px}.choice{min-height:0}.review-timelines,.review-debrief,.unexplored-panel,.unexplored-grid{grid-template-columns:1fr}.review-timeline__choice{min-height:0}.unexplored-panel{align-items:stretch}.parallel-review__cta{flex-direction:column;align-items:stretch}.parallel-review__cta .ending-actions{width:100%}.parallel-review__cta .button{flex:190px}.empty-card{padding:36px 20px}.page-heading--split{align-items:start}.home-stats,.alias-card{grid-template-columns:1fr}.leaderboard-list li{grid-template-columns:36px minmax(100px,1fr) 76px}.leaderboard-list li>span:last-child{display:none}.achievement-grid,.habit-grid{grid-template-columns:1fr}.habit-card{box-shadow:4px 4px #dce9e2}.bgm-toggle{width:40px;height:40px;bottom:14px;right:14px}}@media (max-width:480px){.hero{gap:22px;padding:34px 0 32px}.hero__intro{gap:14px}.hero h1{font-size:34px}.hero__description{font-size:14px}.hero__art{box-shadow:5px 5px 0 var(--brand-primary-soft)}.hero__art img{object-fit:cover;object-position:center 46%;height:clamp(150px,45vw,190px)}.section{padding-top:36px}.section__heading{margin-bottom:var(--space-5);align-items:center}.home-next{padding:16px 18px}.home-next__title{font-size:17px}.home-next__actions .button{width:100%}.home-new{padding:12px 14px}.home-new__list li{align-items:start}.home-guide summary{padding:14px 18px}.home-guide__list{padding:16px 18px 18px 36px}.home-book{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:16px 16px 16px 14px}.home-book__cover{width:72px}.home-book h2{font-size:16px}.home-book .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.portrait--bounce,.portrait--shake,.portrait__emote,.gauge__effect{animation:none}.epilogue{animation:.3s both epilogue-fade-in!important}.epilogue--leaving{animation:.3s both epilogue-fade-out!important}.epilogue--showing .epilogue__art,.epilogue--leaving .epilogue__art{animation:.3s both epilogue-art-in!important}.epilogue--showing .epilogue__caption,.epilogue--leaving .epilogue__caption{animation:.3s both epilogue-caption-in!important}}.wide-main{width:100%;padding:64px 0}.status-actions{flex-wrap:wrap;gap:6px;display:flex}.status-confirm{border-radius:var(--radius-card);background:var(--warning-soft);border:1px solid #ead58b;max-width:340px;padding:12px}.status-confirm p{color:#735800;margin:0 0 10px;font-size:11px;line-height:1.6}.status-confirm__actions{flex-wrap:wrap;gap:8px;display:flex}.status-result{max-width:340px;margin:8px 0 0;padding:8px 10px;font-size:11px;line-height:1.6}.bible-panel{margin-top:var(--space-6);padding-top:var(--space-5);border-top:2px solid var(--gray-200)}.md-doc{color:var(--text-primary);font-size:14px;line-height:1.8}.md-doc>:first-child{margin-top:0}.md-h{margin:var(--space-6) 0 10px;color:var(--clinical-ink);line-height:1.4}.md-h--1{font-size:22px}.md-h--2{margin-top:var(--space-8);border-bottom:1px solid var(--line);padding-bottom:8px;font-size:18px}.md-h--3{font-size:16px}.md-h--4,.md-h--5,.md-h--6{font-size:14px}.md-p{margin:0 0 12px}.md-list{margin:0 0 12px;padding-left:22px}.md-list li{margin-bottom:6px}.md-list__task{margin-left:-18px;list-style:none}.md-check{color:var(--brand-primary-hover);margin-right:6px}.md-quote{border-left:3px solid var(--brand-primary);background:var(--brand-primary-soft);margin:0 0 14px;padding:12px 16px;font-size:13px}.md-quote p{margin:0}.md-rule{margin:var(--space-6) 0;border:0;border-top:1px solid var(--line)}.md-code{border:1px solid var(--line);border-radius:var(--radius-base);background:var(--surface-subtle);margin:0 0 14px;padding:12px 14px;font-size:12px;line-height:1.6;overflow-x:auto}.md-doc code{background:var(--surface-subtle);border-radius:3px;padding:1px 5px;font-size:12px}.md-code code{background:0 0;padding:0}.md-table-wrap{border:1px solid var(--line);border-radius:var(--radius-card);margin:0 0 16px;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:12px}.md-table th,.md-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px;line-height:1.6}.md-table tr:last-child td{border-bottom:0}.md-table th{color:var(--text-secondary);background:var(--surface-subtle);white-space:nowrap;font-size:11px}.board-main{width:min(980px,100%)}.board-layout{gap:36px;display:grid}.board-compose{border:2px solid var(--gray-900);background:var(--surface);border-radius:2px;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:32px;padding:clamp(24px,4vw,36px);display:grid;box-shadow:6px 6px #c8e7d6}.board-compose__kicker{color:var(--brand-primary-hover);letter-spacing:.14em;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.board-compose h2{color:var(--clinical-ink);margin:7px 0 9px;font-size:24px}.board-compose>div>p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.75}.board-compose form{gap:15px;display:grid}.board-compose label{gap:7px;display:grid}.board-compose label>span{color:var(--text-secondary);font-size:11px;font-weight:800}.board-compose input,.board-compose select,.board-compose textarea{border:1px solid var(--gray-300);border-radius:var(--radius-base);width:100%;color:var(--text-primary);background:#fff}.board-compose input,.board-compose select{height:44px;padding:0 12px}.board-compose textarea{resize:vertical;min-height:132px;padding:12px;line-height:1.65}.board-compose input:focus,.board-compose select:focus,.board-compose textarea:focus{border-color:var(--state-info);outline:3px solid #4785ff2e}.board-compose__submit{justify-self:end;min-width:150px;box-shadow:4px 4px #175f3e}.board-feed .section__heading{margin-bottom:18px}.board-empty{border:2px dashed var(--gray-300);background:var(--surface);text-align:center;border-radius:2px;justify-items:center;gap:10px;padding:52px 24px;display:grid}.board-empty span{font-size:26px}.board-empty p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.7}.board-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.board-post{border:2px solid var(--gray-800);background:var(--surface);box-shadow:4px 4px 0 var(--gray-200);border-radius:2px;padding:22px 24px}.board-post__meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:11px;display:flex}.board-post__meta time{margin-left:auto}.board-category{border-radius:var(--radius-round);align-items:center;min-height:26px;padding:4px 9px;font-size:10px;font-weight:800;display:inline-flex}.board-category--scenario_request{color:var(--brand-primary-hover);background:var(--brand-primary-soft)}.board-category--feedback{color:#315fa8;background:var(--info-soft)}.board-category--other{color:#725700;background:var(--warning-soft)}.board-post h3{color:var(--clinical-ink);margin:16px 0 8px;font-size:18px;line-height:1.5}.board-post>p{color:#4d5d56;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.8}.board-post__actions{justify-content:flex-end;margin-top:16px;display:flex}.board-delete-confirm{border-radius:var(--radius-base);background:var(--warning-soft);border:1px solid #ead58b;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:10px;display:flex}.board-delete-confirm>span{color:#735800;margin-right:4px;font-size:11px;font-weight:700}.daily-main{gap:var(--space-5);padding:46px 0 64px;display:grid}.daily-heading{margin-bottom:4px}.daily-stage{gap:var(--space-5);display:grid}.daily-progress{gap:8px;display:grid}.daily-progress>span{color:var(--brand-primary-hover);letter-spacing:.12em;font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.daily-progress>div{border:1px solid var(--gray-300);border-radius:var(--radius-round);background:#fff;height:7px;overflow:hidden}.daily-progress i{border-radius:inherit;background:var(--brand-primary);height:100%;transition:width .24s steps(4,end);display:block}.daily-question{gap:26px;display:grid}.daily-definition{border:2px solid var(--gray-900);background:#fffaf5;border-radius:2px;padding:22px 24px;position:relative;box-shadow:4px 4px #ead8c4}.daily-definition:after{border-right:2px solid var(--gray-900);border-bottom:2px solid var(--gray-900);content:"";background:#fffaf5;width:13px;height:13px;position:absolute;bottom:-8px;right:28px;transform:rotate(45deg)}.daily-definition>span{color:#986139;letter-spacing:.14em;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.daily-definition p{color:var(--clinical-ink);margin:9px 0 0;font-size:15px;font-weight:650;line-height:1.8}.daily-reminder-context{gap:18px;display:grid}.daily-reminder-context .narration-band{width:100%}.daily-dialogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.daily-dialogue .dialogue{align-content:end}.daily-dialogue .dialogue__bubble{height:100%}.daily-choice-list .choice:disabled{color:var(--text-primary);opacity:.62;cursor:default;transform:none}.daily-choice-list .daily-choice--selected{opacity:1}.daily-choice-list .daily-choice--correct{border-color:var(--brand-primary-hover);background:var(--brand-primary-soft);box-shadow:4px 4px #9dcbb4}.daily-choice-list .daily-choice--wrong{background:var(--error-soft);border-color:#b23e3b;box-shadow:4px 4px #e4b7b5}.daily-feedback,.daily-result{box-shadow:6px 6px #c8e7d6}.daily-result__date{padding-top:8px;font:800 17px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace!important}.daily-result .notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.daily-review{border-top:1px solid var(--line);padding-top:26px}.daily-review h3{color:var(--clinical-ink);margin:0 0 16px;font-size:20px}.daily-review>ol{gap:12px;margin:0;padding:0;list-style:none;display:grid}.daily-review li{border:1px solid var(--line);border-left:4px solid var(--brand-primary);border-radius:var(--radius-base);background:#fafcfb;padding:17px 18px}.daily-review li>div{align-items:center;gap:10px;display:flex}.daily-review li>div>strong{color:var(--clinical-ink);font-size:14px}.daily-review li>p{color:var(--text-secondary);margin:9px 0 0;font-size:12px;line-height:1.75}.daily-review li>p b{color:var(--text-primary)}@media (max-width:700px){.leaderboard-list--streak li{grid-template-columns:36px minmax(100px,1fr) 76px}.leaderboard-list--streak li>span:last-child{display:inline}.board-compose{grid-template-columns:1fr;box-shadow:4px 4px #c8e7d6}.board-compose__submit{justify-self:stretch}.board-post__meta time{width:100%;margin-left:0}.board-delete-confirm{flex-direction:column;align-items:stretch;width:100%}.daily-dialogue{grid-template-columns:1fr}.daily-result,.daily-feedback{box-shadow:4px 4px #c8e7d6}}.nav-progress{z-index:1000;background:var(--brand-primary);width:0;height:4px;box-shadow:0 2px 0 var(--brand-primary-soft);pointer-events:none;position:fixed;top:0;left:0}.nav-progress--running{animation:1.4s cubic-bezier(.2,.7,.3,1) forwards nav-progress-run}.nav-progress--done{opacity:0;width:100%;transition:width .15s ease-out,opacity .3s ease-out .1s}@keyframes nav-progress-run{0%{width:0}20%{width:35%}60%{width:72%}to{width:88%}}@media (prefers-reduced-motion:reduce){.nav-progress--running{width:60%;animation:none}.nav-progress--done{transition:none}}.reset-countdown{color:var(--text-secondary);font-size:12px;font-weight:700;display:inline}.reset-countdown small{opacity:.85;font-weight:500}.daily-reset-hint{margin:10px 0 0}.scenario-rating{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.scenario-rating h3{margin:0 0 4px;font-size:18px}.scenario-rating>p{color:var(--text-secondary);margin:0 0 12px;font-size:12px}.star-picker{flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.star-picker button{color:#c9d1cc;cursor:pointer;background:0 0;border:0;border-radius:8px;width:44px;height:44px;padding:0;font-size:30px;line-height:1;transition:transform .12s,color .12s}.star-picker button.is-lit{color:#f5b301}.star-picker button:hover:not(:disabled){transform:scale(1.12)}.star-picker button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.star-picker button:disabled{cursor:default;opacity:.6}.star-picker__hint{min-width:72px;color:var(--text-secondary);margin-left:8px;font-size:12px;font-weight:700}.scenario-rating__comment{color:var(--text-secondary);gap:6px;margin-top:12px;font-size:12px;display:grid}.scenario-rating__comment input{border:1px solid var(--line);min-height:44px;color:inherit;font:inherit;background:#fff;border-radius:10px;padding:0 12px;font-size:14px}.scenario-rating__comment input:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.scenario-rating__comment small{text-align:right;font-size:11px}.scenario-rating__actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.scenario-rating__done{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scenario-rating__stars{color:#c9d1cc;letter-spacing:1px;font-size:20px;line-height:1}.scenario-rating__stars .is-lit{color:#f5b301}.scenario-rating__quote{color:var(--text-secondary);font-size:13px}.scenario-rating__thanks{color:var(--text-secondary);margin:8px 0 0;font-size:12px}.scenario-rating__error{color:#b3261e;margin:8px 0 0;font-size:12px}.rating-badge{border-radius:var(--radius-round);color:#7a5b00;white-space:nowrap;background:#fff4d1;align-items:center;gap:3px;min-height:28px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.rating-badge--pending{color:var(--text-secondary);background:var(--gray-200);font-weight:700}.rating-table td{vertical-align:middle}.rating-table__avg{color:#7a5b00;font-size:16px;font-weight:800}.rating-dist{min-width:180px;color:var(--text-secondary);grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;font-size:11px;display:grid}.rating-dist>span:nth-child(3n+2){background:var(--gray-200);border-radius:4px;height:8px;display:block;overflow:hidden}.rating-dist>span:nth-child(3n+2)>span{background:#f5b301;height:100%;display:block}.rating-comments{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rating-comments li{border:1px solid var(--line);background:var(--surface-subtle);border-radius:12px;padding:12px 14px}.rating-comments__meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.rating-comments__meta strong{color:inherit}.rating-comments blockquote{margin:0;font-size:14px}.pitfall-dialogue{gap:14px}.pitfall-dialogue .portrait{flex:none;width:64px}.pitfall-card-list .choice:disabled{color:var(--text-primary);cursor:default;transform:none}.pitfall-card-list .pitfall-card--marked{border-color:var(--brand-primary-hover);background:var(--brand-primary-soft);box-shadow:4px 4px #9dcbb4}.pitfall-card-list .pitfall-card--trap{background:var(--error-soft);border-color:#b23e3b;box-shadow:4px 4px #e4b7b5}.pitfall-card-list .pitfall-card--false{background:var(--warning-soft);border-color:#725700;box-shadow:4px 4px #e8d7a3}.pitfall-card-list .pitfall-card--best{border-color:var(--brand-primary-hover);background:#f3fbf7;box-shadow:4px 4px #b7dfc9}.pitfall-card__verdict{margin-top:8px;display:inline-block}.pitfall-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;margin-top:18px;display:flex}.pitfall-categorize{gap:16px;margin-top:18px;display:grid}.pitfall-categorize__card{border:1px solid var(--line);border-radius:var(--radius-base);background:#fffaf5;border-left:4px solid #b23e3b;margin:0;padding:14px 16px}.pitfall-categorize__card legend{padding:0 6px;font-size:13px;font-weight:700}.pitfall-options{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pitfall-option{border:2px solid var(--gray-800);background:var(--surface);box-shadow:3px 3px 0 var(--gray-200);cursor:pointer;border-radius:2px;padding:8px 12px;font-size:13px;font-weight:650}.pitfall-option:hover{border-color:var(--brand-primary-hover);background:#fbfefc}.pitfall-option--selected{border-color:var(--brand-primary-hover);background:var(--brand-primary-soft);box-shadow:3px 3px #9dcbb4}.pitfall-option:focus-visible{outline:3px solid var(--brand-primary-hover);outline-offset:2px}.pitfall-worst{margin-top:20px}.pitfall-entry__heading{margin:0 0 14px;font-size:20px}.pitfall-entry__list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.pitfall-entry__card{border:2px solid var(--gray-800);min-height:96px;color:var(--text-primary);background:var(--surface);box-shadow:4px 4px 0 var(--gray-200);border-radius:2px;grid-template-columns:1fr 20px;gap:6px 12px;padding:18px;text-decoration:none;display:grid}.pitfall-entry__card:hover{border-color:var(--brand-primary-hover);background:#fbfefc;box-shadow:4px 4px #b7dfc9}.pitfall-entry__title{font-size:15px;font-weight:750}.pitfall-entry__meta{color:var(--text-secondary);grid-column:1;font-size:12px}.pitfall-entry__card .choice__arrow{grid-area:1/2/span 2;align-self:center}.pitfall-locked{box-shadow:6px 6px #c8e7d6}.pitfall-report__link{margin-top:6px;font-size:13px;font-weight:700;display:inline-block}.auth-page--single{max-width:620px;display:block}.auth-page--single .auth-brand{color:inherit;margin-bottom:28px;text-decoration:none}.auth-form{gap:18px;display:grid}.auth-form label{color:var(--text-primary);gap:8px;font-size:13px;font-weight:650;display:grid}.auth-form input{border:1px solid var(--line);border-radius:var(--radius-input,8px);background:var(--surface);width:100%;min-width:0;min-height:46px;color:var(--text-primary);font:inherit;padding:10px 12px;font-size:16px}.auth-form input:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.auth-form small,.auth-form__help{color:var(--text-secondary);margin:0;font-size:11px;font-weight:400;line-height:1.6}.auth-form .notice{margin:0}.auth-form>.button{width:100%;min-height:46px}.auth-card__links{text-align:center;color:var(--text-secondary);margin:22px 0 0;font-size:13px}.auth-card__links a{color:var(--brand-primary-hover);text-underline-offset:3px;margin-left:5px;font-weight:750}.auth-divider{color:var(--text-secondary);align-items:center;gap:16px;margin:26px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.account-card{max-width:520px}.onboarding-form{margin-top:24px}
