/* Account entry: an opaque, standalone surface, never a view into private content. */
.account-chevron{display:none!important}
.app .rail-top .logo{display:grid;place-items:center;line-height:1;padding:0;align-self:center}
.app .rail-top .logo svg{display:block;margin:auto;flex:none}
.composer-foot .voice-input{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:1px solid #ffffff90;border-radius:50%;background:#ffffff60;color:#454b48}
.voice-input svg{display:block;width:21px;height:21px;margin:auto}.voice-input.recording{color:#b33b3b;background:#fff0ee}
.voice-status{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;color:#777}.voice-status span{flex:1}.voice-status button{padding:2px 8px}.voice-status[hidden]{display:none}
/* Portrait keeps the document and the conversation visible together. */
@media(max-width:900px){
  #chatPage.has-private-panel:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(250px,1fr);gap:12px}
  #chatPage.has-private-panel .private-panel:not([hidden]){position:relative!important;inset:auto!important;grid-column:1!important;grid-row:1!important;min-height:0;overflow:hidden;z-index:1}
  #chatPage.has-private-panel .conversation{grid-column:1!important;grid-row:2!important;min-height:0;overflow:hidden}
  #chatPage.has-private-panel .private-splitter{display:none!important}
  #chatPage.has-private-panel .private-head{padding:8px 10px;gap:8px;min-height:48px}
  #chatPage.has-private-panel .private-head strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #chatPage.has-private-panel .private-head-actions{gap:4px}
  #chatPage.has-private-panel .private-head-actions button{padding:6px 8px;font-size:11px}
  #chatPage.has-private-panel .private-toolbar{padding:6px;gap:4px}
  #chatPage.has-private-panel .private-toolbar button{padding:5px 7px;font-size:11px}
  #chatPage.has-private-panel .composer textarea{min-height:38px}
  #chatPage.has-private-panel .composer{padding:12px 14px 10px}
  #chatPage.has-private-panel .composer-wrap{padding-top:4px}
  #chatPage.has-private-panel .private-file-menu{width:190px}
}
#auth.auth-page{position:fixed;inset:0;z-index:100;display:block;overflow:auto;padding:0;background:radial-gradient(ellipse at 18% 18%,#fff 0,#f1f3f3 55%,#e9eded 100%);backdrop-filter:none}
#auth[hidden]{display:none!important}
.auth-layout{max-width:1180px;min-height:100dvh;margin:auto;padding:48px 40px;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:100px}
.auth-story{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:0 0 4px}
.auth-brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:650;letter-spacing:1px}.auth-brand .logo{display:grid;place-items:center;width:44px;height:44px;font-size:25px}.auth-brand-caption{font-size:12px;font-weight:400;letter-spacing:1px;color:#7c8586;margin-left:12px}
.auth-story-body{padding:45px 0}.auth-kicker{font-size:12px;color:#7b8585;letter-spacing:1.5px}.auth-story h1{font-size:44px;line-height:1.4;letter-spacing:-1.4px;font-weight:550;margin:20px 0}.auth-story-body>p{font-size:15px;line-height:1.9;color:#7a8385;margin:0}
.auth-illustration{max-width:365px;margin:34px 0 0;padding:22px;border:1px solid #fff;border-radius:26px;background:linear-gradient(140deg,#ffffffda,#e9eeee88);box-shadow:0 18px 40px #35444408,inset 0 1px 1px white;transform:rotate(-2deg)}
.auth-demo-heading{display:flex;justify-content:space-between;font-size:12px;color:#788482;margin-bottom:18px}.auth-demo-heading>span:last-child{color:#687c74}.auth-demo-card{display:flex;align-items:center;gap:14px;background:#ffffffb5;border:1px solid white;border-radius:16px;margin:10px 0;padding:15px}.auth-demo-icon{width:34px;height:34px;background:#eaf0ed;border-radius:12px;display:grid;place-items:center;color:#61766b;font-size:18px}.auth-demo-card strong{display:block;font-size:13px;font-weight:550}.auth-demo-card small{display:block;font-size:11px;color:#8b9592;margin-top:5px}.auth-demo-bottom{display:flex;justify-content:space-between;color:#909997;font-size:10px;padding:10px 2px 0}.auth-local-note{font-size:11px;color:#939b9d;line-height:1.7;margin:0}
.auth-form-panel{min-width:0}.auth-card.modal{width:100%;max-height:none;padding:40px;border-radius:30px;border:1px solid #fff;background:linear-gradient(150deg,#ffffffed,#f9fbfad9);box-shadow:0 24px 70px #3446430c,inset 0 1px 1px white}
.auth-card h2{font-size:28px;font-weight:600;letter-spacing:-.5px;margin:13px 0 10px}.auth-card #authDescription{font-size:13px;color:#85908d;line-height:1.8;margin:0 0 28px}.auth-field{margin-top:20px}.auth-card label{display:block;font-size:13px;font-weight:500;color:#454f4c;margin:0 0 9px}.auth-card input{display:block;width:100%;height:49px;margin:0;border:1px solid #e2e8e5;border-radius:13px;background:#f4f7f580;padding:0 14px;font:inherit;font-size:15px;color:#29322e;box-shadow:inset 0 1px 3px #30483b03;min-width:0}.auth-card input::placeholder{color:#a0aaa5;font-size:13px}.auth-card input:focus{background:white;border-color:#94a79c;outline:2px solid #8ca39322;outline-offset:2px}.auth-card input[aria-invalid=true]{border-color:#ba6666}.auth-field small{display:block;font-size:11px;color:#8c9690;line-height:1.6;margin-top:8px}.auth-field [hidden]{display:none}.auth-password{position:relative}.auth-password input{padding-right:65px}.auth-password button{position:absolute;right:5px;top:5px;padding:0 9px;min-width:48px;height:39px;border:0;box-shadow:none;background:transparent;border-radius:9px;color:#6c7972;font-size:12px}.auth-card #authCaps{color:#9c7333}.auth-card .auth-error{margin:18px 0 0;padding:11px 13px;border-radius:11px;background:#fbefed;color:#a44f49;font-size:12px;line-height:1.6;min-height:0}.auth-card .auth-submit{width:100%;height:49px;margin-top:26px;border-radius:14px;font-size:14px;letter-spacing:1px}.auth-card .switch-link{font-size:12px;margin-top:13px;padding:12px 0;color:#5c6e63;background:transparent;box-shadow:none;border:0}.auth-card .auth-footnote{font-size:10px;color:#99a29c;text-align:center;line-height:1.8;margin:20px 0 0;padding-top:20px;border-top:1px solid #e8ece9}.auth-card [hidden]{display:none!important}
@media(min-width:1400px){.auth-layout{max-width:1280px;gap:150px;grid-template-columns:1fr 460px;padding:64px 60px}.auth-story h1{font-size:49px}.auth-card.modal{padding:44px}}
@media(max-width:1000px){.auth-layout{padding:32px;gap:45px;grid-template-columns:minmax(0,1fr) minmax(340px,400px)}.auth-story h1{font-size:34px}.auth-card.modal{padding:32px}.auth-illustration{padding:18px}}
@media(max-width:740px){.auth-layout{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:28px 20px;min-height:100dvh}.auth-story{align-self:auto;width:min(100%,440px);padding:0}.auth-story-body,.auth-local-note{display:none}.auth-brand{justify-content:center}.auth-form-panel{width:min(100%,440px)}.auth-card.modal{padding:30px 26px}.auth-card h2{font-size:26px}}
@media(max-height:650px) and (min-width:741px){.auth-layout{padding-top:24px;padding-bottom:24px}.auth-story-body{padding:25px 0}.auth-story h1{font-size:32px}.auth-illustration{margin-top:20px}.auth-card.modal{padding:25px 30px}.auth-field{margin-top:14px}.auth-card #authDescription{margin-bottom:18px}}
/* Gray-white soft surfaces. Structure and controls, not a hue-only recolor. */
:root{--bg:#eeefef;--ink:#232526;--muted:#858889;--purple:#626668;--dark:#202223;--line:#e4e6e6;--soft:#e9ebeb;--surface:linear-gradient(150deg,#ffffffdb,#f3f4f4c9);--float:0 16px 35px #242e3610,0 2px 5px #ffffffbf,inset 0 1px 1px #fff}
body{padding:0;background:#eef0f0;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button{border:1px solid #fff;background:var(--surface);color:#474b4d;border-radius:22px;box-shadow:0 5px 14px #343c4408,inset 0 1px 1px #fff;padding:11px 19px;transition:background .18s,box-shadow .18s,transform .18s}
button:hover:not(:disabled){background:#fff;box-shadow:0 7px 20px #26313c12;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 5px #333a4210}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #77858c;outline-offset:4px}.primary{background:#232526;border-color:#232526;color:#fff;box-shadow:0 8px 17px #20252619}.primary:hover:not(:disabled){background:#3b3e40;color:#fff}button:disabled{opacity:.45;cursor:default}
.app{width:100%;max-width:none;height:100dvh;border-radius:0;box-shadow:none;grid-template-columns:100px minmax(0,1fr);background:radial-gradient(ellipse at 65% 12%,#fff 0,#f8f9f9 43%,#f0f2f2 100%)}
.rail{margin:16px 0 16px 14px;border:1px solid #fff;border-radius:32px;background:linear-gradient(160deg,#ffffffd6,#f0f1f1b5);box-shadow:var(--float);padding:22px 9px 16px;gap:20px;z-index:7;min-height:0}
.logo{background:linear-gradient(145deg,#fff,#e5e7e7);border:1px solid #fff;box-shadow:0 6px 15px #26313c10;color:#272c2e;width:48px;height:48px;border-radius:50%;font-size:25px}
.nav-pill{display:flex;flex-direction:column;gap:9px;background:#e9ebeb66;border-radius:32px;padding:7px 5px;border:1px solid #ffffff80;margin-top:25px}
.rail .nav-pill button{width:58px;height:68px;padding:9px 0 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:25px;font-size:10px;color:#8c9193;box-shadow:none;background:transparent}
.rail .nav-pill button.on{background:linear-gradient(150deg,#fff,#e9ebeb);border-color:white;box-shadow:0 4px 12px #28323b0c;color:#151819;font-weight:600}
.nav-icon{width:23px;height:23px;display:block}.nav-icon svg{display:block;width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rail #logout{border:1px solid white;background:#ffffff80;width:43px;height:43px;border-radius:50%;font-size:20px}.account-name{color:#747a7c;max-width:62px;font-size:10px;text-align:center}
.main{position:relative;padding:27px 38px 20px;min-height:0}.heading{margin-bottom:10px;min-height:58px;gap:20px}.heading h1{font-size:21px;letter-spacing:0;font-weight:650}.heading small{font-size:11px;margin-top:3px;color:#969b9d}.heading .actions{gap:10px}.heading .actions button{font-size:12px;padding:10px 18px}.heading #newChat{background:#26292a;color:white;border-color:#26292a}
.page{flex:1;min-height:0;position:relative}.chat-page{display:flex;flex-direction:column}.conversation{flex:1;background:transparent;border:0;box-shadow:none;border-radius:0;overflow:hidden}.chat-head{border:0;justify-content:center;padding:10px 0 14px;color:#7b8284;font-size:11px;gap:7px}.chat-head strong{font-weight:500}.chat-head small{margin-left:5px;font-size:10px}.dot{width:5px;height:5px;background:#87958d}.messages{padding:30px max(20px,calc((100% - 820px)/2));overflow:auto;scrollbar-width:thin;scrollbar-color:#d9dddd transparent}.messages:has(.empty){display:flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:30px}
.empty{padding:25px 0;max-width:640px;width:100%}.empty .symbol{background:linear-gradient(145deg,#fff,#e6e9e9);border:1.5px solid white;box-shadow:0 14px 32px #27313912,inset 0 2px 1px white;width:78px;height:78px;border-radius:27px;color:#363d40;font-size:37px;margin-bottom:30px}.empty h3{font-size:29px;letter-spacing:-.7px;font-weight:550;margin-bottom:12px}.empty p{font-size:13px;color:#92989a}.suggestions{gap:9px;margin-top:30px}.suggestions button{font-size:11px;padding:10px 15px;color:#7c8588;background:#ffffff90;border-color:white}
.msg{margin-bottom:30px;gap:14px}.avatar{background:linear-gradient(140deg,#fff,#e8ebeb);border:1px solid #fff;border-radius:50%;color:#5c6569;width:33px;height:33px;flex-basis:33px;box-shadow:0 4px 9px #303a4207}.msg.user .avatar{display:none}.msg.user .bubble{background:linear-gradient(140deg,#e6e9e9,#f0f2f2);border:1px solid #fff;border-radius:24px 24px 7px 24px;padding:13px 20px;color:#333a3d;box-shadow:0 6px 16px #222b3005}.msg.assistant .bubble{font-size:14px;line-height:1.95;max-width:calc(100% - 49px)}.attachment{background:#ffffffbf;border-color:#ddd;color:#7a8487}.activity{color:#90989b;margin-left:47px;font-size:11px}
.composer-wrap{width:min(850px,100%);align-self:center;padding:8px 6px 0}.composer{background:linear-gradient(150deg,#ffffffed,#f5f6f6e8);border:1.5px solid #fff;border-radius:30px;box-shadow:0 13px 35px #2f3b4310,inset 0 1px 1px #fff;padding:17px 20px 13px}.composer textarea{font-size:14px;min-height:45px;padding:0 5px;color:#343b3f}.composer textarea::placeholder{color:#a0a5a7}.composer-foot{gap:13px}.composer-foot small{font-size:10px;color:#a3a8aa}.composer-foot #attach{height:38px;width:38px;padding:0;border-radius:50%;font-size:25px;font-weight:300;background:#eff1f1;box-shadow:inset 0 1px 4px #29323a06;border-color:#fff}.composer-foot #send{min-width:0;width:40px;height:40px;border-radius:50%;padding:0;font-size:23px;line-height:1}.composer-tip{text-align:center;font-size:10px;color:#a6adaf;margin-top:12px;letter-spacing:.1px}.chip{background:#eef0f0;color:#717a7e}.chat-drawer{position:absolute;right:0;top:0;bottom:0;width:300px;z-index:8;background:#f7f8f8f2;border:1px solid white;border-radius:27px;box-shadow:-15px 8px 45px #29364014;padding:22px;backdrop-filter:blur(20px);overflow:auto}.chat-drawer h3{font-size:16px}.chat-drawer .row{margin-bottom:22px}.chat-drawer .row button{padding:2px 10px}.history-entry{border-color:transparent;background:transparent;box-shadow:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:12px 14px;color:#7d8588;font-size:12px;border-radius:15px}.history-entry.active{border-color:white;background:#e9ecec;color:#252d30}.chat-drawer small{display:block;font-size:10px;margin-top:6px}
.scroll-page{overflow:auto;padding:26px 10px 30px;scrollbar-width:thin}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 37px}.eyebrow{font-size:10px;letter-spacing:2px;color:#9ba2a5}.page-intro h2{font-size:29px;font-weight:550;margin:10px 0}.page-intro p{font-size:12px;color:#939a9d}.page-intro button{font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h3{font-size:15px;font-weight:550}.section-heading small{font-size:11px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.plan{margin:0;border-radius:26px;padding:24px;background:var(--surface);border:1px solid #fff;box-shadow:var(--float);color:var(--ink);min-height:205px;display:flex;flex-direction:column}.plan:first-child{background:var(--surface);color:var(--ink);box-shadow:var(--float)}.plan .plan-mark{height:43px;width:43px;display:grid;place-items:center;border:1px solid #fff;border-radius:15px;background:#eaeded;color:#6a7479;margin-bottom:18px;font-size:20px}.plan h3{font-size:15px;font-weight:550;margin-bottom:8px}.plan p{color:#90989c;opacity:1;margin-bottom:22px}.plan button,.plan:first-child button{margin-top:auto;border:1px solid #fff;background:#e9ecec;color:#454f54;border-radius:17px;font-size:11px;padding:10px}.plan:first-child button:hover{background:white}.side-empty{grid-column:1/-1;color:#929b9f;border:1px dashed #cfd5d7;border-radius:26px;padding:50px;text-align:center;font-size:13px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:35px}.stat{background:var(--surface);border:1px solid white;border-radius:25px;padding:24px;box-shadow:var(--float)}.stat small{font-size:11px}.stat strong{display:block;font-size:30px;font-weight:550;color:#2e373b;margin-top:10px}.stat strong span{font-size:12px;color:#909a9f;margin-left:5px}.report-list{display:grid;gap:12px}.report-row{background:var(--surface);border:1px solid white;border-radius:23px;box-shadow:0 6px 15px #20282f04;display:flex;align-items:center;justify-content:space-between;padding:21px 24px;gap:20px}.report-row h3{font-size:14px;font-weight:550;margin-bottom:6px}.report-row p{font-size:11px;color:#939b9f}.report-row .score{font-size:21px;font-weight:550;margin-left:auto;white-space:nowrap}.report-row .score small{font-size:11px;font-weight:400;margin-left:4px}.report-row button{font-size:11px}.report-detail{margin-top:25px;padding:26px;background:var(--surface);border:1px solid white;border-radius:26px}.report-question{border-top:1px solid #dde1e2;padding:22px 0;font-size:13px;white-space:pre-wrap;line-height:1.9}.report-question h3{font-size:14px;margin-bottom:10px}.report-question .verdict{display:inline-block;background:#e8eceb;padding:3px 10px;border-radius:9px;font-size:10px;color:#61746b;margin-bottom:10px}.report-question .verdict.wrong{color:#9b6969;background:#f0e9e9}.report-question .explanation{color:#858e92;margin-top:12px}.file-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.file-tabs button{font-size:12px}.file-tabs button.active{background:#292e31;color:white;border-color:#292e31}.library-row{padding:14px 20px;border:1px solid white;border-radius:17px;background:#ffffff80;margin-bottom:8px;font-size:12px}.library-row button{padding:5px;border:0;box-shadow:none;background:transparent}.file-path{font-size:11px;color:#919b9f;margin-bottom:20px}
.modal{background:linear-gradient(150deg,#fff,#f1f3f3);border:1px solid white;box-shadow:0 25px 90px #28343e2a}.modal input{border-color:white;background:#e9ecec;color:#343c40}.overlay{background:#44525c33}.toast{background:#353c41}.switch-link{color:#737f86}.exam{left:100px;background:#f7f8f8}.exam-header{background:#f9fafaf2;border-color:#e5e9ea}.answer-card{background:linear-gradient(150deg,#f1f3f3,#e9eded);border-left:1px solid white}.option.selected{background:#e4e9e9;border-color:white}.option.selected span:first-child{background:#343d42;border-color:#343d42}.material{background:#eaf0f0;border-color:#9caaaf}.qtag{background:#e9eeee;color:#77898f}.notes{border-color:white;background:#ffffffac}.numbers .done{background:#dce4e1;color:#5c7067}.numbers .now{background:#303a3e;color:white}.review{border-color:white;background:#fff}.paused{left:100px;background:#f4f6f6ee}.exam-header .timer{color:#526168}.exam-footer{background:#fdfefe}.exam-header button,.exam-footer button{font-size:12px}
@media(min-width:1600px){body{padding:0}.app{height:100dvh;border-radius:0;box-shadow:none}.main{padding:35px 65px 28px}}
@media(max-width:1100px){.app{grid-template-columns:88px 1fr}.rail{margin:12px 0 12px 10px;border-radius:28px;padding:20px 5px}.main{padding:22px 27px 20px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam,.paused{left:88px}.messages{padding-left:max(10px,calc((100% - 760px)/2));padding-right:max(10px,calc((100% - 760px)/2))}}
@media(max-width:800px){.app{grid-template-columns:76px minmax(0,1fr);overflow:hidden}.rail{margin:10px 0 10px 8px;padding:18px 4px 10px;gap:15px;border-radius:26px}.rail .logo{width:40px;height:40px}.nav-pill{padding:5px 0;margin-top:18px}.rail .nav-pill button{width:52px;height:62px;border-radius:22px}.main{padding:20px 18px 14px;min-height:0}.heading h1{font-size:18px}.heading .actions{gap:7px}.heading .actions button{font-size:10px;padding:9px 12px}.heading small{font-size:10px}.chat-head{padding:12px 0}.conversation{min-height:0}.messages{padding:20px 10px}.composer-wrap{padding:6px 0 0}.composer{padding:15px 15px 11px;border-radius:25px}.composer textarea{font-size:12px}.composer-foot small{display:block;font-size:9px}.composer-tip{font-size:9px}.empty h3{font-size:24px}.empty p{font-size:12px}.suggestions{gap:7px}.suggestions button{font-size:10px;padding:9px 11px}.page-intro h2{font-size:24px}.page-intro{flex-wrap:wrap;margin-bottom:30px}.plan-grid{gap:14px}.plan{padding:20px;min-height:190px}.stat-grid{gap:10px}.stat{padding:17px}.stat strong{font-size:24px}.report-row{padding:18px;flex-wrap:wrap;gap:12px}.exam{left:76px}.paused{left:76px}.chat-drawer{width:280px}.scroll-page{padding:20px 2px}.answer-card{background:#f0f3f3}.exam-header h2{font-size:12px}}
@media(max-width:540px){.app{grid-template-columns:1fr;grid-template-rows:1fr 78px}.rail{grid-row:2;margin:0 15px 10px;padding:4px 10px;flex-direction:row;gap:0;border-radius:30px}.rail .logo,.rail .bottom,.rail #logout{display:none}.nav-pill{flex:1;flex-direction:row;justify-content:space-around;margin:0;padding:0;background:none;border:0;gap:0}.rail .nav-pill button{height:55px;width:62px;font-size:9px;border-radius:22px}.nav-icon{width:21px;height:21px}.main{grid-row:1;padding:18px 16px 10px}.heading small{display:none}.heading{min-height:42px;margin-bottom:2px}.heading .actions button{padding:8px 11px}.chat-head{padding:8px 0;font-size:10px}.empty .symbol{width:65px;height:65px;font-size:30px;margin-bottom:24px}.empty h3{font-size:22px}.suggestions{margin-top:22px}.composer-tip{margin-top:8px}.composer textarea{min-height:38px}.plan-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.stat{display:flex;justify-content:space-between;align-items:center}.stat strong{margin:0}.page-intro h2{font-size:23px}.chat-drawer{width:100%;border-radius:22px}.exam{left:0;bottom:78px}.paused{left:0;bottom:153px}.answer-card{bottom:153px}.exam-header{gap:6px;padding:10px}.exam-header button{padding:8px 11px;font-size:10px}.timer{font-size:14px}.report-row .score{font-size:19px}.report-detail{padding:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Reference material: a visible gray body, a crisp white rim, and a broad soft underside. */
:root{--ink:#171919;--muted:#747879;--surface:linear-gradient(150deg,#f7f7f5,#e9eae8);--float:0 16px 28px #2c333312,inset 0 2px 1px #fff,inset 0 -1px 2px #b9bfbc25}
.app{background:radial-gradient(ellipse at 68% 8%,#f9f9f7 0,#eeefed 49%,#e3e5e3 100%)}
.rail{background:transparent;border-color:transparent;box-shadow:none;border-radius:0;padding-left:5px;padding-right:5px}
.nav-pill{gap:12px;padding:10px 5px;background:linear-gradient(155deg,#efefed 3%,#e2e4e2 100%);border:1.5px solid #fafbf8;border-top:2px solid #fff;box-shadow:inset 0 2px 2px #fff,inset 0 -3px 7px #b5bbb826,0 18px 28px #555e5817,0 2px 3px #fff8;border-radius:42px;margin-top:30px}
.rail .nav-pill button{width:62px;height:72px;border-radius:31px;gap:7px;color:#3f4543;font-size:11px;font-weight:400}
.rail .nav-pill button.on{background:linear-gradient(155deg,#fcfcfa,#e8eae7);border:1px solid #fff;color:#101312;box-shadow:inset 0 2px 1px #fff,0 5px 10px #555e5810}
.rail .nav-pill button:hover:not(:disabled){background:#ffffff55;box-shadow:inset 0 1px 1px #fff;transform:none}
.nav-icon{width:27px;height:27px}.nav-icon svg{stroke-width:1.8}
.logo,.rail #logout{background:linear-gradient(145deg,#fff,#f1f2ef);border:1.5px solid #fff;box-shadow:inset 0 2px 2px #fff,0 9px 18px #49514b0c}
.heading .actions button{height:46px;padding:0 23px;font-size:13px;border-radius:26px;background:linear-gradient(160deg,#f9faf7,#e9ebe7);border:1.5px solid #fff;box-shadow:inset 0 2px 1px #fff,0 8px 18px #414b4410;color:#3d4540}
.heading #newChat{background:#1b201e;border:1.5px solid #353c37;color:#fff;box-shadow:inset 0 1px 1px #ffffff50,0 7px 15px #1d272215}
.empty{transform:translateY(-16px)}
.empty .symbol{width:88px;height:88px;border-radius:32px;background:linear-gradient(145deg,#fafbf8,#e2e6e0);border:2px solid #fff;box-shadow:inset 0 2px 2px #fff,0 18px 35px #47544816;margin-bottom:27px}
.empty .symbol svg{width:36px;height:36px;fill:#1e2822}
.empty h3{font-size:32px;font-weight:500;letter-spacing:-1px;color:#19211c}
.empty p{font-size:14px;color:#7c857e;margin-top:15px}
.suggestions{gap:12px;margin-top:32px}
.suggestions button{font-size:12px;padding:13px 19px;background:linear-gradient(160deg,#f8f9f6,#e9ece6);border:1.5px solid #fff;color:#616d63;box-shadow:inset 0 1px 1px #fff,0 8px 18px #46513f0b}
.composer-wrap{width:min(850px,100%);padding:10px 6px 6px}
.composer{border:2px solid #fff;border-radius:36px;background:linear-gradient(155deg,#f8f9f6 0,#ecefe9 100%);box-shadow:inset 0 2px 2px #fff,inset 0 -2px 4px #b6bfb21c,0 22px 42px #3e493e16;padding:22px 24px 17px}
.composer textarea{font-size:15px;min-height:62px;color:#273229}.composer textarea::placeholder{color:#889389}
.composer-foot{gap:15px}.composer-foot small{font-size:11px;color:#7f8b80}
.composer-foot #attach{width:46px;height:46px;border:1.5px solid #fff;background:linear-gradient(145deg,#fff,#eef1e9);box-shadow:inset 0 2px 2px #fff,0 6px 13px #384b3410}
.msg.assistant .bubble{font-size:16px;line-height:1.9;color:#27302a}
.msg.user .bubble{font-size:15px;background:linear-gradient(145deg,#e0e5dd,#e9ede6);border:1.5px solid #fff;border-radius:28px 28px 8px 28px;box-shadow:inset 0 1px 2px #fff,0 9px 22px #46513f09;padding:16px 23px}
.plan,.stat,.report-row,.report-detail{border:1.5px solid #fff;background:var(--surface);box-shadow:var(--float)}
@media(max-width:800px){.nav-pill{padding:8px 3px;border-radius:36px;gap:9px}.rail .nav-pill button{width:53px;height:66px;font-size:10px;gap:6px}.nav-icon{width:25px;height:25px}.heading .actions button{height:42px;padding:0 18px;font-size:12px}.empty h3{font-size:28px}.empty .symbol{width:78px;height:78px;border-radius:29px}.composer{padding:20px 19px 15px;border-radius:32px}.composer textarea{font-size:14px}.suggestions button{font-size:11px;padding:12px 15px}}
@media(max-width:540px){.rail{background:transparent;border:0;box-shadow:none;padding:0}.nav-pill{margin:0;background:linear-gradient(160deg,#f1f2ee,#e0e4de);border:1.5px solid #fff;border-radius:36px;box-shadow:inset 0 2px 2px #fff,0 8px 20px #44533b16;padding:4px 6px}.rail .nav-pill button{height:56px;width:62px;border-radius:27px}.nav-icon{width:23px;height:23px}.empty{transform:translateY(-8px)}.empty h3{font-size:25px}.empty p{font-size:12px}.empty .symbol{width:72px;height:72px}.suggestions{gap:8px;margin-top:25px}.suggestions button{padding:10px 12px;font-size:10px}.composer{padding:17px 17px 13px;border-radius:30px}.composer textarea{min-height:50px;font-size:13px}.composer-foot small{font-size:9px}}
.practice-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:6px;width:fit-content;border:1.5px solid #fff;border-radius:30px;background:#e7e9e9;box-shadow:inset 0 2px 3px #fff}
.practice-filters button{border-color:transparent;background:transparent;box-shadow:none;font-size:13px;padding:10px 20px;color:#737b7b}
.practice-filters button.active{background:linear-gradient(145deg,#fff,#f0f2f2);border-color:white;color:#1f2626;box-shadow:0 4px 10px #303b3b0d}
@media(max-width:540px){.practice-filters{gap:2px;width:100%}.practice-filters button{flex:1;padding:10px 8px;font-size:11px}}
/* Neutral gray calibration: no tinted wash across the working canvas. */
.app{background:radial-gradient(ellipse at 68% 8%,#f9f9f9 0,#eeeeee 49%,#e3e4e4 100%)}
.composer{background:linear-gradient(155deg,#f9f9f9,#eceeee);box-shadow:inset 0 2px 2px #fff,inset 0 -2px 4px #b6bbbb1c,0 22px 42px #3e444416}
.composer textarea,.msg.assistant .bubble{color:#292e2e}.composer textarea::placeholder{color:#888e8e}.composer-foot small{color:#7f8787}
.msg.user .bubble{background:linear-gradient(145deg,#e1e4e4,#ebeded)}
/* Exercise refinement: reference interactions with the existing neutral soft material. */
.exam{--exam-head:96px;--exam-foot:72px;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--exam-head) minmax(0,1fr) var(--exam-foot);overflow:hidden}
.exam-header{display:grid;grid-template-columns:44px minmax(0,1fr) repeat(4,44px);grid-template-rows:40px 28px;gap:2px 12px;padding:12px 28px;border-bottom:1px solid #ecefef;background:linear-gradient(160deg,#fff,#f7f8f8);z-index:12;min-width:0}
.exam-title-wrap{display:none}.exam-header #exitExam{grid-column:1}.exam-header .timer{grid-column:2;justify-self:start;margin:0;font-size:18px;color:#525d60;white-space:nowrap}
.exam-header button{width:42px;height:40px;padding:9px;display:grid;place-items:center;border-radius:16px;background:transparent;white-space:nowrap;flex-shrink:0}
.exam-header button:hover{background:#e9eded;box-shadow:inset 0 1px 2px #fff;transform:none}.exam-header button svg{height:23px;width:23px;stroke:#465054;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.exam-meta{grid-column:1/-1;display:flex;align-items:center;gap:24px;min-width:0;padding-left:4px}.exam-meta #examTitle{font-size:13px;font-weight:400;color:#8b9497;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none;flex:1;min-width:0}.exam-meta #qProgress{margin:0;color:#68767e;font-size:13px;white-space:nowrap;flex-shrink:0}
.paper{grid-row:2;grid-column:1;min-height:0;min-width:0;max-width:1100px;padding:32px 40px 44px}.stem{font-size:21px;line-height:1.95;margin:23px 0 26px}.option{font-size:18px;line-height:1.9;padding:13px 0;margin:12px 0}.option.selected{background:linear-gradient(140deg,#eef1f1,#f7f8f8);border:1px solid #e2e7e7;box-shadow:inset 0 1px 1px white}.exam-footer{grid-column:1/-1;grid-row:3;z-index:12;box-shadow:0 -8px 25px #38434304;background:linear-gradient(160deg,#fff,#f7f8f8)}
.sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#20292d66;box-shadow:none;z-index:20;cursor:default;padding:0}.sheet-backdrop:hover:not(:disabled){background:#20292d66;box-shadow:none;transform:none}
.answer-card{position:absolute;left:0;right:0;bottom:0;top:auto;width:100%;max-height:min(78%,850px);padding:0;border:1.5px solid #fff;border-bottom:0;border-radius:30px 30px 0 0;box-shadow:0 -18px 70px #25323e20;background:linear-gradient(145deg,#fcfdfd,#f3f5f5);z-index:21;overflow:hidden}
.paper{background:#fff}.option{box-shadow:none;border-radius:15px}.option:hover:not(:disabled){transform:none;box-shadow:none;background:#f8fafa}.option span:first-child{width:42px;height:42px;flex-basis:42px;border-color:#e6ecee;font-size:17px}.exam{background:white}
.answer-card{display:none;grid-column:auto;grid-row:auto}.answer-card.open{display:flex;flex-direction:column}.answer-card h3{font-size:19px;font-weight:600;padding:27px 60px 0;margin:0;color:#242d30;text-align:center}.answer-card>small{font-size:12px;margin:6px 0 0;color:#90999e;text-align:center}.answer-card .save-state{text-align:center}.answer-card .answer-sheet-close{position:absolute;top:22px;right:24px;width:36px;height:36px;padding:6px;border-radius:50%;background:#edf0f0;box-shadow:inset 0 1px 2px #fff}.answer-sheet-close svg{width:24px;height:24px;fill:none;stroke:#7d898e;stroke-width:1.7;stroke-linecap:round}
.sheet-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:27px 30px 6px;scrollbar-width:thin}.numbers{display:block;margin:0}.answer-group{margin:0 0 30px}.answer-group h4{font-size:14px;color:#8d979b;font-weight:400;margin:0 0 19px}.answer-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:16px 12px}.answer-grid button{width:100%;max-width:48px;max-height:none;aspect-ratio:1;justify-self:center;border-radius:50%;font-size:14px;background:#e9eded;color:#657379;border:1.5px solid #fafcfc;box-shadow:inset 0 2px 3px #fff,0 2px 8px #35424b04;padding:0}.answer-grid button.done{background:#d1dce0;color:#3b525e;box-shadow:inset 0 1px 2px #ffffffad}.answer-grid button.now{background:#4a5d66;color:white;border:2px solid #fff;outline:2px solid #bacbd1;outline-offset:2px;box-shadow:none}.answer-grid button:hover:not(:disabled){transform:none;background:#dde5e8}.answer-grid button.now:hover{background:#4a5d66}.sheet-footer{padding:15px 28px 22px;background:linear-gradient(160deg,#fafcfc,#eef1f1);border-top:1px solid #e4e9e9;flex-shrink:0;box-shadow:0 -9px 23px #3a4b5304}.sheet-legend{text-align:center;font-size:11px;color:#89969b;margin-bottom:13px}.answer-card #submit{max-width:none;width:100%;height:48px;border-radius:25px;font-size:15px;margin:0;background:#252d2f;border:1px solid #394448;box-shadow:inset 0 1px 1px #ffffff30,0 5px 12px #252d2f16}.answer-card .save-state{font-size:10px;margin-top:9px}
.paused{position:absolute;inset:0;z-index:45;background:#26303566;display:grid;place-items:center;padding:24px}.pause-card{width:300px;max-width:100%;padding:33px 27px 25px;border-radius:30px;background:linear-gradient(150deg,#fff,#edf0f0);border:1.5px solid #fff;box-shadow:0 25px 70px #18252d30,inset 0 2px 1px #fff;text-align:center}.pause-cup{width:76px;height:76px;margin:0 auto 20px;display:grid;place-items:center;border:1px solid #fff;border-radius:25px;background:linear-gradient(140deg,#fff,#dce5e8);box-shadow:inset 0 2px 2px #fff,0 10px 20px #344f6010}.pause-cup svg{width:42px;height:42px;stroke:#647e8b;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.pause-card h2{font-size:22px;color:#3e515a;margin-bottom:7px}.pause-card p{font-size:14px;color:#6b7c84}.pause-card small{display:block;font-size:11px;margin:12px 0 23px;color:#99a4a8}.pause-card button{width:100%;border-radius:24px;font-size:13px}
.material-panel{grid-column:1;grid-row:2;min-height:0;min-width:0;padding:24px 30px;display:flex;flex-direction:column;background:#f7f9f9;border-right:1px solid #e5eaea;overflow:hidden}.material-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.material-head button{border:0;background:transparent;box-shadow:none;width:34px;height:34px;padding:5px}.material-head svg{height:23px;width:23px;stroke:#687b84;fill:none;stroke-width:1.6}.material-panel .material{flex:1;min-height:0;max-height:none;border:0;padding:0;border-radius:0;background:transparent;font-size:18px;line-height:1.95;margin:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.has-material{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.has-material .paper{grid-column:2}.has-material .exam-header{grid-column:1/-1}.has-material .exam-footer{grid-row:3}.material-expanded .material-panel{position:absolute;inset:var(--exam-head) 0 var(--exam-foot);z-index:13;padding:30px max(30px,calc((100% - 900px)/2));background:#f8fafa}
.ink-canvas{position:absolute;pointer-events:none;z-index:10}.is-annotating .ink-canvas{pointer-events:auto;touch-action:none;cursor:crosshair}.is-annotating .paper{overflow:hidden}.ink-toolbar{position:absolute;inset:0 0 auto;height:var(--exam-head);padding:15px 25px;display:flex;align-items:center;gap:20px;background:linear-gradient(145deg,#f3f5f5,#e1e6e6);border-bottom:1px solid #fff;box-shadow:0 7px 25px #24323a12;z-index:30}.ink-toolbar>span{font-size:13px;color:#8a9599;margin-right:auto}.ink-toolbar button{width:43px;height:43px;border-radius:17px;padding:10px;background:transparent;border:1px solid transparent;box-shadow:none}.ink-toolbar svg{width:23px;height:23px;stroke:#64747b;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ink-toolbar button.selected{background:#fff;border-color:#fff;box-shadow:0 6px 12px #384c5b12}.ink-toolbar button.selected svg{stroke:#253f50}.exam-note-overlay{position:absolute;inset:0;z-index:42;display:grid;place-items:center;background:#26303566;padding:24px}.exam-note-panel{width:min(540px,100%);padding:25px;border:1.5px solid #fff;border-radius:28px;background:linear-gradient(150deg,#fff,#eff2f2);box-shadow:0 20px 70px #26303525}.exam-note-panel h3{font-size:18px}.exam-note-panel .notes{height:200px;max-height:45vh;margin:20px 0 10px;resize:vertical;outline-color:#aabec7}.exam-note-panel>small{font-size:11px;color:#9aa5a8}#dialog{z-index:60}
@media(max-width:1100px){.has-material{grid-template-columns:1fr;grid-template-rows:var(--exam-head) minmax(140px,.85fr) minmax(200px,1.15fr) var(--exam-foot)}.has-material .material-panel{grid-row:2;grid-column:1;border-right:0;border-bottom:1px solid #dce4e6;padding:22px 32px}.has-material .paper{grid-row:3;grid-column:1;padding-top:24px}.has-material .exam-footer{grid-row:4}.has-material .material-panel:after{content:'';flex-shrink:0;display:block;width:34px;height:4px;border-radius:5px;background:#cbd4d7;align-self:center;margin-top:15px}}
@media(max-width:800px){.exam-header{padding:12px 18px;gap:2px 8px}.paper{padding:27px 27px 35px}.answer-card{left:0;bottom:0;width:100%;max-height:80%;padding:0}.answer-grid{gap:15px 10px;grid-template-columns:repeat(8,minmax(0,1fr))}.sheet-scroll{padding:26px 23px 4px}.sheet-footer{padding:15px 23px 20px}.paused{inset:0}.stem{font-size:19px}.option{font-size:17px}.ink-toolbar{gap:11px;padding:15px 18px}.ink-toolbar>span{display:none}.ink-toolbar button:first-child{margin-right:auto}.material-panel .material{font-size:17px}}
@media(max-width:540px){.exam{--exam-head:88px;--exam-foot:62px}.exam-header{padding:9px 13px;grid-template-columns:32px minmax(0,1fr) repeat(4,32px);gap:0 5px;grid-template-rows:38px 25px}.exam-header button{width:32px;height:36px;padding:6px;border-radius:12px}.exam-header button svg{width:22px;height:22px}.exam-header .timer{font-size:16px}.exam-meta #examTitle{font-size:11px}.exam-meta #qProgress{font-size:12px}.paper{padding:22px 22px 32px}.stem{font-size:18px}.option{font-size:16px}.exam-footer{padding:10px 17px}.answer-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 10px}.answer-grid button{font-size:13px;max-width:43px}.answer-card{max-height:83%;border-radius:25px 25px 0 0;bottom:0}.answer-card h3{padding-top:24px;font-size:18px}.answer-card>small{font-size:11px}.sheet-scroll{padding:24px 19px 0}.sheet-footer{padding:13px 19px 18px}.answer-group h4{font-size:13px;margin-bottom:17px}.answer-group{margin-bottom:27px}.answer-card .answer-sheet-close{right:17px;top:17px;width:34px;height:34px}.has-material .material-panel{padding:17px 22px}.material-panel .material{font-size:16px}.ink-toolbar{gap:6px;padding:14px}.ink-toolbar button{width:36px;height:38px;padding:8px}.ink-toolbar svg{width:21px;height:21px}}
/* Keep chat chrome minimal; focus belongs to the rounded composer, not a square textarea. */
.main:has(#chatPage:not([hidden])) .heading-title{display:none}
.main:has(#chatPage:not([hidden])) .heading{justify-content:flex-end}
.chat-head,.composer-tip{display:none}
.composer textarea,.composer textarea:focus-visible{border:0;outline:none;box-shadow:none}
.composer:focus-within{border-color:#d5e4e9;box-shadow:0 13px 35px #2f3b4310,inset 0 1px 1px #fff}
/* Reference controls: blue glass send pill, white circular plus, filled home. */
.composer-foot #send{width:76px;height:48px;border-radius:28px;display:grid;place-items:center;border:2px solid #f4fdff;background:radial-gradient(ellipse at 48% 44%,#57cef3 0,#74d7f3 39%,#b7e6f1 77%,#d8eef2 100%);box-shadow:inset 0 2px 3px #ffffffc7,inset 0 -3px 5px #33b6df55,0 7px 16px #66c5df29;color:white}
.composer-foot #send:hover:not(:disabled){background:radial-gradient(ellipse,#5bd3f9,#bce8f5);box-shadow:inset 0 2px 3px #fff,0 9px 20px #51bfdf36}.composer-foot #send svg{width:29px;height:29px;stroke:white;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.composer-foot #attach{background:linear-gradient(145deg,#fff,#f5f5f5);width:42px;height:42px;border:1px solid white;color:#17191a;box-shadow:0 4px 9px #242c3505}.composer-foot #attach svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}.logo svg{width:26px;height:26px;fill:#171a1b}.rail .on .nav-icon svg .selected-fill{fill:currentColor}.avatar svg{height:17px;width:17px;fill:#343c40}.empty .symbol svg{width:34px;height:34px;fill:#343c40}
/* Question assets retain original proportions; short material never consumes half a page. */
.question-image{margin:16px 0;max-width:100%}.question-image img{display:block;max-width:100%;height:auto;max-height:560px;object-fit:contain}.image-open{display:block;padding:8px;border-radius:18px;background:#ffffff70;border:1px solid #fff;max-width:100%;cursor:zoom-in}.option-content{flex:1;min-width:0}.option .option-content{width:auto;height:auto;border:0;border-radius:0;display:block;color:inherit}.option.selected .option-content{background:transparent;color:inherit}.option-zoom{font-size:12px;padding:5px 12px;margin-left:64px;color:#68777c}.question-remark{color:#79858a;font-size:13px;margin:12px 0}.question-remark p{white-space:pre-wrap;padding:12px 0}.image-error{color:#a54c4c;font-size:13px}.image-preview{max-height:65vh;overflow:auto}.image-preview.actual-size img{max-width:none;max-height:none}.image-preview.actual-size figure{max-width:none}.report-option{padding:12px 0}
.exam.has-material.short-material{grid-template-columns:1fr;grid-template-rows:96px auto minmax(0,1fr) 72px}.exam.short-material .material-panel{grid-column:1;grid-row:2;max-height:180px;overflow:auto;padding:16px 40px}.exam.short-material .paper{grid-column:1;grid-row:3}.exam.short-material .exam-footer{grid-column:1;grid-row:4}
.stem-media img{max-height:min(260px,32dvh);width:auto}.option-content img{max-height:110px;width:auto}.option-content .question-image{margin:0}.image-preview img{max-height:none}.exam.has-material.short-material{grid-template-rows:var(--exam-head) auto minmax(0,1fr) var(--exam-foot)}
.exam .paper{max-width:none;width:100%;padding-top:22px;padding-bottom:22px}.exam .stem{margin:14px 0 18px;line-height:1.75}.exam .stem-media .question-image{margin:10px 0}.exam #options{max-width:1100px}.exam .option{margin:5px 0;padding:9px 12px;min-height:54px}.exam #options.compact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.exam .compact-options .option{margin:0}.exam .option-content img{max-width:100%;object-fit:contain}.exam .option span:first-child{width:36px;height:36px;flex-basis:36px}.exam .option-content{overflow-wrap:anywhere}@media(max-width:540px){.exam .paper{padding:18px}.exam #options.compact-options{gap:8px}.exam .option{padding:8px}.exam .option span:first-child{width:30px;height:30px;flex-basis:30px}.exam .option-content img{max-height:85px}}
/* Reference glass: translucent body, directional rim, blurred background, soft underside. */
.app:has(#chatPage:not([hidden])){background:radial-gradient(ellipse at 10% 84%,#d9dedd80 0,transparent 48%),radial-gradient(ellipse at 78% 13%,#fff9 0,transparent 55%),linear-gradient(125deg,#e6e7e5,#f0f0ee 56%,#e4e6e5)}
.app:has(#chatPage:not([hidden])) .main{padding:24px 34px 32px}
.main:has(#chatPage:not([hidden])) .heading{min-height:56px;margin:0 0 22px;flex-shrink:0}
.main:has(#chatPage:not([hidden])) .heading .actions button{height:44px;font-size:13px}
.chat-page{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.chat-page:has(.chat-drawer:not([hidden])){grid-template-columns:246px minmax(0,1fr);gap:28px}
.chat-page .conversation{grid-column:-2/-1;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column}
.chat-page .chat-drawer{position:relative;grid-column:1;grid-row:1;inset:auto;width:auto;min-width:0;min-height:0;border-radius:30px;padding:20px 12px;background:linear-gradient(150deg,#ffffff65,#ffffff16);border:1px solid #ffffffa6;border-top-color:#fff;border-left-color:#fff;box-shadow:inset 0 1px 1px #fff,0 14px 34px #343b3609;backdrop-filter:blur(28px) saturate(105%);display:flex;flex-direction:column;overflow:hidden}
.chat-drawer .row{margin:0 6px 20px;gap:12px}.chat-drawer h3{font-size:14px;font-weight:550;color:#4f5754}.chat-drawer .row button{width:30px;height:30px;border:0;border-radius:50%;box-shadow:none;background:#ffffff60;color:#737b77;padding:0}
.chat-drawer #chatList{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#bbc2bd88 transparent;padding:2px 3px 20px}
.chat-drawer .history-entry{position:relative;padding:12px 16px;margin-bottom:5px;border-radius:16px;border:1px solid transparent;background:transparent;font-size:13px;line-height:1.5;color:#646b67;box-shadow:none}
.chat-drawer .history-entry:hover{background:#ffffff60;box-shadow:none;transform:none}.chat-drawer .history-entry.active{background:linear-gradient(130deg,#fafbf9aa,#d8deda65);border-color:#ffffffc9;color:#202723;box-shadow:inset 0 1px 1px #fff,0 4px 10px #39403806}.chat-drawer .history-entry.running{padding-right:31px}.chat-drawer .history-entry.running:after{content:'';position:absolute;right:13px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#7c9e90}
.chat-page .messages{padding:18px max(18px,calc((100% - 940px)/2)) 38px;scroll-padding-bottom:30px;overscroll-behavior:contain}
.chat-page .messages:has(.empty){padding-top:0;padding-bottom:45px}.chat-page .msg{margin-bottom:32px;gap:16px}.chat-page .msg.assistant .bubble{font-size:16px;line-height:1.95;color:#262d2a}.chat-page .activity{font-size:12px;margin-left:49px;margin-bottom:15px;color:#929a96}
.chat-page .msg.user .bubble{font-size:15px;max-width:78%;border-radius:27px;background:linear-gradient(145deg,#ffffffb8,#ffffff70);border:1px solid #ffffffe0;border-top-color:#fff;box-shadow:inset 0 1px 1px #fff,0 9px 24px #3e4b4108;backdrop-filter:blur(18px);padding:14px 21px}
.chat-page .avatar{background:linear-gradient(145deg,#ffffffb0,#ffffff25);border:1px solid #fff;box-shadow:inset 0 1px 1px #fff,0 5px 12px #38433808}
.chat-page .composer-wrap{width:min(960px,100%);padding:12px 10px 8px;flex-shrink:0}
.chat-page .composer{position:relative;isolation:isolate;border-radius:38px;padding:23px 25px 19px;background:linear-gradient(145deg,#ffffff94 0,#ffffff42 52%,#dfe4e15c 100%);border:1px solid #ffffffc9;border-top:2px solid #fff;border-left:2px solid #ffffffeb;box-shadow:inset 0 2px 2px #fff9,inset 0 -2px 3px #87958b0c,0 20px 40px -14px #3f494132;backdrop-filter:blur(30px) saturate(115%)}
.chat-page .composer:focus-within{border-color:#fff;box-shadow:inset 0 2px 2px #fff9,0 20px 40px -14px #3f494132,0 0 0 3px #b7dce329}
.chat-page .composer textarea{font-size:16px;line-height:1.8;min-height:54px;padding:0 3px 10px;color:#242c28}.chat-page .composer textarea::placeholder{color:#8a938e}.chat-page .composer-foot small{font-size:11px;color:#919b95}.chat-page .composer-foot{gap:14px}
.chat-page .composer-foot #attach{width:46px;height:46px;background:linear-gradient(150deg,#ffffffcc,#ffffff50);border:1px solid #ffffffd9;box-shadow:inset 0 1px 1px #fff,0 5px 12px #46504708}
.chat-page .composer-foot #send{width:78px;height:46px;border:1.5px solid #effcff;box-shadow:inset 0 2px 3px #fffd,inset 0 -3px 6px #249db430,0 8px 19px #6bb9c72b;background:radial-gradient(ellipse at 46% 38%,#7de0f5 0,#8bdeed 42%,#ccecf1 88%)}
.app:has(#chatPage:not([hidden])) .nav-pill{border-radius:44px;padding:10px 6px;gap:11px;background:linear-gradient(150deg,#ffffff76,#d5dbd52e);border:1px solid #ffffffc9;border-top:2px solid #fff;border-left:2px solid #fffffff0;box-shadow:inset 0 2px 2px #ffffff8c,inset 0 -2px 3px #8c988e0a,0 19px 32px -9px #48554a26;backdrop-filter:blur(24px) saturate(110%)}
.app:has(#chatPage:not([hidden])) .rail .nav-pill button{height:76px;width:62px;border-radius:31px;gap:8px;color:#67706a}.app:has(#chatPage:not([hidden])) .rail .nav-pill button.on{background:linear-gradient(145deg,#ffffffb0,#ffffff24);border:1px solid #fff;box-shadow:inset 0 1px 1px #fff,0 5px 12px #48554a0b;color:#171e19}
.logo svg{fill:none;stroke:#1b211d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-icon svg{stroke-width:1.65}.rail .logo{width:52px;height:52px;background:linear-gradient(145deg,#ffffffb8,#ffffff40);box-shadow:inset 0 1px 1px #fff,0 9px 20px #48554a0b;backdrop-filter:blur(20px)}
@media(min-width:1600px){.app:has(#chatPage:not([hidden])) .main{padding:30px 52px 40px}.chat-page:has(.chat-drawer:not([hidden])){grid-template-columns:260px minmax(0,1fr);gap:38px}}
@media(max-width:1099px){.chat-page:has(.chat-drawer:not([hidden])){grid-template-columns:minmax(0,1fr);gap:0}.chat-page .chat-drawer{position:absolute;left:0;top:0;bottom:0;width:280px;z-index:18;background:linear-gradient(145deg,#f9faf8ec,#e5e9e4ed);box-shadow:15px 0 40px #27372c1a}.app:has(#chatPage:not([hidden])) .main{padding:22px 24px 28px}}
@media(max-width:800px){.app:has(#chatPage:not([hidden])) .main{padding:18px 16px 22px}.app:has(#chatPage:not([hidden])) .rail .nav-pill button{width:52px;height:67px}.chat-page .messages{padding:16px 8px 28px}.chat-page .msg.assistant .bubble{font-size:15px}.chat-page .composer{padding:19px 19px 15px;border-radius:32px}.chat-page .composer textarea{font-size:15px}.chat-page .composer-wrap{padding:8px 2px 4px}.main:has(#chatPage:not([hidden])) .heading{margin-bottom:14px}}
@media(max-width:540px){.app:has(#chatPage:not([hidden])) .main{padding:12px 12px 14px}.app:has(#chatPage:not([hidden])) .nav-pill{padding:4px 6px;gap:0;border-radius:34px}.app:has(#chatPage:not([hidden])) .rail .nav-pill button{width:62px;height:54px;border-radius:27px;gap:3px}.chat-page .chat-drawer{width:min(290px,100%)}.chat-page .composer{border-radius:29px;padding:17px 17px 13px}.chat-page .composer textarea{min-height:48px;font-size:14px}.chat-page .composer-foot #send{width:64px;height:42px}.chat-page .composer-foot #attach{height:40px;width:40px}.chat-page .composer-foot small{font-size:9px}.chat-page .msg.user .bubble{max-width:88%}.chat-page .activity{margin-left:43px;font-size:11px}}
.main:has(#chatPage:not([hidden])) .heading{padding-right:max(10px,calc((100% - 940px)/2))}
.main:has(#chatPage .chat-drawer:not([hidden])) .heading{padding-right:max(10px,calc((100% - 274px - 940px)/2))}
.main:has(#chatPage:not([hidden])) #navHistory,.chat-page .suggestions button{background:linear-gradient(145deg,#ffffff7d,#ffffff26);border:1px solid #ffffffd9;border-top-color:#fff;box-shadow:inset 0 1px 1px #fff,0 8px 18px #46504709;backdrop-filter:blur(18px)}
@media(min-width:1600px){.main:has(#chatPage .chat-drawer:not([hidden])) .heading{padding-right:max(10px,calc((100% - 298px - 940px)/2))}}
@media(max-width:1099px){.main:has(#chatPage:not([hidden])) .heading,.main:has(#chatPage .chat-drawer:not([hidden])) .heading{padding-right:2px}}

#chatPage{position:relative}
/* Reference material: a clear white rim over a smoky, translucent body.
   Navigation geometry and interaction stay unchanged. */
:root{--bg:#dedede;--ink:#191b1d;--muted:#73777b;--soft:#e8e8e8;--line:#dcdcdc;--surface:linear-gradient(180deg,#fafafad1,#e8e8e8d1);--float:inset 0 1px 1px #ffffffb0,0 12px 28px -24px #24282c30}
body{background:#dedede}
.app .plan,.app .stat,.app .report-row,.app .report-detail,.app .preparation-preview,.app .preparation-editor,.app .file-preview{background:var(--surface);border:1px solid #ffffffb8;border-top:2px solid #fff;box-shadow:var(--float);backdrop-filter:blur(26px)}
.app .plan:first-child{background:var(--surface);box-shadow:var(--float)}
.app,.app:has(#chatPage:not([hidden])){background:radial-gradient(ellipse at 12% 12%,#ffffff50,transparent 55%),radial-gradient(ellipse at 85% 90%,#d3d3d32e,transparent 60%),linear-gradient(180deg,#eaeaea 0,#e6e6e6 55%,#e1e1e1 100%)}
.main:has(#chatPage:not([hidden])) .heading{display:none}
.app .rail{background:linear-gradient(130deg,#ffffff30,#e3e7e31a);backdrop-filter:blur(26px) saturate(110%)}
.app .rail .nav-tree .nav-group-heading{position:relative;isolation:isolate;border:1px solid transparent;border-radius:22px;background:transparent;box-shadow:none;backdrop-filter:none;transition:background .18s,box-shadow .18s}
.app .rail .nav-tree .nav-group-heading:has(.on){background:linear-gradient(145deg,#ffffff80,#ffffff30);border:1.5px solid #ffffffe6;border-top-color:#fff;box-shadow:inset 0 1px 2px #fff,0 5px 12px -10px #34383c20;backdrop-filter:blur(18px)}
.app .rail .nav-tree .nav-group-heading:hover:not(:has(.on)){background:#ffffff38;box-shadow:none}
.app .rail .nav-tree .nav-group-heading button:first-child{border-radius:24px}
.app .rail .nav-tree .nav-group-heading button:hover{background:transparent;box-shadow:none}
.app .rail .rail-top .logo,.app .rail #logout{background:linear-gradient(145deg,#ffffffa8,#ffffff35);border:1px solid #ffffffd9;border-top:2px solid #fff;box-shadow:inset 0 1px 2px #fff,inset 0 -1px 2px #ffffff80,0 7px 13px -9px #3b484959;backdrop-filter:blur(20px)}
.app .rail .nav-children button.active{background:linear-gradient(145deg,#ffffff65,#d3ddda50);border:1px solid #ffffff88;box-shadow:inset 0 1px 1px #fff9;border-radius:14px}
.chat-page .conversation .composer-wrap{position:relative;isolation:isolate}
.chat-page .conversation .composer-wrap:before{content:none}
.chat-page .conversation .composer{background:linear-gradient(145deg,#ffffff80 0,#ffffff38 55%,#ffffff20 100%);border:1.5px solid #ffffffd9;border-top:2px solid #fff;border-left-color:#ffffffe0;box-shadow:inset 0 1px 2px #ffffffb0,inset 0 -1px 1px #ffffff50,0 16px 30px -26px #3f4a4b35;backdrop-filter:blur(20px)}
.chat-page .conversation .composer:focus-within{border-top-color:#fff;box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #a5afaf20,0 16px 30px -26px #3f4a4b70,0 0 0 2px #ffffff35}
.chat-page .composer-foot #attach{background:#ffffffe0;border:1px solid #ffffffb0;box-shadow:0 3px 8px -7px #343b3b60;backdrop-filter:none}
.chat-page .composer-foot #send{background:linear-gradient(145deg,#444,#222);border:1px solid #ffffff70;border-top-color:#ffffffb8;color:#fff;box-shadow:inset 0 1px 1px #ffffff45,0 6px 12px -10px #0005;backdrop-filter:blur(18px)}
.chat-page .composer-foot #send:hover:not(:disabled){background:linear-gradient(145deg,#505050,#303030);box-shadow:inset 0 1px 1px #ffffff60,0 6px 14px -10px #0005}
#chatPage .private-panel{background:linear-gradient(180deg,#fafafad1 0,#f1f1f1d1 52%,#e8e8e8d1 100%);border:1px solid #ffffff26;border-top:1.5px solid #fff;border-left-color:#ffffff85;border-radius:0;box-shadow:inset 0 1px 1px #ffffffb0,0 16px 30px -26px #3a414125;backdrop-filter:blur(28px)}
.private-head-actions button,.chat-page .private-toggle{background:linear-gradient(145deg,#ffffff80,#ffffff30);border:1px solid #ffffffb8;border-top-color:#fff;box-shadow:inset 0 1px 1px #ffffffb0;backdrop-filter:blur(18px)}
.private-head-actions button.active{background:linear-gradient(180deg,#e3eaed,#d4dfe266)}
.app .rail .nav-tree .nav-group-heading button:first-child{color:#4f5257}
.app .rail .nav-tree .nav-group-heading button.on{color:#111315}
.app .rail .nav-tree .nav-children button.active{background:#ffffff55;border:1px solid #ffffff40;color:#292d31;box-shadow:none;border-radius:12px}
.chat-page .messages .msg.assistant .bubble{color:#1e2124}
.chat-page .conversation .composer textarea{color:#202428}
.chat-page .conversation .composer textarea::placeholder{color:#737b80}
.chat-page .conversation .composer-foot small{color:#747d82}
#chatPage .private-head{border-bottom-color:#cbd0d033;padding:22px 28px}
#chatPage .private-file-menu{border-left-color:#cbd0d033}
#chatPage .private-file-menu .private-filter{background:linear-gradient(180deg,#ffffff70,#ffffff25);border-color:#ffffff90;box-shadow:inset 0 1px 1px #fff;border-radius:20px}
.app .private-content{color:#22262a}
@media(max-width:900px){#chatPage .private-panel:not([hidden]){background:linear-gradient(180deg,#f8f8f8f5,#e8e8e8f5);border-radius:0}#chatPage .private-head{padding:18px 20px}}
.private-file-menu .private-filter{background:linear-gradient(145deg,#ffffff65,#ffffff20);box-shadow:inset 0 1px 2px #fff,0 5px 12px -10px #40525740}
@media(prefers-reduced-transparency:reduce){.app .rail .nav-tree .nav-group-heading,.chat-page .conversation .composer,#chatPage .private-panel{background:#edf0ef;backdrop-filter:none}}
.chat-page>.private-toggle{position:absolute;right:10px;top:0;z-index:6;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;color:#354047}
.private-head-actions .private-toggle{position:static;flex-shrink:0;display:grid;place-items:center;width:36px;height:32px;padding:0;border-radius:50%;color:#354047}
.chat-page .composer-foot #navHistory{display:none}
@media(max-width:700px){.chat-page .composer-foot #navHistory{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border-radius:50%;background:#ffffff70;border:1px solid #fff}.chat-page .composer-foot .private-toggle{width:36px;height:36px}.chat-page .composer-foot{gap:7px}.chat-page .composer-foot small{font-size:9px}}
.private-toggle svg,.private-head-actions svg{width:18px;height:18px;display:block}.private-head-actions button{min-height:30px}
.private-directory-hint{font-size:11px;color:#76847c;padding:4px 8px}
.private-file-menu .private-filter{appearance:none;box-sizing:border-box;border:1px solid #ffffffd9;border-radius:15px;background:linear-gradient(150deg,#ffffffb8,#edf0ef91);box-shadow:inset 0 1px 1px #fff,0 4px 12px #343c4405;color:var(--ink);font:inherit;font-size:12px;line-height:1.5;padding:10px 12px;transition:border-color .18s,background .18s,box-shadow .18s}
.private-file-menu .private-filter::placeholder{color:#939c98;opacity:1}
.private-file-menu .private-filter:hover{background:linear-gradient(150deg,#ffffffd9,#edf0efb5);border-color:#fff}
.private-file-menu .private-filter:focus-visible{outline:2px solid #8caaa266;outline-offset:2px;background:#ffffffd9;box-shadow:inset 0 1px 1px #fff,0 3px 12px #343c4408}
#chatPage.has-private-panel:not([hidden]){display:grid;grid-template-columns:minmax(0,var(--private-left-fr,.45fr)) 16px minmax(0,var(--private-right-fr,.55fr));gap:0;min-height:0}
#chatPage.has-private-panel .conversation{min-width:0;width:100%;grid-column:3;grid-row:1}
#chatPage.has-private-panel.private-on-right .conversation{grid-column:1}
#chatPage.has-private-panel.private-on-right .private-panel{grid-column:3}
.private-splitter{grid-column:2;grid-row:1;position:relative;cursor:col-resize;touch-action:none;min-height:0;border-radius:8px}
.private-splitter:after{content:'';position:absolute;top:calc(50% - 24px);left:6px;width:4px;height:48px;border-radius:4px;background:#7778;opacity:0;transition:opacity .18s}
.private-splitter:hover:after,.private-splitter:focus-visible:after,body.private-resizing .private-splitter:after{opacity:1}
.private-splitter:focus-visible{outline:2px solid #8b9e95;outline-offset:-3px}
.private-splitter[hidden]{display:none}body.private-resizing,body.private-resizing *{cursor:col-resize!important;user-select:none!important}
#chatPage.has-private-panel .messages{padding-top:24px}
#chatPage.has-private-panel .private-toggle{right:12px}
.private-panel{grid-column:1;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid #fff;border-radius:20px;background:#ffffff75;overflow:hidden}
.private-panel[hidden]{display:none}.private-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #d6ded8}
.private-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-head-actions{display:flex;gap:6px;flex-shrink:0}.private-head button{padding:4px 10px}.private-head button.active{background:#dce6df;color:#28332f}.private-body{display:flex;flex:1;min-height:0;min-width:0}.private-reader{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.private-file-menu{width:210px;max-width:45%;min-width:140px;display:flex;flex-direction:column;border-left:1px solid #d6ded8;padding-top:12px;min-height:0}.private-file-menu[hidden],.private-toolbar[hidden]{display:none}.private-filter{min-width:0;width:calc(100% - 20px);margin:0 10px;padding:8px;font-size:12px}.private-empty{height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#76847c}.private-empty strong{font-size:18px;color:#28332f}.private-empty p{font-size:12px}.private-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:10px}.private-toolbar button{font-size:12px;padding:7px 10px}.private-toolbar button.active{background:#28332f;color:white}
.private-path{padding:10px;font-size:11px;overflow-wrap:anywhere}.private-path button{margin-right:8px;font-size:11px;padding:4px 8px}
.private-files{min-height:0;overflow:auto;padding:0 10px 10px;display:flex;flex-direction:column;flex:1}.private-files button{background:transparent;border:0;box-shadow:none;text-align:left;border-radius:6px;padding:6px 8px;font-size:12px;overflow-wrap:anywhere}.private-files button:hover,.private-files button.active{background:#dce6df}
.private-status{font-size:11px;line-height:1.6;margin:0;padding:0 14px 10px;color:#76847c;overflow-wrap:anywhere}.private-content{min-height:0;overflow:auto;padding:12px 18px;flex:1;line-height:1.8;font-size:14px}.private-content img{max-width:100%;height:auto}.private-plain{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.private-diff-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.private-diff-columns h4{margin:0 0 8px;font-size:12px}.private-diff-columns pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.7 Consolas,monospace;margin:0}.private-diff-columns .removed{background:#ffe2e2;color:#8a2e2e}.private-diff-columns .added{background:#dcf2df;color:#245a31}
@media(max-width:900px){#chatPage.has-private-panel:not([hidden]){display:block}.private-panel:not([hidden]){position:absolute;inset:0;z-index:5;background:#f2f5f2}.private-splitter{display:none}}
.preparation-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.preparation-actions small{font-size:12px;color:#718079}
.preparation-editor{display:block;box-sizing:border-box;width:100%;min-height:440px;padding:24px;border:1px solid #fff;border-radius:20px;background:#ffffff80;color:#26332c;font:15px/1.8 Consolas,monospace;resize:vertical}
.preparation-preview{padding:28px 32px;background:#ffffff80;border:1px solid #fff;border-radius:24px;line-height:1.8;overflow-wrap:anywhere}
#preparationLabel{display:block;margin-bottom:8px;font-size:13px}
.preparation-editor[hidden],.preparation-preview[hidden],#preparationLabel[hidden]{display:none}
/* Compact answer sheet and ordered, single-column options. */
.exam #options.compact-options{grid-template-columns:minmax(0,1fr);gap:4px}
.exam .answer-card{position:absolute;left:50%;right:auto;top:auto;bottom:18px;transform:translateX(-50%);width:min(680px,calc(100% - 32px));max-height:calc(100% - 48px);border-radius:24px;border:1px solid #fff}
.exam .answer-card h3{font-size:18px;padding:18px 48px 0}.exam .answer-card>small{margin:4px 0 0;font-size:11px}.exam .answer-sheet-close{top:13px;right:15px;width:32px;height:32px}
.exam .sheet-scroll{padding:18px 22px 0}.exam .answer-group{margin-bottom:18px}.exam .answer-group h4{font-size:13px;margin:0 0 10px}.exam .answer-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.exam .answer-grid button{width:36px;max-width:100%;font-size:13px}
.exam .sheet-footer{padding:10px 22px 13px}.exam .sheet-legend{margin-bottom:7px;font-size:10px}.exam .answer-card #submit{height:40px;font-size:14px}.exam .answer-card .save-state{margin:5px 0 0;font-size:10px}
.exam .exam-header{grid-template-columns:44px minmax(0,1fr) repeat(3,44px)}.exam .paused{position:absolute;inset:0}
@media(max-width:700px){.exam .answer-card{left:0;right:0;bottom:0;transform:none;width:100%;max-height:82%;border-radius:22px 22px 0 0}.exam .sheet-scroll{padding:16px 16px 0}.exam .answer-grid{gap:8px 5px}.exam .answer-grid button{width:34px}.exam .sheet-footer{padding:10px 16px 14px}.exam .exam-header{grid-template-columns:32px minmax(0,1fr) repeat(3,32px)}}
@media(max-width:359px){.exam .answer-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
.modal.wide:has(.process-replay){width:min(1000px,94vw);max-width:94vw;max-height:90vh;overflow:auto}.process-replay{width:100%;min-width:0}.process-replay .row{flex-wrap:wrap;justify-content:flex-start;gap:8px}.process-replay input[type=range]{width:100%;accent-color:#384c60}.process-replay select{font:inherit;color:inherit;background:#f4f6f4;border:1px solid #dce3df;border-radius:12px;padding:8px}.process-canvas{display:block;width:100%;max-height:35vh;object-fit:contain;background:white;border:1px solid #e0e6e2;border-radius:14px}.process-replay p{margin:10px 0}.process-replay img{max-width:100%;max-height:180px;object-fit:contain}.ink-toolbar button.process-entry{width:auto;padding:8px 12px;font-size:12px}
/* Quiet workspace: functional content first; selection is white translucent glass. */
.app .main:has(#practicePage:not([hidden]),#reportsPage:not([hidden]),#filesPage:not([hidden]))>.heading{display:none}
body .app:has(#chatPage:not([hidden])) .main{padding-top:0}
.app .rail .nav-tree .nav-group:not(:has(.on)) .nav-children button.active{background:transparent;border-color:transparent;box-shadow:none;color:#797d80}
.app .rail .nav-tree .nav-group:has(.on) .nav-children button.active,
.app .file-tabs button.active,.app .practice-filters button.active,
.private-panel .private-head button.active,.private-panel .private-toolbar button.active,
.private-panel .private-files button.active{background:linear-gradient(145deg,#ffffffb0,#ffffff40);color:#222;border:1.5px solid #fffffff0;box-shadow:inset 0 1px 2px #fff,0 5px 14px -11px #3334;backdrop-filter:blur(18px)}
.private-panel .private-files button:hover{background:#ffffff65}
.private-panel .private-status,.private-panel .private-empty{color:#777}
.private-panel .private-empty strong{color:#292929}
.private-panel .private-head,.private-panel .private-file-menu{border-color:#dddddd80}
.composer-foot #attach,.composer-foot #send,.private-head-actions button,.chat-page>.private-toggle{display:grid;place-items:center;align-items:center;justify-content:center;line-height:1}
.composer-foot #attach svg,.composer-foot #send svg,.private-head-actions button svg,.private-toggle svg{display:block;margin:auto;flex:none}
.private-files button{display:flex;align-items:flex-start;gap:5px;min-height:30px;flex-shrink:0}
.private-file-chevron{width:10px;flex:none;line-height:18px;color:#777;text-align:center}
.private-file-icon{width:16px;height:18px;flex:none;display:grid;place-items:center;color:#777}
.private-file-icon svg{display:block;width:16px;height:16px}
.private-file-name{min-width:0;line-height:18px;overflow-wrap:anywhere}
.private-files button.active .private-file-icon{color:#333}
.app .rail-account{position:relative;display:block;padding:0;overflow:visible}
.app .rail .account-button{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 10px;border:1.5px solid transparent;background:transparent;box-shadow:none;color:#333;border-radius:18px;text-align:left}
.app .rail .account-button:hover,.app .rail .account-button[aria-expanded="true"]{background:linear-gradient(145deg,#ffffffa8,#ffffff35);border-color:#fff;box-shadow:inset 0 1px 2px #fff;backdrop-filter:blur(20px)}
.account-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#ffffffce,#ffffff50);border:1.5px solid #fff;color:#444;font-size:14px;font-weight:600;line-height:1;box-shadow:0 3px 9px #0000000b}
.app .rail .account-button .account-name{flex:1;min-width:0;max-width:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444}
.account-chevron{font-size:14px;color:#777}
.app .rail{overflow:visible!important}
.account-menu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:100%;min-width:0;max-width:calc(100vw - 24px);padding:8px;border:1.5px solid white;border-radius:20px;background:linear-gradient(145deg,#ffffffee,#ffffffb8);box-shadow:0 12px 36px #00000018,inset 0 1px 2px #fff;backdrop-filter:blur(24px)}
.app.sidebar-collapsed .account-menu{width:220px}
.settings-name-form{display:grid;gap:10px;margin-bottom:24px}.settings-name-form input{width:100%;min-width:0}.settings-name-form p{margin:0}.settings-name-form button{justify-self:start}
.app .composer .file-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.app .composer .image-chip{position:relative;display:block;flex:none;width:112px;height:112px;padding:0;margin:0 0 10px;border:1.5px solid #fff;border-radius:14px;background:#ffffff60;box-shadow:0 3px 10px #0000000a;overflow:visible}
.app .composer .image-chip img{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px}
.app .composer .image-chip button{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;min-width:0;margin:0;padding:0;border:1px solid #fff;border-radius:50%;background:#ffffffde;color:#333;box-shadow:0 2px 6px #0002;font-size:16px;line-height:1;backdrop-filter:blur(8px)}
.account-menu[hidden]{display:none!important}.account-menu-header{padding:10px;font-size:13px;font-weight:600;border-bottom:1px solid #7772;margin-bottom:5px;overflow-wrap:anywhere}
.app .rail .account-menu button,.app .rail .account-menu #logout{display:flex;align-items:center;gap:10px;width:100%;height:auto;min-height:40px;margin:0;padding:9px 10px;border:1px solid transparent;border-radius:12px;background:transparent;box-shadow:none;font-size:13px;color:#333;text-align:left}
.app .rail .account-menu button:hover,.app .rail .account-menu button:focus-visible{background:#ffffffb0;border-color:white}.account-menu button span{width:18px;text-align:center;font-size:17px}
.app.sidebar-collapsed .rail .account-button{justify-content:center;padding:5px}.sidebar-collapsed .account-chevron{display:none}.settings-identity{display:flex;align-items:center;gap:12px;margin-bottom:16px}.settings-hint{font-size:12px;color:#777}
.quote-selection{position:fixed;z-index:45;padding:8px 14px;border:1.5px solid white;border-radius:18px;background:#ffffffe0;color:#222;box-shadow:0 5px 20px #0002;backdrop-filter:blur(18px);font-size:12px}
.quote-draft{margin-bottom:12px}.quote-draft>button{padding:5px 10px;font-size:12px;border:1px solid #fff;border-radius:12px;background:#ffffff70;color:#444}.quote-cards{display:grid;gap:8px;margin-top:8px;max-height:210px;overflow:auto}.quote-card{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border:1.5px solid white;border-radius:16px;background:linear-gradient(135deg,#ffffffb0,#ffffff40);box-shadow:0 3px 12px #00000008}.quote-card-info{flex:1;min-width:0}.quote-card-info small{font-size:11px;color:#777;overflow-wrap:anywhere}.quote-card-info p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.quote-card>button{flex:none;padding:0;width:26px;height:26px;border:0;background:transparent;color:#666;font-size:17px}.modal #quoteEditInput{width:100%;min-height:140px;margin-bottom:14px}.message-quotes{display:grid;gap:6px;margin-bottom:10px}.message-quote{margin:0;padding:10px 14px;border-left:2px solid #aaa;border-radius:10px;background:#ffffff55;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.message-quote small{display:block;color:#777}
.queue-draft{margin:0 0 10px;max-height:220px;overflow:auto}.queue-heading{display:flex;align-items:center;justify-content:space-between;margin:0 8px 7px}.queue-heading small{font-size:11px;color:#777}.queue-heading button{padding:4px 10px;font-size:11px}.queued-message{display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;border:1.5px solid white;border-radius:16px;background:#ffffff65}.queued-message-info{flex:1;min-width:0}.queued-message-info>span{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.queued-message-info>small{font-size:10px;color:#777}.queued-message>button{padding:2px 8px;background:transparent;border:0}.queued-attachments{display:flex;gap:5px;margin-bottom:6px}.queued-attachments .chat-attachment.image-thumbnail{width:44px;height:44px}.app .composer-foot .stop-run{display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0;border-radius:50%;border:1.5px solid #fff;background:linear-gradient(145deg,#ffffffd0,#ffffff60);color:#333;font-size:16px}.app .composer-foot .stop-run[hidden]{display:none}
.app .main:has(#preparationPage:not([hidden]))>.heading,#preparationPage>.page-intro{display:none}
.preparation-actions[hidden]{display:none}
.document-actions{display:flex;gap:8px;margin-bottom:24px}.document-group{margin-bottom:28px}.document-group h3{font-size:15px;margin-bottom:12px}.document-empty{font-size:12px;color:#777;margin:12px 0}
.document-entry{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;margin-bottom:8px;padding:18px 22px;background:linear-gradient(145deg,#ffffff80,#ffffff30);border:1.5px solid #ffffffdc;backdrop-filter:blur(18px)}.document-entry strong{font-size:14px;font-weight:500}.document-entry small{font-size:11px;overflow-wrap:anywhere}
.document-catalogue{margin-bottom:28px}.learning-document{margin-top:20px;line-height:1.9;overflow-wrap:anywhere}
.app #preparationPage .primary{background:linear-gradient(145deg,#ffffffb0,#ffffff40);border:1.5px solid white;color:#222}
@media(max-width:700px){.document-entry{padding:15px}.document-actions{flex-wrap:wrap}}
.main>#navHistory{display:none}
.private-head-actions .private-swap{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:7px;border:1px solid #ffffffe0;border-radius:12px;background:linear-gradient(145deg,#ffffffa0,#ffffff30);box-shadow:inset 0 1px 1px #fff,0 3px 12px #00000006;color:#68716d;transition:background .18s,color .18s}
.private-head-actions .private-swap:hover{background:linear-gradient(145deg,#ffffffe0,#ffffff70);color:#292f2c}.private-swap svg{width:21px;height:21px}
.private-head-actions .private-quote-question{width:auto;font-size:12px;white-space:nowrap;padding:6px 10px}
.private-practice.is-answering{padding:0;overflow:hidden;position:relative;display:flex;flex-direction:column}.private-practice.is-report{padding:16px;overflow:auto}
#privatePanel #exam{position:relative;inset:auto;left:auto;bottom:auto;width:100%;height:100%;min-height:0;flex:1;z-index:1;--exam-head:88px;--exam-foot:62px;container-type:inline-size}
#privatePanel #exam .exam-header{padding:12px 18px;gap:0 8px;grid-template-columns:32px minmax(0,1fr) repeat(3,34px)}
#privatePanel #exam .exam-header button{width:34px;height:34px;padding:6px}
#privatePanel #exam .paper{padding:24px 22px 32px}#privatePanel #exam .stem{font-size:18px;line-height:1.85;margin:18px 0}
#privatePanel #exam .option{font-size:15px;padding:11px 12px;gap:12px}#privatePanel #exam .option span:first-child{width:32px;height:32px;flex-basis:32px;font-size:14px}
#privatePanel #exam .exam-footer{padding:10px 18px;gap:8px}#privatePanel #exam .exam-footer small{font-size:10px;line-height:1.4;min-width:0}
#privatePanel #exam .answer-card,#privatePanel #exam .paused{position:absolute;left:0;right:0;bottom:0;max-width:100%}
#privatePanel #exam .paused{top:0;inset:0;z-index:15}#privatePanel #exam .material-panel{padding:16px 22px;max-height:none;grid-column:1;grid-row:2;border-right:0;border-bottom:1px solid #e2e7e5}
#privatePanel #exam.has-material{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--exam-head) minmax(180px,1.2fr) minmax(180px,.8fr) var(--exam-foot)}
#privatePanel #exam.has-material .paper{grid-column:1;grid-row:3}#privatePanel #exam.has-material .exam-footer{grid-column:1;grid-row:4}
#privatePanel #exam.short-material{grid-template-rows:var(--exam-head) auto minmax(0,1fr) var(--exam-foot)}#privatePanel #exam.short-material .material-panel{max-height:180px}
#privatePanel .report-detail{margin:0;padding:18px;border-radius:16px}#privatePanel .report-question{overflow-wrap:anywhere}
@container(max-width:440px){#privatePanel #exam .exam-footer small{max-width:140px}#privatePanel #exam .exam-footer button{padding:8px 10px;font-size:11px}}
.private-head-actions .private-practice-toggle{width:auto;white-space:nowrap;font-size:12px;padding:5px 10px}.private-head-actions .private-practice-toggle.active{background:linear-gradient(145deg,#ffffffdf,#ffffff70);color:#222;border-color:#fff}.private-practice{flex:1;min-height:0;overflow:auto;padding:18px}.private-practice .practice-filters{margin-bottom:18px}.private-practice-card{padding:18px;margin-bottom:12px;border:1.5px solid #fff;border-radius:20px;background:linear-gradient(145deg,#ffffffa0,#ffffff35);box-shadow:inset 0 1px 1px #fff;backdrop-filter:blur(18px)}.private-practice-card h3{font-size:14px;overflow-wrap:anywhere;margin-bottom:8px}.private-practice-card p{font-size:12px;color:#777;margin-bottom:14px}.private-practice-card button{width:100%;font-size:12px;background:#ffffff55;color:#333;border:1px solid white}.private-practice-empty{font-size:13px;color:#777;padding:20px}
@media(max-width:700px){.app .main{position:relative}.main>#navHistory{display:grid;place-items:center;position:absolute;top:8px;left:14px;width:34px;height:34px;padding:0;border-radius:50%;z-index:4}.main:has(>#navHistory){padding-top:50px}.main>#navHistory svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}}
