:root{--bg:#efe3cf;--bg-soft:#f6efe3;--panel:#fffcf7f0;--panel-strong:#fffdfa;--ink:#201915;--ink-soft:#65584d;--line:#dbc8ab;--line-strong:#b59269;--accent:#91382a;--accent-strong:#5d2118;--accent-soft:#91382a14;--success:#2f6d46;--success-soft:#e7f3ea;--error:#a03131;--error-soft:#fde7e5;--shadow:0 28px 64px #49311f1f;--radius-lg:26px;--radius-md:18px;--radius-sm:14px;--font-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--font-title:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;color:var(--ink);font-family:var(--font-sans);letter-spacing:.012em;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#b7833629,#0000 22%),radial-gradient(circle at 100% 0,#91382a1f,#0000 22%),linear-gradient(#ffffff73,#fff0 24%),linear-gradient(#efe3cf 0%,#e6d5bb 100%)}*{box-sizing:border-box}body{min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3,pre{margin:0}#app{min-height:100vh}.app-shell{max-width:1380px;margin:0 auto;padding:24px 18px 56px}.page-frame{flex-direction:column;gap:18px;display:flex}.topbar{margin-bottom:6px}.teacher-topbar{padding:4px 0 8px}.brand-lockup{align-items:center;gap:16px;display:flex}.brand-logo{border-radius:18px;width:76px;height:auto;box-shadow:0 10px 22px #48301c14}.brand-copy{color:var(--ink-soft);margin-top:6px;font-size:14px}.topbar h1{font-family:var(--font-title);letter-spacing:-.025em;font-size:clamp(34px,5vw,52px);line-height:.96}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:800}.message{border-radius:16px;padding:14px 16px;line-height:1.6}.error-message{background:var(--error-soft);color:var(--error)}.success-message{background:var(--success-soft);color:var(--success)}.primary-button,.ghost-button,.link-button{cursor:pointer;border:1px solid #0000;border-radius:999px;min-height:42px;padding:0 18px;transition:transform .16s,background-color .16s,border-color .16s}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff9f3;font-weight:700}.ghost-button,.link-button{color:var(--ink);background:#fffbf5eb;border-color:#b5916c8c}.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{width:100%}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row.compact{gap:8px}.search-input,.admin-form-field input,.field-editor input{background:#ffffffd6;border:1px solid #b5916c80;border-radius:14px;width:100%;min-height:44px;padding:0 14px}.teacher-shell{flex-direction:column;gap:18px;display:flex}.studio-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr);align-items:center;gap:24px;padding:14px 4px 4px;display:grid}.studio-copy h2{font-family:var(--font-title);letter-spacing:-.03em;margin-bottom:14px;font-size:clamp(34px,4.5vw,52px);line-height:.98}.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 #91382a1a;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.studio-visual{justify-content:flex-end;display:flex}.visual-frame{width:min(100%,410px);min-height:290px;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:236px;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(#91382a14,#91382a08);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 #91382a59;margin-top:14px}.upload-runway{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;display:grid}.upload-stage,.upload-empty-guide,.studio-panel,.surface-section,.admin-panel,.admin-summary-grid{box-shadow:var(--shadow);background:linear-gradient(#fffdf9f5,#f6eee0f5);border:1px solid #b5916c57}.upload-stage,.upload-empty-guide,.studio-panel,.admin-panel{border-radius:24px}.upload-stage{padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s}.upload-stage.active{border-color:#91382a61;transform:translateY(-1px);box-shadow:0 22px 40px #48301c1a}.upload-stage-main,.mobile-upload{cursor:pointer;background:#ffffffb8;border:1px dashed #91382a3d;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,.mobile-upload strong{font-family:var(--font-title);color:var(--accent-strong);letter-spacing:-.01em;font-size:19px}.upload-stage-copy span,.mobile-upload span,.upload-stage-steps em,.upload-status,.guide-list div,.surface-note,.summary-item p,.toolbar-hint,.admin-login-copy,.admin-upload-item span,.admin-upload-item em{color:var(--ink-soft);font-size:13px;line-height:1.6}.upload-status{color:var(--accent-strong);font-style:normal;font-weight:700}.upload-stage-steps{flex-direction:column;gap:10px;min-width:112px;display:flex}.upload-stage-steps em{background:#91382a14;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{flex-direction:column;gap:14px;padding:18px;display:flex}.guide-list{flex-direction:column;gap:10px;display:flex}.guide-list div{background:#ffffffad;border-radius:16px;padding:14px 16px}.metric-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-unit{border-bottom:1px solid #b5916c5c;padding:8px 2px 12px}.metric-unit span,.summary-item span,.admin-detail-item span{color:var(--ink-soft);margin-bottom:6px;font-size:13px;display:block}.metric-unit strong,.summary-item strong,.admin-summary-grid .summary-item strong{letter-spacing:-.02em;margin-bottom:6px;font-size:28px;display:block}.studio-surface,.admin-console{box-shadow:var(--shadow);background:linear-gradient(#fffdf9fa,#f6eee0fa);border:1px solid #b5916c57;border-radius:28px;grid-template-columns:minmax(320px,360px) minmax(0,1fr);display:grid;overflow:hidden}.surface-rail,.admin-sidebar{background:#f9f3e9e0;border-right:1px solid #b5916c47}.surface-main,.admin-detail{background:#fffdf9bf}.surface-section{border-bottom:1px solid #b5916c3d;padding:22px}.surface-section:last-child{border-bottom:0}.surface-head,.studio-head,.admin-panel-head,.admin-console-head,.workspace-toolbar{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.surface-head h3,.studio-head h3,.admin-panel-head h3,.admin-console-head h2{font-family:var(--font-title);letter-spacing:-.015em;font-size:24px}.setting-list,.setting-line{flex-direction:column;gap:14px;display:flex}.setting-line>span,.switch-copy span,.fontsize-meta span{color:var(--ink-soft)}.segmented-control{background:#5f20180f;border-radius:16px;gap:4px;width:100%;padding:4px;display:flex}.segmented-control.narrow{max-width:420px}.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-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:#91382a59}.switch-copy{text-align:left;flex-direction:column;gap:6px;display:flex}.switch-copy strong,.fontsize-meta strong,.admin-detail-item 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-line.active .switch-dot{transform:translate(24px)}.fontsize-line{background:#fffdfa;border:1px solid #b5916c66;border-radius:18px;padding:16px 18px}.fontsize-meta{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.fontsize-meta b{color:var(--accent-strong);font-size:22px}.slider-input{width:100%;accent-color:var(--accent)}.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}.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}.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,.admin-upload-item:hover,.admin-export-item:hover{transform:translateY(-2px);box-shadow:0 18px 30px #52311814}.field-card-head{align-items:flex-start;gap:12px;display:flex}.field-card-copy strong{line-height:1.5;display:block}.field-card-copy 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;display:grid}.field-editor span{color:var(--ink-soft);font-size:13px;font-weight:600}.field-actions{flex-wrap:wrap;gap:8px;display:flex}.badge{color:var(--accent);background:#91382a14;border-radius:999px;padding:2px 8px;font-size:12px}.badge[data-kind=question]{color:#205b91;background:#1c528414}.badge[data-kind=identity]{color:#8b5c18;background:#b783361f}.badge[data-kind=summary]{color:#a24a31;background:#91382a1f}.preview-shell{background:#fffdfa;border:1px solid #b5916c4d;border-radius:20px;overflow:hidden}.preview-table-wrap{overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;min-width:700px}.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(120px,1fr));gap:10px;margin-top:12px;display:grid}.label-preview-card{background:#ffffff9e;border:1px solid #b5916c52;border-radius:16px;padding:12px}.label-preview-card strong{margin-bottom:6px;display:block}.label-preview-card span{color:var(--ink-soft);font-size:12px;line-height:1.5}.mobile-only{display:none}.admin-login-shell{justify-content:center;padding:48px 0 12px;display:flex}.admin-login-panel{width:min(460px,100%);box-shadow:var(--shadow);background:linear-gradient(#fffdf9f5,#f6eee0f5);border:1px solid #b5916c57;border-radius:26px;padding:26px}.admin-login-panel h2{font-family:var(--font-title);letter-spacing:-.02em;margin-bottom:12px;font-size:34px;line-height:1}.admin-login-copy{margin-bottom:18px}.admin-form-field{color:var(--ink-soft);flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.admin-console-shell{flex-direction:column;gap:18px;display:flex}.admin-console-head{justify-content:space-between;align-items:flex-start;display:flex}.admin-console-head h2{font-family:var(--font-title);letter-spacing:-.02em;font-size:34px;line-height:1}.admin-panel{padding:20px}.admin-upload-list,.admin-export-list{flex-direction:column;gap:12px;display:flex}.admin-upload-item,.admin-export-item{cursor:pointer;background:#ffffffad;border:1px solid #b5916c57;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.admin-upload-item.active{background:#fff7eed6;border-color:#91382a57}.admin-upload-item strong,.admin-export-item strong{margin-bottom:6px;display:block}.admin-upload-item{text-align:left;flex-direction:column}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-detail-item{background:#ffffff9e;border:1px solid #b5916c4d;border-radius:16px;padding:14px}.json-preview{color:#f8efe3;background:#211a16;border-radius:18px;margin-top:18px;padding:16px;font-size:12px;overflow:auto}@media (width<=1120px){.studio-hero,.upload-runway,.metric-ribbon,.studio-surface,.field-grid,.admin-console,.admin-summary-grid,.admin-detail-grid{grid-template-columns:1fr}.surface-rail,.admin-sidebar{border-bottom:1px solid #b5916c47;border-right:0}.surface-head,.workspace-toolbar,.upload-stage-main,.brand-lockup,.admin-console-head{flex-direction:column;align-items:flex-start}}@media (width<=720px){.app-shell{padding:18px 12px 42px}.brand-logo{width:62px}.desktop-only{display:none!important}.mobile-only{display:block}.mobile-workflow{flex-direction:column;gap:14px;display:flex}.mobile-block{box-shadow:var(--shadow);background:linear-gradient(#fffdf9f5,#f6eee0f5);border:1px solid #b5916c57;border-radius:22px;padding:18px}.mobile-block h3{font-family:var(--font-title);margin-bottom:12px;font-size:22px}.mobile-upload{flex-direction:column;align-items:flex-start}.mobile-metric-grid,.mobile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-metric{background:#ffffffb3;border:1px solid #b5916c4d;border-radius:16px;padding:12px}.mobile-metric span{color:var(--ink-soft);margin-bottom:6px;font-size:12px;display:block}.mobile-metric strong{letter-spacing:-.02em;font-size:22px}.mobile-scope-grid{grid-template-columns:1fr;margin-top:10px}.mobile-field-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.mobile-field-item{background:#ffffffb8;border:1px solid #b5916c52;border-radius:18px;padding:14px}.field-editor{grid-template-columns:1fr}.field-actions .ghost-button{flex:calc(50% - 8px)}.upload-stage-main,.switch-line{flex-direction:column;align-items:flex-start}.upload-stage-steps{width:100%;min-width:0}.segmented-control,.segmented-control.narrow{width:100%;max-width:none}}
