.student-theme{--ink:#39245f;--muted:#705d8a;--line:#dfcdf7;--paper:#f8f3ff;--panel:#fffefe;--soft:#f0e7ff;--accent:#6f35f2;--accent-deep:#5020c5;--accent-soft:#eadfff;--warm:#ffb21c;--success:#168f68;--danger:#c92f62;--shadow:0 18px 45px rgb(91 43 160/14%);color:var(--ink);font-family:ui-rounded,Avenir Next,Nunito Sans,PingFang SC,Hiragino Sans GB,sans-serif}.student-theme .brand-mark{color:white;background:linear-gradient(145deg,#8247ff,#5f2ae5);box-shadow:0 7px 18px rgb(111 53 242/34%)}.student-theme .primary-button{min-height:42px;padding-inline:17px;border-radius:14px;background:linear-gradient(135deg,#7d42ff,#5d28da);box-shadow:0 8px 20px rgb(95 41 219/24%)}.student-theme .primary-button:hover:not(:disabled){background:linear-gradient(135deg,#6a32ed,#4e1dbf);box-shadow:0 11px 24px rgb(95 41 219/30%)}.portal-card:active,.portal-continue:active,.student-theme .primary-button:active:not(:disabled){transform:translateY(1px) scale(.985)}.student-theme .secondary-button{border-radius:12px;border-color:var(--line)}.student-theme a:focus-visible,.student-theme button:focus-visible,.student-theme input:focus-visible,.student-theme select:focus-visible,.student-theme textarea:focus-visible{outline:3px solid #ffcf33;outline-offset:3px}.portal-page{position:relative;min-height:100dvh;overflow:hidden;padding:28px clamp(22px,6vw,84px) 48px;background:radial-gradient(circle at 15% 16%,rgb(255 226 80/72%) 0 7%,transparent 21%),radial-gradient(circle at 88% 78%,rgb(255 98 177/38%) 0 11%,transparent 30%),linear-gradient(145deg,#7659f5,#8d6fff 34%,#36cbe5)}.portal-page:after,.portal-page:before{position:absolute;content:"";pointer-events:none}.portal-page:before{width:390px;height:150px;left:-45px;bottom:-50px;border-radius:50%;background:rgb(255 255 255/78%);box-shadow:250px -10px 0 25px rgb(255 255 255/58%),610px 38px 0 -5px rgb(255 255 255/48%);filter:blur(1px)}.portal-page:after{width:330px;height:330px;right:-160px;top:-160px;border:54px solid rgb(255 255 255/18%);border-radius:50%}.portal-brand{position:relative;z-index:2;gap:10px;color:white;font-size:18px;font-weight:850;letter-spacing:-.04em}.portal-brand .brand-mark{background:rgb(255 255 255/22%);box-shadow:inset 0 0 0 1px rgb(255 255 255/34%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portal-content{position:relative;z-index:2;width:min(100%,1040px);margin:clamp(66px,10vh,116px) auto 0;text-align:center}.portal-intro{color:white}.portal-kicker{display:inline-flex;padding:7px 13px;border:1px solid rgb(255 255 255/32%);border-radius:99px;background:rgb(68 32 145/16%);font-size:12px;font-weight:800;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-intro h1{max-width:820px;margin:18px auto 0;font-size:clamp(38px,6vw,68px);line-height:1.08;letter-spacing:-.06em;text-wrap:balance;text-shadow:0 8px 28px rgb(58 23 125/25%)}.portal-intro p{margin-top:17px;color:rgb(255 255 255/86%);font-size:16px;line-height:1.65}.portal-continue{display:inline-flex;align-items:center;gap:7px;min-height:38px;margin-top:22px;padding:0 14px;border:1px solid rgb(255 255 255/40%);border-radius:99px;color:#4c248c;background:rgb(255 255 255/86%);font-weight:800;box-shadow:0 9px 25px rgb(50 28 102/15%)}.portal-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px;margin-top:34px}.portal-card,.portal-cards{display:grid;text-align:left}.portal-card{position:relative;min-height:210px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:20px;gap:20px;overflow:hidden;padding:28px;border:2px solid rgb(255 255 255/52%);border-radius:28px;color:#3b225d;background:rgb(255 255 255/91%);box-shadow:0 24px 60px rgb(52 24 115/19%);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.portal-card:hover{transform:translateY(-6px) rotate(-.35deg);border-color:white;box-shadow:0 30px 70px rgb(52 24 115/27%)}.portal-card-teacher:hover{transform:translateY(-6px) rotate(.35deg)}.portal-card:after{position:absolute;width:180px;height:180px;right:-80px;bottom:-100px;content:"";border-radius:50%;background:#ffd63d;opacity:.56}.portal-card-teacher:after{background:#43e1bd}.portal-card-stars{position:absolute;top:18px;right:25px;color:#ff9d1f;font-size:23px}.portal-card-icon{display:grid;width:72px;height:72px;place-items:center;border-radius:23px;color:white;background:linear-gradient(145deg,#ff4fa7,#ff756d);box-shadow:0 12px 26px rgb(255 79 167/28%);transform:rotate(-4deg)}.portal-card-teacher .portal-card-icon{background:linear-gradient(145deg,#19cba2,#14a8d8);box-shadow:0 12px 26px rgb(20 168 216/28%);transform:rotate(4deg)}.portal-card-copy{min-width:0;display:grid;grid-gap:9px;gap:9px}.portal-card-copy strong{font-size:27px;letter-spacing:-.04em}.portal-card-copy>span{max-width:31ch;color:#69557e;font-size:14px;line-height:1.65}.portal-card-arrow{position:relative;z-index:1;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:white;background:#7040dd}.portal-card-teacher .portal-card-arrow{background:#09947c}.portal-note{margin-top:23px;color:rgb(255 255 255/82%);font-size:12px;font-weight:700}.portal-spark{position:absolute;width:9px;height:9px;border-radius:50%;background:white;box-shadow:0 0 18px 5px rgb(255 255 255/65%);animation:student-twinkle 2.8s ease-in-out infinite}.portal-spark-one{left:9%;top:39%}.portal-spark-two{right:12%;top:23%;animation-delay:1.1s}.student-auth-page{background:#f8f2ff}.student-auth-page .auth-intro{color:white;background:radial-gradient(circle at 16% 82%,rgb(255 216 52/75%) 0 8%,transparent 23%),radial-gradient(circle at 85% 17%,rgb(255 91 171/55%) 0 9%,transparent 29%),linear-gradient(145deg,#7047ed,#7955f5 45%,#27c4dd)}.student-auth-page .auth-intro:before{width:360px;height:170px;left:-80px;bottom:-75px;background:rgb(255 255 255/75%);filter:none;box-shadow:255px 15px 0 12px rgb(255 255 255/35%)}.student-auth-page .auth-intro:after{width:240px;height:240px;right:-125px;top:9%;border:38px solid rgb(255 255 255/17%);background:transparent}.student-auth-page .auth-intro .eyebrow,.student-auth-page .auth-lede,.student-auth-page .auth-note{color:rgb(255 255 255/84%)}.student-auth-page .auth-card-wrap{position:relative;background:radial-gradient(circle at 100% 0,#ffe36d 0 7%,transparent 25%),radial-gradient(circle at 0 100%,#ffb4df 0 8%,transparent 28%),#f8f2ff}.student-auth-page .auth-card{padding:30px;border:1px solid #e4d1fa;border-radius:24px;background:rgb(255 255 255/92%);box-shadow:0 26px 70px rgb(87 42 154/17%)}.student-auth-page .auth-card input{height:46px;border-radius:12px}.auth-portal-switch{justify-self:center;color:var(--muted);font-size:12px;font-weight:750}.auth-portal-switch:hover{color:var(--accent)}.student-project-list-page{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 9%,rgb(255 209 53/42%) 0 5%,transparent 19%),radial-gradient(circle at 6% 48%,rgb(255 85 172/16%) 0 7%,transparent 24%),linear-gradient(180deg,#f3ebff,#fbf8ff 42%,#f5fbff)}.student-project-list-page:before{position:absolute;z-index:0;width:440px;height:440px;right:-230px;top:32%;border:70px solid rgb(72 203 226/13%);border-radius:50%;content:"";pointer-events:none}.student-project-list-page>*{position:relative;z-index:1}.student-project-list-page .projects-top{min-height:62px;padding:0 18px;border:1px solid rgb(223 205 247/75%);border-radius:18px;background:rgb(255 255 255/70%);box-shadow:0 9px 30px rgb(84 42 149/8%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.student-project-list-page .teacher-link{min-height:32px;padding:0 11px;border-radius:99px;background:var(--accent-soft)}.student-project-list-page .project-hero{gap:clamp(35px,8vw,100px);padding:70px 0 56px;border-bottom-color:var(--line)}.student-project-list-page .project-hero .eyebrow{color:#d72e82}.student-project-list-page .project-hero h1{max-width:9ch;color:#4b258f;font-size:clamp(47px,7vw,78px);letter-spacing:-.065em}.student-project-list-page .quick-create{padding:24px;border:2px solid #d8c0fa;border-radius:22px;box-shadow:0 22px 55px rgb(98 47 166/15%);transform:rotate(.35deg)}.student-project-list-page .quick-create-title{color:#d72e82}.student-project-list-page .quick-create input,.student-project-list-page .quick-create textarea{border-radius:12px;background:#fbf8ff}.student-project-list-page .team-members-panel{max-width:none;margin-top:33px;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgb(255 255 255/72%);box-shadow:0 14px 36px rgb(86 43 147/8%)}.student-project-list-page .member-add-form,.student-project-list-page .team-member-row{border-radius:13px}.student-project-list-page .project-list-section{padding-top:44px}.student-project-list-page .project-tile{min-height:245px;border:2px solid #e1d0f6;border-radius:20px;box-shadow:0 9px 25px rgb(88 44 153/7%)}.student-project-list-page .project-tile:hover{border-color:#9b69ed;transform:translateY(-5px) rotate(-.25deg);box-shadow:0 22px 44px rgb(88 44 153/15%)}.student-project-list-page .project-orb{width:45px;height:45px;color:white;background:linear-gradient(145deg,#ff4fa7,#ff7c6b);box-shadow:0 9px 22px rgb(255 79 167/23%)}.student-project-list-page .orb-1{background:linear-gradient(145deg,#15ca9d,#19b7d8)}.student-project-list-page .orb-2{background:linear-gradient(145deg,#ffbd20,#ff7b2e)}.student-project-list-page .orb-3{background:linear-gradient(145deg,#8050ff,#bf47e8)}.student-shell{min-height:100dvh;background:radial-gradient(circle at 8% 24%,rgb(255 77 170/10%) 0 6%,transparent 18%),radial-gradient(circle at 91% 46%,rgb(54 203 228/11%) 0 8%,transparent 22%),linear-gradient(180deg,#f4edff,#fbf9ff 30%,#f5fbff)}.student-topbar{position:-webkit-sticky;position:sticky;z-index:20;top:0;min-height:72px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(460px,610px) max-content;align-items:center;grid-column-gap:16px;column-gap:16px;padding:12px clamp(22px,4vw,64px);border-bottom:1px solid rgb(215 195 240/82%);background:rgb(255 255 255/86%);box-shadow:0 5px 24px rgb(75 35 135/8%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.student-topbar-actions,.student-topbar-brand{display:flex;align-items:center;min-width:0}.student-topbar-brand{gap:14px}.student-topbar-actions{min-width:max-content;justify-content:flex-end;gap:10px;white-space:nowrap}.student-workspace-code{min-height:32px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #d7c0ee;border-radius:99px;color:#6d37b3;background:#f2e9ff;font-size:9px;font-weight:850;letter-spacing:.08em}.student-topbar-divider{width:1px;height:24px;background:var(--line)}.student-project-name{min-width:0;max-width:28ch;overflow:hidden;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.student-topbar .team-picker{min-width:max-content;flex:0 0 auto}.student-topbar .team-picker-label,.student-topbar .team-picker-name{flex:0 0 auto;color:var(--muted);white-space:nowrap}.student-topbar .team-picker-avatars{min-width:max-content;flex:0 0 auto;overflow:visible}.student-topbar .team-picker-name{max-width:88px;overflow:hidden;color:var(--ink);text-overflow:ellipsis}.student-topbar .project-members{position:relative;margin:0;color:var(--ink)}.student-topbar .project-members summary{min-width:max-content;min-height:34px;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:#fbf8ff;white-space:nowrap}.student-topbar .project-members summary b,.student-topbar .project-members-summary-label{flex:0 0 auto;white-space:nowrap}.student-topbar .project-members summary b{color:white;background:var(--accent)}.student-topbar .project-members-body{position:absolute;z-index:30;top:calc(100% + 10px);right:0;width:270px;padding:16px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:white;box-shadow:var(--shadow)}.student-topbar .project-member-mini-row{color:var(--muted)}.student-topbar .project-member-add select{color:var(--ink);border-color:var(--line);background:#faf7ff}.student-topbar .project-member-add-button{color:white;background:var(--accent)}.student-logout,.student-switch-link{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:white;font-size:11px;font-weight:800;white-space:nowrap}.student-logout:hover,.student-switch-link:hover{color:var(--accent);border-color:#a877ed;background:var(--accent-soft)}.student-logout{padding-inline:10px}.student-progress{position:-webkit-sticky;position:sticky;z-index:14;top:72px;width:min(calc(100% - 32px),760px);min-height:72px;display:flex;align-items:center;gap:5px;margin:14px auto 0;padding:9px 11px;border:1px solid rgb(218 199 242/86%);border-radius:20px;background:rgb(255 255 255/88%);box-shadow:0 12px 32px rgb(78 35 140/10%);-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px)}.student-progress-track{position:absolute;z-index:0;left:30px;right:100px;top:34px;height:4px;overflow:hidden;border-radius:99px;background:#e8ddf5}.student-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff4fa7,#ffb426,#25c9b1,#6f35f2);transition:width .3s ease}.student-stage{position:relative;z-index:1;flex:0 0 42px;min-width:0;min-height:52px;display:grid;grid-template-columns:34px;align-items:center;justify-content:center;padding:7px 4px;border:1px solid transparent;border-radius:14px;color:var(--muted);transition:transform .17s ease,border-color .17s ease,background-color .17s ease}.student-stage:hover{color:var(--ink);border-color:#d5baf7;background:#f7f0ff;transform:translateY(-2px)}.student-stage-orb{display:grid;width:32px;height:32px;place-items:center;border:3px solid white;border-radius:11px;color:#725d8a;background:#ebe1f5;box-shadow:0 0 0 1px #d9c7ed;transform:rotate(-3deg)}.student-stage:nth-of-type(2n) .student-stage-orb{transform:rotate(3deg)}.student-stage-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.student-stage-copy small{color:#927da9;font-size:8px;font-weight:900;letter-spacing:.08em}.student-stage-copy b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.student-stage:not(.student-stage-current) .student-stage-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.student-stage-current{flex:1 1 auto;grid-template-columns:34px minmax(0,1fr);justify-content:start;gap:8px;padding-inline:8px}.student-progress-count{position:relative;z-index:1;flex:0 0 auto;display:grid;justify-items:end;grid-gap:1px;gap:1px;padding:0 3px 0 7px;color:#7b6594;text-align:right}.student-progress-count b{color:#4e238f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.02em}.student-progress-count small{color:#927da9;font-size:8px;font-weight:800}.student-stage-done .student-stage-orb{color:white;background:linear-gradient(145deg,#1dc997,#0ea9bb);box-shadow:0 6px 16px rgb(23 186 161/27%)}.student-stage-current{color:#4e238f;border-color:#be97f5;background:linear-gradient(135deg,#f2e6ff,#fff4fb);box-shadow:inset 0 0 0 1px rgb(255 255 255/80%)}.student-stage-current .student-stage-orb{color:white;background:linear-gradient(145deg,#ff4fa7,#7a42f5);box-shadow:0 7px 18px rgb(187 62 201/30%);animation:student-orb-glow 2s ease-in-out infinite}.student-stage-next{position:absolute;right:7px;top:7px;color:#d52f83}.student-main-panel{min-width:0}.student-shell .brief-page{padding-top:34px}.brief-page-brief .brief-layout-form{grid-template-columns:minmax(0,1fr);min-height:0}.brief-layout-form .brief-editor{min-height:650px}.brief-form-intro{display:grid;grid-gap:6px;gap:6px;padding:25px 24px 0}.brief-form-intro strong{color:#4b258f;font-size:16px}.brief-form-intro p{max-width:58ch;color:var(--muted);font-size:12px;line-height:1.6}.brief-page-confirmed-edit .brief-editor{box-shadow:0 0 0 3px rgb(255 183 69/18%),0 13px 35px rgb(88 43 153/9%)}.student-shell .draft-status.editing{color:#754100;background:#fff0c8}.brief-form-loading{padding:27px 24px;color:var(--muted);font-size:12px}.brief-layout-chat{grid-template-columns:clamp(220px,20vw,250px) minmax(0,1fr);min-height:650px}.brief-layout-chat .chat-panel{min-width:0;border-right:0;border-bottom:0;border-left:1px solid var(--line)}.chat-panel-actions{display:flex;align-items:center;gap:10px}.chat-panel-actions>span{color:var(--muted);font-size:11px}.chat-pet-rail{min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);align-items:start;grid-gap:13px;gap:13px;padding:21px 16px 14px;background:radial-gradient(circle at 50% 84%,rgb(255 204 229/40%),transparent 35%),linear-gradient(180deg,rgb(255 247 252/96%),rgb(246 239 255/86%))}.chat-pet-head{display:flex;align-items:center;gap:9px;color:#4b258f}.chat-pet-head-icon{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:10px;color:#c52c7b;background:#ffe2f1}.chat-pet-head>span:last-child{min-width:0;display:grid;grid-gap:2px;gap:2px}.chat-pet-head strong{font-size:13px;line-height:1.2}.chat-pet-head small{overflow:hidden;color:#897198;font-size:10px;font-weight:680;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.chat-pet-bubble{position:relative;width:100%;min-height:68px;display:grid;place-items:center;padding:12px 11px;border:1px solid #e4d3f5;border-radius:16px;color:#65427f;background:white;box-shadow:0 9px 23px rgb(103 53 147/10%);font-size:11px;font-weight:760;line-height:1.55;text-align:center}.chat-pet-bubble:after{position:absolute;left:25px;bottom:-7px;width:12px;height:12px;content:"";border-right:1px solid #e4d3f5;border-bottom:1px solid #e4d3f5;background:white;transform:rotate(45deg)}.chat-pet-rail.is-praise .chat-pet-bubble{color:#a22970;border-color:#f2b9d7;background:#fff3fa}.chat-pet-rail.is-praise .chat-pet-bubble:after{border-color:#f2b9d7;background:#fff3fa}.chat-pet{width:100%;min-height:0;display:grid;align-self:end;place-items:end center;padding-top:5px;animation:chat-pet-idle 3.8s ease-in-out infinite}.chat-pet.is-praise{animation:chat-pet-praise .52s ease-in-out 3}.chat-pet-image{display:block;width:min(212px,100%);max-height:270px;height:auto;object-fit:contain;object-position:center bottom}.chat-pet-fallback{display:grid;width:92px;height:92px;place-items:center;border-radius:30px;color:#c52c7b;background:#ffe2f1}@keyframes chat-pet-idle{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes chat-pet-praise{0%,to{transform:translateY(0) rotate(-4deg) scale(1)}50%{transform:translateY(-7px) rotate(4deg) scale(1.05)}}.brief-drawer-backdrop{position:fixed;z-index:70;inset:0;display:flex;justify-content:flex-end;background:rgb(45 24 82/28%)}.brief-drawer{width:min(100%,470px);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-left:1px solid #d9c4f3;color:var(--ink);background:#fffefe;box-shadow:-20px 0 55px rgb(75 34 132/18%);outline:none}.brief-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fbf7ff,#fff8fc)}.brief-drawer-head .eyebrow{margin-bottom:4px;color:#d42f82}.brief-drawer-head h2{color:#4b258f;font-size:18px}.brief-drawer-close{flex:0 0 auto;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:white}.brief-drawer-close:focus-visible,.brief-drawer-close:hover{color:var(--accent);border-color:#a877ed;background:var(--accent-soft);outline:none}.brief-drawer-body{min-height:0;overflow-y:auto}.brief-drawer-body .brief-form{grid-template-columns:1fr;padding:22px}.brief-drawer-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line);background:#fffefe}.student-shell .brief-drawer .brief-form input{border-radius:11px;background:#fbf8ff}.student-shell .brief-drawer .brief-form input:disabled{color:var(--ink);background:var(--soft)}.student-shell .workspace-page{min-height:auto;padding-top:38px}.student-shell .page-header h1{color:#4b258f;font-size:clamp(31px,4vw,43px)}.student-shell .page-header .eyebrow{color:#d42f82}.student-shell .brief-layout,.student-shell .edit-panel,.student-shell .empty-state,.student-shell .model-create,.student-shell .presentation-create,.student-shell .presentation-workspace,.student-shell .ranking-side,.student-shell .rating-card,.student-shell .three-view-set,.student-shell .view-module{border-color:var(--line);border-radius:20px;box-shadow:0 13px 35px rgb(88 43 153/9%)}.student-shell .brief-layout{overflow:hidden;border-width:2px}.student-shell .chat-panel-head,.student-shell .editor-head{background:linear-gradient(90deg,#fbf7ff,#fff8fc)}.student-shell .empty-symbol,.student-shell .mini-icon{border-radius:12px;color:#c52c7b;background:#ffe2f1}.student-shell .message>span{color:#7a36ec;background:#e8ddff}.student-shell .message.user>span,.student-shell .round-button{color:white;background:linear-gradient(145deg,#ff4fa7,#7b40ef)}.student-shell .message p,.student-shell .starter-message{border-radius:14px}.student-shell .message.user p{border-radius:14px;background:#f2e6ff}.student-shell .asset-card,.student-shell .model-card,.student-shell .presentation-template-card,.student-shell .source-thumb{border-radius:14px}.student-shell .asset-card.selected{border-color:#d82e84;box-shadow:0 0 0 4px #ffe0ef}.student-shell .mode.active,.student-shell .provider-choice-button.checked{border-color:#a56fe9;background:#efe4ff}.student-shell .status-running{color:#5e2bc0;background:#eadfff}.student-shell .status-succeeded{color:#087c5b;background:#d8f8ed}.student-shell .inline-notice{color:#532394;background:#eadfff}.student-shell .inline-error{color:#9d174d;background:#ffe1ed}.student-shell .rank-1{color:#804a00;background:#ffe7a1}.student-shell .star.active{color:#ffad14}.portal-brand{gap:11px}.portal-account,.portal-brand{display:flex;align-items:center}.portal-account{margin-left:auto;gap:12px;font-size:12px;font-weight:750}.portal-account>span{color:rgb(255 255 255/86%)}.portal-account button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid rgb(255 255 255/32%);border-radius:99px;color:white;background:rgb(255 255 255/12%);font:inherit}.student-workspace-page{position:relative;min-height:100dvh;overflow:hidden;padding:26px clamp(20px,5vw,74px) 58px;background:radial-gradient(circle at 10% 18%,rgb(255 220 73/54%) 0 5%,transparent 18%),radial-gradient(circle at 92% 76%,rgb(46 203 226/20%) 0 8%,transparent 24%),radial-gradient(circle at 82% 9%,rgb(255 102 177/18%) 0 5%,transparent 19%),linear-gradient(155deg,#efe4ff,#fbf8ff 48%,#edfaff)}.student-workspace-page:before{position:absolute;width:360px;height:360px;left:-210px;bottom:-210px;content:"";border:58px solid rgb(125 77 238/9%);border-radius:50%;pointer-events:none}.student-workspace-header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px}.student-workspace-header .brand{color:#4b258f}.student-floating-bar{position:fixed;z-index:20;top:24px;right:clamp(20px,5vw,74px);min-height:48px;display:flex;align-items:center;gap:5px;padding:6px;border:1px solid rgb(211 186 241/80%);border-radius:99px;background:rgb(255 255 255/76%);box-shadow:0 14px 40px rgb(87 45 145/12%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.student-floating-user{max-width:150px;overflow:hidden;padding:0 10px;color:#6f5987;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.student-floating-bar a,.student-floating-bar button{min-height:35px;display:inline-flex;align-items:center;gap:5px;padding:0 12px;border:0;border-radius:99px;color:#5a2ca3;background:#eee3ff;font-size:11px;font-weight:800}.student-floating-bar button{color:#806b96;background:transparent}.student-floating-bar a:hover,.student-floating-bar button:hover{background:#e6d5ff}.student-workspace-main{position:relative;z-index:2;width:min(1180px,100%);min-height:calc(100dvh - 120px);display:flex;align-items:center;flex-direction:column;justify-content:center;margin:18px auto 0;padding:58px 0 30px;text-align:center}.student-workspace-title{display:grid;justify-items:center}.student-workspace-icon{display:grid;width:52px;height:52px;place-items:center;margin-bottom:18px;border-radius:18px;color:white;background:linear-gradient(145deg,#ff4fa7,#7a42f5);box-shadow:0 13px 28px rgb(159 62 210/24%);transform:rotate(-3deg)}.student-workspace-title h1{color:#4b258f;font-size:clamp(34px,4.7vw,60px);letter-spacing:-.055em;line-height:1.05}.student-workspace-title p{margin-top:13px;color:#76658a;font-size:14px;line-height:1.6}.student-code-card{min-width:238px;display:grid;grid-template-columns:auto auto auto;align-items:center;grid-gap:9px;gap:9px;margin-top:18px;padding:10px 13px;border:1px solid #d9c4f3;border-radius:15px;color:#6f5987;background:rgb(255 255 255/74%);box-shadow:0 8px 25px rgb(89 43 153/8%)}.student-code-card span{font-size:10px;font-weight:800}.student-code-card strong{color:#54259a;font-size:15px;letter-spacing:.13em}.student-code-card small{display:inline-flex;align-items:center;gap:4px;color:#b02d79;font-size:9px;font-weight:750}.student-member-grid{width:100%;display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));align-items:start;grid-gap:clamp(12px,2.3vw,27px);gap:clamp(12px,2.3vw,27px);margin-top:46px}.student-member-slot{min-width:0;display:grid;justify-items:center;grid-gap:10px;gap:10px}.student-member-avatar-button{position:relative;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent}.student-workspace-avatar{position:relative;display:grid;width:clamp(82px,8.2vw,116px);height:clamp(82px,8.2vw,116px);place-items:center;border-radius:50%;transition:transform .18s ease,filter .18s ease}.student-workspace-avatar svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 14px rgb(77 43 114/16%))}.student-workspace-avatar:after{position:absolute;inset:4%;content:"";border:3px solid rgb(255 255 255/78%);border-radius:50%}.student-workspace-avatar b{position:absolute;right:-1px;bottom:3px;min-width:30px;height:30px;display:grid;place-items:center;padding:0 6px;border:3px solid white;border-radius:99px;color:#4e267f;background:#fff;box-shadow:0 5px 13px rgb(67 37 100/17%);font-size:10px}.student-member-avatar-button:focus-visible .student-workspace-avatar,.student-member-avatar-button:hover .student-workspace-avatar{transform:translateY(-6px) rotate(-2deg);filter:saturate(1.08)}.student-member-avatar-button:focus-visible{outline:4px solid rgb(121 70 232/20%);outline-offset:5px}.student-member-edit-hint{position:absolute;left:50%;bottom:-5px;display:inline-flex;min-height:25px;align-items:center;gap:3px;padding:0 8px;border:2px solid white;border-radius:99px;color:#765594;background:white;box-shadow:0 5px 14px rgb(72 39 105/13%);font-size:9px;font-weight:800;opacity:0;transform:translate(-50%,7px);transition:opacity .16s ease,transform .16s ease}.student-member-avatar-button:focus-visible .student-member-edit-hint,.student-member-avatar-button:hover .student-member-edit-hint,.student-member-slot:not(:has(.student-member-name:not(.empty))) .student-member-edit-hint{opacity:1;transform:translate(-50%)}.student-member-name{max-width:100%;overflow:hidden;color:#4b2a72;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.student-member-name.empty{color:#9b89ae;font-weight:650}.student-member-slot input{width:min(132px,100%);height:37px;padding:0 10px;border:2px solid #bf96ed;border-radius:11px;outline:none;color:#4b2a72;background:white;box-shadow:0 0 0 4px rgb(185 134 237/14%);text-align:center;font-size:12px;font-weight:700}.student-add-member{min-height:38px;display:inline-flex;align-items:center;gap:7px;margin-top:28px;padding:0 14px;border:1px dashed #aa7fe3;border-radius:99px;color:#6e35bd;background:rgb(255 255 255/45%);font-size:11px;font-weight:800}.student-add-member span{color:#9b82b5;font-size:9px}.student-workspace-error{max-width:520px;margin-top:15px;padding:8px 12px;border-radius:9px;color:#a21c5c;background:#ffe1ef;font-size:11px;font-weight:700}.student-workspace-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:28px}.student-enter-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 25px;border:0;border-radius:15px;color:white;background:linear-gradient(135deg,#ff4fa7,#793ef0);box-shadow:0 13px 28px rgb(151 55 203/25%);font-size:13px;font-weight:850}.student-enter-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 17px 34px rgb(151 55 203/31%)}.student-enter-button:disabled{opacity:.45;box-shadow:none}.student-secondary-action{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 15px;border:1px solid #d3b9f1;border-radius:13px;color:#61329e;background:rgb(255 255 255/70%);font-size:11px;font-weight:800}.student-text-action{min-height:40px;padding:0 8px;border:0;color:#816c97;background:transparent;font-size:11px;font-weight:750}.student-resume-form{width:min(570px,100%);display:grid;justify-items:center;grid-gap:17px;gap:17px;margin-top:38px;padding:25px;border:1px solid #ddc9f4;border-radius:22px;background:rgb(255 255 255/70%);box-shadow:0 18px 45px rgb(85 43 145/10%);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.student-resume-form>div{width:100%;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.student-resume-form label{display:grid;grid-gap:7px;gap:7px;color:#6f5987;text-align:left;font-size:10px;font-weight:800}.student-resume-form input{width:100%;height:42px;padding:0 11px;border:1px solid #d4bbed;border-radius:11px;outline:none;color:#4d2b73;background:#fff;font-size:12px}.student-resume-form input:focus{border-color:#9158d9;box-shadow:0 0 0 4px rgb(145 88 217/13%)}.student-workspace-loading{position:absolute;inset:25% 15%;border-radius:30px;background:linear-gradient(100deg,rgb(255 255 255/20%),rgb(255 255 255/74%),rgb(255 255 255/20%));background-size:200% 100%;animation:shine 1.3s infinite;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes student-twinkle{0%,to{opacity:.4;transform:scale(.72)}50%{opacity:1;transform:scale(1.2)}}@keyframes student-orb-glow{0%,to{box-shadow:0 7px 18px rgb(187 62 201/30%)}50%{box-shadow:0 7px 24px rgb(187 62 201/52%)}}@media (prefers-reduced-motion:reduce){.chat-pet,.chat-pet.is-praise,.portal-spark,.student-stage-current .student-stage-orb{animation:none}.portal-card,.student-progress-track span,.student-stage{transition:none}}@media (max-width:1280px){.student-topbar{grid-template-columns:minmax(0,1fr) max-content;row-gap:9px}.student-topbar-progress{grid-column:1/-1;grid-row:2;width:min(100%,610px);justify-self:center}}@media (max-width:1020px){.brief-layout-chat{grid-template-columns:204px minmax(0,1fr)}.chat-pet-rail{padding-inline:13px}.chat-pet-image{max-height:240px}.student-topbar{grid-template-columns:1fr;align-items:stretch;gap:10px;padding-block:11px}.student-topbar-actions{width:100%;justify-content:flex-start;overflow-x:auto;padding:2px 2px 4px}.student-progress{position:relative;top:auto;width:calc(100% - 32px);overflow:visible;margin-top:14px}.student-progress-track{display:none}.student-project-name{max-width:none}}@media (max-width:720px){.portal-page{padding:22px 18px 38px}.portal-content{margin-top:55px}.portal-intro h1{font-size:39px}.portal-intro p{font-size:14px}.portal-cards{grid-template-columns:1fr;gap:13px;margin-top:25px}.portal-card{min-height:168px;padding:22px;border-radius:22px}.portal-card-icon{width:58px;height:58px;border-radius:18px}.portal-card-copy strong{font-size:23px}.portal-card-copy>span{font-size:12px}.student-auth-page .auth-intro{min-height:360px}.student-auth-page .auth-card{padding:24px;border-radius:20px}.student-project-list-page .projects-top{padding-inline:12px}.student-project-list-page .user-label{display:none}.student-project-list-page .project-hero{padding-top:52px}.student-project-list-page .quick-create{transform:none}.student-topbar{position:relative}.student-topbar-brand .brand>span:last-child,.student-topbar-divider{display:none}.student-topbar-actions{gap:8px}.student-topbar .team-picker-label,.student-topbar .team-picker-name{display:none}.student-topbar .project-members summary>span{font-size:0}.student-topbar .project-members summary>span svg{width:16px}.student-switch-link{padding-inline:9px}.student-logout{width:35px;padding:0;justify-content:center;font-size:0}.student-progress{margin-inline:16px;border-radius:18px;gap:2px;padding:7px}.student-stage{flex-basis:34px;min-height:48px;grid-template-columns:28px;padding-inline:2px}.student-stage-current{flex-basis:0;min-width:0;grid-template-columns:28px minmax(0,1fr);gap:5px;padding-inline:5px}.student-stage-orb{width:28px;height:28px;border-radius:9px}.student-stage-current .student-stage-copy b{font-size:10px}.student-progress-count{padding-left:3px}.student-progress-count small{display:none}.student-shell .workspace-page{padding-top:28px}.student-shell .brief-page{padding-top:25px}.brief-form-intro{padding:20px 18px 0}.brief-layout-chat{grid-template-columns:1fr}.brief-layout-chat .chat-panel{border-top:1px solid var(--line);border-left:0;border-bottom:0}.chat-pet-rail{min-height:124px;grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:auto minmax(0,1fr);gap:5px 14px;padding:13px 18px 10px}.chat-pet-head{grid-column:1;grid-row:1}.chat-pet-bubble{grid-column:1;grid-row:2;width:min(100%,300px);min-height:48px;justify-self:start;padding-block:8px;text-align:left}.chat-pet-bubble:after{left:auto;right:-7px;bottom:18px;border-right:1px solid #e4d3f5;border-bottom:1px solid #e4d3f5}.chat-pet-rail.is-praise .chat-pet-bubble:after{border-color:#f2b9d7}.chat-pet{width:96px;height:100px;grid-column:2;grid-row:1/span 2;align-self:end;padding:0}.chat-pet-image{width:96px;max-height:116px}.chat-pet-fallback{width:58px;height:58px;border-radius:20px}.brief-drawer-head{padding-inline:18px}.brief-drawer-body .brief-form{padding:18px}.brief-drawer-footer{padding-inline:18px}.chat-panel-actions>span{display:none}.chat-panel-actions .small-button{padding-inline:9px}.portal-account>span{display:none}.student-workspace-page{padding:20px 16px 42px}.student-workspace-header .brand{font-size:0}.student-workspace-header .brand-mark{margin:0}.student-floating-bar{top:16px;right:16px}.student-floating-user{display:none}.student-workspace-main{min-height:calc(100dvh - 82px);padding-top:76px}.student-member-grid{grid-template-columns:repeat(3,minmax(78px,1fr));gap:24px 11px;margin-top:34px}.student-workspace-avatar{width:clamp(76px,22vw,100px);height:clamp(76px,22vw,100px)}.student-resume-form>div{grid-template-columns:1fr}}.student-topbar-progress{min-width:0;width:min(100%,610px);justify-self:center}.student-topbar .student-progress{position:relative;top:auto;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:48px;margin:0;padding:5px 8px;border-radius:15px;box-shadow:none}.student-topbar .student-progress-track{left:24px;right:78px;top:22px}.student-topbar .student-stage{min-height:38px;padding-block:3px;border-radius:11px}.student-topbar .student-stage-orb{width:27px;height:27px;border-radius:9px}.student-topbar .student-stage-current{min-width:176px;flex:0 1 260px;grid-template-columns:29px minmax(0,1fr);min-height:38px}.student-topbar .student-stage-copy b{font-size:10px}.student-topbar .student-stage-copy small{font-size:7px}.student-topbar .student-progress-count{padding-left:5px}.student-shell .page-header{min-height:0;margin-bottom:18px;align-items:center}.student-shell .page-header-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.student-shell .page-header:not(:has(.page-actions)){margin-bottom:4px}@media (max-width:1020px){.student-topbar{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.student-topbar-progress{order:3;width:100%}.student-topbar .student-progress{position:relative;top:auto;width:100%;margin-top:0;overflow:visible}.student-topbar .student-stage-current{min-width:0;flex:1 1 auto}.student-topbar .student-progress-track{display:block}}@media (max-width:620px){.student-topbar .student-progress{overflow-x:auto}.student-topbar .student-progress-track{display:none}.student-topbar .student-stage{flex-basis:38px}.student-topbar .student-stage-current{flex:0 0 145px}}@media (max-width:430px){.portal-card{grid-template-columns:auto minmax(0,1fr);gap:15px}.portal-card-arrow{display:none}.portal-card-stars{right:16px;top:12px}.student-topbar .team-picker{margin-left:auto}.student-topbar .project-members{order:3}.student-project-name{max-width:74vw}.chat-pet-rail{min-height:112px;grid-template-columns:minmax(0,1fr) 75px;gap:4px 8px;padding-inline:12px}.chat-pet-head small{display:none}.chat-pet-bubble{max-width:230px;padding-inline:10px;font-size:10px}.chat-pet{width:75px;height:88px}.chat-pet-image{width:75px;max-height:96px}.student-floating-bar a,.student-floating-bar button{padding-inline:9px}.student-member-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.student-workspace-title h1{font-size:34px}}