:root{--bg:#ece0cd;--bg-deep:#e4d2b7;--panel:#fffcf7f2;--panel-soft:#faf4eaf0;--panel-strong:#fffdfa;--ink:#1f1814;--ink-soft:#62564d;--line:#dbc8ae;--line-strong:#b5916c;--accent:#903526;--accent-strong:#5f2018;--accent-soft:#90352614;--cool-soft:#1c528414;--success:#2f6c46;--success-soft:#e7f3eb;--error:#9d3131;--error-soft:#fde8e5;--shadow:0 26px 70px #48301c1f;--font-sans:"IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;color:var(--ink);background:radial-gradient(circle at top left, #b7833629, transparent 24%), radial-gradient(circle at top right, #9035261f, transparent 24%), linear-gradient(180deg, #ffffff61, #fff0 22%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100vh;margin:0;overflow-x:hidden}button,input,select{font:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3,pre{margin:0}#app{min-height:100vh}.app-shell{max-width:1360px;margin:0 auto;padding:26px 18px 56px}.page-frame{flex-direction:column;gap:20px;display:flex}.topbar{margin-bottom:18px}.teacher-topbar{padding:8px 4px 2px;animation:.7s cubic-bezier(.2,.75,.2,1) both slideFadeDown}.brand-lockup{align-items:center;gap:18px;display:flex}.brand-mark{width:60px;height:60px;color:var(--accent-strong);background:linear-gradient(145deg,#fff7e9fa,#eedcc0fa);border:1px solid #90352633;border-radius:18px;place-items:center;font-size:30px;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffffbf}.brand-copy{color:var(--ink-soft);margin-top:8px;font-size:15px}.topbar h1{letter-spacing:-.06em;font-size:clamp(38px,5vw,60px);line-height:.94}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:800}.tool-hero,.panel-card,.auth-card{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #b5916c6b;border-radius:28px}.tool-hero{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:18px;padding:22px;animation:.82s cubic-bezier(.2,.75,.2,1) both riseIn;display:grid}.tool-hero-copy{padding:10px 6px 8px}.tool-hero-copy h2,.auth-card h2,.admin-header h2{margin-bottom:14px;font-size:clamp(30px,4vw,44px);line-height:1.02}.hero-copy{color:var(--ink-soft);max-width:62ch;line-height:1.78}.hero-pills{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-pills span{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #9035261a;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700;animation:.5s both softLift}.hero-pills span:nth-child(2){animation-delay:60ms}.hero-pills span:nth-child(3){animation-delay:.12s}.hero-pills span:nth-child(4){animation-delay:.18s}.tool-upload,.auth-card{flex-direction:column;gap:14px;display:flex}.tool-upload{background:linear-gradient(#fffbf5fa,#f6ecdbfa);border:1px solid #b5916c52;border-radius:22px;padding:20px}.tool-upload-head h3,.panel-head h3{font-size:24px}.upload-dropzone{cursor:pointer;background:#ffffffb3;border:1px dashed #9035263d;border-radius:20px;flex-direction:column;gap:8px;padding:20px;display:flex}.upload-dropzone strong{color:var(--accent-strong);font-size:18px}.upload-dropzone span,.upload-hint{color:var(--ink-soft);font-size:13px;line-height:1.6}.file-input{width:100%}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row.compact{gap:8px}.primary-button,.ghost-button,.link-button{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:11px 18px;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff9f3;font-weight:700;box-shadow:0 12px 24px #5f1f1a2e}.ghost-button,.link-button{color:var(--ink);background:#fffaf2e6;border-color:#b5916c80}.primary-button:hover,.ghost-button:hover,.link-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.wide{justify-content:center;width:100%}.message{border-radius:18px;padding:14px 18px;line-height:1.6}.error-message{background:var(--error-soft);color:var(--error)}.success-message{background:var(--success-soft);color:var(--success)}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{background:var(--panel-strong);border:1px solid #b5916c5c;border-radius:22px;flex-direction:column;gap:8px;padding:18px;animation:.7s cubic-bezier(.2,.75,.2,1) both riseIn;display:flex}.stat-card:nth-child(2){animation-delay:50ms}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.15s}.stat-card p,.toolbar-hint,.meta-line{color:var(--ink-soft)}.stat-card strong{letter-spacing:-.04em;font-size:30px}.stat-card span{font-size:13px}.professional-layout{grid-template-columns:minmax(360px,.95fr) minmax(0,1.1fr);gap:16px;display:grid}.control-column{flex-direction:column;gap:16px;display:flex}.panel-card{padding:22px;animation:.72s cubic-bezier(.2,.75,.2,1) both riseIn}.panel-head,.admin-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.control-grid label,.auth-card label{color:var(--ink-soft);flex-direction:column;gap:8px;display:flex}.form-note{color:var(--ink-soft);background:linear-gradient(#fff9f0e6,#f7eedff2);border:1px dashed #9035262e;border-radius:16px;align-items:center;margin-bottom:16px;padding:14px;font-size:14px;line-height:1.7;display:flex}.checkbox-setting{color:var(--ink-soft);flex-direction:column;gap:8px;display:flex}.inline-check{min-height:48px;color:var(--ink);align-items:center;gap:10px;display:inline-flex}.control-grid input,.control-grid select,.auth-card input,.search-input,.field-editor input{background:#ffffffd1;border:1px solid #b5916c80;border-radius:14px;width:100%;padding:12px 14px}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.checkbox-card{background:linear-gradient(#fffdf9f5,#f8f2e8f5);border:1px solid #b5916c66;border-radius:16px;align-items:center;gap:10px;padding:14px;display:flex}.summary-card{background:linear-gradient(#fffdf9f5,#f4ebdbf7)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary-item{background:#ffffff9e;border:1px solid #b5916c57;border-radius:18px;padding:16px}.summary-item span{color:var(--ink-soft);margin-bottom:8px;font-size:13px;display:block}.summary-item strong{letter-spacing:-.04em;margin-bottom:8px;font-size:26px;display:block}.summary-item p{color:var(--ink-soft);font-size:13px;line-height:1.55}.field-studio{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;display:grid}.toolbar-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.field-list,.upload-history{flex-direction:column;gap:12px;display:flex}.field-row,.history-card{background:linear-gradient(#fffdf9f7,#f7f1e8f7);border:1px solid #b5916c61;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.field-row:hover,.history-card:hover{transform:translateY(-2px);box-shadow:0 18px 30px #52311814}.field-main{flex:1;align-items:flex-start;gap:14px;display:flex}.field-main.plain{align-items:center}.field-body{flex:1}.field-main p{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-top:6px;font-size:13px;display:flex}.field-editor{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;margin-top:12px;display:grid}.field-editor span{color:var(--ink-soft);font-size:13px;font-weight:600}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px}.badge[data-kind=question]{background:var(--cool-soft);color:#225a8d}.badge[data-kind=identity]{color:#8b5c18;background:#b783361f}.badge[data-kind=summary]{color:#a04a2a;background:#b554281f}.compact-summary{grid-template-columns:1fr;margin-bottom:18px}.preview-table-wrap{border:1px solid #b5916c61;border-radius:18px;overflow-x:auto}.preview-table{border-collapse:collapse;background:#fffdfa;width:100%;min-width:720px}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid #eadfce;padding:12px 14px;font-size:14px}.preview-table th{color:var(--accent-strong);background:#f4ead8}.label-preview{margin-top:18px}.label-preview-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;display:grid}.label-preview-card{background:#fff9f0f2;border:1px solid #b5916c57;border-radius:16px;padding:14px}.label-preview-card strong{color:var(--accent-strong);margin-bottom:6px;display:block}.label-preview-card span{color:var(--ink-soft);font-size:13px;line-height:1.55}.auth-shell{justify-content:center;padding:36px 0 12px;display:flex}.auth-card{width:min(520px,100%);padding:28px}.admin-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-header{margin-bottom:0}.aside-panel{align-self:start}.history-card{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start}.history-card span{color:var(--ink-soft);font-size:13px}.history-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px #8f33252e}.detail-column{flex-direction:column;gap:18px;display:flex}.json-preview{color:#f8efe3;background:#201814;border-radius:18px;margin-top:18px;padding:16px;font-size:12px;overflow:auto}@keyframes slideFadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes softLift{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.teacher-topbar,.tool-hero,.panel-card,.stat-card,.hero-pills span{animation:none!important}.field-row,.history-card,.primary-button,.ghost-button,.link-button{transition:none!important}}@media (width<=1120px){.tool-hero,.professional-layout,.field-studio,.card-grid,.admin-layout,.control-grid{grid-template-columns:1fr}.panel-head,.toolbar-row,.admin-header,.brand-lockup{flex-direction:column;align-items:flex-start}}@media (width<=720px){.app-shell{padding:18px 12px 42px}.tool-hero,.panel-card,.auth-card{border-radius:22px;padding:18px}.field-row,.checkbox-card,.history-card{flex-direction:column;align-items:flex-start}.field-editor{grid-template-columns:1fr}.field-actions{width:100%}.field-actions .ghost-button{flex:calc(50% - 8px)}.summary-item strong{font-size:22px}}.saas-hero{box-shadow:var(--shadow);background:linear-gradient(#fffdf9eb,#f7eedfeb);border:1px solid #b5916c6b;border-radius:30px;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:18px;padding:24px;animation:.82s cubic-bezier(.2,.75,.2,1) both riseIn;display:grid}.saas-copy{padding:10px 6px 6px}.saas-copy h2{letter-spacing:-.05em;margin-bottom:14px;font-size:clamp(32px,4.5vw,48px);line-height:1}.saas-upload-card{background:#ffffff94;border:1px solid #b5916c57;border-radius:24px;flex-direction:column;gap:14px;padding:20px;display:flex}.upload-surface{cursor:pointer;background:#ffffffc2;border:1px dashed #9035263d;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.hidden-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-surface-text{flex-direction:column;gap:6px;display:flex}.upload-surface-text strong{color:var(--accent-strong);font-size:18px}.upload-surface-text span{color:var(--ink-soft);font-size:13px;line-height:1.6}.upload-surface-badge{flex-shrink:0}.upload-surface-badge span{color:var(--accent-strong);background:#90352614;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.metrics-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.workspace-shell{grid-template-columns:minmax(320px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.workspace-rail,.workspace-main{flex-direction:column;gap:18px;display:flex}.workspace-block{box-shadow:var(--shadow);background:linear-gradient(#fffdf9f5,#f7f1e8f5);border:1px solid #b5916c5c;border-radius:24px;padding:22px;animation:.72s cubic-bezier(.2,.75,.2,1) both riseIn}.workspace-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.workspace-head h3{font-size:24px}.setting-stack{flex-direction:column;gap:16px;display:flex}.setting-item{flex-direction:column;gap:10px;display:flex}.setting-item>span,.fontsize-meta span,.switch-copy span,.workspace-note,.summary-item p,.field-card-copy p,.toolbar-hint{color:var(--ink-soft)}.segmented-control{background:#5f20180f;border-radius:16px;gap:4px;padding:4px;display:flex}.segmented-button{min-height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;font-weight:700}.segmented-button.active{color:var(--accent-strong);background:#fffdf9;box-shadow:0 8px 20px #48301c14}.switch-card{cursor:pointer;background:#fffdfa;border:1px solid #b5916c66;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.switch-card.active{background:linear-gradient(#fff7eefa,#f9efe4fa);border-color:#90352659}.switch-line{cursor:pointer;background:#fffdfa;border:1px solid #b5916c66;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.switch-line.active{background:linear-gradient(#fff7eefa,#f9efe4fa);border-color:#90352659}.switch-copy{text-align:left;flex-direction:column;gap:6px;display:flex}.switch-copy strong,.fontsize-meta strong{font-size:15px}.switch-rail{background:#5f201824;border-radius:999px;flex-shrink:0;width:56px;height:32px;position:relative}.switch-dot{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .22s;position:absolute;top:4px;left:4px;box-shadow:0 6px 14px #48301c1f}.switch-card.active .switch-dot{transform:translate(24px)}.fontsize-card{background:#fffdfa;border:1px solid #b5916c66;border-radius:18px;padding:16px 18px}.fontsize-meta{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.fontsize-meta b{color:var(--accent-strong);font-size:22px}.slider-input{width:100%;accent-color:var(--accent)}.workspace-note{margin:16px 0 18px;font-size:14px;line-height:1.7}.scope-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;display:grid}.scope-chip{background:#ffffffc2;border:1px solid #b5916c57;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-card{background:#ffffffb8;border:1px solid #b5916c57;border-radius:20px;flex-direction:column;gap:12px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.field-card:hover{transform:translateY(-2px);box-shadow:0 18px 30px #52311814}.field-card-head{align-items:flex-start;gap:12px;display:flex}.field-card-copy{flex:1}.field-card-copy strong{line-height:1.5;display:block}.field-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1120px){.saas-hero,.workspace-shell,.metrics-strip,.field-grid{grid-template-columns:1fr}.workspace-head,.workspace-toolbar,.brand-lockup{flex-direction:column;align-items:flex-start}}@media (width<=720px){.saas-hero,.workspace-block{padding:18px}.upload-surface,.switch-card{flex-direction:column;align-items:flex-start}.scope-grid{grid-template-columns:1fr}.segmented-control{width:100%}.field-actions .ghost-button{flex:calc(50% - 8px)}}.studio-hero{grid-template-columns:minmax(0,1.25fr) minmax(340px,.95fr);align-items:center;gap:28px;padding:18px 6px 8px;animation:.82s cubic-bezier(.2,.75,.2,1) both riseIn;display:grid}.studio-copy h2{letter-spacing:-.06em;margin-bottom:14px;font-size:clamp(34px,4.5vw,54px);line-height:.98}.studio-visual{justify-content:flex-end;display:flex}.visual-frame{width:min(100%,430px);min-height:300px;position:relative}.visual-sheet,.visual-slip{background:linear-gradient(#fffdf9fa,#f6eee0fa);border:1px solid #b5916c57;border-radius:24px;position:absolute;box-shadow:0 24px 50px #48301c1a}.visual-sheet{padding:18px;inset:0 58px 52px 0;transform:rotate(-2deg)}.visual-slip{width:240px;padding:16px;bottom:0;right:0;transform:rotate(4deg)}.visual-header-row{color:var(--ink-soft);justify-content:space-between;margin-bottom:16px;font-size:13px;display:flex}.visual-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.visual-grid i{background:linear-gradient(#90352614,#90352608);border:1px solid #b5916c38;border-radius:12px;height:42px;display:block}.visual-slip-top{color:var(--accent-strong);margin-bottom:12px;font-size:14px;font-weight:700}.visual-slip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.visual-slip-grid span{background:#ffffffd1;border:1px solid #b5916c42;border-radius:10px;place-items:center;height:34px;font-size:13px;display:grid}.visual-slip-line{border-bottom:2px dashed #90352659;margin-top:14px}.upload-runway{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:stretch;gap:18px;display:grid}.upload-stage,.upload-empty-guide,.surface-section{background:linear-gradient(#fffdf9f5,#f6eee0f5);border:1px solid #b5916c57}.upload-stage{border-radius:26px;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s}.upload-stage.active{border-color:#90352661;transform:translateY(-1px);box-shadow:0 22px 40px #48301c1a}.upload-stage-main{cursor:pointer;background:#ffffffb8;border:1px dashed #9035263d;border-radius:20px;justify-content:space-between;gap:18px;padding:20px;display:flex}.upload-stage-copy{flex-direction:column;gap:8px;display:flex}.upload-stage-copy strong{color:var(--accent-strong);font-size:20px}.upload-stage-copy span,.upload-stage-steps em{color:var(--ink-soft);font-size:13px;line-height:1.6}.upload-status{color:var(--accent-strong);font-size:13px;font-style:normal;font-weight:700}.upload-stage-steps{flex-direction:column;gap:10px;min-width:112px;display:flex}.upload-stage-steps em{background:#90352614;border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-style:normal;display:inline-flex}.upload-stage-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.upload-empty-guide{border-radius:26px;flex-direction:column;gap:14px;padding:18px;display:flex}.guide-list{flex-direction:column;gap:10px;display:flex}.guide-list div{color:var(--ink-soft);background:#ffffffad;border-radius:16px;padding:14px 16px;line-height:1.6}.metric-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:8px 0;display:grid}.metric-unit{border-bottom:1px solid #b5916c5c;padding:6px 2px 10px}.metric-unit span{color:var(--ink-soft);margin-bottom:6px;font-size:13px;display:block}.metric-unit strong{letter-spacing:-.05em;margin-bottom:6px;font-size:30px;display:block}.metric-unit p{color:var(--ink-soft);font-size:13px;line-height:1.55}.studio-surface{box-shadow:var(--shadow);background:linear-gradient(#fffdf9fa,#f6eee0fa);border:1px solid #b5916c57;border-radius:30px;grid-template-columns:minmax(320px,370px) minmax(0,1fr);gap:0;display:grid;overflow:hidden}.surface-rail{background:#f9f3e9e0;border-right:1px solid #b5916c47}.surface-main{background:#fffdf9bf}.surface-section{border:0;border-bottom:1px solid #b5916c3d;border-radius:0;padding:22px}.surface-section:last-child{border-bottom:0}.surface-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.surface-head h3{font-size:24px}.setting-list{flex-direction:column;gap:16px;display:flex}.setting-line{flex-direction:column;gap:10px;display:flex}.setting-line>span,.workspace-note,.surface-note,.guide-list div,.upload-hint{color:var(--ink-soft)}.surface-note{margin:16px 0 18px;font-size:14px;line-height:1.7}.workspace-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.segmented-control.narrow{width:100%;max-width:420px}.segmented-control.narrow .segmented-button{font-size:13px}.preview-shell{background:#fffdfa;border:1px solid #b5916c4d;border-radius:20px;overflow:hidden}@media (width<=1120px){.studio-hero,.upload-runway,.metric-ribbon,.studio-surface,.field-grid{grid-template-columns:1fr}.surface-rail{border-bottom:1px solid #b5916c47;border-right:0}.surface-head,.workspace-toolbar,.upload-stage-main,.brand-lockup{flex-direction:column;align-items:flex-start}}@media (width<=720px){.studio-hero,.upload-stage,.upload-empty-guide,.surface-section{padding:18px}.upload-stage-main,.switch-line{flex-direction:column;align-items:flex-start}.upload-stage-steps{width:100%;min-width:0}.metric-unit strong{font-size:24px}.segmented-control,.segmented-control.narrow{width:100%;max-width:none}.field-actions .ghost-button{flex:calc(50% - 8px)}}
