:root{color:#282620;font-synthesis:none;text-rendering:optimizelegibility;--paper:#fbf8f1;--paper-strong:#fffdf8;--ink:#282620;--muted:#716d65;--line:#dfd7ca;--accent:#cf6537;--accent-dark:#ad4c26;--accent-soft:#f5e7db;--navy:#29343b;--danger:#b64035;--shadow:0 18px 55px #3a31261f;background:#eee9df;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:#eee9df;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #cf653740}button:disabled{cursor:not-allowed;opacity:.48}.center-screen{min-height:100vh;color:var(--accent-dark);place-content:center;justify-items:center;gap:12px;display:grid}.center-screen p{color:var(--muted);margin:0}.spin{animation:1.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{background:radial-gradient(circle at 10% 0,#fffaf0 0,#0000 35%),#e9e2d5;place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-panel{border:1px solid var(--line);width:min(100%,520px);box-shadow:var(--shadow);background:#fffdf8f0;border-radius:22px;padding:44px}.brand-mark{background:var(--accent);color:#fff;border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin:18px 0 5px;font-size:13px;font-weight:700}.auth-panel h1,.content-page h1,.detail-page h1,.empty-project h1,.modal-card h2{margin:0;font-family:Songti SC,STSong,serif;font-weight:600;line-height:1.25}.auth-panel h1{font-size:38px}.auth-lead,.page-copy,.modal-card>p{color:var(--muted);line-height:1.75}.stack-form{gap:17px;margin-top:25px;display:grid}.stack-form label,.settings-form label,.response-form label{color:#4d4942;gap:8px;font-size:14px;font-weight:650;display:grid}.stack-form input,.stack-form textarea,.settings-form input,.settings-form textarea,.response-form textarea,.compact-create input,.compact-create textarea,.compact-create select{width:100%;color:var(--ink);background:#fffefb;border:1px solid #d8cfc1;border-radius:10px;outline:0;padding:12px 13px}.stack-form input:focus,.stack-form textarea:focus,.settings-form input:focus,.settings-form textarea:focus,.response-form textarea:focus,.compact-create input:focus,.compact-create textarea:focus,.compact-create select:focus{border-color:#ba8267;box-shadow:0 0 0 3px #cf653714}.two-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-note{color:var(--muted);text-align:center;margin:-5px 0 0;font-size:12px}.form-error{color:var(--danger);margin:15px 0 0;font-size:14px}.primary-button,.primary-small,.secondary-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-weight:700;transition:all .15s;display:inline-flex}.primary-button,.primary-small{background:var(--accent);color:#fff;border:0}.primary-button{min-height:50px;padding:0 22px;font-size:16px}.primary-small{min-height:42px;padding:0 18px}.primary-button:hover,.primary-small:hover{background:var(--accent-dark)}.secondary-button{background:#fffdf8;border:1px solid #d5c9ba;min-height:42px;padding:0 16px}.secondary-button:hover{border-color:var(--accent);color:var(--accent-dark)}.text-button,.back-button{cursor:pointer;color:#6b655e;background:0 0;border:0;align-items:center;gap:5px;display:inline-flex}.text-button{justify-content:center;min-height:46px}.back-button{margin-bottom:18px;padding:7px 0}.product-shell{background:#f4f0e8;min-height:100vh}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf8f1f2;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:9px;font-family:Songti SC,serif;font-size:19px;font-weight:700;display:flex}.brand svg{color:var(--accent)}.topbar-actions{align-items:center;gap:13px;display:flex}.topbar select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:260px;height:38px;padding:0 30px 0 10px}.user-name{color:var(--muted);font-size:14px}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover{background:var(--accent-soft)}.role-switcher{justify-content:center;gap:6px;padding:14px 20px 0;display:flex}.role-switcher button{border:1px solid var(--line);cursor:pointer;background:#fffdf8;border-radius:999px;min-width:92px;height:36px;font-size:13px}.role-switcher button.active{border-color:var(--navy);background:var(--navy);color:#fff}.workspace-layout{grid-template-columns:210px minmax(0,1fr);gap:28px;width:min(100%,1320px);margin:0 auto;padding:24px 28px 60px;display:grid}.side-nav{align-self:start;gap:5px;display:grid;position:sticky;top:88px}.side-nav button{cursor:pointer;color:#5e5a53;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:45px;padding:0 14px;display:flex}.side-nav button:hover{background:#ebe4d8}.side-nav button.active{color:var(--accent-dark);background:#fffdf9;font-weight:700;box-shadow:0 4px 15px #3c30220f}.workspace-content{min-width:0}.content-page,.detail-page{border:1px solid var(--line);background:var(--paper-strong);border-radius:16px;min-height:560px;padding:38px 42px;box-shadow:0 10px 38px #372e230f}.content-page>.eyebrow,.detail-page>.eyebrow{margin-top:0}.content-page h1,.detail-page h1{font-size:34px}.page-copy{max-width:760px;margin:10px 0 24px}.page-heading{justify-content:space-between;align-items:start;gap:15px;display:flex}.page-heading .eyebrow{margin-top:0}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-top:32px;display:grid}.metric-grid div{border:1px solid var(--line);background:#fbf6ed;border-radius:13px;gap:8px;padding:24px;display:grid}.metric-grid strong{color:var(--accent-dark);font-family:Georgia,serif;font-size:34px}.metric-grid span{color:var(--muted);font-size:13px}.admin-guidance{border-left:3px solid var(--accent);background:var(--accent-soft);color:#66584e;margin-top:25px;padding:18px;line-height:1.75}.records{border-top:1px solid var(--line);margin-top:24px;display:grid}.record-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:19px 6px;display:grid}.record-row:hover{background:#faf5ec}.record-row span{gap:8px;min-width:0;display:grid}.record-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.6;overflow:hidden}.record-row small{color:var(--muted)}.empty-copy{color:var(--muted);padding:25px 0}.reading-block,.response-block,.timeline-item,.ai-draft{white-space:pre-wrap;border-radius:12px;margin-top:22px;padding:22px;line-height:1.85}.reading-block{border:1px solid var(--line);background:#faf6ee;font-family:Songti SC,serif;font-size:17px}.response-block{border-left:4px solid var(--accent);background:var(--accent-soft)}.response-block h3{margin:10px 0 3px;font-size:14px}.response-block p{margin:3px 0 12px}.response-block small{color:var(--muted)}.timeline-item{background:#f2efe8;padding:14px 18px}.timeline-item p{margin:7px 0 0}.question-image{object-fit:contain;background:#eee;border-radius:10px;width:min(100%,420px);max-height:420px;margin:18px 12px 0 0}.ai-action{margin-top:22px}.ai-draft{background:#fff9ef;border:1px dashed #c99d83;font-family:inherit}.response-form,.inline-compose{gap:20px;margin-top:25px;display:grid}.response-form label small{color:var(--muted);font-weight:400}.inline-compose textarea{resize:vertical;border:1px solid var(--line);border-radius:10px;min-height:100px;padding:13px}.learner-submit{border:1px solid var(--line);background:var(--paper);width:min(100%,480px);min-height:calc(100vh - 138px);box-shadow:var(--shadow);border-radius:18px;margin:0 auto;padding:24px 28px 35px}.project-header{border-bottom:1px solid var(--line);color:#5d5952;justify-content:space-between;padding-bottom:17px;display:flex}.intro{padding:29px 2px 20px}.intro h1{margin:0;font-family:Songti SC,serif;font-size:30px;font-weight:600;line-height:1.35}.intro p{color:var(--muted);font-size:14px;line-height:1.85}.title-brush{object-fit:cover;width:110px;height:10px;margin-top:8px}.question-field{background:#fffdf9;border:1.5px solid #d8cdbb;border-radius:11px;padding:16px}.question-field:focus-within{border-color:#bc8062}.question-field textarea{resize:vertical;background:0 0;border:0;outline:0;width:100%;min-height:220px;line-height:1.75}.field-meta{color:#8b857d;justify-content:space-between;font-size:12px;display:flex}.utility-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:64px;padding:8px 4px;display:grid}button.utility-row{cursor:pointer}.utility-row strong,.utility-row small{display:block}.utility-row strong{margin-bottom:4px}.utility-row small{color:var(--muted)}.utility-row svg:first-child{color:var(--accent)}.upload-label{cursor:pointer}.upload-label input{display:none}.upload-chip{background:var(--accent-soft);max-width:100%;color:var(--accent-dark);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;margin:8px 6px 0 0;padding:7px 10px;font-size:12px;display:inline-flex;overflow:hidden}.learner-submit>.primary-button{width:100%;margin-top:16px}.learner-submit>.text-button{width:100%}.compact-create{border:1px solid var(--line);background:#faf6ee;border-radius:13px;gap:13px;margin:26px 0 34px;padding:22px;display:grid}.compact-create textarea{resize:vertical;min-height:90px}.compact-create .primary-small{justify-self:start}.evidence-picker{border:1px solid var(--line);background:#fff;border-radius:9px;gap:0;max-height:250px;margin:2px 0;padding:8px 13px 12px;display:grid;overflow:auto}.evidence-picker legend{color:var(--muted);padding:0 7px;font-size:13px}.evidence-picker label{cursor:pointer;border-bottom:1px solid #eee8de;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;padding:10px 2px;font-size:13px;line-height:1.5;display:grid}.evidence-picker label:last-of-type{border-bottom:0}.evidence-picker input,.confirm-row input{accent-color:var(--accent)}.ai-button-row{display:flex}.confirm-row{color:#5f5a52;align-items:center;gap:8px;font-size:13px;display:flex}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.item-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:20px}.item-grid article>span{color:var(--accent-dark);font-size:12px;font-weight:700}.item-grid h3{margin:9px 0}.item-grid p{color:#5f5a52;max-height:170px;line-height:1.7;overflow:auto}.item-grid small{color:var(--muted)}.preserve-lines{white-space:pre-wrap}.settings-form{gap:18px;margin-top:28px;display:grid}.settings-form h2{margin:18px 0 0;font-family:Songti SC,serif}.settings-form textarea{resize:vertical;min-height:105px}.invite-section{border-top:1px solid var(--line);margin-top:38px;padding-top:25px}.invite-section>p{overflow-wrap:anywhere;color:var(--muted)}.invite-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:13px 0;display:flex}.invite-row button{color:var(--accent-dark);cursor:pointer;background:0 0;border:0}.empty-project{background:var(--paper-strong);width:min(100% - 36px,760px);box-shadow:var(--shadow);border-radius:18px;margin:60px auto;padding:45px}.empty-project .eyebrow{margin-top:0}.wide-form textarea{min-height:100px}.floating-create{z-index:9;background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:0 17px;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 10px 25px #1c242838}.toast{z-index:60;color:#fff;border-radius:10px;align-items:center;gap:8px;max-width:calc(100% - 30px);padding:11px 15px;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0000002e}.toast button{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.success-toast{background:#3f7660}.error-toast{background:var(--danger)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#211e1987;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper-strong);width:min(100%,520px);max-height:calc(100vh - 36px);box-shadow:var(--shadow);border-radius:18px;padding:32px;overflow:auto}.modal-card .eyebrow{margin-top:0}.modal-card h2{font-size:30px}.join-link,.code-row{border:1px solid var(--line);background:#faf5eb;border-radius:10px;gap:5px;margin-top:12px;padding:14px;display:grid}.join-link span,.code-row span{color:var(--muted);font-size:12px}.join-link strong{overflow-wrap:anywhere;font-size:13px}.code-row{grid-template-columns:1fr auto;align-items:center}.code-row strong{color:var(--accent-dark);letter-spacing:.12em;font-family:ui-monospace,monospace;font-size:24px}.invite-modal>.primary-button{width:100%;margin-top:20px}@media (width<=900px){.workspace-layout{grid-template-columns:1fr;padding:16px 18px 45px}.side-nav{gap:5px;padding-bottom:2px;display:flex;position:static;overflow-x:auto}.side-nav button{width:auto;min-width:max-content;padding:0 12px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.auth-panel{padding:30px 22px}.two-columns{grid-template-columns:1fr}.topbar{height:auto;min-height:62px;padding:10px 14px}.brand span{display:none}.topbar-actions{flex:1;justify-content:flex-end;min-width:0}.topbar select{min-width:0;max-width:175px}.user-name{display:none}.role-switcher{justify-content:flex-start;padding-inline:10px;overflow-x:auto}.workspace-layout{gap:12px;padding:12px 10px 38px}.content-page,.detail-page{border-radius:13px;min-height:0;padding:26px 19px}.content-page h1,.detail-page h1{font-size:29px}.learner-submit{border-radius:13px;min-height:0;padding:22px 18px 30px}.intro h1{font-size:27px}.question-field textarea{min-height:180px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-grid div{padding:16px}.item-grid{grid-template-columns:1fr}.compact-create{padding:16px}.record-row strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.modal-card{padding:26px 20px}.code-row strong{font-size:20px}.floating-create{bottom:14px;right:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
