@charset "UTF-8";
:root{--surface:#f2eee5;--surface-bright:#fbf9f4;--ink:#181919;--muted:#736d63;--accent:#a72e2a;--line:#d8d1c6;--ease:cubic-bezier(.16,1,.3,1);--error:#9c302c;--success:#345d4d;--sidebar:232px;--font-ui:"Noto Sans SC","PingFang SC","Microsoft YaHei","Heiti SC",Arial,sans-serif;color-scheme:light;font-size:16px}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scrollbar-color:#b9aea0 var(--surface)}body{margin:0;color:var(--ink);background:var(--surface);font-family:var(--font-ui);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 72% 15%,#fffdf777,transparent 60%),linear-gradient(114deg,#f3efe7,#f8f4ec 54%,#f0e9df);pointer-events:none}
button,input,select,textarea{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{background:none;border:0}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}::selection{background:#a72e2a27;color:#611c1b}input,textarea{caret-color:var(--accent)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:600;text-wrap:balance;line-height:1.35}p{line-height:1.75;text-wrap:pretty}svg{display:inline-block;vertical-align:middle;flex-shrink:0}button svg{pointer-events:none}label{cursor:pointer}input[type=search]::-webkit-search-cancel-button{cursor:pointer}input,textarea,select{min-width:0}input[type=checkbox]{accent-color:var(--accent)}
.skip-link{position:fixed;left:20px;top:-80px;background:var(--ink);color:#fff;padding:10px 18px;z-index:200}.skip-link:focus{top:14px}.app-shell{min-height:100svh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:44px 42px 28px;z-index:30;display:flex;flex-direction:column}.wordmark{font-family:Arial,sans-serif;font-size:1.6rem;letter-spacing:-.045em;line-height:1.1;font-weight:650;display:inline-flex;align-items:center;gap:6px}.wordmark em{color:var(--accent);font-style:normal}.sidebar-nav{margin-top:76px;display:grid;gap:13px}.nav-item{position:relative;text-align:left;padding:12px 0 12px 19px;line-height:1.3;font-size:1.0625rem;color:#383632;transition:color .18s,transform .2s var(--ease);display:flex;align-items:center;gap:11px}.nav-item svg{display:none}.nav-item::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;border-radius:2px;background:var(--accent);transform:scaleY(0);transition:transform .25s var(--ease)}.nav-item.active{color:var(--accent);font-weight:550}.nav-item.active::before{transform:scaleY(1)}.nav-item:hover{color:var(--accent);transform:translateX(2px)}.sidebar-bottom{margin-top:auto;padding-top:35px;display:grid;gap:21px}.sidebar-account{display:flex;align-items:center;gap:12px;font-size:.9375rem}.avatar{width:32px;height:32px;display:grid;place-items:center;border:1px solid #c9bcab;border-radius:50%;color:#7c342d;background:linear-gradient(130deg,#fffdf7,#e5dcd0);font-size:.875rem}.sidebar-caption{font-size:.8125rem;color:var(--muted)}.preview-control{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--muted);text-align:left;padding:5px 0}.preview-control:hover{color:var(--accent)}.sidebar-line{height:1px;background:var(--line);margin-bottom:2px}.mobile-topbar{display:none}.workspace{margin-left:var(--sidebar);padding:88px 70px 80px;min-height:100svh;position:relative;overflow:clip}.page-inner{max-width:1100px;margin:0 auto}.page-heading{font-size:1.625rem;line-height:1.4;font-weight:600;letter-spacing:0}.section-title{font-size:1.1875rem;line-height:1.4;font-weight:600}.page-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:38px}.page-subtitle{font-size:.9375rem;color:var(--muted);margin-top:11px}.section-topline{display:flex;align-items:center;justify-content:space-between;gap:18px}.muted{color:var(--muted)}.accent{color:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:.9375rem;padding:6px 0;line-height:1.4;text-align:left;text-underline-offset:5px}.text-link:hover{text-decoration:underline;text-decoration-thickness:1px}.text-link svg{width:16px;height:16px;transition:transform .2s var(--ease)}.text-link:hover svg{transform:translateX(3px)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 22px;font-size:.9375rem;line-height:1.4;border-radius:10px;transition:background .2s,box-shadow .2s,transform .18s var(--ease);white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{color:#fffbf3;background:linear-gradient(115deg,#161817 5%,#343634 38%,#242624 48%,#171918 90%);background-size:180% 100%;box-shadow:0 5px 12px #23201c12,inset 0 1px #ffffff12}.btn-primary:hover{background-position:80% 0;box-shadow:0 6px 16px #23201c22}.btn-accent{color:#fffaf0;background:linear-gradient(112deg,#8e2521,#b34437 42%,#a02d27)}.btn-quiet{color:var(--ink);background:#e8e1d5a6}.btn-quiet:hover{background:#ddd3c3}.btn-outline{border:1px solid #b9ad9a;background:transparent}.btn-outline:hover{background:#ffffff55}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--muted);transition:background .2s,color .2s}.icon-btn:hover{background:#e7dfd1;color:var(--ink)}.list-row{display:flex;align-items:center;gap:24px;min-height:66px;padding:14px 0}.list-row+.list-row{border-top:1px solid #d8d1c666}.list-main{flex:1;min-width:0}.list-meta{color:var(--muted);font-size:.875rem}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:30px;background:#e8e1d4;color:var(--muted);padding:4px 10px;font-size:.8125rem;font-weight:400;line-height:1.5}.badge.red{background:#a72e2a10;color:var(--accent)}.badge.green{background:#345d4d12;color:var(--success)}.empty-state{padding:60px 20px;text-align:center;color:var(--muted)}.empty-state h3{color:var(--ink);font-size:1.1875rem;margin-bottom:12px}.empty-state p{margin-bottom:20px}.field{display:grid;gap:10px}.field-label{font-size:.9375rem}.text-input,.field input,.field textarea,.field select{width:100%;border:1px solid #c8beaf;background:#fbf9f470;padding:11px 13px;line-height:1.5;border-radius:7px}.field textarea{resize:vertical;min-height:100px}.text-input::placeholder,input::placeholder,textarea::placeholder{color:#82796d}.search-field{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #bfb3a3;max-width:350px}.search-field input{width:100%;background:none;border:0;outline:none;font-size:1rem}.search-field:focus-within{border-color:var(--accent)}.tab-row{display:flex;align-items:center;gap:27px;overflow:auto;scrollbar-width:none}.tab-row button{padding:10px 0;color:var(--muted);white-space:nowrap;position:relative}.tab-row button.active{color:var(--accent)}.tab-row button.active::after{content:"";position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--accent)}.divider{height:1px;background:var(--line);margin:28px 0}.form-error{color:var(--accent);font-size:.875rem;line-height:1.6;min-height:22px}.success-text{color:var(--success)}.numeric{font-variant-numeric:tabular-nums}.edge-fold{position:fixed;right:0;top:23vh;width:43px;height:226px;z-index:20;pointer-events:none;filter:drop-shadow(-9px 12px 8px #674d3620);transform-origin:right center;transition:transform .7s var(--ease)}.edge-fold:hover{transform:rotateY(8deg)}body[data-route=login] .edge-fold{display:none}
#toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,18px);opacity:0;pointer-events:none;z-index:150;color:#fffaf2;background:#242522;padding:12px 23px;border-radius:10px;font-size:.9375rem;box-shadow:0 9px 30px #241e2522;transition:opacity .22s,transform .35s var(--ease);max-width:min(88vw,550px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}#transition{position:fixed;inset:0;pointer-events:none;z-index:100;visibility:hidden;background:linear-gradient(110deg,#e8dfd0,#fffbf4 28%,#f1e9db 54%,#fffaf1 76%,#ede3d3);box-shadow:15px 0 70px #3b261a28;transform:translateX(105%)}.transition-fold{position:absolute;left:-48px;top:0;bottom:0;width:100px;background:linear-gradient(90deg,transparent,#8e2521 23%,#bd4b3a 43%,#f1ded0 47%,#fff9ef 64%,#eee4d5);clip-path:polygon(75% 0,100% 0,100% 100%,75% 100%,42% 84%,60% 65%,20% 42%,55% 20%)}
.studio-backdrop{position:fixed;inset:0;background:#18191933;backdrop-filter:blur(4px);z-index:90;animation:studio-in .22s var(--ease)}.studio-panel{position:fixed;right:22px;top:22px;bottom:22px;width:370px;max-width:calc(100vw - 32px);background:#faf7ef;box-shadow:0 16px 70px #34241427;z-index:91;border-radius:16px;padding:28px;overflow:auto;animation:panel-in .3s var(--ease)}.studio-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.studio-top h2{font-size:1.25rem}.studio-intro{font-size:.875rem;color:var(--muted);margin-bottom:28px}.studio-section{padding-top:24px;border-top:1px solid var(--line);margin-top:24px}.studio-section h3{font-size:1rem;margin-bottom:16px}.screen-links{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.screen-link{text-align:left;padding:9px 0;font-size:.9375rem;color:#4f4941}.screen-link.current{color:var(--accent)}.screen-link:hover{color:var(--accent)}.motion-choice{display:flex;align-items:center;gap:12px;padding:12px 0;width:100%;text-align:left}.motion-choice .radio{width:16px;height:16px;border:1px solid #bcb1a1;border-radius:50%;position:relative}.motion-choice.active .radio{border-color:var(--accent)}.motion-choice.active .radio::after{content:"";position:absolute;inset:3px;background:var(--accent);border-radius:50%}.motion-copy{font-size:.9375rem}.motion-copy span{display:block;font-size:.8125rem;color:var(--muted);margin-top:2px}.studio-panel .btn{width:100%;margin-top:14px}.studio-footer{margin-top:24px;font-size:.8125rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.login-studio-control{position:fixed;bottom:27px;left:36px;z-index:35}.mobile-account{display:none}@keyframes studio-in{from{opacity:0}to{opacity:1}}@keyframes panel-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1700px){.workspace{padding-right:110px;padding-left:100px;}.sidebar{padding-left:50px}}
@media(max-width:1180px){:root{--sidebar:190px}.sidebar{padding:38px 28px 26px}.workspace{padding:70px 42px 70px}.edge-fold{width:29px;height:190px}.sidebar-nav{margin-top:65px}}
@media(max-width:800px){:root{--sidebar:0px}.workspace{margin-left:0;padding:98px 28px 112px;overflow:clip}.sidebar{inset:auto 0 0;width:100%;height:77px;padding:0 18px 7px;background:#f6f1e8f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:40}.sidebar>.wordmark,.sidebar-bottom{display:none}.sidebar-nav{margin:0;display:flex;justify-content:space-around;gap:0;height:100%}.nav-item{padding:12px 5px 6px;display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:.8125rem;min-width:48px}.nav-item svg{display:block;width:20px;height:20px}.nav-item::before{display:none}.nav-item.active{font-weight:500}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;height:76px;padding:0 28px;z-index:25}.mobile-topbar .wordmark{font-size:1.4rem}.mobile-topbar .preview-control{font-size:.8125rem}.edge-fold{width:19px;height:130px;top:22vh}.page-heading{font-size:1.5rem}.page-topline{gap:16px;margin-bottom:28px}.page-topline .btn{padding:9px 15px}.page-topline .badge{display:none}.studio-panel{top:12px;bottom:12px;right:12px}.login-studio-control{left:23px;bottom:20px}.list-row{gap:15px}.sidebar-nav .nav-item[data-route^=admin]{font-size:.75rem}#toast{bottom:95px}.tab-row{gap:23px}.btn{min-height:43px}.section-title{font-size:1.125rem}.login-studio-control .preview-control{font-size:.8125rem}}
@media(max-width:390px){.workspace{padding-left:21px;padding-right:21px}.mobile-topbar{padding:0 21px}.studio-panel{padding:23px}.nav-item{min-width:43px}.wordmark{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#transition{display:none!important}}
.device-backdrop{position:fixed;inset:0;z-index:110;background:#e9e2d6ed;backdrop-filter:blur(10px)}.device-preview{position:fixed;z-index:111;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:65px 16px 24px}.device-frame{pointer-events:auto;width:390px;max-width:100%;height:min(780px,calc(100svh - 100px));background:var(--surface);border-radius:14px;box-shadow:0 20px 70px #38281c33;overflow:hidden}.device-frame iframe{display:block;width:100%;height:100%;border:0}.device-toolbar{position:fixed;z-index:112;top:16px;left:50%;transform:translateX(-50%);width:min(390px,calc(100vw - 32px));display:flex;align-items:center;justify-content:space-between;font-size:.9375rem}.device-toolbar span{color:var(--muted);font-size:.8125rem;margin-left:10px}.device-toolbar .icon-btn{color:var(--ink)}

.sidebar-account>div{min-width:0;overflow-wrap:anywhere}.student-profile-intro h2{overflow-wrap:anywhere}.device-toolbar{pointer-events:auto}
