.contextpack-launch{border-color:var(--color-accent-mint-tag);background:var(--color-accent-mint);color:var(--color-accent-mint-text);padding-right:12px;position:relative}.contextpack-launch-label{border-left:1px solid color-mix(in srgb, var(--color-accent-mint-text) 25%, transparent);padding-left:7px;font-size:10.5px;font-weight:800}.contextpack-unread-dot{background:var(--color-danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--color-surface);border-radius:999px}.contextpack-list-shell,.contextpack-body-shell{width:min(1040px,100% - 32px);margin:0 auto;padding:32px 0 88px}.contextpack-list-header,.contextpack-hero{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 10px 28px color-mix(in srgb, var(--color-text-primary) 4%, transparent)}.contextpack-list-header{padding:26px}.contextpack-list-header h1,.contextpack-hero h1{margin:8px 0 6px}.contextpack-list-header>p:last-child,.contextpack-hero-sub{color:var(--color-text-body);margin:0}.contextpack-kicker,.contextpack-section-label{color:var(--color-accent-mint-text);font-size:var(--type-label-en-size);letter-spacing:.06em;margin:0;font-weight:800}.contextpack-back{width:fit-content;color:var(--color-text-muted);font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.contextpack-back:hover{color:var(--color-text-primary);text-decoration:underline}.contextpack-list-section{margin-top:30px}.contextpack-list-section h2{margin:0 0 12px;font-size:20px}.contextpack-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.contextpack-list-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-height:146px;color:var(--color-text-primary);flex-direction:column;align-items:flex-start;gap:10px;padding:18px;text-decoration:none;display:flex}.contextpack-list-card.is-complete{cursor:pointer;transition:border-color .14s var(--ease-smooth), box-shadow .14s var(--ease-smooth)}.contextpack-list-card.is-complete:hover{border-color:var(--color-accent-mint-tag);box-shadow:0 8px 22px color-mix(in srgb, var(--color-text-primary) 7%, transparent)}.contextpack-list-card.is-incomplete{cursor:default;background:var(--color-surface-alt);color:var(--color-text-muted);box-shadow:none;-webkit-user-select:text;user-select:text;border-style:dashed}.contextpack-list-card-name{color:inherit;margin:0;font-size:17px;font-weight:800}.contextpack-student-count{border-radius:var(--radius-badge);background:var(--color-accent-mint);color:var(--color-accent-mint-text);padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.contextpack-ready-copy,.contextpack-reading-time{margin:auto 0 0;font-size:13px;font-weight:700}.contextpack-ready-copy{color:var(--color-text-quaternary)}.contextpack-state{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:55vh;display:grid}.contextpack-state h1,.contextpack-state p{margin:0}.contextpack-state p{color:var(--color-text-muted)}.contextpack-hero{padding:clamp(24px,4vw,42px)}.contextpack-hero-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.contextpack-print{margin-left:auto}.contextpack-badge,.contextpack-reference{border-radius:var(--radius-badge);background:var(--color-accent-mint);min-height:26px;color:var(--color-accent-mint-text);align-items:center;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.contextpack-badge.is-source{background:var(--color-surface-hover);color:var(--color-text-muted)}.contextpack-badge.is-kind{background:var(--color-warning-bg);color:var(--color-warning-text)}.contextpack-frame-note{border-radius:var(--radius-card);border:1px solid var(--color-accent-mint-tag);background:var(--color-accent-mint);color:var(--color-accent-mint-text);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;padding:16px;display:grid}.contextpack-frame-note p{margin:0;font-size:13.5px;line-height:1.65}.contextpack-toc{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.contextpack-toc a{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface);color:var(--color-text-body);padding:5px 9px;font-size:12px;font-weight:700;text-decoration:none}.contextpack-section{padding-top:52px;scroll-margin-top:32px}.contextpack-section>h2{margin:4px 0 8px;font-size:24px}.contextpack-section>p:not(.contextpack-section-label){color:var(--color-text-body);margin:0 0 18px}.contextpack-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 8px 24px color-mix(in srgb, var(--color-text-primary) 3.5%, transparent)}.contextpack-card h3{margin:0;font-size:16px}.contextpack-card p{color:var(--color-text-body);margin:7px 0 0;font-size:13.5px;line-height:1.65}.contextpack-anchor{border:1px solid var(--color-accent-mint-tag);border-radius:var(--radius-card);background:var(--color-accent-mint);color:var(--color-accent-mint-text);border-left-width:5px;margin-top:16px;padding:20px 22px}.contextpack-anchor>span{font-size:12px;font-weight:800}.contextpack-anchor p{margin:7px 0 10px;font-size:18px;font-weight:700;line-height:1.6}.contextpack-anchor strong{font-size:13px}.contextpack-zoom-grid,.contextpack-stat-grid,.contextpack-glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.contextpack-zoom-grid .contextpack-card,.contextpack-glossary-grid .contextpack-card,.contextpack-stat{padding:18px}.contextpack-visual-card{margin-top:14px;padding:12px;overflow-x:auto}.contextpack-map-figure{min-width:680px;margin:0}.contextpack-map-svg{width:100%;height:auto;display:block}.contextpack-map-path,.contextpack-rel-path{fill:none;stroke:var(--color-text-muted);stroke-width:2px}.contextpack-map-loop{fill:none;stroke:var(--color-danger-hover);stroke-width:2px}.contextpack-arrow-head{fill:var(--color-text-muted)}.contextpack-loop-head{fill:var(--color-danger-hover)}.contextpack-map-path-label{fill:var(--color-text-body);paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round;font-size:9.5px}.contextpack-map-loop-label{fill:var(--color-danger-text);font-size:10px}.contextpack-map-node rect,.contextpack-rel-node rect{fill:var(--color-surface-alt);stroke:var(--color-border)}.contextpack-map-node.is-center rect{fill:var(--color-text-primary);stroke:var(--color-text-primary)}.contextpack-map-node-label{fill:var(--color-text-primary);font-size:13px;font-weight:800}.contextpack-map-node-sub{fill:var(--color-text-muted);font-size:10px}.contextpack-map-node.is-center .contextpack-map-node-label{fill:var(--color-surface)}.contextpack-map-node.is-center .contextpack-map-node-sub{fill:var(--color-border-hover)}.contextpack-school-fence{fill:var(--color-surface-alt);stroke:var(--color-border-hover);stroke-dasharray:6 5}.contextpack-fence-label{fill:var(--color-text-quaternary);font-size:11px;font-weight:800}.contextpack-rel-node.is-outside rect{fill:var(--color-paper)}.contextpack-map-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:16px;padding:2px 10px 8px;font-size:12px;display:flex}.contextpack-map-legend span{align-items:center;gap:7px;display:inline-flex}.contextpack-map-legend i{border-top:2px solid var(--color-text-muted);width:24px}.contextpack-map-legend i.is-guess{border-top-style:dashed}.contextpack-stat{gap:2px;display:grid}.contextpack-stat>strong{font-size:22px}.contextpack-stat-label{color:var(--color-text-body);font-size:13.5px}.contextpack-stat-source{color:var(--color-text-quaternary);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.contextpack-stat-dead{background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:6px;margin-top:6px;padding:4px 8px;font-size:12px}.contextpack-table-wrap{padding:0;overflow-x:auto}.contextpack-table-wrap table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px;line-height:1.55}.contextpack-table-wrap th,.contextpack-table-wrap td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:13px 14px}.contextpack-table-wrap th{background:var(--color-surface-alt);color:var(--color-text-primary);font-weight:800}.contextpack-table-wrap tr:last-child td{border-bottom:0}.contextpack-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.contextpack-person{overflow:hidden}.contextpack-person>header{background:var(--color-surface-alt);align-items:center;gap:12px;padding:18px;display:flex}.contextpack-person>header h3,.contextpack-person>header p{margin:0}.contextpack-person>header p{color:var(--color-text-muted);font-size:12px}.contextpack-avatar{background:var(--color-accent-mint);border-radius:999px;place-items:center;width:46px;height:46px;font-size:23px;display:grid}.contextpack-power-row{flex-wrap:wrap;gap:6px;padding:14px 18px 0;display:flex}.contextpack-power-row span{border-radius:var(--radius-badge);background:var(--color-paper);color:var(--color-text-body);padding:3px 8px;font-size:11px;font-weight:800}.contextpack-person dl,.contextpack-clash dl{gap:10px;margin:0;padding:14px 18px;display:grid}.contextpack-person dl>div,.contextpack-clash dl>div{grid-template-columns:108px 1fr;gap:10px;display:grid}.contextpack-person dt,.contextpack-clash dt{color:var(--color-text-muted);font-size:12px;font-weight:800}.contextpack-person dd,.contextpack-clash dd{color:var(--color-text-body);margin:0;font-size:13px;line-height:1.6}.contextpack-person blockquote{border-left:3px solid var(--color-accent-mint-tag);color:var(--color-text-body);margin:0 18px 16px;padding-left:11px;font-size:13px}.contextpack-person details{border-top:1px solid var(--color-border)}.contextpack-person summary,.contextpack-question summary{cursor:pointer;color:var(--color-text-primary);padding:13px 18px;font-size:13px;font-weight:800}.contextpack-person-back{padding:0 18px 18px}.contextpack-person-back p strong,.contextpack-question p strong{color:var(--color-text-primary);display:block}.contextpack-clash-list,.contextpack-question-list{gap:14px;margin-top:16px;display:grid}.contextpack-clash{overflow:hidden}.contextpack-clash>h3{background:var(--color-surface-alt);padding:16px 18px}.contextpack-clash-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 18px 0;display:grid}.contextpack-clash-options>div{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:13px}.contextpack-question{padding-bottom:14px}.contextpack-question summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.contextpack-question summary>span:last-child{border-radius:var(--radius-badge);background:var(--color-accent-mint);color:var(--color-accent-mint-text);padding:3px 8px;font-size:11px}.contextpack-question>p,.contextpack-question>.contextpack-reference{margin-left:18px;margin-right:18px}.contextpack-missing{background:var(--color-paper);border-style:dashed;margin-top:14px;padding:18px}.contextpack-speak{border-radius:var(--radius-card);background:var(--color-accent-mint);padding:10px;color:var(--color-accent-mint-text)!important}.contextpack-speak strong{display:block}.contextpack-example{color:var(--color-text-muted)!important}@media (width<=820px){.contextpack-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contextpack-people-grid{grid-template-columns:1fr}}@media (width<=620px){.contextpack-card-grid,.contextpack-zoom-grid,.contextpack-stat-grid,.contextpack-glossary-grid,.contextpack-frame-note,.contextpack-clash-options{grid-template-columns:1fr}.contextpack-print{margin-left:0}.contextpack-person dl>div,.contextpack-clash dl>div{grid-template-columns:1fr;gap:2px}}.contextpack-tree-block{margin-top:22px}.contextpack-tree-heading{color:var(--color-text-primary);margin:0 0 4px;font-size:17px}.contextpack-tree-lead{color:var(--color-text-body);margin:0 0 12px;font-size:13.5px;line-height:1.65}.contextpack-tree-figure{margin:0}.contextpack-tree{gap:14px;display:grid}.contextpack-tree-branches{gap:10px;display:grid}.contextpack-tree-root-box{border:1.5px solid var(--color-text-primary);border-radius:var(--radius-card);background:var(--color-surface);padding:14px 16px}.contextpack-tree-kicker{color:var(--color-text-quaternary);letter-spacing:.1em;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.contextpack-tree-root-label{color:var(--color-text-primary);font-size:16px;line-height:1.45;display:block}.contextpack-tree-root-sub{color:var(--color-text-muted);margin:5px 0 0;font-size:12px}.contextpack-tree-formula{border:1px solid var(--color-accent-mint-tag);border-radius:var(--radius-card);background:var(--color-accent-mint);color:var(--color-accent-mint-text);margin-top:10px;padding:12px 14px}.contextpack-tree-formula .contextpack-tree-kicker{color:var(--color-accent-mint-text);opacity:.75}.contextpack-tree-formula-line{word-break:keep-all;overflow-wrap:break-word;text-indent:-.9em;padding-left:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.8;display:block}.contextpack-tree-formula-note{margin:8px 0 0;font-size:12px;line-height:1.6}.contextpack-tree-branch{--tree-hue:var(--color-text-muted);--tree-hue-bg:var(--color-surface-alt);gap:8px;display:grid}.contextpack-tree-branch.is-hue-0{--tree-hue:#1f5f4e;--tree-hue-bg:#e4f0ea}.contextpack-tree-branch.is-hue-1{--tree-hue:#3b4e86;--tree-hue-bg:#e7eaf6}.contextpack-tree-branch.is-hue-2{--tree-hue:#8a6a1f;--tree-hue-bg:#f6eeda}.contextpack-tree-branch.is-hue-3{--tree-hue:#8c4a3a;--tree-hue-bg:#f7e9e4}.contextpack-tree-l1{border:1px solid var(--tree-hue);border-radius:var(--radius-card);background:var(--tree-hue-bg);border-left-width:3px;padding:11px 13px}.contextpack-tree-branch.is-outside .contextpack-tree-l1{border-style:dashed dashed dashed solid}.contextpack-tree-l1-key{color:var(--tree-hue);letter-spacing:.1em;margin-bottom:3px;font-size:10.5px;font-weight:800;display:block}.contextpack-tree-l1-title{color:var(--color-text-primary);font-size:14.5px;line-height:1.45;display:block}.contextpack-tree-tension{border-top:1px dashed var(--tree-hue);color:var(--color-text-body);margin:8px 0 0;padding-top:8px;font-size:12px;line-height:1.6}.contextpack-tree-tension>span{color:var(--tree-hue);letter-spacing:.1em;margin-bottom:2px;font-size:9.5px;font-weight:800;display:block}.contextpack-tree-l2s{gap:7px;display:grid}.contextpack-tree-l2row{gap:6px;display:grid}.contextpack-tree-l2{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface);color:var(--color-text-primary);padding:8px 12px;font-size:13px;font-weight:700;line-height:1.5}.contextpack-tree-l2-tag{color:var(--color-text-quaternary);letter-spacing:.08em;font-size:10px;font-weight:800;display:block}.contextpack-tree-l3s{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.contextpack-tree-l3{border:1px solid var(--color-border);border-left:2px solid var(--tree-hue);border-radius:var(--radius-badge);background:var(--color-surface-alt);color:var(--color-text-body);padding:3px 9px;font-size:12px;line-height:1.5}.contextpack-tree-l3.is-mult{background:var(--color-surface);color:var(--color-text-primary);border-style:dashed dashed dashed solid;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.contextpack-tree-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:16px;padding:10px 2px 2px;font-size:12px;display:flex}.contextpack-tree-legend span{align-items:center;gap:7px;display:inline-flex}.contextpack-tree-legend i{border-top:2px solid var(--color-text-muted);width:24px}.contextpack-tree-legend i.is-outside{border-top-style:dashed}@media (width>=900px){.contextpack-tree{grid-template-columns:236px minmax(0,1fr);align-items:start;column-gap:30px}.contextpack-tree-branches{border-left:1.5px solid var(--color-border-hover);padding-left:28px}.contextpack-tree-branch{grid-template-columns:208px minmax(0,1fr);align-items:start;column-gap:26px;position:relative}.contextpack-tree-branch:before{content:"";border-top:1.5px solid var(--tree-hue);width:28px;position:absolute;top:24px;left:-28px}.contextpack-tree-branch.is-outside:before{border-top-style:dashed}.contextpack-tree-l2s{border-left:1px solid var(--tree-hue);padding-left:22px}.contextpack-tree-branch.is-outside .contextpack-tree-l2s{border-left-style:dashed}.contextpack-tree-l2row{grid-template-columns:196px minmax(0,1fr);align-items:start;column-gap:20px;position:relative}.contextpack-tree-l2row:before{content:"";border-top:1px solid var(--tree-hue);width:22px;position:absolute;top:17px;left:-22px}.contextpack-tree-branch.is-outside .contextpack-tree-l2row:before{border-top-style:dashed}}@media (width>=1100px){.contextpack-tree{grid-template-columns:372px minmax(0,1fr)}.contextpack-tree-branch{grid-template-columns:180px minmax(0,1fr)}.contextpack-tree-l2row{grid-template-columns:168px minmax(0,1fr)}}.contextpack-tree-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.contextpack-tree-check{border-top:2px solid var(--color-text-primary);padding:14px 16px}.contextpack-tree-check.is-leftover{border-top-color:#8a6a1f}.contextpack-tree-check h4{color:var(--color-text-primary);letter-spacing:.06em;margin:0 0 5px;font-size:12px}.contextpack-tree-check.is-leftover h4{color:#8a6a1f}.contextpack-tree-check p{color:var(--color-text-body);margin:0;font-size:13px;line-height:1.6}.contextpack-tree-notes{gap:10px;margin-top:12px;padding:14px 16px;display:grid}.contextpack-tree-notes>div{grid-template-columns:96px minmax(0,1fr);gap:12px;display:grid}.contextpack-tree-notes dt{color:var(--color-text-muted);font-size:12px;font-weight:800}.contextpack-tree-notes dd{color:var(--color-text-body);margin:0;font-size:13.5px;line-height:1.6}@media (width<=720px){.contextpack-tree-checks{grid-template-columns:minmax(0,1fr)}.contextpack-tree-notes>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media print{.contextpack-no-print,.contextpack-toc,.contextpack-back,.contextpack-print,teachermate-nav{display:none!important}html,body,.app-shell{background:var(--color-surface)!important}.contextpack-body-shell{width:100%;padding:0}.contextpack-hero,.contextpack-card{box-shadow:none}.contextpack-section{break-before:auto;padding-top:28px}.contextpack-person,.contextpack-clash,.contextpack-question,.contextpack-visual-card,.contextpack-table-wrap,.contextpack-map-figure,.contextpack-tree-branch,.contextpack-tree-check,table,tr{break-inside:avoid;page-break-inside:avoid}.contextpack-visual-card,.contextpack-table-wrap{overflow:visible}.contextpack-table-wrap table{min-width:0;font-size:10px}.contextpack-map-figure{min-width:0}.contextpack-person details>.contextpack-person-back,.contextpack-question>:not(summary){display:block!important}}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-text-primary:#1c1917;--color-text-body:#57534e;--color-text-muted:#78716c;--color-text-quaternary:#a8a29e;--color-border:#e7e5e4;--color-border-hover:#d6d3d1;--color-surface:#fff;--color-surface-alt:#fafaf9;--color-surface-hover:#f5f5f4;--color-btn-primary:#1c1917;--color-danger:#f43f5e;--color-danger-hover:#e11d48;--color-success:#10b981;--color-info:#0ea5e9;--color-accent-mint:#ddf3ec;--color-accent-mint-tag:#7ec8b5;--color-accent-mint-text:#17644f;--color-paper:#f4f0ea;--color-focus-ring:#0ea5e9;--color-link:#0284c7;--color-success-bg:#ecfdf5;--color-success-text:#059669;--color-success-border:#d1fae5;--color-info-bg:#f0f9ff;--color-info-text:#0284c7;--color-warning-bg:#fef3c7;--color-warning-text:#92400e;--color-danger-bg:#fee2e2;--color-danger-text:#991b1b;--color-progress-bg:#eff6ff;--color-progress-text:#2563eb;--color-avatar-1-from:#fef3c7;--color-avatar-1-to:#fde68a;--color-avatar-1-fg:#92400e;--color-avatar-2-from:#dbeafe;--color-avatar-2-to:#bfdbfe;--color-avatar-2-fg:#1e40af;--color-avatar-3-from:#dcfce7;--color-avatar-3-to:#bbf7d0;--color-avatar-3-fg:#166534;--color-avatar-4-from:#fce7f3;--color-avatar-4-to:#fbcfe8;--color-avatar-4-fg:#9f1239;--font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Noto Sans KR", system-ui, sans-serif;--font-heading:var(--font-body);--radius-card:12px;--radius-btn:10px;--radius-input:10px;--radius-badge:6px;--radius-btn-landing:9999px;--type-hero-size:clamp(48px, 7vw, 88px);--type-hero-weight:600;--type-hero-tracking:-.025em;--type-hero-leading:1.05;--type-body-landing-size:18px;--type-body-landing-leading:1.55;--type-page-title-size:28px;--type-page-title-weight:600;--type-page-title-tracking:-.015em;--type-section-size:20px;--type-section-leading:1.35;--type-card-title-size:16px;--type-card-title-weight:600;--type-label-en-size:13px;--type-label-en-weight:700;--type-label-en-tracking:.08em;--type-label-en-transform:uppercase;--ease-smooth:cubic-bezier(.2, .8, .2, 1)}}@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,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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{.visible{visibility:visible}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.\!transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uppercase{text-transform:uppercase}}:root{--density-card-padding:16px;--density-section-gap:12px;--density-body-weight:400;--density-touch-min:48px;--btn-height-sm:36px;--btn-height-md:40px;--btn-height-lg:48px;--btn-font-size:14px;--btn-font-weight:500;--btn-disabled-opacity:.45}@media (width>=1024px){:root{--density-card-padding:24px;--density-section-gap:16px;--density-body-weight:300;--density-touch-min:36px}}body{font-family:var(--font-body);color:var(--color-text-primary);letter-spacing:-.005em;line-height:1.7;font-weight:var(--density-body-weight)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.35}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--color-surface)}body{background:var(--color-surface);min-width:320px;color:var(--color-text-primary);word-break:keep-all;overflow-wrap:break-word;margin:0}button,input{font:inherit}a{color:inherit}h1{font-size:var(--type-page-title-size);font-weight:var(--type-page-title-weight);letter-spacing:var(--type-page-title-tracking)}.app-shell{background:var(--color-surface);min-height:100vh}.app-main{width:min(1120px,100% - 32px);margin:0 auto;padding:48px 0 80px}.app-main.narrow{width:min(896px,100% - 32px)}.landing{background:var(--color-surface);justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:48px 16px 80px;display:flex}.hero-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:880px;margin:0 auto;display:flex}.hero-label{font-size:var(--type-label-en-size);font-weight:var(--type-label-en-weight);letter-spacing:var(--type-label-en-tracking);text-transform:var(--type-label-en-transform);color:var(--color-text-muted);margin:0}.hero-title{font-size:var(--type-hero-size);font-weight:var(--type-hero-weight);letter-spacing:var(--type-hero-tracking);line-height:var(--type-hero-leading);margin:0}.hero-caption{max-width:640px;font-size:var(--type-body-landing-size);line-height:var(--type-body-landing-leading);color:var(--color-text-body);margin:0}.hero-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.button.pill{border-radius:var(--radius-btn-landing);min-height:56px;padding:0 28px;font-size:16px}.actions{flex-wrap:wrap;gap:10px;display:flex}.button{border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-btn-primary);min-height:44px;color:var(--color-surface);cursor:pointer;font-weight:var(--btn-font-weight);justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.button.secondary{background:var(--color-surface);color:var(--color-text-primary)}.panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);padding:20px}.stack{gap:16px;display:grid}.muted{color:var(--color-text-muted)}textarea{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-input);resize:vertical;width:100%;padding:10px 12px}input:not([type=checkbox]):not([type=radio]){border:1px solid var(--color-border);border-radius:var(--radius-input);width:100%;min-height:44px;padding:0 12px}select{border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);width:100%;max-width:100%;min-height:44px;font:inherit;padding:0 12px}label{gap:6px;font-weight:600;display:grid}.error-text{color:var(--color-danger-text);margin:0;font-size:14px;font-weight:600}.step-progress{flex-wrap:wrap;gap:6px;display:flex}.step-dot{width:28px;height:28px;color:var(--color-text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;font-weight:700;transition:color .12s,background .12s;display:inline-flex}.step-dot:hover{color:var(--color-text-muted)}.step-dot:focus-visible{outline:2px solid var(--color-btn-primary);outline-offset:2px}.step-dot.active{background:var(--color-btn-primary);color:var(--color-surface)}.step-dot.active:hover{color:var(--color-surface)}.step-dot.done{color:var(--color-text-muted)}.step-footer{align-items:center;gap:12px}.resume-card,.persona-card{text-align:left;cursor:pointer;gap:8px;display:grid}.persona-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.persona-card.selected{border-color:var(--color-btn-primary);box-shadow:0 0 0 2px var(--color-btn-primary) inset}.persona-pick-hint{color:var(--color-success-text);margin:0;font-size:13px;font-weight:600}.persona-card-cue{width:fit-content;color:var(--color-info-text);font-size:12px;font-weight:700}.persona-card-cue.selected{color:var(--color-success-text)}.persona-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.persona-illust{flex:none;display:block}.persona-background{color:var(--color-text-body);font-size:14px;line-height:1.55}.persona-stake{border-radius:var(--radius-badge);background:var(--color-paper);width:fit-content;color:var(--color-accent-mint-text);padding:3px 8px;font-size:12px;font-weight:600;line-height:1.4}.check-badge{background:var(--color-success-bg);color:var(--color-success-text);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.dilemma{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.dilemma-npc{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:14px 18px;display:flex}.dilemma-npc-avatar{background:var(--color-accent-mint);border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.dilemma-q{color:var(--color-text-body);padding:16px 18px 6px;font-size:14.5px;line-height:1.65}.dilemma-ab{grid-template-columns:1fr 1fr;gap:12px;padding:12px 18px;display:grid}@media (width<=640px){.dilemma-ab{grid-template-columns:1fr}}.dilemma-ab-card{border:1.5px solid var(--color-border);cursor:pointer;text-align:left;background:var(--color-surface);border-radius:10px;padding:14px}.dilemma-ab-card:hover{border-color:var(--color-border-hover);background:var(--color-surface-hover)}.dilemma-ab-card.picked{border-color:var(--color-text-primary);background:var(--color-surface-alt)}.dilemma-ab-label{color:var(--color-text-q);font-size:12px;font-weight:700}.dilemma-ab-title{margin:4px 0 8px;font-size:14.5px;font-weight:700}.dilemma-ab-line{color:var(--color-text-body);gap:6px;margin-top:5px;font-size:13px;line-height:1.5;display:flex}.dilemma-mitigate{padding:6px 18px 18px}.persona-tag{width:fit-content;color:var(--color-btn-primary);font-size:12px;font-weight:700}.guided-lock{border:1px solid var(--color-success-border);border-radius:var(--radius-badge);background:var(--color-success-bg);width:fit-content;color:var(--color-success-text);padding:3px 8px;font-size:12px;font-weight:800}.case-card-head,.learn-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.learn-topline .learn-room-title{margin:0}.learn-topline-meta{align-items:center;gap:8px;min-width:0;display:flex}.learn-switch-case{border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface);min-height:32px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;flex:none;padding:0 12px;font-size:13px;font-weight:700}.learn-switch-case:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.case-current-chip{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface-alt);color:var(--color-text-muted);white-space:nowrap;flex:none;padding:3px 9px;font-size:12px;font-weight:800}.case-demo-badge{border:1px solid var(--color-warning-text);border-radius:var(--radius-badge);background:var(--color-warning-bg);color:var(--color-warning-text);white-space:nowrap;flex:none;padding:3px 9px;font-size:12px;font-weight:800}.guided-rationale{border:1px solid var(--color-success-border);border-radius:var(--radius-card);background:var(--color-success-bg);color:var(--color-success-text);margin:0;padding:9px 11px;font-size:13px;font-weight:700;line-height:1.55}.guided-rationale p{margin:0}.guided-rationale blockquote{color:var(--color-text-body);margin:6px 0 0;font-weight:500}.mirror-cast-section{background:var(--color-surface-alt)}.mirror-cast-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.mirror-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:7px;padding:12px;display:grid}.mirror-card p,.mirror-card blockquote{margin:0;font-size:13px;line-height:1.55}.mirror-card blockquote{border-left:3px solid var(--color-accent-mint-text);color:var(--color-text-body);padding-left:9px}.journey-map-scroll{width:100%;padding-bottom:4px;overflow-x:auto}.journey-chart{gap:0;display:grid}.emo-swatch{vertical-align:-1px;border-radius:999px;width:11px;height:11px;margin-right:5px;display:inline-block}.emo-swatch.good{background:var(--color-success)}.emo-swatch.ok{background:#d97706}.emo-swatch.low{background:#ea580c}.emo-swatch.valley{background:#dc2626}.journey-legend{color:var(--color-text-body);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:12px;display:flex}.journey-plot-wrap{grid-template-columns:80px 1fr;gap:0;display:grid}.journey-ylabels{color:var(--color-text-muted);font-size:11.5px;position:relative}.journey-ylabels span{white-space:nowrap;text-align:right;line-height:1.15;position:absolute;right:4px;transform:translateY(-50%)}.journey-plot{border-left:1px solid var(--color-border);border-bottom:2px solid var(--color-border-hover);position:relative}.journey-grid-line{border-top:1px dashed var(--color-border);position:absolute;left:0;right:0}.journey-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-dots{display:grid;position:absolute;inset:0}.journey-dot-col{position:relative}.journey-dot{border:3px solid var(--color-surface);width:26px;height:26px;color:var(--color-surface);cursor:pointer;transition:transform .12s var(--ease-smooth);border-radius:999px;place-items:center;padding:0;font-size:13px;font-weight:800;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0000002e}.journey-dot:hover{transform:translate(-50%)scale(1.12)}.journey-dot.good{background:var(--color-success)}.journey-dot.ok{background:#d97706}.journey-dot.low{background:#ea580c}.journey-dot.valley{background:#dc2626}.journey-dot.selected{background:var(--color-text-primary);box-shadow:0 0 0 4px var(--color-surface), 0 0 0 6px var(--color-text-primary)}.journey-dot.pulse{animation:1.6s infinite journeyPulse}@keyframes journeyPulse{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 12px #dc262600}to{box-shadow:0 0 #dc262600}}.journey-dot:focus-visible{outline:2px solid var(--color-btn-primary);outline-offset:3px}.journey-pointer{color:#fff;white-space:nowrap;pointer-events:none;z-index:2;background:#dc2626;border-radius:8px;padding:5px 9px;font-size:11.5px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.journey-pointer:after{content:"";border:5px solid #0000;border-top-color:#dc2626;border-bottom:0;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.journey-xlabels{margin-top:8px;padding-left:80px;display:grid}.journey-xl{text-align:center;padding:0 4px}.journey-xl.picked .jx-stage{color:var(--color-text-primary)}.jx-time{color:var(--color-text-quaternary);font-variant-numeric:tabular-nums;font-size:11px}.jx-stage{color:var(--color-text-body);word-break:keep-all;margin-top:1px;font-size:12.5px;font-weight:600;line-height:1.25}.jx-phase{background:var(--color-surface-hover);color:var(--color-text-muted);border-radius:6px;margin-top:4px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.journey-table{align-items:stretch;display:grid}.journey-table>div{border-bottom:1px solid var(--color-border);padding:9px 11px;font-size:12.5px;line-height:1.4}.jt-label{z-index:1;background:var(--color-surface);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex;position:sticky;left:0}.jt-ic{color:#fff;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.jt-dash{color:var(--color-text-quaternary)}.jt-chip{background:var(--color-surface-hover);color:var(--color-text-body);border-radius:6px;margin:1px 3px 1px 0;padding:2px 7px;font-size:11px;display:inline-block}.jt-cell.picked{box-shadow:inset 0 0 0 2px var(--color-text-primary)}.r-pain .jt-label{color:var(--color-danger-text)}.r-pain .jt-ic{background:var(--color-danger)}.r-pain.jt-cell{background:#fff5f6}.r-do .jt-label{color:var(--color-info-text)}.r-do .jt-ic{background:var(--color-info)}.r-do.jt-cell{background:#f5f8ff}.r-think .jt-label{color:#6d28d9}.r-think .jt-ic{background:#7c3aed}.r-think.jt-cell{background:#f8f6ff}.r-tool .jt-label{color:#475569}.r-tool .jt-ic{background:#475569}.r-tool.jt-cell{background:#f5f7fa}.r-opp .jt-label{color:var(--color-success-text)}.r-opp .jt-ic{background:var(--color-success)}.r-opp.jt-cell{background:#f3fbf5}.journey-toggle-row{padding:10px 0}.journey-toggle{color:var(--color-info-text);background:var(--color-info-bg);cursor:pointer;border:none;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600}.flow-guide{background:linear-gradient(100deg, #fff7ed, var(--color-surface));border-radius:var(--radius-card);border:1px solid #fed7aa;align-items:center;gap:16px;padding:16px 20px;display:flex}.flow-guide.done{background:linear-gradient(100deg, var(--color-success-bg), var(--color-surface));border-color:var(--color-success-border)}.flow-guide-num{color:#fff;background:#dc2626;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.flow-guide.done .flow-guide-num{background:var(--color-success)}.flow-guide-main{flex:1;min-width:0}.flow-guide-main strong{font-size:15px}.flow-guide-main p{color:var(--color-text-body);margin:3px 0 0;font-size:13.5px}.flow-guide-steps{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.flow-guide-steps .fgs{background:var(--color-surface-hover);white-space:nowrap;border-radius:999px;padding:4px 9px}.flow-guide-steps .fgs.on{color:#fff;background:#dc2626;font-weight:700}.flow-guide-steps .fgs-arr{color:var(--color-text-quaternary)}.flow-term{color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border-hover);border-radius:8px;margin:6px 0 0;padding:7px 10px;font-size:12.5px}.flow-term b{color:var(--color-text-primary)}.flow-pick-note{color:var(--color-text-body);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13.5px;display:flex}.flow-pick-badge{background:var(--color-success-bg);color:var(--color-success-text);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.theory{background:var(--color-info-bg);border:1px solid #bae6fd;border-radius:10px;overflow:hidden}.theory>summary{cursor:pointer;color:var(--color-info-text);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:700;list-style:none;display:flex}.theory>summary::-webkit-details-marker{display:none}.theory[open]>summary{border-bottom:1px solid #bae6fd}.theory .fold-hint{color:var(--color-text-quaternary);font-size:11.5px;font-weight:400}.theory-body{color:var(--color-text-body);gap:9px;padding:12px;font-size:12.5px;display:grid}.theory-body p{margin:0}.theory-body .theory-case{background:var(--color-surface);border:1px dashed var(--color-border-hover);border-radius:8px;padding:10px;line-height:1.9}.theory-body b{color:var(--color-text-primary)}.why-hint{color:var(--color-text-quaternary);margin:-2px 0 0;font-size:12px}.why-label{flex-direction:column;gap:4px;display:flex}.why-label-row{justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.why-write-cue{color:var(--color-info-text);background:var(--color-info-bg);border-radius:var(--radius-badge);white-space:nowrap;padding:1px 7px;font-size:11px;font-weight:700}.why-input{border:1.5px dashed var(--color-border-hover);background:var(--color-surface)}.why-input:focus{border-style:solid}.evidence-locked{opacity:.9}.evidence-lock-note{border:1px dashed var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);color:var(--color-text-muted);margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.data-room-collapsible{align-self:start}.data-room-summary{cursor:pointer;border:1px solid var(--color-info);border-radius:var(--radius-card);background:var(--color-info-bg);padding:12px 14px;font-size:14px;font-weight:700;list-style:none}.data-room-summary::-webkit-details-marker{display:none}.data-room-summary:after{content:" ▾";color:var(--color-info-text)}.data-room-collapsible[open] .data-room-summary:after{content:" ▴"}.data-room-collapsible[open] .data-room-summary{margin-bottom:12px}@media (width<=680px){.flow-guide{flex-direction:column;align-items:flex-start;gap:10px}.flow-guide-steps{flex-wrap:wrap}}.scaffold-blank{border:1px dashed var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:12px}.candidate-chip-row{flex-wrap:wrap;gap:8px;display:flex}.suggest-chip{border:1px solid var(--color-success-border);border-radius:var(--radius-badge);background:var(--color-success-bg);width:fit-content;max-width:100%;min-height:36px;color:var(--color-success-text);text-align:left;cursor:pointer;overflow-wrap:anywhere;padding:7px 10px;font-size:13px;font-weight:700}.feature-bridge{background:var(--color-info-bg)}.npc-section{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:18px;display:grid}.npc-persona{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);justify-items:center;gap:8px;padding:16px 16px 18px;display:grid;position:sticky;top:12px}.npc-persona-id{align-items:center;gap:6px;display:flex}.npc-persona-id strong{color:var(--color-text-primary);font-size:16px}.npc-persona-info{text-align:left;gap:9px;width:100%;margin-top:4px;display:grid}.npc-persona-facts{gap:5px;margin:0;display:grid}.npc-persona-facts>div{grid-template-columns:38px 1fr;align-items:baseline;gap:8px;display:grid}.npc-persona-facts dt{color:var(--color-text-muted);margin:0;font-size:10.5px;font-weight:700}.npc-persona-facts dd{color:var(--color-text-body);word-break:keep-all;margin:0;font-size:12.5px;line-height:1.45}.npc-info-label{color:var(--color-accent-mint-text);margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.npc-persona-bg,.npc-persona-goal{color:var(--color-text-body);word-break:keep-all;border-top:1px dashed var(--color-border);margin:0;padding-top:9px;font-size:12.5px;line-height:1.6}.npc-chat{align-content:start;gap:10px;min-width:0;display:grid}.npc-chat-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.npc-chat-head strong{font-size:14.5px}.chat-log{gap:10px;display:grid}.chat-empty{margin:0}.chat-turn{align-items:flex-end;gap:8px;display:flex}.chat-turn.student{justify-content:flex-end}.chat-turn .persona-illust,.chat-turn .persona-photo{flex:none;align-self:flex-start}.persona-photo{object-fit:cover;object-position:center top;background:var(--color-surface-hover);border-radius:999px;flex:none;display:block}.npc-persona>.persona-photo{box-shadow:0 2px 8px #1c19171a}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:82%;padding:10px 13px;font-size:13.5px;line-height:1.55}.chat-turn.persona .chat-bubble{background:var(--color-surface-hover);color:var(--color-text-body);border-top-left-radius:4px}.chat-turn.student .chat-bubble{background:var(--color-info-bg);color:var(--color-info-text);border-top-right-radius:4px}.chat-typing{color:var(--color-text-muted);letter-spacing:2px}.grounding-badge{background:var(--color-info-bg);color:var(--color-info-text);border-radius:5px;align-items:center;gap:4px;margin-top:8px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}@media (width<=680px){.npc-section{grid-template-columns:1fr}.npc-persona{grid-auto-flow:row;position:static}}.limit-note{color:var(--color-btn-primary);margin:0;font-weight:600}.quote-pick{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13.5px;font-weight:400;display:flex}.quote-pick:hover{border-color:var(--color-border-hover)}.quote-pick.on{border-color:var(--color-success-border);background:var(--color-success-bg)}.quote-pick input{margin-top:3px}.compare-table{border-collapse:collapse;width:100%;font-size:.95rem}.compare-table th,.compare-table td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 10px}.compare-table thead th{background:var(--color-surface-hover);font-weight:600}.similar-app-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.similar-app-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;font:inherit;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:border-color .12s,box-shadow .12s;display:flex}.similar-app-card:hover{border-color:var(--color-btn-primary);box-shadow:0 2px 8px #0000000f}.similar-app-card:focus-visible{outline:2px solid var(--color-btn-primary);outline-offset:2px}.similar-app-icon{font-size:28px;line-height:1}.similar-app-shot{width:100%;margin-bottom:4px;display:block}.similar-app-shot svg{border:1px solid var(--color-border);width:100%;height:auto;display:block}.similar-app-title{font-weight:700}.similar-app-desc{font-size:.85em}.similar-app-source{font-size:.78em;font-weight:600}.similar-app-modal-head{align-items:flex-start;gap:12px;display:flex}.similar-app-modal-icon{font-size:36px;line-height:1}.similar-app-modal-shot{flex:0 0 132px}.similar-app-modal-shot svg{border:1px solid var(--color-border);border-radius:12px;width:132px;height:auto;display:block}.similar-app-features{flex-direction:column;gap:4px;margin:0;padding-left:18px;line-height:1.5;display:flex}.export-preview{background:var(--color-surface-hover);border-radius:var(--radius-card);white-space:pre-wrap;word-break:break-word;max-height:320px;margin:0;padding:12px;font-size:.85rem;line-height:1.5;overflow:auto}.back-link{width:fit-content;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.join-qr{text-align:center;align-items:center}.join-code{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:2rem;font-weight:800}.join-qr-img{border-radius:var(--radius-card)}.join-url{word-break:break-all;font-size:.8rem}.emotion-graph{align-items:flex-end;gap:12px;display:flex}.emotion-col{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.emotion-bar-track{background:var(--color-surface-hover);border-radius:var(--radius-badge);align-items:flex-end;width:100%;height:120px;display:flex}.emotion-bar{background:var(--color-btn-primary);border-radius:6px 6px 0 0;width:100%;transition:height .2s}.emotion-bar.low{background:var(--color-danger)}.emotion-stage{font-size:.85rem;font-weight:700}.emotion-note{text-align:center;font-size:.72rem}.demo-line{border-radius:var(--radius-card);background:var(--color-surface-hover);padding:8px 12px}.demo-line p{margin:4px 0 0}.demo-role{color:var(--color-btn-primary);font-size:.78rem;font-weight:700}.interpret-layout{gap:16px;display:grid}.interpret-layout.with-data-room{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start}.data-room-panel{background:var(--color-surface);position:sticky;top:16px}.data-room-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.data-room-head p{margin:4px 0 0;font-size:13px}.data-room-badge{border:1px solid var(--color-border);border-radius:var(--radius-badge);color:var(--color-text-muted);white-space:nowrap;padding:4px 8px;font-size:12px;font-weight:700}.data-room-badge-ref{border-color:var(--color-info);background:var(--color-info-bg);color:var(--color-info-text)}.data-room-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.data-room-chip{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface);min-height:38px;color:var(--color-text-primary);cursor:pointer;font-weight:700}.data-room-chip.active{border-color:var(--color-accent-mint-text);background:var(--color-accent-mint-text);color:var(--color-surface)}.data-room-chip-mini{border-radius:5px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.data-room-chip-mini.m-official{background:var(--color-success-bg);color:var(--color-success-text)}.data-room-chip-mini.m-derived{background:var(--color-info-bg);color:var(--color-info-text)}.data-room-chip.active .data-room-chip-mini{color:var(--color-surface);background:#ffffff2e}.data-room-chart{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);width:100%;padding:8px;overflow-x:auto}.bar-chart-svg{width:100%;min-width:0;height:auto;display:block}.bar-chart-label,.bar-chart-value,.bar-chart-value-inside,.bar-chart-axis{fill:var(--color-text-primary);font-size:13px;font-weight:700}.bar-chart-axis{fill:var(--color-text-muted);font-size:11px}.data-room-insight{border-left:4px solid var(--color-accent-mint-text);background:var(--color-success-bg);color:var(--color-success-text);margin:0;padding:10px 12px;font-weight:700;line-height:1.55}.data-room-source{margin:0;font-size:12px}.data-room-desc{margin:0;font-size:13px;line-height:1.55}.data-room-guide{background:var(--color-info-bg);color:var(--color-text-body);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.55}.data-room-guide strong{color:var(--color-info-text)}.data-room-guide ul{margin:6px 0 0;padding-left:18px}.data-room-guide li{margin-top:4px}.data-room-caveat{color:var(--color-text-muted);margin:0;padding-left:4px;font-size:12.5px}.data-room-src-badge{border-radius:5px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.data-room-src-badge.m-official{background:var(--color-success-bg);color:var(--color-success-text)}.data-room-src-badge.m-derived{background:var(--color-info-bg);color:var(--color-info-text)}.menu-majung-data{gap:14px}.menu-data-section{gap:8px;display:grid}.menu-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.menu-data-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);gap:4px;padding:10px;display:grid}.menu-data-label,.menu-data-card small,.menu-profit-row small{color:var(--color-text-muted);font-size:12px;line-height:1.4}.menu-data-card b,.menu-profit-row b{color:var(--color-text-primary);font-size:18px}.menu-data-tone{border-radius:var(--radius-badge);background:var(--color-info-bg);width:fit-content;color:var(--color-info-text);padding:2px 7px;font-size:12px;font-weight:800}.menu-profit-list{gap:8px;display:grid}.menu-profit-row{border-bottom:1px dashed var(--color-border);grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;padding-bottom:8px;display:grid}.menu-profit-row small{grid-column:1/-1}.data-room-causal{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);flex-direction:column;gap:10px;padding:12px;display:flex}.data-room-causal-title{font-size:14px}.causal-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.causal-row{border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface);padding:8px 10px}.causal-row.excluded{border-left-color:var(--color-border)}.causal-row.core{border-left-color:var(--color-accent-mint-text);background:var(--color-success-bg)}.causal-q{justify-content:space-between;align-items:center;gap:8px;display:flex}.causal-question{font-weight:700}.causal-verdict{border-radius:999px;flex:none;padding:2px 9px;font-size:12px;font-weight:800}.causal-verdict.excluded{color:var(--color-text-muted);background:var(--color-surface-alt);font-weight:600}.causal-verdict.core{color:var(--color-success-text);background:var(--color-success-bg)}.causal-detail{margin:4px 0 0;font-size:12.5px;line-height:1.5}.causal-conclusion{border:1px solid var(--color-accent-mint-tag);border-radius:var(--radius-badge);background:var(--color-surface);color:var(--color-text-primary);border-left-width:4px;margin:0;padding:10px 12px;font-weight:700;line-height:1.55}.evidence-pair{border:1px solid var(--color-success-border);border-radius:var(--radius-card);background:var(--color-success-bg);flex-direction:column;gap:6px;padding:12px;display:flex}.evidence-pair-line{margin:0;line-height:1.55}.evidence-tag{margin-right:6px;font-size:12.5px;font-weight:800;display:inline-block}.evidence-pair-conn{color:var(--color-success-text);margin:2px 0 0;font-weight:700;line-height:1.55}.teacher-demo-bar{z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;width:100%;min-height:52px;padding:8px max(16px,50vw - 504px);display:flex;position:sticky;top:0}.teacher-demo-bar .back-link{flex-shrink:0}.teacher-demo-tag{color:var(--color-text-muted);font-size:12.5px;font-weight:600}.teacher-demo-bar .btn-primary{flex-shrink:0;margin-left:auto}@media (width<=680px){.teacher-demo-tag{display:none}}.join-qr-overlay{z-index:50;color:var(--color-surface);background:#101412eb;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.join-qr-overlay-inner{text-align:center;justify-items:center;gap:16px;display:grid}.join-code-large{letter-spacing:.12em;text-transform:uppercase;font-size:clamp(2.4rem,8vw,5rem)}.join-qr-img-large{border:10px solid var(--color-surface);border-radius:var(--radius-card);background:var(--color-surface)}.join-qr-close{width:44px;height:44px;color:var(--color-surface);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:999px;font-size:28px;line-height:1;position:fixed;top:18px;right:18px}@media (width<=900px){.interpret-layout.with-data-room{grid-template-columns:1fr}.data-room-panel{position:static}}.panel-title{font-size:var(--type-card-title-size);font-weight:var(--type-card-title-weight)}.status-pill{border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-pill.progress{background:var(--color-progress-bg);color:var(--color-progress-text)}.status-pill.done{background:var(--color-success-bg);color:var(--color-success-text)}.status-pill.waiting{background:var(--color-surface-hover);color:var(--color-text-muted)}.ai-status-badge{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface);width:fit-content;color:var(--color-text-body);align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.ai-status-badge .dot{border-radius:50%;flex:none;width:7px;height:7px}.ai-status-badge.ready .dot{background:var(--color-success)}.ai-status-badge.degraded .dot{background:var(--color-warning-text)}.ai-status-badge.offline .dot{background:var(--color-danger)}.progress-list,.report-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.progress-name{font-weight:600}.progress-status{align-items:center;gap:8px;display:inline-flex}.progress-step{color:var(--color-text-muted);font-size:13px}.report-list li{border-bottom:1px solid var(--color-border);padding:8px 0}.report-kind{font-weight:700}.rubric-dot{vertical-align:middle;border-radius:999px;width:10px;height:10px;margin-right:6px;display:inline-block}.rubric-dot.ok{background:var(--color-success)}.rubric-dot.no{background:var(--color-danger)}.dash-shell{width:min(1040px,100% - 32px);margin:0 auto;padding:28px 0 72px}.top-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.session-header,.stat-card,.student-card,.reports-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 10px 28px #1c19170a}.session-header{flex-direction:column;gap:14px;padding:24px;display:flex}.header-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.title-wrap{min-width:0}.dash-shell .back-link{margin-bottom:8px}.title-line{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.dash-shell h1{margin:0;line-height:1.25}.actions-row{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface);min-height:40px;color:var(--color-text-body);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{border-color:var(--color-btn-primary);background:var(--color-btn-primary);color:var(--color-surface)}.danger-btn{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-bg)}.sessions-shell{width:min(1040px,100% - 32px);margin:0 auto;padding:28px 0 72px}.sessions-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.sessions-header h1{margin:0;line-height:1.2}.sessions-action-error{margin:0 0 12px}.sessions-empty{border:1px dashed var(--color-border-hover);border-radius:var(--radius-card);background:var(--color-surface);justify-items:start;gap:10px;padding:28px;display:grid}.sessions-empty strong{color:var(--color-text-primary);font-size:18px}.sessions-grid{gap:14px;display:grid}.session-card{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:box-shadow .15s var(--ease-smooth);border-radius:22px;gap:18px;padding:22px 22px 20px;display:grid;box-shadow:0 10px 28px #1c19170a}.session-card:hover{box-shadow:0 4px 14px #0000000f}.session-card:focus-visible{outline:2px solid var(--color-btn-primary);outline-offset:2px}.session-card.is-ended{opacity:.55}.teacher-session-main{grid-template-columns:112px minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.teacher-session-code-tile{background:var(--color-surface-hover);min-height:74px;color:var(--color-text-primary);text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.07em;border-radius:18px;place-items:center;font-size:18px;font-weight:800;display:grid}.teacher-session-copy{min-width:0;padding-top:4px}.teacher-session-title-row{align-items:center;gap:10px;min-width:0;margin-bottom:6px;display:flex}.teacher-session-title-row h2{color:var(--color-text-primary);letter-spacing:-.02em;word-break:keep-all;margin:0;font-size:21px;font-weight:700;line-height:1.25}.teacher-session-time{margin:0;font-size:13px}.teacher-session-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-label-btn{border:1px solid var(--color-text-primary);background:var(--color-text-primary);min-width:92px;height:40px;color:var(--color-surface);cursor:pointer;transition:all .15s var(--ease-smooth);border-radius:13px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.qr-label-btn:hover{background:var(--color-text-body);border-color:var(--color-text-body)}.qr-label-btn:focus-visible{outline:2px solid var(--color-btn-primary);outline-offset:2px}.teacher-session-stats{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:18px;display:grid}.teacher-session-stats>div{border-left:1px solid var(--color-border);padding:0 18px}.teacher-session-stats>div:first-child{border-left:0;padding-left:2px}.teacher-session-stats .stat-num{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-text-primary);font-size:24px;font-weight:600;line-height:1}.teacher-session-stats .stat-label{color:var(--color-text-muted);margin-top:5px;font-size:11.5px;font-weight:500}.teacher-session-activity,.teacher-session-empty-hint{min-width:0;color:var(--color-text-muted);align-items:center;gap:12px;margin:0;padding-left:2px;font-size:13px;display:flex}.teacher-session-empty-hint{font-size:12.5px}.session-avatar-row{flex-shrink:0;align-items:center;display:flex}.session-avatar{border:2px solid var(--color-surface);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10.5px;font-weight:600;display:inline-flex}.session-avatar-overflow{border:2px solid var(--color-surface);background:var(--color-surface-hover);width:24px;height:24px;color:var(--color-text-muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-8px;font-size:10.5px;font-weight:500;display:inline-flex}.teacher-session-activity .activity-text{flex:1;min-width:0}.teacher-session-activity .activity-text strong{color:var(--color-text-primary);font-weight:600}.danger-modal{border-color:var(--color-danger)}.danger-modal .button:not(.secondary){border-color:var(--color-danger);background:var(--color-danger)}@media (width<=680px){.sessions-header{flex-direction:column;align-items:stretch}.sessions-header .button{width:100%}.session-card{border-radius:20px;padding:18px}.teacher-session-main{grid-template-columns:1fr;gap:14px}.teacher-session-code-tile{width:112px;min-height:56px}.teacher-session-actions{justify-content:flex-start;width:100%}.teacher-session-stats{grid-template-columns:1fr;gap:12px}.teacher-session-stats>div{border-left:0;border-top:1px solid var(--color-border);padding:12px 0 0}.teacher-session-stats>div:first-child{border-top:0;padding-top:0}}.meta-row{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:12px 16px;font-size:13px;display:flex}.meta-item{align-items:center;gap:5px;display:inline-flex}.code-badge{border-radius:var(--radius-input);background:var(--color-surface-hover);min-height:30px;color:var(--color-text-primary);text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.08em;align-items:center;padding:3px 10px;font-size:14px;font-weight:800;display:inline-flex}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.pill.success{background:var(--color-success-bg);color:var(--color-success-text)}.pill.progress{background:var(--color-progress-bg);color:var(--color-progress-text)}.pill.wait{background:var(--color-surface-hover);color:var(--color-text-muted)}.pill.danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.ai-badge{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface);width:fit-content;color:var(--color-text-body);align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.ai-badge:before,.live-pill:before{content:"";background:var(--color-success);border-radius:999px;width:7px;height:7px}.live-pill{background:var(--color-surface-hover);min-height:28px;color:var(--color-text-body);border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.section-kicker{color:var(--color-text-muted);letter-spacing:.08em;margin:0;font-size:12px;font-weight:700}.section-title{color:var(--color-text-primary);margin:2px 0 0;font-size:16px;font-weight:700;line-height:1.35}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.stat-card{background:linear-gradient(180deg, var(--color-surface), var(--color-surface-alt));padding:18px}.stat-num{color:var(--color-text-primary);letter-spacing:-.03em;font-size:32px;font-weight:700;line-height:1}.stat-label{color:var(--color-text-muted);margin-top:8px;font-size:13px;font-weight:600}.content-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;margin-top:16px;display:grid}.main-stack,.side-stack{gap:16px;display:grid}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.section-head h2{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.section-head p{color:var(--color-text-muted);margin:3px 0 0;font-size:12.5px;line-height:1.55}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-card{gap:14px;min-height:188px;padding:16px;display:grid;position:relative;overflow:hidden}.student-card.reported:before{content:"";background:var(--color-danger);width:4px;position:absolute;inset:0 auto 0 0}.student-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-name{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:700;line-height:1.35}.student-meta{color:var(--color-text-muted);margin:2px 0 0;font-size:12px}.student-explore-chip{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:var(--color-surface-alt);color:var(--color-text-muted);margin:5px 0 0;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.step-name{color:var(--color-text-body);margin:0 0 8px;font-size:13px;font-weight:700}.progress-track{background:var(--color-surface-hover);border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--color-btn-primary);height:100%}.progress-fill.done{background:var(--color-success)}.progress-fill.wait{background:var(--color-border-hover)}.student-foot{align-self:end;gap:8px;display:grid}.foot-row{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.reports-card{padding:18px}.report-list-cards{gap:10px;margin-top:12px;display:grid}.report-item{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);padding:12px}.report-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.report-title{color:var(--color-text-primary);font-weight:700}.report-note{color:var(--color-text-muted);margin:6px 0 0;font-size:12.5px;line-height:1.55}.empty-note{color:var(--color-text-muted);margin-top:12px;font-size:13px;line-height:1.6}.guide-card{border:1px dashed var(--color-border-hover);border-radius:var(--radius-card);background:var(--color-surface);padding:18px}.guide-card strong{color:var(--color-text-primary);margin-bottom:4px;font-size:14px;display:block}.guide-card p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.6}@media (width<=920px){.top-grid,.content-grid{grid-template-columns:1fr}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.header-row,.section-head{flex-direction:column;display:flex}.actions-row{flex-wrap:wrap;width:100%}.btn{min-height:48px}.stats-grid,.student-grid{grid-template-columns:1fr}}.qr-fullscreen{z-index:70;background:#1c19179e;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}@supports (color:color-mix(in lab, red, red)){.qr-fullscreen{background:color-mix(in srgb, var(--color-text-primary) 62%, transparent)}}.qr-fullscreen-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);justify-items:center;gap:16px;width:max-content;max-width:92vw;margin:auto;padding:clamp(28px,5vw,52px);display:grid;position:relative;box-shadow:0 24px 80px #1c191738}@supports (color:color-mix(in lab, red, red)){.qr-fullscreen-panel{box-shadow:0 24px 80px color-mix(in srgb, var(--color-text-primary) 22%, transparent)}}.qr-fullscreen-panel{text-align:center}.qr-fullscreen-close{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;border-radius:999px;font-size:28px;line-height:1;position:absolute;top:14px;right:14px}.qr-fullscreen-copy h2{font-size:var(--type-section-size);line-height:var(--type-section-leading);margin:4px 0 0}.qr-fullscreen-code{font-family:var(--font-mono);letter-spacing:.08em;font-size:clamp(96px,18vw,200px);font-weight:800;line-height:1}.qr-live-count{background:var(--color-success-bg);min-height:32px;color:var(--color-success-text);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.qr-live-count span{background:currentColor;border-radius:999px;width:8px;height:8px}.qr-fullscreen-image-wrap{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);place-items:center;width:min(70vw,70vh);padding:14px;display:grid}.qr-fullscreen-image,.qr-fullscreen-placeholder{border-radius:var(--radius-input);width:100%;height:100%}.qr-fullscreen-placeholder{background:var(--color-surface-hover)}@media (width>=768px){.qr-fullscreen-image-wrap{width:min(45vw,45vh)}}.qr-fullscreen-guide{color:var(--color-text-body);word-break:keep-all;margin:0;font-size:16px;font-weight:700}@media (width>=640px){.qr-fullscreen-guide{font-size:20px}}.qr-copy-button{border-radius:999px;min-height:48px}.qr-fullscreen-url{overflow-wrap:anywhere;max-width:100%;color:var(--color-text-muted);font-family:var(--font-mono);margin:0;font-size:12px}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:100%;max-width:420px;padding:24px;box-shadow:0 12px 40px #0f172a2e}.ended-banner{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-hover);color:var(--color-text-body);flex-direction:column;gap:4px;margin-top:12px;padding:12px 16px;font-size:14px;display:flex}.ended-banner strong{color:var(--color-text-primary)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
