@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-2xl:42rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.flex-shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.whitespace-break-spaces{white-space:break-spaces}@media(hover:hover){.hover\:opacity-90:hover{opacity:.9}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--ink:#172a2d;--ink-soft:#476064;--paper:#f4f0e8;--paper-deep:#e8e0d2;--line:#d9d0c3;--teal:#167b78;--teal-deep:#0e5b5a;--red:#bb5647;--gold:#bd8d39;--white:#fffdf9;--shadow:0 20px 50px #29231a14;color:var(--ink);background:var(--paper);font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #167b7859}.app-shell{background:var(--paper);min-height:100vh;display:flex}.sidebar{color:#e8ece7;z-index:30;background:#132a2e;flex-direction:column;flex:0 0 254px;width:254px;height:100vh;min-height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;padding:0 10px;display:flex}.brand-mark{color:#e3b95e;background:#e1b95e14;border:1px solid #e0b75fcc;border-radius:10px 10px 10px 2px;place-items:center;width:34px;height:34px;display:grid}.brand-name{letter-spacing:.08em;font-family:Noto Serif TC,serif;font-size:14px;font-weight:700}.brand-sub{color:#8fa4a1;letter-spacing:.18em;margin-top:4px;font-size:8px}.sidebar-rule{background:#eaf0e81f;height:1px;margin:30px 10px 29px}.nav-label,.section-kicker{color:#a79678;letter-spacing:.18em;font-size:9px;font-weight:800}.nav-label{color:#789290;padding:0 11px 13px}.primary-nav{gap:5px;display:grid}.primary-nav button{color:#a8bbb7;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:12px 11px;font-size:13px;transition:all .18s;display:flex}.primary-nav button:hover,.primary-nav button.active{color:#fffdf9;background:#ffffff17}.primary-nav button.active{box-shadow:inset 3px 0 var(--gold)}.nav-count{color:#7b9693;margin-left:auto;font-size:11px}.primary-nav button.active .nav-count{color:#e6bd66}.sidebar-footer{margin-top:auto;padding:0 9px}.case-stamp{color:#8ea6a2;align-items:center;gap:7px;margin-bottom:22px;font-size:10px;display:flex}.stamp-dot,.live-pill span{background:#6bc7a8;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #6bc7a821}.user-card{border-top:1px solid #eaf0e81f;align-items:center;gap:10px;padding-top:16px;display:flex}.avatar,.profile-mark{color:#263536;background:#d9bd7b;border-radius:50%;place-items:center;width:29px;height:29px;font-family:Noto Serif TC,serif;font-weight:700;display:grid}.user-name{color:#e6ebe5;font-size:12px}.user-role{color:#89a09c;margin-top:3px;font-size:10px}.muted-icon{color:#718986;margin-left:auto}.main-content{flex:1;min-width:0}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#f4f0e8c7;border-bottom:1px solid #2f40391a;justify-content:space-between;align-items:center;height:70px;padding:0 48px;display:flex;position:sticky;top:0}.breadcrumb{color:#86918d;align-items:center;gap:10px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:700}.top-actions{align-items:center;gap:16px;display:flex}.live-pill{color:#55736d;letter-spacing:.08em;align-items:center;gap:9px;font-size:10px;display:flex}.icon-button,.mobile-menu{color:#526463;background:0 0;border:0;place-items:center;display:grid}.mobile-menu{display:none}.content-wrap{max-width:1380px;margin:0 auto;padding:38px 48px 80px}.hero-card{color:#fffaf1;height:276px;box-shadow:var(--shadow);background:#142a30;border-radius:14px;align-items:center;display:flex;position:relative;overflow:hidden}.hero-art{opacity:.98;background-image:linear-gradient(90deg,#11252bf7,#11252be3 38%,#11252b1f 85%),url(/admin-law-game/assets/taiwan-archive-hero.webp);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-content{z-index:1;max-width:650px;padding:35px 52px;position:relative}.eyebrow{color:#e0bb69;letter-spacing:.2em;align-items:center;gap:9px;font-size:10px;font-weight:800;display:flex}.eyebrow-line{opacity:.7;background:#d3ad60;width:40px;height:1px}.hero-content h1{letter-spacing:.04em;margin:16px 0 12px;font-family:Noto Serif TC,serif;font-size:clamp(30px,3.2vw,45px);font-weight:800;line-height:1.22}.hero-content h1 em{color:#dabe7d;font-style:normal}.hero-content p{color:#b7c4bd;max-width:460px;margin:0;font-size:13px;line-height:1.9}.hero-meta{color:#9cb2ab;gap:20px;margin-top:21px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:6px;display:flex}.hero-seal{z-index:2;color:#c99042;text-align:center;letter-spacing:.13em;opacity:.82;border:1px solid #c99042b3;border-radius:50%;place-items:center;width:70px;height:70px;font-size:8px;line-height:1.2;display:grid;position:absolute;top:34px;right:38px;transform:rotate(12deg)}.hero-seal:after{content:"";border:1px dashed #c99042b3;border-radius:50%;position:absolute;inset:5px}.hero-seal b{letter-spacing:0;font-family:Noto Serif TC,serif;font-size:22px}.section-head,.play-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-head{margin:46px 1px 20px}.section-head h2,.play-heading h2,.secondary-view h1{letter-spacing:.06em;margin:8px 0 0;font-family:Noto Serif TC,serif}.section-head h2{font-size:23px}.section-note{color:#798782;font-size:11px}.section-note b{color:var(--teal-deep);font-weight:700}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.scenario-card{text-align:left;border:1px solid var(--line);min-height:172px;color:var(--ink);background:linear-gradient(#fffdf9f0,#f5efe2f0),url(/admin-law-game/assets/taiwan-dossier-detail.webp) 50%/cover;border-radius:10px;padding:20px 20px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}.scenario-card:hover{border-color:#b9a888;transform:translateY(-3px);box-shadow:0 15px 35px #37342914}.scenario-card.selected{border-color:var(--teal);background:#fffdf9;box-shadow:0 12px 32px #264e4b1f}.scenario-card.selected:before{content:"";background:var(--teal);border-radius:0 3px 3px 0;width:3px;position:absolute;top:16px;bottom:16px;left:-1px}.scenario-top{justify-content:space-between;align-items:center;display:flex}.scenario-icon{width:32px;height:32px;color:var(--gold);border:1px solid #cbbf9f;border-radius:8px;place-items:center;font-size:20px;display:grid}.scenario-status{color:var(--teal);letter-spacing:.1em;background:#167b7814;border-radius:99px;padding:5px 8px;font-size:9px}.scenario-status.tier-進階{color:#a9781f;background:#bd8d391f}.scenario-status.tier-挑戰{color:#a4402f;background:#c4503a1a}.accent-red .scenario-icon{color:var(--red);border-color:#dab6aa}.accent-gold .scenario-icon{color:var(--gold)}.scenario-eyebrow{color:#9a8b71;letter-spacing:.1em;margin-top:16px;font-size:9px}.scenario-card h3{letter-spacing:.04em;margin:6px 0 5px;font-family:Noto Serif TC,serif;font-size:18px}.scenario-card p{color:#75827d;margin:0;font-size:11px;line-height:1.65}.scenario-foot{color:var(--teal-deep);border-top:1px solid #ece5da;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;font-size:10px;font-weight:700;display:flex}.play-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:27px;margin-top:42px;display:grid}.play-main{min-width:0}.play-heading h2{font-size:27px}.progress-copy{color:#8e9690;letter-spacing:.08em;font-size:10px}.progress-track{background:#e3dbcd;border-radius:99px;height:4px;margin:17px 0 22px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--teal),#6dbab0);border-radius:99px;height:100%;transition:width .3s}.case-summary{border-left:3px solid var(--gold);background:#ece5d9;align-items:center;gap:14px;padding:15px 18px;display:flex}.case-label{color:#755d36;letter-spacing:.1em;flex:none;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.case-summary p{color:#696d65;flex:1;margin:0;font-size:11px;line-height:1.7}.hint-panel{border:1px dashed var(--gold);background:#f4efe4;border-radius:8px;align-items:start;gap:12px;margin-top:-8px;margin-bottom:4px;padding:13px 16px;display:flex}.hint-panel .hint-icon{color:var(--teal-deep);flex:none;margin-top:1px}.hint-panel strong{color:var(--ink);margin-bottom:4px;font-size:11px;display:block}.hint-panel p{color:#696d65;margin:0;font-size:11.5px;line-height:1.75}.text-button{color:var(--teal-deep);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10px;display:inline-flex}.timeline{grid-template-columns:repeat(6,1fr);margin:27px 0 31px;display:grid;position:relative}.timeline:before{content:"";z-index:0;background:#d8d0c4;height:1px;position:absolute;top:12px;left:7%;right:7%}.timeline-step{color:#9b9b90;z-index:1;justify-items:center;gap:9px;font-size:10px;display:grid;position:relative}.timeline-node{background:var(--paper);color:#9c9e95;border:1px solid #cac2b5;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.timeline-step.current{color:var(--teal-deep);font-weight:800}.timeline-step.current .timeline-node{border-color:var(--teal);color:var(--teal);background:#e5f0ed;box-shadow:0 0 0 5px #167b7814}.timeline-step.done .timeline-node{background:var(--teal);border-color:var(--teal);color:#fff}.timeline-step.done{color:#547d76}.decision-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px;display:flex}.decision-header h3{letter-spacing:.04em;margin:7px 0 0;font-family:Noto Serif TC,serif;font-size:18px}.decision-rule{color:#9c9d91;font-size:10px}.choice-list{gap:9px;display:grid}.choice-card{text-align:left;width:100%;color:var(--ink);background:#fffdf9b3;border:1px solid #ded6c9;border-radius:9px;align-items:center;gap:15px;padding:16px 17px;transition:all .18s;display:flex}.choice-card:hover:not(:disabled){background:#fffdf9;border-color:#96bbb2;transform:translate(3px)}.choice-card:disabled{cursor:default}.choice-card.chosen{border-color:var(--teal);background:#f5fbf8;box-shadow:0 6px 20px #167b7814}.choice-index{color:#8b8b82;border:1px solid #bfb7aa;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-family:Georgia,serif;font-size:13px;display:grid}.chosen .choice-index{color:#fff;background:var(--teal);border-color:var(--teal)}.choice-body{flex:1;min-width:0}.choice-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.choice-title-row h4{margin:0;font-size:13px;font-weight:800}.choice-tag{color:#7e8076;background:#e8e7df;border-radius:99px;padding:3px 7px;font-size:9px}.choice-card.tone-teal .choice-tag{color:var(--teal-deep);background:#e1f0ec}.choice-card.tone-red .choice-tag{color:#9f483e;background:#f4e4df}.choice-card.tone-gold .choice-tag{color:#896822;background:#f6edd9}.choice-body p{color:#858984;margin:6px 0 0;font-size:11px;line-height:1.55}.choice-arrow{color:#b1b1a9;transition:transform .18s}.choice-card:hover .choice-arrow{color:var(--teal);transform:translate(3px)}.consequence-banner{border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;margin-top:13px;padding:12px 14px;display:flex}.consequence-banner.tone-teal{color:var(--teal-deep);background:#e4f1ed;border-color:#c8e1db}.consequence-banner.tone-red{color:#983f36;background:#f5e5e1;border-color:#e7c8c0}.consequence-banner.tone-gold{color:#896822;background:#f7eedc;border-color:#ead9ad}.consequence-icon{background:#ffffff85;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.consequence-banner strong{margin-bottom:3px;font-size:11px;display:block}.consequence-banner span{opacity:.78;font-size:10px;display:block}.effect-chips{flex:none;gap:5px;margin-left:auto;display:flex}.effect-chips span{white-space:nowrap;background:#fff9;border-radius:4px;padding:5px 6px;font-size:9px}.play-footer{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.ghost-button,.primary-button{border:0;border-radius:6px;align-items:center;gap:8px;font-size:11px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.ghost-button{color:#7b837c;background:0 0;padding:10px 0}.primary-button{color:#fffdf9;background:var(--teal);padding:12px 17px;box-shadow:0 8px 16px #167b782e}.primary-button:hover:not(:disabled){background:var(--teal-deep);transform:translateY(-1px);box-shadow:0 10px 20px #167b7838}.primary-button:active,.ghost-button:active{transform:scale(.97)}.primary-button:disabled{box-shadow:none;cursor:not-allowed;background:#c5c8bf}.score-panel{background:#fffdf9ab;border:1px solid #ded6c9;border-radius:10px;padding:22px 20px 19px}.score-header{justify-content:space-between;align-items:start;display:flex}.score-header h3{margin:7px 0 0;font-family:Noto Serif TC,serif;font-size:18px}.score-badge{color:#8c917e;align-items:center;gap:5px;font-size:9px;display:flex}.profile-line{align-items:center;gap:10px;margin:21px 0 20px;display:flex}.profile-mark{width:38px;height:38px;font-size:16px}.profile-line strong,.profile-line span{display:block}.profile-line strong{font-size:12px}.profile-line span{color:#8b9189;margin-top:4px;font-size:10px}.score-list{gap:17px;display:grid}.score-label{justify-content:space-between;align-items:center;font-size:11px;display:flex}.score-label strong{font-family:Georgia,serif;font-size:16px;font-weight:400}.score-bar{background:#e3ddd2;border-radius:99px;height:5px;margin:8px 0 5px;overflow:hidden}.score-fill{border-radius:99px;height:100%;transition:width .3s}.score-fill.teal{background:var(--teal)}.score-fill.red{background:var(--red)}.score-fill.gold{background:var(--gold)}.score-hint{color:#a0a39a;font-size:9px}.score-divider{background:#e7e0d6;height:1px;margin:22px 0 17px}.mini-note{align-items:start;gap:9px;display:flex}.mini-icon{color:var(--gold);margin-top:2px}.mini-note strong{font-size:10px}.mini-note p{color:#8c9289;margin:5px 0 0;font-size:10px;line-height:1.65}.record-title{color:#6f7d78;justify-content:space-between;margin:23px 0 10px;font-size:10px;font-weight:800;display:flex}.record-title span:last-child{color:#aaa998;font-weight:500}.record-log{gap:8px;display:grid}.empty-log{text-align:center;color:#9b9d94;border:1px dashed #d7d0c5;padding:15px 10px;font-size:10px;line-height:1.6}.empty-log span{color:#b3b4ab;font-size:9px}.log-row{grid-template-columns:22px 1fr 14px;align-items:center;gap:5px;font-size:9px;display:grid}.log-row>span{color:var(--gold);font-family:Georgia,serif}.log-row p{color:#6e7d77;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.log-row svg{color:var(--teal)}.secondary-view{max-width:950px;margin:18px auto}.view-heading{margin:20px 0 34px}.view-heading h1{font-size:40px}.view-heading p{color:#7d8880;margin-top:12px;font-size:13px}.trail-card{border:1px solid var(--line);background:#fffdf9b3;border-radius:12px;padding:24px}.empty-large{text-align:center;color:#89938c;align-content:center;justify-items:center;gap:9px;min-height:260px;display:grid}.empty-large svg{color:var(--gold)}.empty-large h3{color:var(--ink);margin:4px 0 0;font-family:Noto Serif TC,serif}.empty-large p{margin:0 0 13px;font-size:12px}.trail-list{gap:0;display:grid}.trail-item{border-bottom:1px solid #ebe4da;grid-template-columns:52px 1fr 25px;align-items:center;padding:19px 8px;display:grid}.trail-item:last-child{border-bottom:0}.trail-number{color:var(--gold);font-family:Georgia,serif;font-size:18px}.trail-item span{color:#9a9e96;letter-spacing:.1em;font-size:9px}.trail-item h3{margin:5px 0 0;font-size:14px}.trail-check{color:var(--teal)}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.achievement-card{border:1px solid var(--line);opacity:.55;background:#fffdf9b3;border-radius:10px;align-items:center;gap:12px;padding:15px 16px;display:flex}.achievement-card.is-unlocked{opacity:1;background:linear-gradient(#fffdf9f0,#f7eedcb3);border-color:#d6ae5d73}.achievement-icon{color:#8a9089;background:#8b928524;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.achievement-card.is-unlocked .achievement-icon{color:var(--gold);background:#e0bb682e}.achievement-card span{color:#9a9e96;letter-spacing:.06em;margin-bottom:3px;font-size:9px;display:block}.achievement-card strong{color:var(--ink);font-size:12px;font-weight:700;line-height:1.4;display:block}.achievement-card:not(.is-unlocked) strong{color:#9a9e96}.doctrine-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.doctrine-card{border:1px solid var(--line);background:#fffdf9b8;border-radius:11px;min-height:215px;padding:27px 25px}.doctrine-symbol{color:var(--gold);margin-bottom:28px;font-family:Georgia,serif;font-size:28px}.doctrine-card h3{margin:9px 0 8px;font-family:Noto Serif TC,serif;font-size:20px}.doctrine-card p{color:#75827d;margin:0 0 19px;font-size:12px;line-height:1.8}.doctrine-card.is-open{min-height:auto}.doctrine-detail{border-top:1px solid var(--line);margin:0 0 16px;padding-top:15px}.doctrine-detail p{color:#62706a;margin:0 0 13px;font-size:12px;line-height:1.85}.doctrine-example{border-left:3px solid var(--gold);background:#e0bb681f;border-radius:4px;margin-bottom:13px;padding:10px 13px}.doctrine-example strong{color:var(--teal-deep);letter-spacing:.06em;margin-bottom:5px;font-size:10px;display:block}.doctrine-example span{color:#5d6a63;font-size:11.5px;line-height:1.7}.doctrine-related strong{color:#8a9089;letter-spacing:.06em;margin-bottom:8px;font-size:10px;display:block}.doctrine-related div{flex-wrap:wrap;gap:7px;display:flex}.related-chip{border:1px solid var(--teal);color:var(--teal-deep);cursor:pointer;background:#45937c14;border-radius:999px;padding:6px 11px;font-size:10px}.related-chip:hover{background:#45937c2e}.term-link{font:inherit;color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}.term-link:hover{color:var(--gold)}.consequence-banner .term-link{text-decoration-color:#ffffff73}.debrief-grid .term-link{text-decoration-color:#c8d8ca80}.disclaimer{color:#7c877e;background:#eee8de;border-radius:7px;gap:12px;margin-top:18px;padding:15px 17px;font-size:10px;line-height:1.7;display:flex}.disclaimer svg{color:var(--teal);flex:none;margin-top:2px}.disclaimer p{margin:0}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f2225ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-modal{background:var(--paper);text-align:center;border-radius:14px;width:100%;max-width:500px;padding:40px 43px 35px;position:relative;box-shadow:0 30px 80px #00000040}.modal-close{color:#7c857f;background:0 0;border:0;position:absolute;top:15px;right:15px}.result-seal{border:1px solid var(--gold);width:60px;height:60px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 23px;display:grid}.result-modal h2{margin:12px 0 14px;font-family:Noto Serif TC,serif;font-size:25px}.result-modal h2 em{color:var(--teal);font-style:normal}.result-modal p{color:#7b867e;margin:0 auto 23px;font-size:12px;line-height:1.9}.result-stats{border-top:1px solid #ded6ca;border-bottom:1px solid #ded6ca;grid-template-columns:repeat(3,1fr);margin-bottom:24px;padding:16px 0;display:grid}.result-stats div{border-right:1px solid #ded6ca}.result-stats div:last-child{border:0}.result-stats strong,.result-stats span{display:block}.result-stats strong{color:var(--teal-deep);font-family:Georgia,serif;font-size:24px;font-weight:400}.result-stats span{color:#92988e;margin-top:4px;font-size:9px}.mobile-scrim{display:none}.tutorial-modal{background:var(--paper);border-radius:14px;width:100%;max-width:620px;padding:38px 40px 34px;position:relative;box-shadow:0 30px 80px #00000040}.tutorial-modal h2{color:var(--ink);margin:10px 0 12px;font-family:Noto Serif TC,serif;font-size:25px}.tutorial-lede{color:#7b867e;margin:0 0 24px;font-size:12.5px;line-height:1.85}.tutorial-grid{gap:16px;margin-bottom:28px;display:grid}.tutorial-item{text-align:left;align-items:flex-start;gap:14px;display:flex}.tutorial-icon{width:34px;height:34px;color:var(--teal-deep);background:#167b781a;border-radius:9px;flex:none;place-items:center;margin-top:2px;display:grid}.tutorial-item strong{color:var(--ink);margin-bottom:5px;font-size:13px;display:block}.tutorial-item p{color:#75827d;margin:0;font-size:11.5px;line-height:1.8}.tutorial-item p b{color:var(--teal-deep);font-weight:700}.tutorial-modal .primary-button{justify-content:center;width:100%}@media(max-width:640px){.tutorial-modal{padding:30px 22px 26px}}@media(max-width:1050px){.content-wrap{padding-left:30px;padding-right:30px}.topbar{padding:0 30px}.play-layout{grid-template-columns:1fr}.score-panel{max-width:none}.score-list{grid-template-columns:repeat(3,1fr)}.score-divider,.mini-note,.record-title,.record-log{display:none}}@media(max-width:760px){.sidebar{transition:left .2s;position:fixed;left:-270px;box-shadow:20px 0 50px #0000002e}.sidebar.is-open{left:0}.mobile-scrim{z-index:25;background:#0f222566;border:0;display:block;position:fixed;inset:0}.mobile-menu{display:grid}.topbar{justify-content:start;gap:15px;padding:0 18px}.breadcrumb{flex:1}.top-actions{margin-left:auto}.content-wrap{padding:22px 17px 60px}.hero-card{height:330px}.hero-content{align-self:end;padding:30px 26px}.hero-art{background-position:62%}.hero-seal{top:20px;right:20px;transform:scale(.8)rotate(12deg)}.hero-meta{flex-wrap:wrap;gap:11px}.section-head{margin-top:34px;display:block}.section-note{margin-top:10px;line-height:1.6}.scenario-grid{grid-template-columns:1fr}.scenario-card{min-height:145px}.play-layout{margin-top:31px}.case-summary{flex-wrap:wrap;align-items:start;gap:9px}.case-summary p{flex-basis:calc(100% - 3px);order:3}.timeline{gap:5px;margin:25px 0 30px}.timeline-step{font-size:9px}.timeline-node{width:23px;height:23px}.decision-header{display:block}.decision-rule{margin-top:8px}.choice-card{gap:10px;padding:13px 12px}.choice-title-row h4{font-size:12px}.choice-body p{font-size:10px}.choice-arrow{display:none}.consequence-banner{flex-wrap:wrap;align-items:start}.consequence-banner>div:nth-child(2){flex:1}.effect-chips{margin-left:42px}.score-list{grid-template-columns:1fr;gap:13px}.score-panel{padding:18px}.secondary-view{margin-top:10px}.view-heading h1{font-size:32px}.doctrine-grid{grid-template-columns:1fr}.doctrine-card{min-height:auto}.doctrine-symbol{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.case-library-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;margin:54px 0 18px;padding-bottom:14px;display:flex}.case-library-heading h2{letter-spacing:.06em;margin:8px 0 0;font-family:Noto Serif TC,serif;font-size:25px}.case-library-heading>span{color:#8b938a;font-size:10px}.real-case-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.real-case-card{border:1px solid var(--line);background:#fffdf9c2;border-radius:11px;padding:21px 21px 18px;transition:transform .18s,box-shadow .18s;position:relative}.real-case-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #342f2514}.real-case-top{justify-content:space-between;align-items:center;display:flex}.case-number{color:var(--teal-deep);font-family:Georgia,serif;font-size:13px;font-weight:700}.case-year{color:#a29f90;font-family:Georgia,serif;font-size:12px}.case-tag{color:#8a6a2e;background:#f3ead8;border-radius:99px;margin-top:15px;padding:4px 7px;font-size:9px;display:inline-block}.real-case-card h3{letter-spacing:.04em;margin:10px 0 8px;font-family:Noto Serif TC,serif;font-size:17px}.case-summary-copy{color:#6f7e76;margin:0 0 15px;font-size:11px;line-height:1.75}.case-fact,.case-law{color:#8d9289;grid-template-columns:32px 1fr;gap:8px;margin-top:8px;font-size:10px;line-height:1.65;display:grid}.case-fact strong,.case-law strong{color:var(--red);letter-spacing:.08em;font-size:9px}.case-law strong{color:var(--teal)}.source-link{color:var(--teal-deep);border-bottom:1px solid #bcd1c9;align-items:center;gap:6px;margin-top:15px;padding-bottom:2px;font-size:10px;text-decoration:none;display:inline-flex}.source-link:hover{color:var(--red);border-color:var(--red)}@media(max-width:760px){.case-library-heading{margin-top:38px;display:block}.case-library-heading>span{margin-top:9px;display:block}.real-case-grid{grid-template-columns:1fr}}.app-shell{background:#10272b;position:relative;overflow-x:hidden}.main-content{background:#142c30;position:relative}.main-content:before{content:"";z-index:0;pointer-events:none;opacity:.44;filter:saturate(.82)contrast(1.04);background:linear-gradient(90deg,#0b1f2385,#0b1f2314 34%,#0b1f2359),url(/admin-law-game/assets/taiwan-archive-hero.webp) 50%/cover no-repeat;position:fixed;inset:0}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0a2327f5,#0a2327c7);border-right:1px solid #debb682e;height:100vh;position:fixed;top:0;left:0}.topbar{z-index:10;color:#eff4e9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c272ac2;border-bottom:1px solid #e0bb6838;height:74px;position:relative}.breadcrumb,.breadcrumb strong,.icon-button{color:#dce6da}.content-wrap{z-index:1;max-width:none;padding:26px 34px 100px;position:relative}.hero-card{background:#10282d;border:1px solid #ddbc6b66;border-radius:18px;align-items:flex-end;height:650px;min-height:calc(100vh - 126px);margin:0;box-shadow:0 28px 90px #00000054,inset 0 0 0 1px #ffffff0d}.hero-card:before{content:"CASE FILE 01  /  THE ADMINISTRATIVE FRONTIER";z-index:3;color:#e3c477c7;letter-spacing:.2em;font-family:Georgia,serif;font-size:10px;position:absolute;top:24px;left:28px}.hero-card:after{content:"◈  LIVE SIMULATION     6 PHASES     3 ENDINGS";z-index:3;color:#e1efdaad;letter-spacing:.14em;font-family:Georgia,serif;font-size:10px;position:absolute;bottom:24px;right:29px}.hero-art{opacity:1;background-image:linear-gradient(90deg,#071c20f2,#071c20b8 30%,#071c202e 72%,#071c205c),url(/admin-law-game/assets/taiwan-archive-hero.webp);background-position:50%;transform:scale(1.02)}.hero-card .hero-content{max-width:700px;padding:0 0 74px 64px}.hero-card .hero-content:before{content:"行政法推演系統 // 場景載入完成";color:#8fd0b3;letter-spacing:.22em;margin-bottom:15px;font-size:10px;display:block}.hero-content h1{text-shadow:0 5px 25px #0000005c;letter-spacing:.02em;font-size:clamp(44px,6vw,76px)}.hero-content p{color:#d4ded2;max-width:540px;font-size:14px}.hero-meta{color:#c5d6c8}.hero-seal{background:#0b232742;width:112px;height:112px;font-size:10px;top:42px;right:44px;box-shadow:0 0 0 10px #d1ab540f,0 0 35px #d1ab542e}.hero-seal b{font-size:32px}.section-head{color:#f2f1e7;margin-top:74px}.section-head h2,.play-heading h2,.decision-header h3{color:#f5f2e8}.section-note{color:#c2cec3}.scenario-card,.score-panel,.choice-card,.real-case-card,.doctrine-card,.trail-card{background:#efebdceb}.play-heading,.decision-header{color:#ecf1e6}.progress-copy,.decision-rule{color:#b8c9bd}@media(max-width:760px){.main-content:before{opacity:.34;background-position:64%}.topbar{background:#0a2327e6}.content-wrap{padding:16px 13px 70px}.hero-card{border-radius:14px;height:650px;min-height:calc(100vh - 105px)}.hero-card:before{letter-spacing:.12em;font-size:8px;top:19px;left:18px}.hero-card:after{letter-spacing:.08em;font-size:8px;bottom:18px;right:18px}.hero-card .hero-content{padding:0 23px 65px}.hero-content h1{font-size:43px}.hero-seal{width:78px;height:78px;top:49px;right:19px}.hero-seal b{font-size:25px}}@media(min-width:761px){.main-content{margin-left:254px}}@media(max-width:760px){.main-content{margin-left:0}.sidebar{left:-270px}.sidebar.is-open{left:0}}.real-case-card{cursor:pointer}.real-case-card:after{content:"ENTER EPISODE  ↗";color:var(--teal);letter-spacing:.12em;opacity:.7;font-family:Georgia,serif;font-size:8px;position:absolute;top:20px;right:20px}.episode-overlay{z-index:100;color:#f5f2e8;background:#10282d;animation:.34s cubic-bezier(.23,1,.32,1) episode-in;position:fixed;inset:0;overflow:hidden}.episode-backdrop{filter:saturate(.78);background:linear-gradient(90deg,#06171bed,#06171bad 35%,#06171b3b 72%,#06171b8c),url(/admin-law-game/assets/taiwan-archive-hero.webp) 50%/cover;position:absolute;inset:0}.episode-backdrop:after{content:"";background:radial-gradient(circle at 55%,#0000 0,#05141747 56%,#040f12d9);position:absolute;inset:0}.episode-topbar{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#071c209e;border-bottom:1px solid #e0bb683b;justify-content:space-between;align-items:center;height:82px;padding:0 34px;display:flex;position:absolute;top:0;left:0;right:0}.episode-exit,.audio-toggle{color:#b7cabc;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;font-size:10px;display:flex}.episode-exit span{color:#e1ba61;font-size:18px}.audio-toggle{color:#d3dfd2}.audio-toggle span{color:#7fcca7;font-size:11px}.audio-toggle.on{color:#e1ba61}.episode-case-title{text-align:center;gap:5px;display:grid}.episode-case-title span{color:#dbb66b;letter-spacing:.18em;font-size:9px}.episode-case-title strong{letter-spacing:.08em;font-family:Noto Serif TC,serif;font-size:15px}.episode-progress{z-index:6;background:#e0bb6829;height:3px;position:absolute;top:81px;left:0;right:0}.episode-progress span{background:linear-gradient(90deg,#bd8d39,#62bc9b);height:100%;transition:width .45s;display:block}.episode-case-meta{z-index:4;gap:8px;display:grid;position:absolute;top:126px;left:7vw}.episode-case-meta span{color:#e0b75f;letter-spacing:.22em;font-size:9px}.episode-case-meta strong{letter-spacing:.08em;font-family:Noto Serif TC,serif;font-size:19px}.episode-case-meta small{color:#a7bdb1;max-width:420px;font-size:10px}.episode-character{z-index:3;pointer-events:none;justify-content:center;align-items:end;width:37vw;height:86vh;display:flex;position:absolute;bottom:0;left:49%}.episode-character img{z-index:2;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 20px 28px #0000006b);max-width:100%;max-height:100%;animation:4s ease-in-out infinite character-breathe;position:relative}.character-aura{filter:blur(18px);background:radial-gradient(circle,#dab46038,#45937c14 45%,#0000 70%);border-radius:50%;width:360px;height:360px;position:absolute;bottom:8%}.dialogue-box{z-index:6;background:linear-gradient(135deg,#0b272bf2,#113033e0);border:1px solid #dab8657a;border-left:4px solid #c18e3c;width:min(550px,45vw);padding:23px 26px 20px;position:absolute;bottom:19vh;left:6vw;box-shadow:0 16px 40px #00000047}.dialogue-name{border-bottom:1px solid #e0bb6838;align-items:baseline;gap:10px;padding-bottom:11px;display:flex}.dialogue-name span{color:#d4b264;letter-spacing:.12em;font-size:9px}.dialogue-name strong{font-family:Noto Serif TC,serif;font-size:17px}.dialogue-box p{color:#e3ece0;margin:15px 0 9px;font-size:15px;line-height:1.9}.dialogue-hint{color:#8db5a2;letter-spacing:.12em;font-size:9px}.episode-choices{z-index:7;gap:8px;width:min(390px,32vw);display:grid;position:absolute;bottom:9vh;right:5vw}.episode-choices button{text-align:left;color:#dfe9de;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:pointer;background:#082226c7;border:1px solid #deebdc3b;grid-template-columns:28px 1fr 15px;align-items:center;gap:10px;padding:12px 13px;transition:all .18s;display:grid}.episode-choices button:hover:not(:disabled),.episode-choices button.selected{background:#214c46e6;border-color:#d4ad5e;transform:translate(-4px)}.episode-choices button:disabled{cursor:default}.choice-letter{color:#ddb767;border:1px solid #8eaa9c;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Georgia,serif;font-size:11px;display:grid}.episode-choices strong,.episode-choices small{display:block}.episode-choices strong{font-size:11px}.episode-choices small{color:#a6bcb0;margin-top:3px;font-size:9px;line-height:1.45}.episode-choices i{color:#d8b463;font-style:normal}.episode-ending{z-index:8;text-align:center;background:radial-gradient(circle,#14464199,#07191deb 62%);align-content:center;justify-items:center;display:grid;position:absolute;inset:0}.ending-kicker{color:#d9b568;letter-spacing:.22em;font-size:10px}.ending-seal{color:#e3bb6c;border:1px solid #d7ae5e;border-radius:50%;place-items:center;width:80px;height:80px;margin:24px 0 15px;font-family:Georgia,serif;font-size:32px;display:grid;box-shadow:0 0 0 8px #d6ae5d14}.ending-grade-label{color:#9dc1ae;letter-spacing:.1em;margin:-9px 0 14px;font-size:10px}.episode-ending h1{margin:0 0 12px;font-family:Noto Serif TC,serif;font-size:39px}.episode-ending p{color:#bacbbd;width:min(490px,78vw);font-size:13px;line-height:1.9}.ending-score{color:#9dc1ae;letter-spacing:.13em;margin:12px 0 25px;font-size:10px}.ending-score strong{color:#e3ba67;margin-left:8px;font-family:Georgia,serif;font-size:20px}.ending-button{color:#f3e8ca;cursor:pointer;background:#103a3ac2;border:1px solid #c49a4b;padding:12px 20px;font-size:11px}.ending-button span{color:#e0b761;margin-left:9px}@keyframes episode-in{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes character-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(max-width:760px){.episode-topbar{height:64px;padding:0 16px}.episode-case-title strong{font-size:12px}.episode-case-title span{font-size:7px}.episode-case-title{max-width:130px}.episode-exit,.audio-toggle{gap:0;font-size:0}.episode-exit span{font-size:21px}.audio-toggle span{font-size:13px}.episode-progress{top:63px}.episode-case-meta{top:90px;left:21px}.episode-case-meta strong{font-size:15px}.episode-case-meta small{max-width:235px;font-size:8px}.episode-character{align-items:end;width:69vw;height:57vh;bottom:30vh;left:31%}.episode-character img{max-height:100%}.dialogue-box{width:auto;padding:14px 15px 12px;bottom:128px;left:17px;right:17px}.dialogue-name strong{font-size:14px}.dialogue-box p{margin:9px 0 5px;font-size:12px;line-height:1.65}.episode-choices{gap:5px;width:auto;bottom:14px;left:17px;right:17px}.episode-choices button{grid-template-columns:24px 1fr 11px;padding:8px 9px}.choice-letter{width:21px;height:21px}.episode-choices small{display:none}.episode-choices strong{font-size:10px}.episode-ending h1{font-size:28px}}@media(prefers-reduced-motion:reduce){.episode-overlay,.episode-character img{animation:none!important}}.episode-scene-count{z-index:5;color:#9ec2af;letter-spacing:.18em;font-family:Georgia,serif;font-size:9px;position:absolute;top:137px;right:6vw}.debrief-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:9px;width:min(720px,84vw);margin:17px 0 12px;display:grid}.debrief-grid>div{background:#0d3637ad;border:1px solid #d6ae5d40;padding:11px 12px}.debrief-grid span,.debrief-grid strong{display:block}.debrief-grid span{color:#d9b568;letter-spacing:.1em;margin-bottom:6px;font-size:9px}.debrief-grid strong{color:#c8d8ca;font-size:10px;font-weight:400;line-height:1.55}.debrief-law{grid-column:1/-1;background:#e0bb681a!important;border-color:#d6ae5d66!important}.achievement-chip{color:#e0bb6c;letter-spacing:.08em;background:#50391652;border:1px solid #d9b56880;padding:7px 12px;font-size:10px;display:inline-block}@media(max-width:760px){.episode-scene-count{font-size:8px;top:92px;right:20px}.debrief-grid{grid-template-columns:1fr;gap:5px;width:82vw;max-height:168px;overflow:auto}.debrief-grid>div{padding:8px 10px}.debrief-grid span{margin-bottom:3px;font-size:8px}.debrief-grid strong,.achievement-chip{font-size:9px}.episode-ending p{margin:7px auto}}.character-profile{background:linear-gradient(110deg,#c18e3c1f,#2a75651a);border:1px solid #c18e3c59;margin:14px -8px 18px;padding:10px 8px;position:relative;overflow:hidden}.character-profile:after{content:"✦ ROLE UNLOCKED";color:#caa85d;letter-spacing:.12em;font-size:7px;position:absolute;top:6px;right:7px}.profile-orbit{background:radial-gradient(circle at 35% 30%,#f0d48e,#a36f32 72%);box-shadow:0 0 0 3px #d6b15b29,0 0 20px #d6b15b33}.character-level{color:#d9bd7b;letter-spacing:.08em;align-self:flex-end;margin-left:auto;font-size:9px;font-weight:800}.user-card .avatar{background:linear-gradient(145deg,#e8c777,#9a6034);box-shadow:0 0 0 3px #d6b15b24}.dialogue-name strong{color:#f3d58b}.episode-character img{transition:filter .2s}@media(max-width:760px){.character-profile:after,.character-level{display:none}.episode-overlay{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.episode-character{bottom:31vh}.dialogue-box{max-height:155px;bottom:205px;overflow-y:auto}.episode-choices{bottom:calc(14px + env(safe-area-inset-bottom))}.episode-ending{min-height:100dvh;padding:84px 0 28px;overflow-y:auto}.result-modal{max-height:calc(100dvh - 32px);overflow-y:auto}}@media(max-width:390px){.episode-case-meta strong{max-width:230px;line-height:1.45}.episode-character{height:53vh;bottom:33vh}.dialogue-box{bottom:214px}.episode-choices button{min-height:38px}}.case-filter{border:1px solid var(--line);background:#fffdf9b8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 1px 20px;padding:10px 12px;display:flex}.case-filter-label{color:#a08e70;letter-spacing:.16em;margin-right:4px;font-family:Georgia,serif;font-size:9px}.case-filter button{color:#7c8880;background:0 0;border:1px solid #ddd4c6;border-radius:999px;padding:7px 10px;font-size:10px;transition:all .18s}.case-filter button:hover{color:var(--teal-deep);background:#f5fbf8;border-color:#9fc0b5}.case-filter button.active{color:#fffdf9;border-color:var(--teal-deep);background:var(--teal-deep);box-shadow:0 4px 12px #0e5b5a2e}.case-filter button span{opacity:.7;margin-left:5px;font-family:Georgia,serif}@media(max-width:760px){.case-filter{align-items:flex-start;gap:6px;padding:10px}.case-filter-label{width:100%;margin-bottom:2px}.case-filter button{padding:7px 9px;font-size:9px}}.not-found-page{text-align:center;min-height:100vh;color:var(--teal-deep);background:var(--paper);align-content:center;place-items:center;gap:14px;padding:24px;display:grid}.not-found-page h1{color:var(--ink);margin:0;font-family:Noto Serif TC,serif;font-size:34px}.not-found-page p{color:#7a8780;margin:0 0 10px;font-size:13px}@media(max-width:760px){body{font-size:15px}.section-kicker,.eyebrow{letter-spacing:.14em;font-size:11px}.hero-card .hero-content:before{letter-spacing:.12em;font-size:11px}.hero-content h1{font-size:clamp(42px,11vw,54px);line-height:1.28}.hero-content p{font-size:15px;line-height:1.85}.hero-meta{font-size:12px;line-height:1.6}.section-head h2,.play-heading h2{font-size:26px;line-height:1.45}.section-note{font-size:13px;line-height:1.85}.scenario-card{min-height:168px;padding:18px 17px 15px}.scenario-icon{width:36px;height:36px;font-size:21px}.scenario-status{font-size:10px}.scenario-eyebrow{margin-top:14px;font-size:11px}.scenario-card h3{margin:5px 0 6px;font-size:21px;line-height:1.45}.scenario-card p{font-size:13px;line-height:1.8}.scenario-foot{padding-top:11px;font-size:12px}.case-filter-label{font-size:10px}.case-filter button{padding:8px 10px;font-size:11px}.case-summary p{font-size:13px;line-height:1.85}.case-label,.timeline-step{font-size:11px}.decision-header h3{font-size:21px;line-height:1.45}.decision-rule{font-size:12px;line-height:1.6}.choice-card{padding:15px 13px}.choice-title-row h4{font-size:15px;line-height:1.45}.choice-tag{font-size:10px}.choice-body p{font-size:13px;line-height:1.7}.consequence-banner strong{font-size:13px}.consequence-banner span{font-size:12px;line-height:1.6}.effect-chips span{font-size:10px}.score-header h3{font-size:21px}.profile-line strong{font-size:14px}.profile-line span,.score-label{font-size:12px}.score-hint,.mini-note strong,.mini-note p{font-size:11px;line-height:1.65}.view-heading h1{font-size:35px;line-height:1.35}.view-heading p{font-size:14px;line-height:1.8}.doctrine-card h3{font-size:22px}.doctrine-card p{font-size:14px;line-height:1.85}.real-case-card h3{font-size:20px;line-height:1.5}.case-summary-copy{font-size:13px;line-height:1.85}.case-fact,.case-law{font-size:12px;line-height:1.75}.source-link{font-size:12px}.episode-case-title strong{font-size:14px}.episode-case-title span{font-size:9px}.episode-case-meta span{font-size:10px}.episode-case-meta strong{font-size:18px;line-height:1.5}.episode-case-meta small{font-size:11px;line-height:1.6}.episode-scene-count{font-size:9px}.dialogue-name span{font-size:10px}.dialogue-name strong{font-size:17px}.dialogue-box p{font-size:14px;line-height:1.8}.dialogue-hint{font-size:10px}.episode-choices{gap:6px}.episode-choices button{min-height:52px;padding:10px}.episode-choices strong{font-size:13px;line-height:1.45}.episode-choices small{margin-top:3px;font-size:11px;line-height:1.45;display:block}.ending-kicker{font-size:11px}.episode-ending h1{font-size:31px}.episode-ending p{font-size:14px;line-height:1.8}.debrief-grid span{font-size:10px}.debrief-grid strong{font-size:11px;line-height:1.65}}@media(max-width:390px){.hero-content h1{font-size:40px}.scenario-card h3{font-size:19px}.episode-case-meta strong{font-size:16px}.dialogue-box{max-height:145px;bottom:235px}.episode-choices button{min-height:48px}.episode-choices strong{font-size:12px}.episode-choices small{font-size:10px}}.episode-backdrop:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#031216d6,#0312169e 42%,#0312161f 72%,#0312166b),linear-gradient(#0312167a,#0000 28%,#0312167a);position:absolute;inset:0}.episode-case-title strong,.episode-case-title span,.episode-case-meta span,.episode-case-meta strong,.episode-case-meta small,.episode-scene-count{text-shadow:0 2px 5px #000000eb,0 0 12px #031216b8}.episode-case-title strong{color:#fffdf3}.episode-case-meta{background:linear-gradient(90deg,#04191de0,#04191d94,#0000);border-left:3px solid #d3a953;border-radius:0 8px 8px 0;padding:12px 16px 13px}.episode-case-meta strong{color:#fffdf3}.episode-case-meta small{color:#e3eee4;font-weight:500}.episode-scene-count{color:#f2d27e;font-weight:700}.dialogue-box{background:linear-gradient(135deg,#03191dfa,#08282af5);border-color:#eec970b8;box-shadow:0 16px 40px #0000007a,0 0 0 1px #00000040}.dialogue-name span,.dialogue-hint{color:#f0cf76}.dialogue-name strong,.dialogue-box p{color:#fffdf3;text-shadow:0 1px 3px #0000009e}.episode-choices button{color:#fffdf3;background:#03191df0;border-color:#ebdcaa8c;box-shadow:0 5px 18px #0003}.episode-choices strong{color:#fffdf3;text-shadow:0 1px 3px #000000b3}.episode-choices small{color:#e1eee2}.choice-letter{color:#f4d277;background:#0003;border-color:#d8bf76}@media(max-width:760px){.episode-backdrop:before{background:linear-gradient(#031216b8,#03121661 26%,#03121638 48%,#031216d1),linear-gradient(90deg,#03121699,#0000 72%)}.episode-case-meta{background:linear-gradient(90deg,#04191df0,#04191db8);padding:10px 12px 11px;right:17px}.episode-case-meta strong{color:#fffdf3}.episode-case-meta small{color:#f0f5ec}.dialogue-box{background:linear-gradient(135deg,#03191dfc,#08282afa)}.episode-choices button{background:#03191dfa}}.episode-backdrop{z-index:0}.episode-backdrop:before,.episode-backdrop:after{z-index:1}.episode-character{z-index:4}.episode-case-meta{z-index:11}.episode-topbar{z-index:12}.dialogue-box{z-index:13}.episode-choices{z-index:14}.episode-character img{opacity:1;visibility:visible}@media(min-width:761px){.episode-character{width:34vw;height:84vh;left:53%}}@media(max-width:760px){.episode-character{z-index:8;align-items:end;width:61vw;height:57vh;bottom:32vh;left:39%}.episode-character img{object-position:bottom center;filter:drop-shadow(0 18px 24px #0009)}.episode-case-meta{z-index:11}.dialogue-box{z-index:13}.episode-choices{z-index:14}}@media(max-width:390px){.episode-character{width:58vw;height:53vh;bottom:34vh;left:42%}}@media(max-width:760px){.episode-character{z-index:8;justify-content:center;align-items:end;width:56vw;height:50vh;top:94px;bottom:auto;left:42%}.episode-character img{object-fit:contain;object-position:bottom center;max-width:100%;max-height:100%}.character-aura{width:240px;height:240px;bottom:5%}.episode-case-meta{background:linear-gradient(90deg,#04191df5,#04191ddb);border-left-width:4px;width:58%;max-width:none;min-height:0;padding:11px 12px 12px 14px;top:92px;left:18px;right:auto}.episode-case-meta strong{font-size:17px;line-height:1.45}.episode-case-meta small{font-size:10px;line-height:1.65;display:block}.episode-scene-count{z-index:12;font-size:8px;top:108px;right:18px}.dialogue-box{z-index:13;width:auto;bottom:205px;left:12px;right:12px}}@media(max-width:390px){.episode-character{width:55vw;height:48vh;top:88px;left:43%}.episode-case-meta{width:60%;padding:9px 10px 10px 12px;top:88px;left:14px}.episode-case-meta strong{font-size:15px}.episode-case-meta small{font-size:9px}.episode-scene-count{top:96px;right:14px}.dialogue-box{bottom:214px;left:10px;right:10px}}.dialogue-box{cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .18s,box-shadow .18s,transform .18s}.dialogue-box:hover{border-color:#f4cf76e6;box-shadow:0 18px 46px #0000006b,0 0 0 1px #f4cf761f}.dialogue-box.is-typing{animation:1.8s ease-in-out infinite dialogue-pulse}.typing-cursor{color:#f0c967;margin-left:3px;animation:.72s step-end infinite cursor-blink;display:inline-block}.episode-choices button{will-change:transform,opacity}.episode-choices button.selected{animation:.52s cubic-bezier(.23,1,.32,1) both choice-confirm}.episode-choices button.selected .choice-letter{animation:.42s cubic-bezier(.23,1,.32,1) both letter-pop}@keyframes dialogue-pulse{0%,to{box-shadow:0 16px 40px #0000007a,0 0 #f0c96724}50%{box-shadow:0 18px 46px #00000085,0 0 0 4px #f0c96714}}@keyframes cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes choice-confirm{0%{transform:translate(0)scale(1)}35%{transform:translate(-7px)scale(1.025)}to{transform:translate(-2px)scale(1)}}@keyframes letter-pop{0%{transform:scale(1)}50%{background:#dab35b33;transform:scale(1.18)}to{transform:scale(1)}}@media(max-width:760px){.dialogue-box:hover{transform:none}.dialogue-box.is-typing{animation-duration:2.2s}.episode-choices button.selected{animation-duration:.42s}}@media(prefers-reduced-motion:reduce){.dialogue-box.is-typing,.typing-cursor,.episode-choices button.selected,.episode-choices button.selected .choice-letter{animation:none!important}}.ad-placeholder{border:1px dashed var(--line);min-height:90px;color:var(--ink-soft);letter-spacing:.08em;background:#00000005;border-radius:10px;justify-content:center;align-items:center;margin:32px 0 8px;font-size:11px;display:flex}.site-footer{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:24px;padding:20px 4px 8px;display:flex}.footer-links{flex-wrap:wrap;gap:16px;font-size:12.5px;display:flex}.footer-links a{color:var(--ink-soft);text-decoration:none}.footer-links a:hover{color:var(--teal);text-decoration:underline}.footer-bottom{color:var(--ink-soft);opacity:.8;font-size:11px}.legal-page{background:var(--paper);min-height:100vh;color:var(--ink);padding:40px 20px 60px}.legal-page__inner{max-width:720px;margin:0 auto}.legal-back{color:var(--teal-deep);align-items:center;gap:6px;margin-bottom:18px;font-size:13px;text-decoration:none;display:inline-flex}.legal-back:hover{text-decoration:underline}.legal-page h1{margin:10px 0 22px;font-family:Noto Serif TC,serif;font-size:26px}.legal-body h2{color:var(--teal-deep);margin:26px 0 8px;font-size:16px}.legal-body p{color:var(--ink);margin:0 0 12px;font-size:14px;line-height:1.8}.legal-body a{color:var(--teal)}.legal-updated{color:var(--ink-soft);margin-top:28px;font-size:12px}.legal-contact-email{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}
