:root{--color-primary: #2d6cdf;--color-primary-hover: #1e5acc;--color-primary-light: #d9ecff;--color-text-primary: #172033;--color-text-secondary: #60718a;--color-text-tertiary: #5f6f85;--color-text-inverse: #ffffff;--color-bg-primary: #f4f6fb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #d9ecff;--color-bg-dark: #172033;--color-border-light: #e8eaed;--color-border: #cfd9e8;--color-border-dark: #8897ae;--color-success: #15803d;--color-success-light: #dcfce7;--color-warning: #a94708;--color-warning-light: #fef3c7;--color-error: #b42318;--color-error-light: #fee2e2;--color-info: #1d4ed8;--color-info-light: #dbeafe;--color-overlay: rgba(23, 32, 51, .5);--color-overlay-light: rgba(23, 32, 51, .3);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--font-family-base: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", sans-serif;--font-family-mono: "JetBrains Mono", Consolas, "SF Mono", "Courier New", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--radius-circle: 50%;--shadow-xs: 0 1px 2px rgba(23, 32, 51, .05);--shadow-sm: 0 1px 3px rgba(23, 32, 51, .1), 0 1px 2px rgba(23, 32, 51, .06);--shadow-md: 0 4px 6px rgba(23, 32, 51, .07), 0 2px 4px rgba(23, 32, 51, .06);--shadow-lg: 0 10px 15px rgba(23, 32, 51, .1), 0 4px 6px rgba(23, 32, 51, .05);--shadow-xl: 0 20px 25px rgba(23, 32, 51, .1), 0 10px 10px rgba(23, 32, 51, .04);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root{color:var(--color-text-primary);background:var(--color-bg-primary);font-family:var(--font-family-base);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.skipLink{position:fixed;top:var(--space-md);left:var(--space-md);z-index:calc(var(--z-tooltip) + 1);min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);color:var(--color-text-inverse);background:var(--color-bg-dark);font-weight:var(--font-weight-bold);text-decoration:none;transform:translateY(calc(-100% - var(--space-xl)));transition:transform var(--duration-fast) var(--ease-out)}.skipLink:focus-visible{transform:translateY(0)}html,body,#root{height:100%;min-height:100vh}body{margin:0;min-width:320px;overflow:hidden}button,select,input,textarea{font:inherit}button{min-height:36px;border:1px solid #cfd9e8;border-radius:6px;padding:0 14px;background:#fff;color:#18243a;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}button:hover{border-color:#2d6cdf}button:disabled{color:#7d8899;cursor:not-allowed;background:#edf2f8}.routeLoadState{min-height:100vh;display:grid;place-content:center;gap:8px;padding:24px;background:#f4f6fb;color:#172033;text-align:center}.routeLoadState strong{font-size:20px}.routeLoadState p{max-width:680px;margin:0;color:#60718a;overflow-wrap:anywhere}.unifiedLoginShell{width:100%;min-height:100vh;height:100vh;position:relative;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(560px,.84fr);align-items:center;gap:clamp(34px,4.8vw,96px);padding:clamp(72px,7.8vw,150px) clamp(66px,6.2vw,132px) clamp(48px,5.8vw,100px);overflow-x:hidden;overflow-y:auto;background:linear-gradient(90deg,#e2f2ff0a,#fff3 51%,#4697ff38),#d9ecff;color:#071d55}.unifiedLoginHero{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:url(/student-assets/login/login-hero.jpg);background-repeat:no-repeat;background-size:auto 100%;background-position:left center}.unifiedLoginHero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#e7f3ff00 0,#e7f3ff00 49%,#daedff57 64%,#4997ff3d),linear-gradient(180deg,#ffffff14,#ffffff2e)}.unifiedLoginPanel{position:relative;grid-column:2;z-index:1;width:min(720px,calc(100% - clamp(56px,4vw,72px)));min-width:0;display:flex;align-items:center;justify-content:center;justify-self:center;padding:clamp(44px,4.2vw,72px);border:1px solid rgba(210,226,248,.9);border-radius:clamp(30px,3.1vw,56px);background:#ffffffed;box-shadow:0 38px 90px #195bb02e,inset 0 1px #ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.unifiedLoginFormInner{width:100%;max-width:440px;min-width:0;display:grid;gap:clamp(20px,2.1vh,30px);margin:0 auto}.unifiedLoginBackLink{width:fit-content;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(10,103,255,.22);border-radius:999px;padding:0 18px;color:#174b9c;background:#ffffff9e;font-size:15px;font-weight:800;text-decoration:none}.unifiedLoginBackLink:hover,.unifiedLoginBackLink:focus-visible{border-color:#0a67ff8c;background:#fff}.unifiedLoginTitle{display:grid;gap:18px;text-align:center;width:100%;min-width:0}.unifiedLoginTitle h1,.unifiedLoginTitle p,.unifiedLoginHint,.unifiedLoginError{margin:0}.unifiedLoginTitle h1{color:#061550;font-size:clamp(32px,2.5vw,48px);font-weight:900;letter-spacing:0;line-height:1.08;white-space:nowrap}.unifiedLoginTitle h1 strong{color:#0a67ff;font-weight:900}.unifiedLoginTitle h1 span{color:#ffb71c;font-size:.62em;margin-left:6px}.unifiedLoginTitle p,.unifiedLoginHint{color:#667899}.unifiedLoginTitle p{display:grid;grid-template-columns:minmax(38px,1fr) auto minmax(38px,1fr);align-items:center;gap:18px;font-size:clamp(15px,1.12vw,22px);font-weight:700;letter-spacing:.08em}.unifiedLoginTitle p span{height:2px;position:relative;background:linear-gradient(90deg,transparent,#0a67ff)}.unifiedLoginTitle p span:last-child{background:linear-gradient(90deg,#0a67ff,transparent)}.unifiedLoginTitle p span:after{content:"";position:absolute;top:50%;right:-4px;width:8px;height:8px;border:2px solid #0a67ff;border-radius:999px;background:#fff;transform:translateY(-50%)}.unifiedLoginTitle p span:last-child:after{right:auto;left:-4px}.unifiedLoginMode{display:inline-flex;align-items:center;justify-content:center;justify-self:center;gap:10px;min-height:48px;position:relative;color:#0a67ff;font-size:clamp(20px,1.35vw,28px);font-weight:900}.unifiedLoginMode:after{content:"";position:absolute;left:50%;bottom:-8px;width:148px;height:4px;border-radius:999px;background:#0a67ff;transform:translate(-50%)}.unifiedLoginField{width:100%;min-height:clamp(64px,6.8vh,88px);display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:16px;border:2px solid #cbd5e3;border-radius:18px;padding:0 clamp(22px,1.7vw,30px);color:var(--color-text-secondary);background:#ffffffb8;box-shadow:inset 0 1px #ffffffe6}.unifiedLoginField input{width:100%;min-width:0;min-height:54px;border:0;outline:0;padding:0;color:#071d55;background:transparent;font-size:clamp(19px,1.25vw,26px);font-weight:700}.unifiedLoginField input::placeholder{color:var(--color-text-secondary)}.unifiedLoginField:focus-within{border-color:#0a67ff;box-shadow:0 0 0 4px #0a67ff1f,inset 0 1px #ffffffe6}.unifiedLoginPasswordToggle{min-height:0;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:0;color:var(--color-text-secondary);background:transparent}.unifiedLoginPasswordToggle:hover,.unifiedLoginPasswordToggle:focus-visible{color:#0a67ff;background:#0a67ff14}.unifiedLoginSubmit{width:100%;min-height:clamp(66px,7vh,88px);border-color:#0a67ff;border-radius:18px;background:linear-gradient(180deg,#0b77ff,#005cf4);color:#fff;font-size:clamp(24px,1.65vw,34px);font-weight:900;box-shadow:0 18px 34px #0a67ff4d}.unifiedLoginSubmit:hover{border-color:#0758d8;background:#0758d8}.unifiedLoginSubmit:disabled{border-color:#0a67ff;background:linear-gradient(180deg,#0b77ff,#005cf4);color:#fff;opacity:.72;box-shadow:0 18px 34px #0a67ff38}.unifiedLoginOptions{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#4c5d7b;font-size:clamp(16px,1.05vw,22px);font-weight:700}.unifiedLoginOptions label{display:inline-flex;align-items:center;gap:10px}.unifiedLoginOptions input{width:clamp(20px,1.25vw,26px);height:clamp(20px,1.25vw,26px);accent-color:#0a67ff}.unifiedLoginOptions button,.unifiedLoginTeacherEntry button{min-height:auto;border:0;padding:0;background:transparent;color:#0a67ff;font-weight:900}.unifiedLoginTeacherEntry{display:grid;grid-template-columns:minmax(32px,1fr) auto minmax(32px,1fr);align-items:center;gap:24px}.unifiedLoginTeacherEntry span{height:1px;background:#d6deeb}.unifiedLoginTeacherEntry button{display:inline-flex;align-items:center;gap:10px;color:#16337a;font-size:clamp(18px,1.2vw,24px)}.unifiedLoginError{color:var(--color-error);font-weight:700}.unifiedLoginTabPanel{display:grid;gap:clamp(16px,1.8vh,24px)}.unifiedLoginTabPanel[hidden]{display:none}.unifiedLoginLoading,.unifiedLoginHint{font-size:clamp(16px,1.05vw,22px);font-weight:700;letter-spacing:.02em;text-align:center}.unifiedLoginHint span{color:#ffb71c;margin-left:6px}.unifiedLoginHint{line-height:1.5}@media(max-width:1500px)and (min-width:681px){.unifiedLoginShell{grid-template-columns:minmax(0,1fr) minmax(520px,580px);gap:32px;padding:72px 64px 48px}.unifiedLoginPanel{width:min(620px,calc(100% - 56px));padding:clamp(40px,3.4vw,48px);border-radius:34px}.unifiedLoginFormInner{max-width:440px;gap:16px}.unifiedLoginTitle{gap:12px}.unifiedLoginTitle h1{font-size:clamp(32px,2.5vw,38px)}.unifiedLoginTitle p{gap:12px;font-size:16px}.unifiedLoginMode{min-height:40px;font-size:20px}.unifiedLoginMode:after{bottom:-5px;width:118px}.unifiedLoginField{min-height:58px;border-radius:14px;padding:0 18px}.unifiedLoginField input{min-height:46px;font-size:18px}.unifiedLoginField svg{width:24px;height:24px}.unifiedLoginSubmit{min-height:58px;border-radius:14px;font-size:24px}.unifiedLoginOptions,.unifiedLoginTeacherEntry button,.unifiedLoginHint{font-size:16px}.unifiedLoginTeacherEntry{gap:16px}}@media(max-width:1200px)and (min-width:681px){.unifiedLoginShell{grid-template-columns:minmax(0,1fr) minmax(430px,470px);gap:34px;padding:72px 48px 48px}.unifiedLoginPanel{width:min(520px,calc(100% - 48px));padding:40px}.unifiedLoginFormInner{max-width:410px}.unifiedLoginTitle h1{font-size:clamp(30px,3vw,34px)}.unifiedLoginTitle p{font-size:15px}}.studentShell{width:100%;min-height:100vh;max-width:100%;max-height:100vh;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 9% 30%,rgba(91,150,255,.1),transparent 19%),radial-gradient(circle at 86% 10%,rgba(142,190,255,.08),transparent 22%),linear-gradient(180deg,#fcfdff,#f7fbff 42%,#fff);color:#071d55}.studentShell button{min-height:44px;border-color:#cfe0ff;border-radius:8px;color:#071d55;font-weight:700}.studentShell button:hover{border-color:#0a67ff}.studentLoginPage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(24px,5vw,80px);padding:clamp(28px,5vw,72px)}.studentLoginHero{min-height:min(720px,82vh);position:relative;display:grid;align-content:start;border-radius:8px;overflow:hidden;background:#dcefff;box-shadow:0 24px 70px #2363b42e}.studentLoginBrand{width:min(275px,48%);margin:28px 0 0 28px;position:relative;z-index:1}.studentLoginArt{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center;position:absolute;top:0;right:0;bottom:0;left:0}.studentLoginPanel{width:min(430px,100%);display:grid;gap:18px;justify-self:center;padding:42px;border:1px solid #d8e7ff;border-radius:8px;background:#fffffff0;box-shadow:0 24px 60px #194f9629}.studentLoginTitle{display:grid;gap:6px;text-align:center}.studentLoginTitle h1,.studentLoginTitle p{margin:0}.studentLoginTitle h1{font-size:28px;line-height:1.2}.studentLoginTitle p,.studentLoginHint{color:#667899}.studentLoginTabs{display:flex;justify-content:center}.studentLoginTabs button,.studentLoginOptions button,.studentSectionTitle button{border:0;background:transparent}.studentLoginTabActive{display:inline-flex;align-items:center;gap:8px;color:#0a67ff}.studentField{display:grid;gap:8px;color:#294071;font-weight:800}.studentField input{width:100%;min-height:48px;border:1px solid #d8e7ff;border-radius:8px;padding:0 14px;color:#071d55;background:#fff}.studentLoginOptions{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#667899;font-size:14px}.studentLoginOptions label{display:inline-flex;align-items:center;gap:8px}.studentError{margin:0;color:#c2410c;font-weight:700}.studentPrimaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:#0a67ff!important;background:#0a67ff!important;color:#fff!important;box-shadow:0 12px 28px #0a67ff3d}.studentTeacherEntry{display:flex;align-items:center;gap:12px;color:#667899;font-weight:700}.studentTeacherEntry:before,.studentTeacherEntry:after{content:"";height:1px;flex:1;background:#d8e7ff}.studentLoginHint{margin:0;text-align:center;font-size:13px}.studentTopbar{min-height:74px;display:flex;align-items:center;gap:clamp(22px,2.2vw,38px);padding:0 clamp(42px,2.5vw,48px);border-bottom:1px solid #e8effb;background:#fffffffa;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 22px #22529e12}.studentBrandButton{min-height:0;padding:0;border:0;background:transparent;border-radius:10px;cursor:pointer;line-height:0}.studentBrandButton:focus-visible{outline:3px solid rgba(47,111,237,.24);outline-offset:5px}.studentBrandButton img{width:clamp(246px,16vw,286px);max-height:64px;object-fit:contain;display:block}.studentTopbarActions{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,1.25vw,22px)}.studentPill,.studentUser,.studentIconButton{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid #d7e5ff;border-radius:999px;padding:0 14px;background:#fff;color:#071d55;font-weight:800;box-shadow:none}.studentPill{min-height:42px;padding:0 18px;border-color:#b9d4ff;background:#f1f7ffeb;color:#195bd6;box-shadow:inset 0 1px #ffffffe6}.studentUser{border-color:transparent;padding:0;background:transparent;font-size:18px;gap:12px}.studentUser strong{white-space:nowrap}.studentPill img{width:18px;height:18px}.studentUser img{width:48px;height:48px;border-radius:50%;border:2px solid #d8e7ff;box-shadow:0 8px 18px #1f539924}.studentIconButton{width:42px;min-height:42px;justify-content:center;padding:0;border-color:transparent;box-shadow:none;color:#061550;background:transparent}.studentHome{box-sizing:border-box;width:min(1836px,calc(100% - 88px));max-width:100%;margin:28px auto 22px;display:grid;grid-template-columns:minmax(720px,.43fr) minmax(760px,.57fr);gap:18px 28px;position:relative}.studentHome:before{content:"";position:absolute;left:-44px;top:154px;width:min(470px,32vw);height:190px;z-index:0;opacity:.42;background:linear-gradient(90deg,rgba(112,165,255,.36) 0 74px,transparent 74px 100%),linear-gradient(90deg,transparent 0 90px,rgba(112,165,255,.32) 90px 172px,transparent 172px 100%),linear-gradient(45deg,transparent 0 66px,rgba(112,165,255,.28) 66px 70px,transparent 70px 100%),radial-gradient(circle at 75px 50%,rgba(112,165,255,.44) 0 8px,transparent 9px),radial-gradient(circle at 174px 50%,rgba(112,165,255,.34) 0 6px,transparent 7px);background-repeat:no-repeat;background-size:250px 4px,390px 4px,260px 130px,250px 100%,390px 100%;background-position:left 44%,left 70%,0 20px,left center,left center;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 72%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 72%,transparent 100%);pointer-events:none}.studentHome:after{content:"";position:absolute;top:46px;right:36px;width:min(300px,18vw);height:160px;z-index:0;opacity:.18;pointer-events:none;background:linear-gradient(120deg,transparent 0 58px,rgba(112,165,255,.42) 58px 62px,transparent 62px 100%),linear-gradient(90deg,transparent 0 74px,rgba(112,165,255,.38) 74px 150px,transparent 150px 100%),radial-gradient(circle at 74px 35px,rgba(112,165,255,.48) 0 6px,transparent 7px),radial-gradient(circle at 150px 94px,rgba(112,165,255,.38) 0 5px,transparent 6px);background-repeat:no-repeat;background-position:right top,right 88px,right top,right top;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%)}.studentHome>*{position:relative;z-index:1}.studentHomeHero,.studentContinueCard,.studentHomeSection,.studentIdeaBand,.studentLessonHeader,.studentAssistantPanel,.studentMainPanel,.studentTaskPanel{border:1px solid #dbe8ff;border-radius:24px;background:#fffffff5;box-shadow:0 14px 30px #1f539917}.studentHomeHero{min-height:276px;display:grid;grid-template-columns:300px minmax(0,1fr);align-items:end;gap:8px 30px;padding:8px 16px 2px 70px;border-color:transparent;background:transparent;box-shadow:none;position:relative}.studentHeroSpark{position:absolute;color:#ffc32e;line-height:1;pointer-events:none}.studentHeroSparkOne{top:20px;right:116px;font-size:36px}.studentHeroSparkTwo{left:68px;bottom:172px;color:#ffb21f;font-size:52px;transform:rotate(-18deg)}.studentHomeHero:after{content:"";position:absolute;top:88px;right:48px;width:88px;height:44px;border-top:5px solid #4d92ff;border-radius:60% 40% 0 0;transform:rotate(-30deg);opacity:.82}.studentHomeHero h1,.studentHomeHero p,.studentContinueCard h2,.studentContinueCard p,.studentHomeSection h2,.studentProjectCard h3,.studentProjectCard p,.studentIdeaBand h2,.studentIdeaBand p,.studentPanelTitle h1,.studentSummaryHeader h1,.studentSummaryHeader p{margin:0}.studentHomeHero h1{color:#061550;font-size:clamp(52px,3.15vw,60px);line-height:1.05;letter-spacing:0;word-break:keep-all;white-space:nowrap}.studentHomeHero p,.studentProjectCard p,.studentIdeaBand p,.studentContinueCard p{color:#667899;line-height:1.45}.studentHomeHero img{grid-column:1;grid-row:2;width:232px;max-width:100%;min-width:0;flex:0 0 auto;filter:drop-shadow(0 18px 22px rgba(13,27,61,.12))}.studentHeroCopy{display:contents;min-width:0}.studentHeroCopy h1{grid-column:1 / -1;grid-row:1;align-self:center}.studentHeroBubble{grid-column:2;grid-row:2;align-self:center;width:min(318px,100%);border:2px solid #b8d2ff;border-radius:52% 48% 49% 51%/45% 48% 52% 55%;padding:18px 30px 20px;background:linear-gradient(180deg,#f8fbfffa,#eff7fff0);color:#071d55;font-size:23px;font-weight:900;line-height:1.5;box-shadow:inset 0 1px #fffffff2}.studentContinueCard{grid-column:2;grid-row:1;display:grid;grid-template-columns:182px minmax(0,1fr) 222px;gap:18px 34px;align-items:center;align-self:start;min-height:272px;padding:28px 34px;border:2px solid #8db6ff;background:linear-gradient(135deg,#fffffffc,#f2f8fff2),radial-gradient(circle at 94% 20%,rgba(10,103,255,.12),transparent 24%);box-shadow:0 18px 34px #1562f121;overflow:hidden}.studentContinueCard:after{content:"";position:absolute;top:22px;right:22px;width:240px;height:150px;opacity:.12;background:linear-gradient(90deg,transparent 0 34px,#8bbcff 34px 36px,transparent 36px 100%),linear-gradient(0deg,transparent 0 34px,#8bbcff 34px 36px,transparent 36px 100%);background-size:56px 56px;-webkit-mask-image:linear-gradient(135deg,#000,transparent 86%);mask-image:linear-gradient(135deg,#000,transparent 86%)}.studentContinueArtwork{grid-column:1;grid-row:2;width:166px;height:166px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#edf6ff,#dcecff);color:#0a67ff;box-shadow:0 12px 20px #1f53991f}.studentContinueArtwork svg{filter:drop-shadow(0 8px 12px rgba(10,103,255,.2))}.studentContinueEmpty{grid-template-columns:166px minmax(0,1fr)}.studentContinueEmpty .studentContinueBody{grid-column:2 / -1}.studentContinueCard button{grid-column:3;grid-row:2;min-height:70px;justify-content:center;gap:12px;border-radius:16px;font-size:28px;white-space:nowrap;box-shadow:0 16px 26px #0a67ff40}.studentContinueActionState{grid-column:3;grid-row:2;align-self:center;border:1px solid #c9dcff;border-radius:14px;padding:14px 16px;background:#f7fbff;color:#31537f;font-size:16px;font-weight:900;line-height:1.45;text-align:center}.studentActionStateError{border-color:#f4a7a1;background:#fff1f0;color:#a62116}.studentSectionLabel{color:#071d55;font-size:31px;font-weight:900}.studentContinueHeader{grid-column:1 / -1;display:flex;align-items:center;gap:14px}.studentContinueIcon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#0a67ff;color:#fff}.studentContinueBody{grid-column:2;grid-row:2;display:grid;gap:14px;min-width:0}.studentContinueBody h2{color:#071d55;font-size:32px;line-height:1.18}.studentContinueBody p{font-size:18px;font-weight:800}.studentContinueStatusComplete{color:#0a8f62}.studentContinueBody strong,.studentNextStep strong{color:#0a67ff}.studentContinueProgressLabel{display:inline-flex;align-items:baseline;gap:16px;color:#071d55;font-size:20px;font-weight:900}.studentContinueProgressLabel strong{font-size:27px}.studentProgressTrack{width:min(350px,100%);height:16px;overflow:hidden;border-radius:999px;background:#dce3ed}.studentProgressTrack span{display:block;height:100%;border-radius:inherit;background:#0a67ff}.studentHomeNotice,.studentSaveNotice{margin:0;border:1px solid #d8e7ff;border-radius:8px;padding:12px 14px;background:#f7fbff;color:#31537f;font-weight:800}.studentProjectTitleField{max-width:480px;display:grid;gap:6px;margin-top:14px;color:#31537f;font-weight:900}.studentProjectTitleField input{min-height:44px;border:1px solid #b9d4ff;border-radius:10px;padding:9px 12px;background:#fff;color:#071d55;font:inherit}.studentPracticeContext{margin-bottom:10px}.studentHomeNotice{grid-column:1 / -1}.studentHomeSection{grid-column:1 / -1;display:grid;align-content:start;gap:14px;padding:14px 24px 18px;border-color:#dce9ff}.studentProjectSection{padding:12px 30px 16px}.studentSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:16px}.studentSectionTitle h2{display:inline-flex;align-items:center;gap:10px;color:#071d55;font-size:26px}.studentSectionTitle h2 svg{color:#0a67ff}.studentSectionDescription{color:#667899;font-size:14px;font-weight:800;line-height:1.45;text-align:right}.studentSectionTitle button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:#0a67ff;font-weight:900}.studentProjectGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.studentProjectCard{position:relative;display:grid;grid-template-columns:144px minmax(0,1fr);grid-template-rows:150px 38px;column-gap:16px;row-gap:10px;align-content:stretch;padding:14px;border:1px solid #d8e7ff;border-radius:20px;background:#fff;box-shadow:0 10px 22px #1e56a412;height:100%;min-height:212px;overflow:hidden}.studentTemplateBadge{position:absolute;top:22px;left:22px;z-index:2;border:1px solid #b9d4ff;border-radius:999px;padding:4px 9px;background:#fffffff0;color:#195bd6;font-size:12px;font-weight:900;line-height:1;box-shadow:0 6px 12px #1f53991f}.studentProjectTitleRow{min-width:0;display:flex;align-items:center;gap:8px}.studentProjectTitleRow h3{flex:1 1 auto;min-width:0}.studentProjectStatusBadge{flex:0 0 auto;min-width:58px;max-width:86px;border:1px solid #bfd5ff;border-radius:999px;padding:3px 8px;background:#eef6fff5;color:#0a4fd8;font-size:12px;font-weight:900;line-height:1.25;text-align:center;white-space:nowrap;box-shadow:0 6px 12px #2363b414}.studentProjectStatusDone{border-color:#bcebd7;background:#ebfff7f5;color:#0a8f62}.studentProjectCard img{width:100%;height:150px;object-fit:cover;border-radius:16px;background:#eff6ff}.studentProjectCard h3{overflow:hidden;word-break:keep-all;font-size:20px;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.studentProjectInfo{display:grid;grid-template-rows:30px 40px 28px 24px;align-content:stretch;gap:6px;min-width:0;overflow:hidden}.studentProjectCard p{display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.3;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.studentProjectCard button{grid-column:1 / -1;min-height:44px;border:2px solid #3a82ff;border-radius:12px;background:#fff;color:#0a67ff;font-weight:900}.studentProjectMeta,.studentTags{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;width:100%;min-width:0;min-height:22px;overflow:hidden}.studentProjectMeta{display:grid;grid-template-columns:minmax(0,1fr) max-content;overflow:visible}.studentProjectMeta span,.studentTags span{flex:0 0 auto;min-height:24px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:0 8px;border:1px solid rgba(198,219,255,.72);background:#edf6ff;color:#195bd6;font-size:13px;font-weight:800}.studentProjectMeta span:first-child{background:transparent;padding:0;color:#071d55}.studentProjectMeta .studentProjectDifficulty{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}.studentProjectMeta .studentProjectTime{flex:0 0 auto;min-width:68px;justify-content:center;white-space:nowrap;font-variant-numeric:tabular-nums}.studentProjectMeta .studentProjectTime svg{flex:0 0 auto}.studentStarFilled{color:#f5a400}.studentStarMuted{color:#c7d1df}.studentHomeLower{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.36fr) minmax(650px,1fr);gap:28px}.studentIdeaBand{grid-column:auto;display:grid;grid-template-columns:212px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:14px 26px;min-height:222px;padding:14px 28px 0 30px;background:linear-gradient(135deg,#fffffffa,#f2f8fff5)}.studentIdeaBand>img{grid-column:1;grid-row:1 / 3;width:214px;align-self:end;filter:drop-shadow(0 14px 18px rgba(13,27,61,.1))}.studentIdeaBand>div:not(.studentIdeaTags){grid-column:2;grid-row:1;align-self:end;display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}.studentIdeaBand h2{display:inline-flex;align-items:center;gap:10px;margin:0;color:#071d55;font-size:30px}.studentIdeaBand h2 svg{color:#f5a400}.studentIdeaCreateLink{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #0a67ff;border-radius:999px;padding:0 18px;color:#fff;background:#0a67ff;font-size:15px;font-weight:900;text-decoration:none;box-shadow:0 10px 18px #0a67ff38}.studentIdeaCreateLink:hover,.studentIdeaCreateLink:focus-visible{border-color:#0758d8;background:#0758d8}.studentIdeaIotLink{border-color:#7252d3;background:#7252d3;box-shadow:0 10px 18px #7252d333}.studentIdeaIotLink:hover,.studentIdeaIotLink:focus-visible{border-color:#5f42bc;background:#5f42bc}.studentIdeaBand .studentIdeaTags{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(72px,92px));align-items:center;justify-content:start;gap:14px;min-width:0}.studentIdeaTag{width:100%;min-height:92px;display:grid;place-items:center;gap:6px;padding:8px 6px;border:1px solid #d8e7ff;border-radius:14px;background:#fff;color:#071d55;font-size:15px;font-weight:900;white-space:nowrap;box-shadow:0 8px 14px #2363b412}.studentIdeaTag img{width:38px;height:38px;object-fit:contain}.studentIdeaTag span{line-height:1.1}.studentMyWorkSection{grid-column:auto;padding:14px 16px 18px;border-color:transparent;background:transparent;box-shadow:none}.studentMyWork{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.studentMyWork>article,.studentEmptyWork{display:flex;align-items:center;gap:14px;border:1px solid #d8e7ff;border-radius:18px;padding:12px;background:#fff;font-weight:800;box-shadow:0 9px 18px #1e56a40f}.studentMyWork>article{min-width:220px;min-height:154px;justify-content:flex-start;text-align:left}.studentWorkInfo{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px;color:#071d55}.studentWorkInfo strong{display:block;overflow:hidden;font-size:19px;line-height:24px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.studentWorkMeta{display:grid;gap:2px;color:#667899}.studentWorkInfo em,.studentWorkInfo small{color:#667899;font-size:13px;font-style:normal;line-height:18px}.studentWorkActionButton,.studentWorkActionState{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;min-height:34px;border-radius:10px;padding:6px 10px;font-size:14px;font-weight:900;line-height:20px}.studentWorkActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.studentWorkActionButton{border:1px solid #b9d4ff;background:#edf6ff;color:#0a67ff}.studentWorkDeleteButton{min-height:34px;display:inline-flex;align-items:center;gap:5px;border:1px solid #f3c4c4;border-radius:10px;padding:6px 10px;background:#fff7f7;color:#a52b2b;font-size:14px;font-weight:900}.studentProjectErrorNotice{display:flex;align-items:center;justify-content:space-between;gap:12px;border-color:#f3c4c4;background:#fff7f7;color:#8d2525}.studentProjectErrorNotice button{min-height:36px;border:1px solid currentColor;border-radius:9px;padding:6px 12px;background:#fff;color:inherit;font-weight:900}.studentWorkActionState{border:1px solid #c9dcff;background:#f7fbff;color:#31537f}.studentMyWork small{color:#667899;font-size:15px;line-height:21px}.studentWorkIcon{width:120px;height:120px;flex:0 0 120px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#edf6ff,#dcecff);color:#0a67ff}.studentEmptyWork{grid-column:1 / -1;min-height:154px}.studentEmptyWork>div{display:grid;gap:8px}.studentEmptyWork strong{color:#071d55;font-size:19px}.studentEmptyWork p{margin:0;color:#667899;line-height:1.45}.studentLessonPage{width:min(1560px,calc(100% - 32px));height:calc(100vh - 74px);margin:0 auto;padding:12px 0 14px;display:grid;grid-template-rows:88px minmax(0,1fr) 56px;gap:12px;overflow:hidden}.studentCourseLessonPage{width:min(1888px,calc(100% - 32px));padding:8px 0 10px;grid-template-rows:72px minmax(0,1fr) 46px;gap:8px}.studentLessonHeader{height:88px;min-height:0;display:grid;grid-template-columns:240px 44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:12px}.studentTopicButton,.studentCircleNav{background:#eef6ff}.studentTopicButton{justify-content:flex-start;gap:8px;min-height:48px;padding:0 12px;line-height:1.25;white-space:normal}.studentCircleNav{width:44px;min-height:44px;padding:0;border-radius:999px}.studentLessonHeader>.studentCircleNav[aria-label=向后滚动课程步骤]{grid-column:4}.studentStepNav{grid-column:3 / 4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.studentStepNav button{justify-content:center;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.studentStepNav span{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:999px;background:#eaf2ff;color:#0a67ff}.studentStepNav button{min-height:48px;padding:0 12px}.studentStepNav .studentStepActive{border-color:#0a67ff;background:#0a67ff;color:#fff}.studentStepNav .studentStepActive span{background:#fff}.studentStepNav .studentStepLocked{opacity:.5;cursor:not-allowed;background:#f5f5f5;border-color:#e0e0e0}.studentStepNav .studentStepLocked:hover{background:#f5f5f5;border-color:#e0e0e0}.studentStepNav .studentStepLocked .studentStepNumber{background:#e0e0e0;color:#999}.studentLessonGrid{min-height:0;height:100%;display:grid;grid-template-columns:270px minmax(0,1fr) 300px;gap:16px;align-items:stretch;overflow:hidden}.studentCourseLessonPage .studentLessonGrid{grid-template-columns:236px minmax(0,1fr) 268px;gap:10px}.studentAssistantPanel,.studentTaskPanel{min-height:0;height:100%;display:grid;align-content:start;gap:12px;padding:16px;overflow:hidden}.studentAssistantPanel img{width:100%;height:192px;object-fit:contain}.studentSpeechBubble{min-height:96px;border:1px solid #cfe0ff;border-radius:8px;padding:14px;background:#fff;color:#193163;font-weight:800;line-height:1.5;white-space:pre-line;overflow:hidden}.studentAssistantGuidance{margin:0;min-height:50px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;padding:12px;border:1px solid #d6e5ff;border-radius:12px;background:#f7fbff;color:#193163;text-align:left;font-size:16px;font-weight:800;line-height:1.45}.studentAssistantGuidance svg{width:24px;height:24px;color:#f5a400}.studentAssistantGuidance strong{color:#071d55}.studentCourseLessonPage .studentLessonHeader{height:72px;grid-template-columns:252px 40px minmax(0,1fr) 40px;gap:10px;padding:8px 12px;background:#f8fbfff5;border-color:#d6e5ff}.studentCourseLessonPage .studentTopicButton,.studentCourseLessonPage .studentCircleNav{border-color:#d6e5ff;background:#edf5ff;color:#071d55}.studentCourseLessonPage .studentTopicButton{display:inline-flex;align-items:center;min-height:46px;gap:12px;padding:0 14px;border-radius:14px;font-size:16px;font-weight:900;line-height:1;white-space:nowrap}.studentCourseLessonPage .studentTopicIcon{width:32px;height:32px;flex:0 0 auto;display:block;object-fit:contain}.studentCourseLessonPage .studentTopicText{min-width:0;overflow:hidden;line-height:1;text-overflow:ellipsis}.studentCourseLessonPage .studentCircleNav{width:40px;min-height:40px;background:#fff;box-shadow:0 8px 16px #1f539914}.studentCourseLessonPage .studentCircleNav:disabled{color:#91a5c7;opacity:.58;cursor:default;box-shadow:none}.studentCourseLessonPage .studentStepNav{display:flex;gap:16px;overflow:hidden;scroll-behavior:smooth}.studentCourseLessonPage .studentStepNumber{width:34px;height:34px;flex:0 0 34px;background:#f0f5ff;color:#071d55;box-shadow:inset 0 0 0 1px #dbe8ff;font-size:16px;font-weight:950}.studentCourseLessonPage .studentStepNav button{display:inline-flex;align-items:center;flex:0 0 auto;justify-content:flex-start;gap:14px;min-height:46px;border:1px solid #b8d2ff;border-radius:999px;padding:0 24px 0 10px;background:#fff;color:#071d55;font-size:16px;font-weight:900;box-shadow:0 8px 16px #1f539914}.studentCourseLessonPage .studentStepTitle{width:auto;height:auto;display:inline;min-width:0;overflow:hidden;border-radius:0;background:transparent;color:inherit;box-shadow:none;text-overflow:ellipsis}.studentCourseLessonPage .studentStepNav .studentStepActive{border-color:#0a67ff;background:linear-gradient(180deg,#1266ff,#0056f5);color:#fff;box-shadow:0 16px 24px #0a67ff3d}.studentCourseLessonPage .studentStepNav .studentStepActive .studentStepNumber{background:#fff;color:#1266ff;box-shadow:none}.studentCourseLessonPage .studentStepNav .studentStepActive .studentStepTitle{background:transparent;color:inherit}.studentCourseLessonPage .studentAssistantPanel{gap:9px;padding:14px}.studentCourseLessonPage .studentAssistantPanel img{height:150px}.studentCourseLessonPage .studentSpeechBubble{position:relative;min-height:78px;border-color:#b8d2ff;border-radius:20px;padding:13px 18px;font-size:16px;font-weight:900;box-shadow:0 10px 18px #1f539914}.studentCourseLessonPage .studentSpeechBubble:after{content:"";position:absolute;right:18px;bottom:-13px;width:24px;height:24px;border-right:1px solid #b8d2ff;border-bottom:1px solid #b8d2ff;background:#fff;transform:rotate(45deg)}.studentCourseLessonPage .studentAssistantGuidance{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:42px;padding:10px 12px;border-color:#d6e5ff;border-radius:14px;background:#f7fbff;color:#071d55;font-weight:900;box-shadow:0 8px 18px #1f539912}.studentCourseLessonPage .studentAssistantGuidance svg{width:34px;height:34px;padding:7px;border-radius:999px;color:#fff;background:#ffb21f}.studentMainPanel{min-height:0;height:100%;overflow:hidden}.studentEditorPanel,.studentWiringPanel,.studentSerialPanel,.studentSummaryPanel{min-height:0;height:100%;display:grid;gap:12px;padding:16px;overflow:hidden}.studentEditorPanel{grid-template-rows:auto auto minmax(0,1fr)}.studentWiringPanel{grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}.studentSerialPanel{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.studentSummaryPanel{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;overflow:hidden}.studentPanelTitle{display:flex;align-items:center;gap:12px}.studentPanelTitle span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#0a67ff}.studentPanelTitle h1{font-size:22px;line-height:1.2}.studentToolbar,.studentSerialControls,.studentSerialActions,.studentSummaryActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.studentToolbar{justify-content:space-between;min-height:42px}.studentToolbarSection{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.studentToolbarPrimary{margin-left:auto}.studentBoardBadge{min-height:42px;display:inline-flex;align-items:center;border:1px solid #cfe0ff;border-radius:8px;padding:0 12px;background:#f7fbff;color:#31537f;font-weight:900}.studentCodeOnlyBadge{min-height:40px;display:inline-flex;align-items:center;border:1px solid #cfe0ff;border-radius:8px;padding:0 12px;background:#eef6ff;color:#174a7c;font-weight:900}.studentModeSwitch{display:inline-flex;overflow:hidden;border:1px solid #cfe0ff;border-radius:8px;background:#fff}.studentModeSwitch button{min-height:40px;border:0;border-radius:0;background:transparent}.studentToolbar button,.studentSerialControls button,.studentSummaryActions button{display:inline-flex;align-items:center;gap:8px}.studentModeActive{border-color:#0a67ff!important;background:#eaf2ff!important;color:#0a67ff!important}.studentAiButton{border-color:#1266ff!important;background:#1266ff!important;color:#fff!important;box-shadow:0 10px 20px #1266ff3d}.studentCompileButton{border-color:#22b66f!important;background:#22b66f!important;color:#fff!important;box-shadow:0 10px 20px #22b66f38}.studentUploadButton{border-color:#ff8a00!important;background:#ff8a00!important;color:#fff!important;box-shadow:0 10px 20px #ff8a0038}.studentCourseLessonPage .studentPanelTitle span{width:30px;height:30px;border-radius:12px}.studentCourseLessonPage .studentPanelTitle h1{color:#071d55;font-size:23px;font-weight:900}.studentBlocksLessonPage .studentEditorPanel{gap:8px;padding:12px}.studentBlocksLessonPage .studentToolbar{min-height:40px}.studentBlocksLessonPage .studentBoardBadge{min-height:38px;border-color:#b8d2ff;border-radius:12px;padding:0 14px;background:#fff;color:#071d55;font-size:15px}.studentBlocksLessonPage .studentCodeOnlyBadge{min-height:38px;border-color:#b8d2ff;border-radius:12px;padding:0 14px;background:#eaf4ff;color:#071d55;font-size:15px}.studentBlocksLessonPage .studentModeSwitch{border-color:#b8d2ff;border-radius:12px;box-shadow:0 8px 16px #1f53990f}.studentBlocksLessonPage .studentModeSwitch button{min-height:38px;padding:0 14px;color:#071d55;font-size:15px;font-weight:900}.studentBlocksLessonPage .studentModeActive{background:#1266ff!important;color:#fff!important;box-shadow:inset 0 0 0 1px #ffffff59}.studentBlocksLessonPage .studentAiButton{background:linear-gradient(180deg,#1774ff,#0759f5)!important}.studentBlocksLessonPage .studentCompileButton{background:linear-gradient(180deg,#29c97b,#19a95f)!important}.studentBlocksLessonPage .studentUploadButton{background:linear-gradient(180deg,#ff9a1f,#ff7900)!important}.studentBlocksLessonPage .studentToolbarPrimary button{min-height:44px;border-radius:12px;padding:0 14px;font-size:15px;font-weight:900}.studentBlocksLessonPage .studentCodeToggleButton{border-color:#b8d2ff!important;background:#fff!important;color:#1266ff!important;box-shadow:none!important}.studentProgramLayout,.studentBlocksLayout{min-height:0;height:100%;display:grid;gap:12px;overflow:hidden}.studentProgramLayout{grid-template-columns:minmax(0,1fr)}.studentProgramLayoutWithCode,.studentBlocksLayout{grid-template-columns:minmax(0,58fr) minmax(280px,42fr);gap:8px}.studentBlocksLessonPage .studentProgramLayoutWithCode{grid-template-columns:minmax(0,1.58fr) minmax(330px,.92fr);gap:10px}.studentProgramWorkspace{position:relative;min-width:0;min-height:0;overflow:hidden}.studentProgramView{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0}.studentProgramViewActive{visibility:visible;pointer-events:auto}.studentProgramViewHidden{visibility:hidden;pointer-events:none}.studentBlockCategories{display:grid;align-content:start;gap:8px}.studentBlockCategories button{justify-content:flex-start;background:#f7fbff}.studentBlockCanvas,.studentCodePreview,.studentCodeEditor,.studentTerminal{border:1px solid #d8e7ff;border-radius:8px}.studentBlockCanvas{padding:8px;background:#fff;overflow:hidden}.studentBlockCanvas img{max-width:100%;max-height:410px;object-fit:contain}.studentBlockCanvas .blocklySurface{width:100%;height:100%;min-height:0}.studentProgramWorkspace .studentBlockCanvas .blocklySurface{min-height:0}.studentCodeWorkspaceHost{min-height:0;display:flex;overflow:hidden;border:1px solid #d8e7ff;border-radius:8px;background:#fff}.studentBlocksLessonPage .studentCodeWorkspaceHost{border-color:#d8e7ff;border-radius:14px;background:#fff}.studentCodeWorkspaceHost .codeWorkspace{min-height:0}.studentBlocksLessonPage .studentCodeWorkspaceHost .codeWorkspace{width:100%;background:#fff}.studentCodeWorkspaceHost .codeWorkspaceEditor{min-height:0;border:0;border-radius:0}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-editor{height:100%;background:#fff;color:#18213f;font-size:15px}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.75}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-content{padding:14px 0}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-line{padding:0 18px 0 14px}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-gutters{min-width:54px;border-right:0;background:#f7fbff;color:#7e8da8}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-lineNumbers .cm-gutterElement{padding:0 14px 0 0;text-align:right}.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-activeLine,.studentBlocksLessonPage .studentCodeWorkspaceHost .cm-activeLineGutter{background:#f1f7ff}.studentProgramWorkspace .studentCodeWorkspaceHost,.studentProgramWorkspace .studentCodeWorkspaceHost .codeWorkspaceEditor{min-height:0}.studentStatusStrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border:1px solid #d8e7ff;border-radius:8px;background:#f7fbff;color:#31537f;font-size:13px;font-weight:800;line-height:1.35}.studentStatusStrip strong,.studentStatusStrip em{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;background:#eaf2ff;color:#0a67ff;font-style:normal}.studentCodeEditor{margin:0;overflow:auto;padding:12px;background:#fbfdff;color:#193163;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5;white-space:pre}.studentCodePreview{margin:0;overflow:auto;padding:14px 0;background:linear-gradient(90deg,#f7fbff 0,#f7fbff 54px,#fff 54px,#fff),#fff;color:#18213f;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:15px;line-height:1.75;white-space:pre}.studentCodeEditor{min-height:0;background:#fff}.studentCodePreviewPanel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #d8e7ff;border-radius:14px;background:#fff}.studentCodePreviewHeader{display:grid;gap:3px;padding:9px 12px;border-bottom:1px solid #e4edff;background:#f7fbff}.studentCodePreviewHeader>div{min-width:0;display:grid;gap:3px}.studentCodePreviewHeader strong,.studentCodePreviewHeader span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.studentCodePreviewHeader strong{color:#071d55;font-size:14px}.studentCodePreviewHeader span{color:#667899;font-size:12px;font-weight:800}.studentCodePreviewPanel .studentCodePreview{min-height:0;border:0;border-radius:0}.studentCodeLine{display:grid;grid-template-columns:54px max-content;min-width:max-content}.studentCodeLineNumber{padding-right:14px;color:#7e8da8;text-align:right;-webkit-user-select:none;user-select:none}.studentCodeLine code{display:block;padding:0 18px 0 14px;color:#18213f;font:inherit}.studentCodeKeyword{color:#9a23d9}.studentCodeFunction{color:#e24d1c}.studentCodeString{color:#f04424}.studentCodeNumber{color:#049a58}.studentCodeComment{color:#16a34a}.studentGuidedWiringStatus{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-height:48px;padding:9px 12px;border:1px solid #d8e7ff;border-radius:8px;background:#f7fbff;color:#31537f;font-size:13px;font-weight:800}.studentGuidedWiringStatus strong{color:#a62116}.studentGuidedWiringStatus p{grid-column:1 / -1;margin:0;color:#31537f;font-weight:700;line-height:1.45}.studentGuidedWiringNotes{margin:0;padding:10px 14px 10px 30px;border:1px solid #d8e7ff;border-radius:8px;background:#fff;color:#33516d;font-size:13px;line-height:1.65}.studentGuidedWiringHost{position:relative;min-height:0;display:flex;overflow:hidden;border:1px solid #d8e7ff;border-radius:8px;background:#fff}.studentGuidedWiringHost .wiringStepsFloating{position:absolute;top:12px;right:12px;bottom:12px;z-index:4;width:min(286px,calc(100% - 24px));display:grid;grid-template-columns:50px minmax(0,1fr);overflow:hidden;border:1px solid #b7d2ff;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 18px 36px #1f539929,0 2px 8px #1f539914;transition:width .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;will-change:width}.studentGuidedWiringHost .wiringStepsFloating.is-collapsed{width:54px;grid-template-columns:54px 0;border-color:transparent;background:transparent;box-shadow:none}.studentGuidedWiringHost .wiringStepsToggle{position:relative;width:50px;min-width:50px;height:100%;display:grid;grid-template-rows:36px minmax(0,1fr);place-items:center;gap:12px;border:0;border-right:1px solid #d8e7ff;border-radius:16px 0 0 16px;overflow:hidden;padding:14px 0;background:linear-gradient(180deg,#edf6ff,#dcecff);color:#fff;cursor:pointer;font-size:12px;font-weight:950;letter-spacing:0;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.studentGuidedWiringHost .wiringStepsToggle:before{content:"";position:absolute;inset:52px auto 14px 10px;width:4px;border-radius:999px;background:linear-gradient(180deg,#7eb0ff,#2f80ff);opacity:.92;box-shadow:0 0 0 3px #2f80ff12}.studentGuidedWiringHost .wiringStepsToggle:hover{background:linear-gradient(180deg,#f2f8ff,#e2f0ff);color:#fff}.studentGuidedWiringHost .wiringStepsToggle svg{position:relative;z-index:1;width:30px;height:30px;padding:7px;border-radius:999px;background:linear-gradient(180deg,#fff,#edf5ff);border:1px solid #b8d3ff;color:#0759d6;box-shadow:0 8px 18px #1f539933}.studentGuidedWiringHost .wiringStepsToggle span{position:relative;z-index:1;display:inline-grid;place-items:center;min-height:58px;min-width:26px;border-radius:999px;padding:9px 5px;background:linear-gradient(180deg,#1c7dff,#075ff0);box-shadow:0 10px 20px #075ff03d,inset 0 1px #ffffff3d;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;line-height:1;letter-spacing:.1em}.studentGuidedWiringHost .wiringStepsFloating.is-collapsed .wiringStepsToggle{width:54px;min-width:54px;margin-left:0;border:1px solid #8dbbff;border-radius:18px;background:linear-gradient(180deg,#edf6ff,#dcecff);color:#fff;box-shadow:0 14px 28px #0a67ff38,inset 0 1px #ffffffb8,inset 0 0 0 1px #fff6}.studentGuidedWiringHost .wiringStepsFloating.is-collapsed .wiringStepsToggle svg{background:linear-gradient(180deg,#fff,#e7f1ff);border-color:#9cc3ff;box-shadow:0 6px 14px #1f53992e}.studentGuidedWiringHost .wiringStepsFloating.is-collapsed .wiringStepsToggle:before{inset:52px auto 14px 10px;width:4px;opacity:1}.studentGuidedWiringHost .wiringStepsContent{min-width:0;min-height:0;display:grid;align-content:start;gap:12px;overflow:auto;padding:14px 16px 16px;background:linear-gradient(180deg,#fffffff5,#f8fbfff5)}.studentGuidedWiringHost .wiringStepsFloating.is-collapsed .wiringStepsContent{visibility:hidden}.studentGuidedWiringHost .wiringStepsTitle{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:2px 0 10px;border-bottom:1px solid #e3eeff}.studentGuidedWiringHost .wiringStepsTitle>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #c9dcff;border-radius:999px;background:#eef6ff;color:#1266e3}.studentGuidedWiringHost .wiringStepsContent h3{margin:0;color:#071d55;font-size:16px;font-weight:950;line-height:1.2}.studentGuidedWiringHost .wiringStepsContent p{margin:0;color:#31537f;font-size:13px;font-weight:800;line-height:1.5}.studentGuidedWiringHost .wiringStepList{display:grid;gap:10px;margin:0;padding:0;list-style:none}.studentGuidedWiringHost .wiringStepList li{padding:0;color:#425b83;font-size:13px;font-weight:800;line-height:1.5}.studentGuidedWiringHost .wiringStepButton{min-height:58px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:9px;border:1px solid #d8e7ff;border-radius:12px;padding:10px 11px;background:linear-gradient(180deg,#fff,#f5f9ff);color:#29466d;font-size:13px;font-weight:800;box-shadow:0 6px 14px #1f539912}.studentGuidedWiringHost .wiringStepButton:hover,.studentGuidedWiringHost .wiringStepList li.is-selected .wiringStepButton{border-color:#9fc4ff;background:linear-gradient(180deg,#f9fcff,#eaf4ff);color:#0d4fb3;box-shadow:0 8px 18px #1f53991f}.studentGuidedWiringHost .wiringStepList li.is-muted .wiringStepButton{opacity:.62}.studentGuidedWiringHost .wiringStepNumber{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#e8f2ff;color:#1266e3;font-size:12px;font-weight:950;line-height:1}.studentGuidedWiringHost .wiringStepText{min-width:0;line-height:1.55}.studentGuidedWiringHost .wiringStepToken{display:inline-block;margin:0 1px;border-radius:6px;padding:0 4px;background:#e6f1ff;color:#0759d6;font-weight:950}.studentGuidedWiringHost .wiringJsonDetails{margin-top:2px;padding-top:10px;border-top:1px dashed #d8e7ff}.studentGuidedWiringHost .wiringJsonDetails summary{min-height:32px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe8fb;border-radius:10px;padding:0 10px;background:#f8fbff;color:#587297;cursor:pointer;font-size:12px;font-weight:850;list-style:none}.studentGuidedWiringHost .wiringJsonDetails summary::-webkit-details-marker{display:none}.studentGuidedWiringHost .wiringJsonDetails summary:hover{border-color:#c4d8f7;background:#eef6ff;color:#31537f}.studentGuidedWiringHost .wiringJsonDetails pre{margin-top:10px;max-height:190px}.studentGuidedWiringHost .wiringDialogEmbedded{min-height:0;height:100%;width:100%;border:0;border-radius:0;box-shadow:none}.studentGuidedWiringHost .wiringBody{min-height:0;height:100%;overflow:hidden;padding:0}.studentGuidedWiringHost .wiringLayout{min-height:0;height:100%;grid-template-columns:minmax(0,1fr);gap:0}.studentGuidedWiringHost .wiringHeader{display:none}.studentGuidedWiringHost .wiringPreview{height:100%;min-height:0;border:0;border-radius:0}.studentGuidedWiringHost .wiringPreview svg{height:100%;min-height:0}.studentSerialControls label{flex:0 1 220px;display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:10px;color:#31537f;font-weight:800}.studentSerialControls{align-items:flex-end;flex-wrap:nowrap;color:#31537f}.studentSerialControls select{width:100%;min-width:0;min-height:42px;border:1px solid #d8e7ff;border-radius:8px;padding:0 12px;background:#fff;color:#071d55;font-weight:800}.studentSerialControls>button{flex:0 0 108px;min-height:42px;align-self:flex-end;justify-content:center;border-color:#1266ff!important;background:#1266ff!important;color:#fff!important}.studentConnectedButton{border-color:#0a67ff!important;background:#eaf2ff!important;color:#0a67ff!important}.studentTerminal{min-height:0;overflow:auto;padding:20px 22px;border-color:#12203a;border-radius:12px;background:linear-gradient(135deg,rgba(21,101,245,.1),transparent 44%),#061327;color:#72f0aa;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:15px;line-height:1.55}.studentTerminal p{margin:0 0 10px}.studentTerminalLine{display:grid;grid-template-columns:82px 42px minmax(0,1fr);gap:8px}.studentTerminalLine span,.studentTerminalLine strong{color:#9fb5d1}.studentTerminalSYS{color:#93c5fd}.studentTerminalTX{color:#fde68a}.studentTerminalRX{color:#72f0aa}.studentSerialComposer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.studentSerialComposer input{min-height:44px;border:1px solid #d8e7ff;border-radius:8px;padding:0 14px}.studentSerialComposer button{display:inline-flex;align-items:center;gap:8px}.studentSummaryHeader{position:relative;min-height:116px;display:grid;grid-template-columns:minmax(0,1fr) 178px;align-items:center;gap:16px;overflow:hidden;padding:16px 18px 16px 132px;border:1px solid #f7d893;border-radius:18px;background:radial-gradient(circle at 74px 58px,rgba(255,197,46,.95) 0 4px,transparent 5px),radial-gradient(circle at 108px 86px,rgba(75,146,255,.8) 0 3px,transparent 4px),radial-gradient(circle at 96% 78%,rgba(255,154,31,.5) 0 4px,transparent 5px),linear-gradient(100deg,#fff2bf,#fff8df 46%,#fffdfa);box-shadow:0 12px 24px #e6a6321f}.studentSummaryHeader:before{content:"";position:absolute;left:48px;top:34px;width:58px;height:46px;border-radius:12px 12px 34px;background:radial-gradient(circle at 18px 10px,#ffffff 0 3px,transparent 4px),linear-gradient(135deg,#ff7f2a 0,#ff7f2a 30%,#fff 30%,#fff 42%,#ffb238 42%,#ffb238 68%,#fff 68%,#fff 78%,#ff7f2a 78%);box-shadow:16px -20px 0 -18px #0a67ff,38px -24px 0 -17px #21b66f,54px -8px 0 -18px #ffc52e,28px 36px 0 -18px #8b5cf6;transform:rotate(-24deg)}.studentSummaryCopy{min-width:0;display:grid;gap:8px}.studentSummaryCopy h1{color:#061550;font-size:clamp(22px,1.65vw,30px);line-height:1.18}.studentSummaryCopy p{color:#193163;font-size:16px;font-weight:800;line-height:1.35}.studentSummaryProgress{min-width:0;min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) 68px;grid-template-areas:"stats trophy";align-items:center;gap:8px 12px;border:1px solid #a8dec1;border-radius:18px;padding:14px 16px;background:#f3fff6e6;color:#16337a}.studentProgressStats{grid-area:stats;display:flex;gap:16px;flex-wrap:wrap}.studentProgressItem{display:flex;flex-direction:column;gap:4px}.studentProgressItem span{font-size:12px;font-weight:600;color:#16337a;opacity:.8}.studentProgressItem strong{color:#16a05f;font-size:24px;line-height:1;font-weight:900}.studentSummaryProgress img{grid-area:trophy;width:54px;height:54px;object-fit:contain}.studentSummaryBanner{width:168px;height:104px;object-fit:cover;border-radius:16px}.studentSummaryHeader>strong{min-width:110px;min-height:72px;display:grid;place-items:center;border-radius:16px;background:#fff;color:#0a67ff;font-size:30px;box-shadow:0 12px 24px #2363b41a}.studentSummaryGrid{min-height:0;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);gap:14px;overflow:auto}.studentSummaryGrid section{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.studentSummaryGrid h2{margin:0;color:#071d55;font-size:24px}.studentKnowledgeCards{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.studentKnowledgeCards article{min-width:0;min-height:78px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #d8e7ff;border-radius:14px;padding:8px;background:linear-gradient(180deg,#fff,#f6f9ff);box-shadow:0 10px 18px #2363b414}.studentKnowledgeImage,.studentPracticeImage{width:30px;height:30px;justify-self:center;object-fit:contain;border-radius:10px;background:#f3f8ff}.studentKnowledgeCards h3{font-size:14px;line-height:1.2}.studentKnowledgeCards h3,.studentKnowledgeCards p,.studentTaskPanel h2,.studentTipCard p{margin:0}.studentKnowledgeCards p{color:#667899;display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.studentPracticeList{min-height:0;display:grid;gap:6px;align-content:start;overflow:hidden}.studentPracticeItem{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;border:1px solid #d8e7ff;border-radius:14px;padding:5px 8px;background:#fff}.studentPracticeImage{width:30px;height:30px;border-radius:10px}.studentPracticeItem h3,.studentPracticeItem p{margin:0}.studentPracticeItem h3{font-size:14px;line-height:1.2}.studentPracticeItem p{color:#667899;display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:1}.studentPracticeItem button{min-height:30px;border-color:#1266ff;background:#fff;color:#1266ff;white-space:nowrap}.studentSummaryActions{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.studentSummaryActions button{min-width:0;min-height:46px;justify-content:center;border-radius:14px;font-size:17px;font-weight:900}.studentSummaryActions .studentPrimaryButton{min-width:0;font-size:18px}.studentTaskPanel h2{display:flex;align-items:center;gap:10px;color:#071d55;font-size:22px;font-weight:900}.studentCompactTaskPanel{grid-template-rows:auto auto minmax(0,1fr) auto;border-color:#cfe0ff;border-radius:20px;padding:16px 14px}.studentCompactTaskPanel h2 svg{width:30px;height:30px;padding:7px;border-radius:999px;background:#1266ff;color:#fff}.studentCompactTaskPanel h2{font-size:20px}.studentTaskList{display:grid;gap:14px}.studentTaskList label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:36px;color:#667899;font-size:16px;font-weight:900}.studentTaskList input{width:18px;height:18px;accent-color:#0a67ff}.studentTaskStatus{display:none}.studentCompactTaskPanel .studentTaskList label{grid-template-columns:30px minmax(0,1fr);gap:10px;min-height:38px;color:#071d55}.studentCompactTaskPanel .studentTaskList input{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0 0 0 0);overflow:hidden}.studentCompactTaskPanel .studentTaskStatus{width:26px;height:26px;display:inline-grid;place-items:center;border:2px solid #a9c2ea;border-radius:999px;color:#fff;background:#fff}.studentCompactTaskPanel .studentTaskDone .studentTaskStatus{border-color:#20b970;background:#20b970}.studentTaskList .studentTaskDone{color:#071d55}.studentTipCard{position:relative;display:grid;gap:10px;align-self:end;padding:14px;border:1px solid #d8e7ff;border-radius:16px;background:#f7fbff;line-height:1.5;overflow:hidden}.studentCompactTaskPanel .studentTipCard{border-color:#cfe0ff;background:linear-gradient(180deg,#fff,#f3f8ff)}.studentCompactTaskPanel .studentTipCard:after{content:"";position:absolute;right:12px;bottom:10px;width:74px;height:54px;opacity:.11;background:url(/student-assets/lesson/assistant-robot.png) center / contain no-repeat;pointer-events:none}.studentTipCard strong{display:inline-flex;align-items:center;gap:8px;color:#071d55;font-size:16px;font-weight:900}.studentCompactTaskPanel .studentTipCard strong svg{color:#ffad14}.studentTipCard p{margin:0;color:#31537f;font-weight:800}.studentTaskPanel>.studentPrimaryButton{width:100%;min-height:50px;margin-top:6px;justify-content:center;border-radius:14px;font-size:20px;font-weight:900}.studentCompactTaskPanel>.studentPrimaryButton{background:linear-gradient(180deg,#1774ff,#0759f5);box-shadow:0 16px 24px #0a67ff3d}.studentCompactTaskPanel>.studentPrimaryButton:disabled{border-color:#cfe0ff;background:#eaf2ff;color:#7f90ad;box-shadow:none}.studentFlowHint{margin:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e7ff;border-radius:12px;padding:0 14px;background:#f7fbff;color:#31537f;font-weight:800}.studentCourseStatusBar{min-height:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;border:1px solid #d8e7ff;border-radius:8px;padding:0 16px;background:#fffffff5;box-shadow:0 14px 34px #2363b41f}.studentCourseStatusBar>span{min-height:34px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;padding:0 12px;background:#f7fbff;color:#31537f;font-weight:900;white-space:nowrap;text-overflow:ellipsis}.studentCompactStatusBar{display:flex;grid-template-columns:none;align-items:center;justify-content:center;gap:0;border-radius:10px;min-height:46px;padding:0 14px}.studentCompactStatusBar>.studentStatusItem{flex:0 0 auto;justify-content:flex-start;gap:10px;border-radius:0;min-height:30px;padding:0 16px;background:transparent}.studentCompactStatusBar>.studentStatusItem+.studentStatusItem{border-left:1px solid #b9cdf2}.studentCompactStatusBar .studentStatusText{min-width:0;overflow:hidden;text-overflow:ellipsis}.studentCompactStatusBar>.studentStatusItem:first-child svg{width:24px;height:24px;padding:5px;border-radius:999px;background:#20b970;color:#fff}.studentCompactStatusBar>.studentStatusItem:last-child svg{width:24px;height:24px;padding:4px;border-radius:999px;border:1px solid #ffd9a1;background:#fff8ed;color:#ff9c1a}.studentStatusDot{width:24px;height:24px;border-radius:999px;border:3px dotted currentColor}.studentStatusDotBlue{color:#1266ff}@media(max-width:1100px){.studentCourseLessonPage{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.studentCourseLessonPage>*{min-width:0;max-width:100%}.studentLoginPage,.studentHome,.studentLessonGrid,.studentSummaryGrid{grid-template-columns:1fr}.studentContinueCard,.studentHomeHero,.studentHomeSection,.studentIdeaBand{grid-column:auto}.studentProjectGrid,.studentKnowledgeCards{grid-template-columns:repeat(2,minmax(0,1fr))}.studentLessonHeader{height:auto;grid-template-columns:1fr}.studentCourseLessonPage .studentLessonHeader{width:100%;max-width:100%;min-width:0;height:auto;grid-template-columns:minmax(0,1fr)}.studentCourseLessonPage .studentLessonGrid{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.studentCourseLessonPage .studentLessonHeader>*,.studentCourseLessonPage .studentLessonGrid>*{min-width:0;max-width:100%}.studentTopicButton,.studentLessonHeader>.studentCircleNav[aria-label=向前滚动课程步骤],.studentLessonHeader>.studentCircleNav[aria-label=向后滚动课程步骤],.studentStepNav{grid-column:auto;grid-row:auto}.studentStepNav{grid-template-columns:repeat(2,minmax(0,1fr))}.studentProgramLayoutWithCode,.studentBlocksLayout{grid-template-columns:1fr}.studentLessonPage{height:auto;min-height:calc(100vh - 74px);grid-template-rows:auto auto auto;overflow:visible}.studentLessonGrid,.studentAssistantPanel,.studentMainPanel,.studentEditorPanel,.studentWiringPanel,.studentSerialPanel,.studentSummaryPanel,.studentTaskPanel{height:auto;overflow:visible}.studentSummaryHeader{grid-template-columns:1fr;min-height:0;padding:28px}.studentSummaryProgress{width:min(260px,100%);justify-self:start}.studentKnowledgeCards{overflow:visible}.studentPracticeItem{grid-template-columns:64px minmax(0,1fr)}.studentPracticeItem button{grid-column:1 / -1;justify-self:start}.studentProgramLayout,.studentProgramWorkspace,.studentGuidedWiringHost,.studentTerminal{min-height:420px}.studentCourseStatusBar{grid-template-columns:1fr;padding:12px}.studentTopbar{align-items:flex-start;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.studentTopbarActions{width:100%;margin-left:0;flex-wrap:wrap}}@media(min-width:901px)and (max-width:1100px){.studentTopbar{min-height:72px;align-items:center;flex-wrap:nowrap;padding-top:0;padding-bottom:0}.studentTopbarActions{width:auto;margin-left:auto;flex-wrap:nowrap}.studentLessonPage{width:min(100%,calc(100vw - 20px));height:calc(100vh - 74px);margin:0 auto;padding:10px 0 12px;grid-template-rows:76px minmax(0,1fr) 52px;gap:10px;overflow:hidden}.studentLessonHeader{height:76px;grid-template-columns:190px 38px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:10px}.studentCourseLessonPage .studentLessonHeader{width:100%;max-width:100%;min-width:0;height:76px;grid-template-columns:190px 38px minmax(0,1fr) 38px;gap:8px;padding:10px}.studentTopicButton,.studentLessonHeader>.studentCircleNav[aria-label=向前滚动课程步骤],.studentLessonHeader>.studentCircleNav[aria-label=向后滚动课程步骤],.studentStepNav{grid-row:auto}.studentTopicButton{grid-column:1;min-height:42px;padding:0 10px;font-size:13px}.studentLessonHeader>.studentCircleNav[aria-label=向前滚动课程步骤]{grid-column:2}.studentLessonHeader>.studentCircleNav[aria-label=向后滚动课程步骤]{grid-column:4}.studentCircleNav{width:38px;min-height:38px}.studentStepNav{grid-column:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.studentStepNav button{min-height:42px;padding:0 8px;font-size:13px}.studentStepNav span{width:24px;height:24px}.studentLessonGrid{height:100%;grid-template-columns:210px minmax(0,1fr) 250px;gap:10px;overflow:hidden}.studentCourseLessonPage .studentLessonGrid{width:100%;max-width:100%;min-width:0;height:100%;grid-template-columns:210px minmax(0,1fr) 250px;gap:10px;overflow:hidden}.studentAssistantPanel,.studentMainPanel,.studentEditorPanel,.studentWiringPanel,.studentSerialPanel,.studentSummaryPanel,.studentTaskPanel{height:100%;overflow:hidden}.studentAssistantPanel,.studentTaskPanel{padding:12px;gap:10px}.studentAssistantPanel img{height:150px}.studentSpeechBubble{min-height:84px;padding:12px}.studentAssistantGuidance{min-height:44px}.studentProgramLayout,.studentProgramWorkspace,.studentGuidedWiringHost,.studentTerminal{min-height:0}.studentProgramLayoutWithCode,.studentBlocksLayout{grid-template-columns:minmax(0,58fr) minmax(240px,42fr)}.studentSummaryHeader{grid-template-columns:minmax(0,1fr) 178px;min-height:112px;padding:14px 18px 14px 128px}.studentSummaryCopy h1{font-size:22px}.studentSummaryCopy p{font-size:15px}.studentSummaryGrid{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:12px;overflow:hidden}.studentKnowledgeCards{grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.studentKnowledgeCards article{grid-template-columns:34px minmax(0,1fr);min-height:78px;padding:8px}.studentKnowledgeImage{width:30px;height:30px}.studentPracticeItem{grid-template-columns:42px minmax(0,1fr) auto;min-height:38px;padding:4px 8px}.studentPracticeImage{width:26px;height:26px}.studentPracticeItem button{grid-column:auto;min-height:28px}.studentSummaryActions{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.studentSummaryActions button,.studentSummaryActions .studentPrimaryButton{width:auto;min-width:0;min-height:42px;font-size:17px}.studentCourseStatusBar{min-height:52px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 12px}}@media(max-width:1320px){.studentHome{grid-template-columns:minmax(0,1fr)}.studentContinueCard{grid-column:auto;grid-row:auto}.studentHomeHero{justify-content:center}.studentProjectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.studentHomeLower{grid-template-columns:1fr}.studentIdeaBand,.studentMyWorkSection{grid-column:auto}}@media(min-width:1321px)and (max-width:1540px){.studentTopbar{min-height:72px;padding:0 30px}.studentBrandButton img{width:236px}.studentTopbarActions{gap:10px}.studentPill{padding:0 14px}.studentUser{gap:10px;font-size:16px}.studentUser img{width:42px;height:42px}.studentHome{width:min(100%,calc(100vw - 40px));margin-top:14px;grid-template-columns:minmax(520px,.43fr) minmax(660px,.57fr);gap:14px 18px}.studentHomeHero{grid-template-columns:190px minmax(0,1fr);min-height:204px;padding:8px 6px 4px 36px}.studentHomeHero h1{font-size:clamp(38px,3.1vw,46px)}.studentHomeHero img{width:174px}.studentHeroBubble{width:min(230px,100%);padding:14px 20px;font-size:18px}.studentContinueCard{grid-template-columns:126px minmax(0,1fr) 164px;gap:12px 18px;min-height:198px;padding:18px 22px}.studentContinueArtwork{width:120px;height:120px}.studentContinueEmpty{grid-template-columns:120px minmax(0,1fr)}.studentSectionLabel,.studentContinueBody h2{font-size:24px}.studentContinueCard button,.studentContinueActionState{min-height:58px;font-size:21px}.studentHomeSection,.studentProjectSection{padding:14px 16px 16px}.studentProjectGrid{gap:12px}.studentProjectCard{grid-template-columns:100px minmax(0,1fr);grid-template-rows:112px 34px;column-gap:10px;padding:10px;min-height:172px}.studentProjectCard img{height:112px}.studentProjectCard h3{font-size:17px}.studentProjectCard p{font-size:12px;line-height:1.25}.studentProjectInfo{grid-template-rows:28px 38px 28px;gap:5px}.studentProjectMeta,.studentTags{gap:4px}.studentProjectCard .studentTags{display:none}.studentProjectMeta span,.studentTags span{min-height:26px;padding:0 6px;font-size:11px}.studentProjectMeta .studentProjectTime{min-width:60px}.studentHomeLower{grid-template-columns:minmax(0,1.42fr) minmax(430px,1fr);gap:14px}.studentIdeaBand{grid-template-columns:128px minmax(0,1fr);gap:10px;min-height:164px;padding:8px 16px 0}.studentIdeaBand>img{width:128px}.studentIdeaBand h2{font-size:25px}.studentIdeaBand .studentIdeaTags{grid-template-columns:repeat(6,minmax(54px,64px));gap:8px}.studentIdeaTag{width:100%;min-height:70px;font-size:13px}.studentIdeaTag img{width:30px;height:30px}.studentMyWork{gap:10px}.studentMyWork>article{min-width:0;min-height:104px;gap:10px;padding:10px}.studentWorkIcon{width:92px;height:70px;flex-basis:92px}.studentWorkInfo strong{font-size:16px;line-height:20px}.studentWorkInfo em,.studentWorkInfo small{font-size:13px;line-height:18px}}@media(max-width:680px){.unifiedLoginShell{width:min(100%,100vw);height:auto;min-height:100vh;display:grid;grid-template-columns:1fr;align-items:end;padding:96px 16px 20px;overflow:auto}.unifiedLoginHero{background-position:38% top}.unifiedLoginPanel{width:100%;padding:28px 22px;border-radius:28px}.unifiedLoginTitle h1{white-space:normal}.unifiedLoginTitle p{grid-template-columns:1fr;gap:8px}.unifiedLoginTitle p span{display:none}.studentShell{overflow-x:hidden}.studentLoginPage,.studentHome,.studentLessonPage{width:min(100%,100vw);margin:0;padding:14px}.studentCourseLessonPage .studentMainPanel,.studentCourseLessonPage .studentSerialPanel,.studentCourseLessonPage .studentSummaryPanel,.studentCourseLessonPage .studentSummaryGrid,.studentCourseLessonPage .studentSummaryGrid>*{width:100%;max-width:100%;min-width:0}.studentCourseLessonPage .studentSerialControls{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.studentCourseLessonPage .studentSerialControls>*{width:100%;max-width:100%;min-width:0}.studentCourseLessonPage .studentSerialPortSummary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.studentCourseLessonPage .studentSerialPortSummary strong{min-width:0;overflow-wrap:anywhere}.studentCourseLessonPage .studentSerialComposer{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.studentCourseLessonPage .studentCompactStatusBar{width:100%;max-width:100%;min-width:0;height:auto;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;padding:8px 12px}.studentCourseLessonPage .studentCompactStatusBar>.studentStatusItem{width:100%;max-width:100%;min-width:0;min-height:40px;justify-content:flex-start;padding:6px 0;white-space:normal;overflow:visible;text-overflow:clip}.studentCourseLessonPage .studentCompactStatusBar>.studentStatusItem+.studentStatusItem{border-left:0;border-top:1px solid #b9cdf2}.studentCourseLessonPage .studentCompactStatusBar .studentStatusText{min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}.studentLoginPage{display:block}.studentLoginHero{min-height:260px;margin-bottom:14px}.studentLoginArt{min-height:260px}.studentLoginPanel{padding:22px}.studentPill,.studentUser{display:none}.studentHomeHero,.studentIdeaBand,.studentContinueCard,.studentHomeSection,.studentAssistantPanel,.studentMainPanel,.studentTaskPanel{box-shadow:none}.studentHomeHero,.studentContinueCard,.studentHomeSection,.studentIdeaBand,.studentProjectGrid,.studentProjectCard,.studentMyWork article{min-width:0;width:100%}.studentHomeHero{grid-template-columns:1fr;min-height:auto;padding:26px 18px}.studentHomeHero h1{white-space:normal;font-size:34px;line-height:1.12}.studentHeroCopy h1,.studentHeroBubble{grid-column:1;grid-row:auto}.studentHeroBubble{width:100%;padding:14px 18px;border-radius:8px;font-size:18px}.studentContinueCard{grid-template-columns:minmax(0,1fr);gap:18px;min-height:auto;padding:20px}.studentContinueArtwork{display:none}.studentContinueHeader,.studentContinueBody,.studentContinueEmpty .studentContinueBody,.studentContinueCard button,.studentContinueActionState{grid-column:1;grid-row:auto}.studentSectionLabel{font-size:22px}.studentContinueBody h2{font-size:24px}.studentSectionTitle{align-items:flex-start;flex-direction:column}.studentHomeHero img,.studentIdeaBand>img{display:none}.studentProjectGrid,.studentKnowledgeCards,.studentMyWork,.studentProjectCard{grid-template-columns:1fr}.studentProjectTitleRow{align-items:flex-start;flex-direction:column}.studentProjectStatusBadge{max-width:none}.studentIdeaBand{grid-template-columns:1fr}.studentIdeaBand h2{font-size:24px}.studentIdeaBand .studentIdeaTags{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.studentIdeaTag{width:100%;min-height:72px}.studentStepNav{grid-template-columns:1fr}.studentEditorPanel,.studentWiringPanel,.studentSerialPanel,.studentSummaryPanel{padding:16px}.studentSummaryHeader{padding:22px;background-position:left center}.studentSummaryCopy h1{font-size:28px}.studentSummaryCopy p{font-size:17px}.studentSummaryGrid{overflow:visible}.studentKnowledgeCards article{grid-template-columns:72px minmax(0,1fr);min-height:112px;padding:12px}.studentKnowledgeImage{width:62px;height:62px}.studentPracticeItem{grid-template-columns:56px minmax(0,1fr)}.studentPracticeImage{width:48px;height:48px}.studentSummaryActions{display:grid;grid-template-columns:1fr;gap:10px}.studentSummaryActions button,.studentSummaryActions .studentPrimaryButton{width:100%;min-width:0;font-size:18px}.studentPanelTitle h1{font-size:22px}}.portalLanding{width:100%;min-height:100vh;display:flex;align-items:stretch;overflow:auto;background-color:#172033;background-position:center;background-size:cover;color:#fff}.portalHero{width:min(1120px,100%);min-height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:32px;padding:clamp(24px,5vw,64px)}.portalBrand{display:inline-flex;align-items:center;gap:10px;width:fit-content;min-width:0;color:#ffffffe0;font-size:15px;font-weight:700}.portalBrandText{display:grid;gap:2px;min-width:0}.portalBrandText strong{font-size:15px;line-height:1.1}.portalBrandText span{color:#ffffffb3;font-size:12px;font-weight:600;line-height:1.2}.portalBrand img{width:38px;height:38px;display:block;object-fit:contain}.portalCopy{align-self:center;max-width:620px;display:grid;gap:14px}.portalEyebrow,.portalLead,.portalActionText span{margin:0;color:#ffffffc2}.portalEyebrow{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:0}.portalCopy h1{margin:0;color:#fff;font-size:clamp(44px,7vw,84px);line-height:.95;letter-spacing:0}.portalLead{max-width:520px;font-size:clamp(18px,2vw,24px);line-height:1.5}.portalActions{width:min(1040px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portalAction{min-height:104px;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1f;color:#fff;text-decoration:none;box-shadow:0 18px 46px #0000003d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.portalAction:hover,.portalAction:focus-visible{border-color:#ffffff9e;background:#ffffff2e;transform:translateY(-2px)}.portalAction:focus-visible{outline:3px solid rgba(255,255,255,.36);outline-offset:3px}.portalActionIcon{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;color:#0f172a}.portalAction-creator .portalActionIcon{background:#67e8f9}.portalAction-teaching .portalActionIcon{background:#86efac}.portalAction-assessment .portalActionIcon{background:#fbbf24}.portalActionText{min-width:0;display:grid;gap:4px}.portalActionText strong{overflow-wrap:anywhere;font-size:clamp(18px,2vw,22px);line-height:1.2}.portalActionText span{font-size:14px;line-height:1.35}.portalActionArrow{justify-self:end;color:#ffffffd6}@media(max-width:980px){.portalActions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.portalHero{gap:24px;padding:22px}.portalCopy{align-self:end}.portalAction{min-height:92px}.portalActions{grid-template-columns:minmax(0,1fr)}}.aiToBlockDetachedBlock{filter:grayscale(1) saturate(.15);opacity:.62;transition:filter .12s ease,opacity .12s ease}.appShell{width:100%;height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.authShell{align-items:center;justify-content:center;padding:24px;overflow:auto}.authPanel{width:min(420px,100%);display:grid;gap:16px;grid-template-columns:minmax(0,1fr);padding:24px;border:1px solid #d7deea;border-radius:8px;background:#fff;box-shadow:0 16px 42px #18243a1f}.brand.authBrand{grid-area:auto;min-width:0;margin-bottom:4px}.brand.authBrand .brandMark{flex:0 0 auto}.authPanel>button[type=submit],.authError{width:100%}.authField{display:grid;gap:6px;color:#4f5f75;min-width:0}.authField input,.projectControls input,.projectControls select{width:100%;min-height:38px;border:1px solid #b4bece;border-radius:6px;padding:0 10px;background:#fff;color:#172033}.authError{margin:0;color:#b42318}.topbar{min-height:58px;padding:9px 16px;display:grid;grid-template-columns:minmax(300px,.5fr) minmax(0,1.5fr);grid-template-areas:"brand project";align-items:center;gap:7px 12px;background:linear-gradient(180deg,#fff,#f7fbff);border-bottom:1px solid #d8e7ff;box-shadow:0 1px #ffffffc2}.brand{grid-area:brand;display:flex;align-items:center;gap:10px;min-width:0;min-height:40px}.brandHomeLink{display:inline-flex;align-items:center;flex:0 0 auto;gap:0;min-width:0;min-height:44px;color:inherit;text-decoration:none;border:0;border-radius:8px;padding:0;background:transparent;cursor:pointer;line-height:0}.brandHomeLink:hover .brandLogo{filter:drop-shadow(0 6px 10px rgba(31,83,153,.12))}.brandHomeLink:focus-visible{outline:3px solid rgba(47,111,237,.24);outline-offset:4px}.brandCopy{flex:0 0 auto;min-width:0;display:grid;align-content:center;gap:1px}.brandMark{flex:0 0 40px;width:40px;height:40px;border-radius:7px;display:grid;place-items:center;overflow:hidden;background:transparent}.brandMark img{width:37px;height:37px;display:block;object-fit:contain}.brandLogo{width:clamp(194px,14vw,246px);max-height:52px;display:block;object-fit:contain;transition:filter .16s ease}.brand h1{margin:0;font-size:17px;line-height:1.1}.brand p{margin:0;color:#6b7890;font-size:12px;line-height:1.2}.brandStatus{flex:1 1 auto;min-width:0;max-width:min(180px,14vw);align-self:center;margin-left:10px;padding:5px 10px;overflow:hidden;border:1px solid #c9dcff;border-radius:999px;background:#eef6ff;color:#1f3f6f;font-size:12px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.projectControls{min-width:0;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px}.projectHeaderArea{grid-area:project;min-width:0;display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:7px 12px}.projectHeaderArea .projectControls{flex:0 1 auto}.projectTitleCombo{position:relative;flex:0 1 auto;min-width:272px;height:38px;display:grid;grid-template-columns:minmax(0,260px) 34px;align-items:stretch;overflow:hidden;border:1px solid #c6d9f6;border-radius:10px;background:#fff;box-shadow:0 1px 2px #1f53990f}.projectTitleCombo:focus-within{border-color:#2d6cdf;box-shadow:0 0 0 2px #2d6cdf29}.projectControls .projectPickerSelect,.projectControls .projectTitleInput{width:100%;min-height:0;border:0;border-radius:0;background:transparent}.projectControls .projectPickerSelect{position:absolute;inset:0 0 0 auto;width:34px;height:100%;opacity:0;cursor:pointer}.projectControls .projectPickerSelect:disabled{cursor:default}.projectPickerTrigger{display:inline-flex;align-items:center;justify-content:center;border-left:1px solid #d8e7ff;color:#31537f;pointer-events:none}.projectControls .projectTitleInput{min-width:0}.projectControlsAnonymous{color:#5a687c;font-size:12px}.headerStatusMeta{flex:1 1 auto;min-width:0;justify-content:flex-start;flex-wrap:nowrap;gap:9px;padding-left:12px;border-left:1px solid #d8e7ff;overflow:hidden;white-space:nowrap}.headerStatusMeta span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:1180px){.topbar{grid-template-columns:minmax(270px,.44fr) minmax(0,1.56fr)}.brandStatus{max-width:150px;margin-left:18px}.projectTitleCombo{min-width:260px;grid-template-columns:minmax(0,1fr) 34px}.projectHeaderArea{gap:7px 10px}.headerStatusMeta{gap:7px;padding-left:10px}}.topbar button,.topbar input,.topbar select{min-height:34px;font-size:13px}.topbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.topbar button svg{flex:0 0 auto;color:#2d6cdf}.topbar .dangerButton svg{color:#b42318}.topbar .ghostButton{background:#fff}.projectFileControls{grid-area:files;justify-self:end;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.adminPanel{flex:0 1 auto;min-height:0;max-height:min(76vh,calc(100vh - 126px));display:grid;gap:16px;padding:18px 22px 24px;border-bottom:1px solid #d7deea;background:radial-gradient(circle at 8% 0%,rgba(82,132,232,.1),transparent 34%),linear-gradient(180deg,#f7faff,#f3f6fb);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.adminAccountHero{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid rgba(66,111,196,.18);border-radius:14px;background:linear-gradient(120deg,#fffffffa,#eff5fff5),#fff;box-shadow:0 12px 28px #26478014}.adminAccountHeroTitle,.adminAccountHeroActions,.adminAccountSectionHeading,.adminAccountDirectoryHeader,.adminAdvancedHeading{min-width:0;display:flex;align-items:center}.adminAccountHeroTitle{gap:13px}.adminAccountHeroTitle>div,.adminAccountSectionHeading>div,.adminAdvancedHeading>div{min-width:0}.adminAccountHeroIcon{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#2466dc,#5688ed);color:#fff;box-shadow:0 10px 20px #2a66db38}.adminAccountEyebrow{display:block;margin-bottom:3px;color:#4772bd;font-size:10px;font-weight:850;letter-spacing:.14em}.adminAccountHero h2,.adminAccountSectionHeading h3,.adminAccountDirectoryHeader h3,.adminAdvancedHeading h3{margin:0;color:#1e2f4d}.adminAccountHero h2{font-size:19px;letter-spacing:-.02em}.adminAccountHero p,.adminAccountSectionHeading p,.adminAccountDirectoryHeader p,.adminAdvancedHeading p{margin:3px 0 0;color:#718098;font-size:12px}.adminAccountHeroActions{flex:0 0 auto;gap:8px}.adminAccountHeroActions .ghostButton{min-height:36px;gap:7px;background:#ffffffdb}.adminAccountCloseButton{width:36px;height:36px;min-height:36px;display:grid;place-items:center;padding:0;border:1px solid #d6dfec;border-radius:9px;background:#fff;color:#65758d}.adminAccountCloseButton:hover{border-color:#aebdd3;color:#263750}.adminAccountMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.adminAccountMetrics article{min-width:0;display:grid;gap:3px;padding:13px 14px;border:1px solid #dbe4f1;border-radius:12px;background:#ffffffe6;box-shadow:0 7px 18px #2d48740d}.adminAccountMetrics span{color:#61718a;font-size:12px;font-weight:750}.adminAccountMetrics strong{color:#1f3d70;font-size:25px;line-height:1.1}.adminAccountMetrics small{overflow:hidden;color:#8a97aa;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.adminAccountWorkspace{min-width:0;display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,2fr);gap:14px;align-items:start}.adminAccountCreateCard,.adminAccountDirectory{min-width:0;display:grid;gap:13px;padding:15px;border:1px solid #d8e2f0;border-radius:13px;background:#fffffff5;box-shadow:0 10px 24px #26416b0f}.adminAccountSectionHeading{align-items:flex-start;gap:10px}.adminAccountSectionHeading>span{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:#2d67cb}.adminAccountSectionHeading h3,.adminAccountDirectoryHeader h3,.adminAdvancedHeading h3{font-size:15px}.adminAccountCreateForm{display:grid;gap:10px}.adminAccountCreateForm label{min-width:0;display:grid;gap:5px}.adminAccountCreateForm label>span,.adminPasswordResetGroup>label{color:#4f6078;font-size:12px;font-weight:750}.adminAccountPrimaryButton{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:2px;border-color:#2864cf;background:linear-gradient(135deg,#2864cf,#447de2);color:#fff;box-shadow:0 9px 18px #2864cf2e}.adminAccountPrimaryButton:hover:not(:disabled){border-color:#1f56b8;background:linear-gradient(135deg,#235bbe,#3972d8)}.adminAccountDirectory{gap:11px}.adminAccountDirectoryHeader{justify-content:space-between;gap:10px}.adminAccountDirectoryHeader>svg{flex:0 0 auto;color:#3e72cb}.adminAccountToolbar{display:grid;grid-template-columns:minmax(180px,1fr) 126px 126px;gap:8px}.adminAccountToolbar>label{min-width:0}.adminAccountSearch{position:relative;display:flex;align-items:center}.adminAccountSearch>svg{position:absolute;left:11px;color:#8290a5;pointer-events:none}.adminAccountSearch input{width:100%;padding-left:34px}.adminAdvancedHeading{align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid #dce4ef;border-radius:11px;background:#f5f8fce0}.adminAdvancedHeading>span{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#e9eef6;color:#62728a}.libraryPanel{flex:0 1 auto;display:grid;gap:10px;padding:12px 18px;border-bottom:1px solid #d7deea;background:#f7fbf8}.libraryPanelCollapsed{place-items:center;gap:0;min-height:18px;padding:1px 0;background:#f4f7fb}.libraryCollapseButton{width:22px;height:16px;min-height:16px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#4f6483}.libraryCollapseButton:hover{background:#e7eef8;color:#1f5fd0}.libraryPanelExpandedToggle{place-self:center;margin:-8px 0 -4px}.libraryMiniGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.libraryFeedbackRow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid #d7e6d8;border-radius:8px;background:#fff;color:#263750;font-size:13px}.communityPanel{flex:0 1 auto;min-height:0;max-height:min(46vh,calc(100vh - 136px));display:grid;gap:10px;padding:14px 18px;border-bottom:1px solid #d7deea;background:#f4f8fb;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.communityPanelActions,.communityProjectActions,.communityPublishBar{display:flex;align-items:center;gap:8px}.communityPublishBar{flex-wrap:wrap}.communityPublishBar input{flex:1 1 320px;min-height:38px;min-width:180px;border:1px solid #b4bece;border-radius:6px;padding:0 10px;background:#fff;color:#172033}.communityNotice{margin:0;padding:9px 11px;border:1px solid #bfd0e6;border-radius:8px;background:#eef4fb;color:#263750;font-size:13px}.communityProjectList{display:grid;gap:8px}.communityProjectRow{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #d7deea;border-radius:8px;background:#fff}.communityProjectInfo{min-width:0;display:grid;gap:4px}.communityProjectInfo strong{min-width:0;color:#263750;overflow-wrap:anywhere}.communityProjectInfo span,.communityProjectInfo p,.communityEmpty{margin:0;color:#66758d;font-size:13px;line-height:1.35}.communityProjectInfo p{color:#405066;overflow-wrap:anywhere}.communityProjectActions{justify-content:flex-end;flex-wrap:wrap}.communityPageShell{width:100%;height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:auto;background:#eef3fb;color:#18243a;scrollbar-gutter:stable}.communityTopbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;min-height:72px;padding:12px 20px;background:#2f6ff1;color:#fff;box-shadow:0 8px 24px #0f2c7a33}.communityBrand{display:flex;align-items:center;gap:10px;min-width:196px}.communityBrandMark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#ffffff29;color:#fff;font-weight:800;box-shadow:inset 0 1px #ffffff47}.communityBrandText{display:grid;gap:2px}.communityBrandText strong{font-size:18px;line-height:1.1}.communityBrandText span{font-size:12px;opacity:.86}.communityTopbarNav{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}.communityTopbarNavItem{flex:0 0 auto;font-size:14px;color:#ffffffe0}.communityTopbarNavItemActive{font-weight:700;color:#fff}.communityTopbarActions{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.communitySearchBar{display:flex;align-items:stretch;min-width:min(560px,42vw);max-width:640px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:10px;overflow:hidden;background:#ffffff24}.communitySearchScope{flex:0 0 auto;background:#fffffff0}.communitySearchScope select{width:100%;height:100%;border:0;padding:0 12px;background:transparent;color:#30466e;outline:none}.communitySearchInputWrap{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0;padding:0 12px;color:#ffffffe6}.communitySearchInputWrap input{flex:1 1 auto;min-width:0;border:0;padding:0;background:transparent;color:inherit;outline:none}.communitySearchInputWrap input::placeholder{color:#ffffffbd}.communityPrimaryButton,.communityGhostButton{display:inline-flex;align-items:center;gap:8px;min-height:38px;border-radius:10px;padding:0 14px;font-weight:600}.communityPrimaryButton{border:0;background:#ff9f43;color:#fff}.communityPrimaryButton:hover{background:#ff8e21}.communityGhostButton{border:1px solid rgba(255,255,255,.28);background:#ffffff1a;color:#fff}.communityGhostButton:hover{border-color:#ffffff75;background:#ffffff29}.communityUserChip{display:flex;align-items:center;gap:10px;min-width:0;padding-left:4px}.communityUserAvatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffffff29;color:#fff;font-size:12px;font-weight:700}.communityUserMeta{display:grid;gap:2px;min-width:0}.communityUserMeta strong,.communityUserMeta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.communityUserMeta strong{font-size:14px}.communityUserMeta span{font-size:12px;opacity:.84}.mqttPageShell{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;background:#f1f5f9;color:#1f2a44}.mqttPageShell>*{flex-shrink:0}.mqttPageShellEmbedded{height:100%;padding:0;background:transparent}.mqttPageShellEmbedded .mqttTopbar{box-shadow:none}.mqttTopbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d7deea;border-radius:8px;background:#fff;box-shadow:0 10px 24px #21304a14}.mqttSectionTabs{width:fit-content;max-width:100%;display:flex;align-items:center;gap:4px;padding:4px;overflow-x:auto;border:1px solid #d7deea;border-radius:9px;background:#e8edf4}.mqttSectionTabs button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#607086;font-size:13px;font-weight:750;white-space:nowrap}.mqttSectionTabs button.is-active{background:#fff;color:#17654b;box-shadow:0 2px 8px #21304a17}.mqttBrand,.mqttTopbarActions,.mqttPanelHeader,.mqttBrokerActions,.mqttCredentialIdentity,.mqttCredentialActions{display:flex;align-items:center;gap:10px;min-width:0}.mqttBrandMark{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#e8f5ef;color:#21805a}.mqttBrand h1,.mqttPanelHeader h2{margin:0;color:#1f2a44}.mqttBrand h1{font-size:18px;line-height:1.2}.mqttBrand p,.mqttPanelHeader span,.mqttEmptyText,.mqttSecretPanel p,.mqttCodePanel p{margin:3px 0 0;color:#66758d;font-size:12px;line-height:1.45}.mqttNotice{margin:0;padding:9px 11px;border:1px solid #d7deea;border-radius:8px;background:#fff;color:#52647c;font-size:13px;font-weight:650}.mqttPageGrid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:12px}.mqttWebControlWorkspace{min-width:0;display:grid;align-content:start;gap:12px}.mqttWebControlIntro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:1px solid #d7deea;border-radius:8px;background:#fff}.mqttWebControlIntro>div{min-width:0;display:grid;gap:2px}.mqttWebControlIntro span,.mqttWebControlIntro p{margin:0;color:#66758d;font-size:12px;line-height:1.5}.mqttWebControlIntro strong{overflow:hidden;color:#1f2a44;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.mqttWebControlBindingStatus{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #d7e1ee;border-radius:8px;background:#f7f9fc;color:#53657d}.mqttWebControlBindingStatus>svg{flex:0 0 auto;margin-top:1px;color:#607892}.mqttWebControlBindingStatus>div{min-width:0;display:grid;gap:3px}.mqttWebControlBindingStatus strong{color:#314968;font-size:12px}.mqttWebControlBindingStatus span{color:inherit;font-size:11px;line-height:1.55}.mqttWebControlBindingStatus.is-ready{border-color:#a9d6c3;background:#eef9f4;color:#356653}.mqttWebControlBindingStatus.is-ready>svg{color:#21805a}.mqttWebControlBindingStatus.is-stale{border-color:#e7c28d;background:#fff8ed;color:#8b5719}.mqttWebControlBindingStatus.is-stale>svg{color:#b06a14}.mqttControlColumn,.mqttMainColumn,.mqttCredentialList,.mqttBrokerList,.mqttTopicStack{display:grid;align-content:start;gap:10px;min-width:0}.mqttTelemetryHistory{min-width:0;display:grid;gap:4px;padding-top:6px;border-top:1px solid #e2e8f2}.mqttTelemetryHistory small{padding-left:8px;border-left:2px solid #bddbcf}.mqttCredentialChannelSummary,.mqttCredentialChannelSummary>div,.mqttCredentialChannelSummary>div>span{min-width:0;display:flex;align-items:center}.mqttCredentialChannelSummary{justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #e2e8f2}.mqttCredentialChannelSummary>div{gap:7px;color:#496a94}.mqttCredentialChannelSummary>div>span{align-items:flex-start;flex-direction:column;gap:2px}.mqttCredentialChannelSummary strong{color:#2e4f78;font-size:12px}.mqttCredentialChannelSummary small{color:#74849a;font-size:10px}.mqttCredentialChannelSummary button{min-height:30px;flex:0 0 auto}.mqttTopicStack .mqttProvisioningError{padding:7px 8px;border:1px solid #f2b5af;border-radius:6px;background:snow;color:#b42318}.mqttPanel{min-width:0;display:grid;gap:12px;padding:14px;border:1px solid #d7deea;border-radius:8px;background:#fff;box-shadow:0 10px 24px #21304a0f}.mqttPanelHeader{justify-content:space-between}.mqttPanelHeader h2{font-size:15px}.mqttBrokerRow,.mqttCredentialRow{min-width:0;display:grid;gap:8px;padding:10px;border:1px solid #e2e8f2;border-radius:8px;background:#f8fbff}.mqttBrokerRow{grid-template-columns:minmax(0,1fr) auto;align-items:center}.mqttBrokerActions{justify-content:flex-end;flex-wrap:wrap}.mqttBrokerRow>div,.mqttCredentialIdentity>div{min-width:0;display:grid;gap:3px}.mqttBrokerRow strong,.mqttCredentialIdentity strong{min-width:0;overflow:hidden;color:#1f2a44;text-overflow:ellipsis;white-space:nowrap}.mqttBrokerRow span,.mqttBrokerRow small,.mqttCredentialIdentity span,.mqttTopicStack span,.mqttTopicStack small{min-width:0;overflow-wrap:anywhere;color:#66758d;font-size:12px}.mqttForm label{display:grid;gap:5px;color:#52647c;font-size:12px;font-weight:750}.mqttForm input,.mqttForm select,.mqttForm textarea,.mqttCommandForm input,.mqttCodePanel textarea{min-width:0;border:1px solid #cbd6e5;border-radius:6px;background:#fff;color:#21304a;font:inherit}.mqttForm input,.mqttForm select,.mqttCommandForm input{min-height:34px;padding:0 9px}.mqttForm textarea{width:100%;padding:8px 9px;resize:vertical;line-height:1.5}.mqttForm button,.mqttTopbarActions button,.mqttPanelHeader button,.mqttBrokerRow button,.mqttCredentialActions button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.mqttInlineFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mqttCheckLabel{display:flex!important;align-items:center;grid-template-columns:none;gap:8px;font-weight:650}.mqttCheckLabel input{width:16px;height:16px;min-height:16px}.mqttPanelTitleWithHelp,.mqttCheckField{min-width:0;display:flex;align-items:center;gap:6px}.mqttCheckField .mqttCheckLabel{margin:0}.mqttHelpTooltip{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;margin:0!important}.mqttPageShell .mqttHelpButton{width:18px;height:18px;min-height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;color:#718198;cursor:help}.mqttPageShell .mqttHelpButton:hover,.mqttPageShell .mqttHelpButton:focus-visible{background:#e8f1ff;color:#245ea8}.mqttHelpBubble{position:absolute;z-index:var(--z-tooltip);bottom:calc(100% + 8px);left:0;width:max-content;max-width:min(280px,calc(100vw - 48px));margin:0!important;padding:8px 10px;border:1px solid #cbd8e8;border-radius:7px;background:#20304a;color:#fff!important;font-size:11px!important;font-weight:500;line-height:1.5!important;text-align:left;white-space:normal;box-shadow:0 8px 22px #192a4433;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.mqttHelpBubble:after{content:"";position:absolute;top:100%;left:6px;border:5px solid transparent;border-top-color:#20304a}.mqttHelpTooltip:hover .mqttHelpBubble,.mqttHelpTooltip:focus-within .mqttHelpBubble{opacity:1;visibility:visible;transform:translateY(0)}.mqttTopicWorkspace{min-width:0;display:grid;align-content:start;gap:12px}.mqttTopicIntro{border-color:#c9d9ed;background:linear-gradient(135deg,#fff,#f3f8ff)}.mqttParticipantGuide{gap:12px;border-color:#cfdcec;background:linear-gradient(135deg,#fff,#f5f9ff)}.mqttParticipantGuide>.mqttPanelHeader>div{min-width:0;display:grid;gap:2px}.mqttParticipantGuide>.mqttPanelHeader svg{flex:0 0 auto;color:#3e72b3}.mqttParticipantGrid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mqttParticipantPanel{min-width:0;display:grid;align-content:start;gap:10px;padding:12px;border:1px solid #d8e3f1;border-radius:9px;background:#ffffffe6}.mqttParticipantPanel.device{border-top:3px solid #557fae}.mqttParticipantPanel.web{border-top:3px solid #2e9a70}.mqttParticipantPanel>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.mqttParticipantPanel>header>div{min-width:0;display:grid;gap:3px}.mqttParticipantPanel>header strong{color:#263a5a;font-size:14px}.mqttParticipantPanel>header span{color:#718198;font-size:10px;line-height:1.45}.mqttParticipantPanel.device>header svg{color:#557fae}.mqttParticipantPanel.web>header svg{color:#2e9a70}.mqttParticipantTopicList{min-width:0;display:grid;gap:7px}.mqttParticipantTopic{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px;border:1px solid #e0e7f1;border-radius:7px;background:#f9fbfe}.mqttParticipantTopic>span{min-width:58px;padding:3px 6px;border-radius:999px;background:#eaf1f9;color:#496a94;font-size:10px;font-weight:800;text-align:center;white-space:nowrap}.mqttParticipantPanel.web .mqttParticipantTopic>span{background:#e4f5ed;color:#17654b}.mqttParticipantTopic>div{min-width:0;display:grid;gap:3px}.mqttParticipantTopic strong{color:#344b69;font-size:11px}.mqttParticipantTopic code{min-width:0;color:#526b89;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.mqttParticipantNote{margin:0;padding:8px 10px;border-left:3px solid #2e9a70;border-radius:0 7px 7px 0;background:#eef9f4;color:#356653;font-size:11px;line-height:1.55}.mqttQosGuide{gap:12px;border-color:#d6dfef;background:linear-gradient(135deg,#fff,#f8f7ff)}.mqttQosGuide>.mqttPanelHeader>div{min-width:0;display:grid;gap:2px}.mqttQosGuide>.mqttPanelHeader svg{flex:0 0 auto;color:#6652b5}.mqttQosLevelGrid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mqttQosLevelGrid article{min-width:0;display:grid;align-content:start;gap:7px;padding:11px;border:1px solid #dce4f0;border-radius:8px;background:#ffffffdb}.mqttQosLevelGrid article.is-recommended{border-color:#9fcbb9;background:#f2faf6;box-shadow:inset 0 3px #2e9a70}.mqttQosLevelGrid article>div{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.mqttQosLevelGrid strong{color:#263a5a;font-size:14px}.mqttQosLevelGrid article>div>span{padding:2px 6px;border-radius:999px;background:#edf2f9;color:#536982;font-size:10px;font-weight:800}.mqttQosLevelGrid article.is-recommended>div>span{background:#dff3e9;color:#17654b}.mqttQosLevelGrid p,.mqttQosLevelGrid small,.mqttQosRecommendation{margin:0;line-height:1.55}.mqttQosLevelGrid p{color:#52647c;font-size:12px}.mqttQosLevelGrid small{color:#74849a;font-size:10px}.mqttQosRecommendation{padding:9px 10px;border-left:3px solid #6652b5;border-radius:0 7px 7px 0;background:#f2efff;color:#514477;font-size:11px}.mqttQosRecommendation strong{color:#44336f}.mqttTopicGrid{min-width:0;display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:12px}.mqttTopicSidebar,.mqttTopicDefinitionList{min-width:0;display:grid;align-content:start;gap:10px}.mqttTopicNamespace{min-width:0;display:grid;gap:5px;padding:9px 10px;border:1px solid #d8e4f2;border-radius:7px;background:#f7faff}.mqttTopicNamespace span,.mqttTopicNamespace small{color:#66758d;font-size:11px;line-height:1.45}.mqttTopicNamespace code,.mqttTopicAddress,.mqttTopicExample code{color:#245078;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.mqttTopicForm .mqttPanelHeader>div,.mqttTopicListPanel>.mqttPanelHeader>div{min-width:0;display:grid;gap:2px}.mqttTopicPathField{min-width:0;display:grid;gap:5px}.mqttTopicPathField code{min-width:0;padding:6px 8px;border:1px solid #d8e4f2;border-radius:6px;background:#f7faff;color:#52647c;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.mqttTopicChecks{display:grid;align-content:end;gap:7px;padding:2px 0}.mqttTopicFormWarning{margin:0;padding:8px 9px;border:1px solid #f0c7a1;border-radius:6px;background:#fff8f1;color:#9a4f0b;font-size:11px;line-height:1.5}.mqttTopicListPanel{align-content:start}.mqttTopicDefinitionCard{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid #d9e2ef;border-radius:8px;background:#fff}.mqttTopicDefinitionCard.is-system{border-left:3px solid #6c8fbd;background:#f8fbff}.mqttTopicDefinitionCard.is-custom{border-left:3px solid #2e9a70}.mqttTopicDefinitionCard>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.mqttTopicDefinitionCard>header>div:first-child,.mqttTopicCardActions,.mqttTopicMetadata{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.mqttTopicDefinitionCard strong{color:#1f2a44;font-size:14px}.mqttTopicSourceBadge{padding:2px 6px;border-radius:999px;background:#edf3fb;color:#496a94;font-size:10px;font-weight:750}.mqttTopicSourceBadge.custom{background:#e8f6f0;color:#17654b}.mqttTopicSourceBadge.disabled{background:#f1f2f4;color:#747d8b}.mqttTopicSourceBadge.ai{background:#eeeaff;color:#5b46a8}.mqttTopicAddress{display:block;min-width:0;padding:7px 8px;border:1px solid #dce5f0;border-radius:6px;background:#f7f9fc;font-size:11px;line-height:1.45}.mqttTopicMetadata span{padding:3px 6px;border-radius:5px;background:#f0f4f8;color:#5d6d83;font-size:10px;font-weight:700}.mqttTopicDefinitionCard p{margin:0;color:#596a82;font-size:12px;line-height:1.55}.mqttTopicExample{min-width:0;display:grid;gap:4px}.mqttTopicExample span,.mqttTopicDefinitionCard summary{color:#66758d;font-size:10px;font-weight:750}.mqttTopicExample code,.mqttTopicDefinitionCard pre{min-width:0;margin:0;padding:7px 8px;border-radius:6px;border:1px solid #dce5f0;background:#f7f9fc;color:#245078;font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.mqttTopicDefinitionCard details{min-width:0}.mqttTopicDefinitionCard summary{cursor:pointer}.mqttTopicDefinitionCard details[open] summary{margin-bottom:6px}.mqttSecretPanel{border-color:#bddbcf;background:#f6fbf8}.mqttSecretPanel code{display:block;min-width:0;padding:10px;border:1px solid #bddbcf;border-radius:8px;background:#fff;color:#1f513f;overflow-wrap:anywhere}.mqttCredentialRow{grid-template-columns:minmax(170px,.8fr) minmax(240px,1.5fr) auto;align-items:center}.mqttCredentialIdentity svg{flex:0 0 auto;color:#21805a}.mqttCredentialActions{justify-content:flex-end;flex-wrap:wrap}.mqttCommandForm{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.mqttCommandForm button{min-height:34px;white-space:nowrap}.mqttWifiSetup{display:grid;gap:10px;margin:10px 0 12px;padding:12px 0;border-top:1px solid #dce5ef;border-bottom:1px solid #dce5ef}.mqttWifiSetupHeader,.mqttWifiSetupHeader>div{min-width:0;display:flex;align-items:center;gap:7px}.mqttWifiSetupHeader{justify-content:space-between;color:#1f2a44}.mqttWifiSetupHeader>div svg{color:#21805a}.mqttWifiSetupHeader>span{flex:0 0 auto;color:#17654b;font-size:12px;font-weight:800}.mqttCodePanel .mqttWifiGuidance,.mqttCodePanel .mqttWifiValidation,.mqttCodePanel .mqttWifiReady{margin:0;line-height:1.5}.mqttCodePanel .mqttWifiGuidance{color:#52647c}.mqttCodePanel .mqttWifiValidation{color:#b42318;font-weight:750}.mqttCodePanel .mqttWifiReady{color:#17654b;font-weight:750}.mqttWifiSetup>small{color:#76869b;font-size:11px;line-height:1.5}.mqttWifiFields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mqttWifiFields label{min-width:0;display:grid;gap:5px;color:#52647c;font-size:12px;font-weight:750}.mqttWifiFields input{width:100%;min-width:0;min-height:36px;padding:0 10px;border:1px solid #cbd6e5;border-radius:6px;background:#fff;color:#21304a;font:inherit}.mqttWifiFields input:focus{border-color:#4d83c7;outline:3px solid rgba(77,131,199,.15)}.mqttWifiPasswordField{position:relative;min-width:0;display:block}.mqttWifiPasswordField input{padding-right:42px}.mqttPageShell .mqttWifiPasswordToggle{position:absolute;top:2px;right:2px;width:32px;height:32px;min-height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:#61738b}.mqttPageShell .mqttWifiPasswordToggle:hover,.mqttPageShell .mqttWifiPasswordToggle:focus-visible{background:#edf3fa;color:#245ea8}.mqttCodePanel textarea{width:100%;min-height:360px;padding:12px;resize:vertical;color:#1f2a44;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5}@media(max-width:920px){.mqttPageGrid,.mqttTopicGrid,.mqttParticipantGrid,.mqttQosLevelGrid,.mqttCredentialRow,.mqttBrokerRow,.mqttInlineFields,.mqttWifiFields,.mqttCommandForm{grid-template-columns:1fr}.mqttTopbar{align-items:stretch;flex-direction:column}.mqttTopbarActions,.mqttCredentialActions{flex-wrap:wrap}.mqttCredentialChannelSummary{align-items:stretch;flex-direction:column}.mqttCredentialChannelSummary button,.mqttSectionTabs{width:100%}.mqttSectionTabs button{flex:1 0 auto}.mqttWebControlIntro{align-items:stretch;flex-direction:column}}.communityHeaderBand{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:24px 28px 18px;background:#fff;border-bottom:1px solid #dce4f2}.communitySectionTitle{display:grid;gap:8px}.communitySectionTitle h1{margin:0;font-size:42px;line-height:1}.communitySectionTitle p{margin:0;font-size:14px;color:#66758d}.communityFeedTabs{display:flex;align-items:end;gap:20px;overflow-x:auto;scrollbar-width:none}.communityFeedTabs::-webkit-scrollbar{display:none}.communityFeedTab{min-height:44px;border:0;border-radius:0;padding:0 4px 12px;background:transparent;color:#55637b;font-size:18px;font-weight:600;border-bottom:3px solid transparent}.communityFeedTab:hover{border-color:transparent;color:#2d6cdf}.communityFeedTabActive{color:#2d6cdf;border-bottom-color:#2d6cdf}.communityPublishStrip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 28px 8px}.communityPublishIntro{display:grid;gap:4px;min-width:0}.communityPublishIntro strong{font-size:16px}.communityPublishIntro span{color:#66758d;font-size:13px}.communityPublishControls{display:flex;align-items:center;gap:10px;flex:1 1 auto;justify-content:flex-end}.communityPublishControls input{flex:1 1 340px;min-width:220px;min-height:40px;border:1px solid #c8d2e2;border-radius:10px;padding:0 12px;background:#fff;color:#18243a}.communityPublishButton,.communityRefreshButton{min-height:40px;border-radius:10px}.communityPublishButton{border:0;background:#2f6ff1;color:#fff;font-weight:700}.communityPublishButton:hover{background:#275fce}.communityRefreshButton{width:40px;padding:0;display:inline-grid;place-items:center;border:1px solid #c8d2e2;background:#fff;color:#2d3f60}.communityNoticeBand{margin:10px 28px 0;padding:10px 14px;border-radius:10px;border:1px solid #d4e0f4;background:#eef4ff;color:#2d456f;font-size:13px}.communityGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:24px;padding:22px 28px 28px;align-items:start}.communityProjectCard{min-width:0;display:grid;gap:0;border:1px solid #dbe4f1;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 28px #18243a14}.communityProjectCover{position:relative;min-height:222px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:14px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.12) 0 22%,transparent 22% 100%),linear-gradient(160deg,rgba(255,255,255,.08),transparent 55%),var(--community-cover-bg, #2142b6)}.communityProjectCover:before{content:"";position:absolute;inset:-10% auto auto -12%;width:52%;aspect-ratio:1;border-radius:18px;background:#ffffff24;transform:rotate(-12deg)}.communityProjectCover:after{content:"";position:absolute;right:-6%;bottom:-16%;width:46%;aspect-ratio:1;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:#ffffff12;transform:rotate(14deg)}.communityProjectCoverHeader,.communityProjectCoverFooter{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}.communityProjectCoverTag,.communityProjectCoverBadge,.communityProjectCoverDevice{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.communityProjectCoverTag{background:#ffffffeb;color:#2142b6}.communityProjectCoverBadge{background:#ffffff24;color:#fff}.communityProjectCoverBody{position:relative;z-index:1;display:grid;gap:10px;max-width:72%}.communityProjectCoverTitle{font-size:20px;font-weight:800;line-height:1.06;overflow-wrap:anywhere}.communityProjectCoverDevice{width:fit-content;background:#ffffff24;color:#fff}.communityProjectCoverFooter{font-size:12px;color:#ffffffe6}.communityProjectCoverAccent{position:absolute;inset:auto 16px 16px auto;width:72px;height:72px;border-radius:18px;background:radial-gradient(circle at 30% 30%,var(--community-cover-soft, #fff1db),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.12),transparent);opacity:.86;transform:rotate(12deg);z-index:0}.communityProjectBody{display:grid;gap:12px;padding:14px}.communityProjectTitleRow{display:flex;align-items:start;justify-content:space-between;gap:12px}.communityProjectTitleRow h3{margin:0;min-width:0;font-size:17px;line-height:1.28;overflow-wrap:anywhere}.communityProjectModePill{flex:0 0 auto;min-height:26px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;background:#eef4ff;color:#2d5ccf;font-size:12px;font-weight:700}.communityProjectDescription{margin:0;color:#55637b;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.communityDescriptionEditor{display:grid;gap:10px}.communityDescriptionTextarea{width:100%;min-height:96px;resize:vertical;border:1px solid #cfd9e8;border-radius:8px;padding:10px 12px;background:#fff;color:#172033;line-height:1.55}.communityDescriptionTextarea:focus{outline:none;border-color:#2d6cdf;box-shadow:0 0 0 3px #2d6cdf1f}.communityDescriptionEditorActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.communityDescriptionEditorHint{margin-right:auto;color:#6b7890;font-size:12px}.communityEditButton,.communityDescriptionSaveButton,.communityDescriptionCancelButton{min-height:36px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600}.communityEditButton{border:1px solid #b9c9e5;background:#fff;color:#26406e}.communityEditButton:hover{border-color:#2d6cdf}.communityDescriptionSaveButton{border:1px solid #b9d9c8;background:#f1fbf4;color:#21613d}.communityDescriptionCancelButton{border:1px solid #cfd9e8;background:#fff;color:#405066}.communityProjectMeta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#6b7890;font-size:12px}.communityProjectMeta span{display:inline-flex;align-items:center;gap:6px}.communityProjectActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.communityImportButton,.communityDeleteButton{min-height:36px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600}.communityImportButton{border:1px solid #b9c9e5;background:#fff;color:#26406e}.communityImportButton:hover{border-color:#2d6cdf}.communityDeleteButton{border:1px solid #f2b4b4;background:#fff5f5;color:#b42318}.communityDeleteButton:hover{border-color:#ef7f7f}.communityReactionButton{min-height:36px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #d5deec;background:#fff;color:#405066;font-size:13px;font-weight:600}.communityReactionButtonActive{border-color:#f2b06d;background:#fff4e8;color:#a84c10}.communityReactionButtonActive svg{fill:currentColor}.adminPageShell{width:100%;height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:auto;background:#f3f6fb;color:#172033}.adminPageTopbar{position:sticky;top:0;z-index:10;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #d7deea;background:#fff}.adminPageBrand{display:flex;align-items:center;gap:10px;min-width:0}.adminPageBrand h1{margin:0;font-size:20px}.adminPageBrand p{margin:2px 0 0;color:#6b7890;font-size:13px}.adminPageActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.adminPageActions button,.adminPageActions select,.adminPageSection button{min-height:36px;display:inline-flex;align-items:center;gap:6px}.adminPageActions select,.adminAdjustmentForm select,.adminAdjustmentForm input,.adminRuleCard input{min-height:36px;border:1px solid #b4bece;border-radius:6px;padding:0 10px;background:#fff;color:#172033}.adminPageNotice{margin:14px 20px 0;padding:10px 12px;border:1px solid #bfd0e6;border-radius:8px;background:#eef4fb;color:#263750}.adminMetricsGrid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;padding:18px 20px 0}.adminMetricCard,.adminPageSection{border:1px solid #d7deea;border-radius:8px;background:#fff}.adminMetricCard{display:grid;gap:8px;padding:16px}.adminMetricIcon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#edf4ff;color:#2d6cdf}.adminMetricCard span{color:#6b7890;font-size:13px}.adminMetricCard strong{color:#18243a;font-size:26px;line-height:1.1}.adminPageSection{display:grid;gap:14px;margin:16px 20px 0;padding:16px}.adminTrendChart{min-height:240px;display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));align-items:end;gap:10px}.adminTrendColumn{min-width:0;display:grid;gap:6px;text-align:center;color:#66758d;font-size:12px}.adminTrendBarTrack{height:150px;display:flex;align-items:end;border-radius:7px;background:#edf2f8;overflow:hidden}.adminTrendBar{width:100%;display:block;border-radius:7px 7px 0 0;background:#2d6cdf}.adminTrendColumn strong{min-height:18px;color:#263750;font-size:12px}.adminTrendColumn em{font-style:normal}.adminDataTable{display:grid;gap:6px}.adminDataTableHeader,.adminDataTableRow{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(120px,1fr));gap:10px;align-items:center}.adminLeaderboardTable .adminDataTableHeader,.adminLeaderboardTable .adminDataTableRow{grid-template-columns:minmax(180px,1.4fr) repeat(5,minmax(90px,.8fr))}.adminLibraryAttemptsTable .adminDataTableHeader,.adminLibraryAttemptsTable .adminDataTableRow,.adminBoardTable .adminDataTableHeader,.adminBoardTable .adminDataTableRow{grid-template-columns:minmax(160px,1.2fr) repeat(3,minmax(90px,.8fr))}.adminConversationsTable .adminDataTableHeader,.adminConversationsTable .adminDataTableRow{grid-template-columns:minmax(110px,.8fr) minmax(140px,1fr) minmax(90px,.7fr) minmax(260px,2fr)}.adminDataTableHeader{padding:8px 12px;border-radius:6px;background:#eef3fb;color:#4f5f75;font-size:12px;font-weight:700}.adminDataTableRow{padding:10px 12px;border:1px solid #e1e8f3;border-radius:8px;background:#fff;color:#2f3d52}.adminDataTableRow span{min-width:0;display:grid;gap:2px;overflow-wrap:anywhere}.adminDataTableRow strong{color:#263750;font-size:13px}.adminDataTableRow small{color:#66758d;font-size:11px;line-height:1.35}.adminDataTableRow strong{display:inline-flex;align-items:center;gap:6px;color:#172033}.adminDataTableRow small{display:block;margin-top:2px;color:#718096}.adminEmptyState{margin:0;padding:18px;color:#66758d;text-align:center}.adminRuleGrid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.adminRuleCard{display:grid;gap:8px;padding:14px;border:1px solid #d7deea;border-radius:8px;background:#f8fafc}.adminRuleCard span{color:#263750;font-weight:700}.adminRuleCard small{color:#718096}.adminAdjustmentForm{display:grid;grid-template-columns:minmax(180px,1fr) 120px minmax(240px,2fr) auto;gap:10px;align-items:center}.communityEmptyState{grid-column:1 / -1;min-height:280px;display:grid;place-items:center;gap:10px;padding:28px;border:1px dashed #cfd9e8;border-radius:12px;background:#ffffffb8;color:#5a687c;text-align:center}.communityEmptyState strong{color:#24344f;font-size:18px}.communityEmptyState span{font-size:13px}.communityEmptyStateIcon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e9f0ff;color:#2d6cdf}.adminCreateForm{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) 130px auto;gap:8px}.adminAiModels{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid #d7e0ed;border-radius:11px;background:#fffffff5;box-shadow:0 7px 18px #2c456c0a}.adminAiModels h3{margin:0;font-size:15px}.adminAdvancedSection>.panelTitleRow{min-height:34px;gap:12px}.adminAdvancedSection>.panelTitleRow .panelCaption{margin-top:2px;font-size:11px}.adminAdvancedSection>.panelTitleRow>button{min-height:30px;padding:4px 9px;font-size:11px}.adminDependencyPanel{min-width:0;display:grid;border:1px solid #d7e0ed;border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 7px 18px #2c456c0a}.adminDependencyHeader{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-bottom:1px solid #e3e9f2;background:#f8fafd}.adminDependencyTitle{min-width:0;display:flex;align-items:center;gap:12px}.adminDependencyTitle h3{margin:0;color:#25354f;font-size:14px}.adminDependencyTitle p{margin:2px 0 0;color:#7a899d;font-size:11px}.adminDependencyCounters{display:flex;align-items:center;gap:5px}.adminDependencyCounters span{min-height:24px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid #d6e0ed;border-radius:999px;background:#fff;color:#6d7c91;font-size:10px;white-space:nowrap}.adminDependencyCounters strong{color:#30496f;font-size:11px}.adminDependencyCounters .is-pending{border-color:#ead4a6;background:#fff8e8;color:#8c6517}.adminDependencyToolbar{min-width:0;display:grid;grid-template-columns:minmax(180px,280px) 112px auto;align-items:center;gap:6px}.adminDependencyToolbar label,.adminDependencyToolbar input,.adminDependencyToolbar select{min-width:0}.adminDependencyToolbar input,.adminDependencyToolbar select{width:100%;min-height:32px;border:1px solid #cbd6e5;border-radius:7px;padding:0 9px;background:#fff;color:#31425c;font-size:12px}.adminDependencyToolbar .ghostButton{min-height:32px;gap:5px;padding:0 9px;font-size:12px}.adminDependencySearch{position:relative;display:flex;align-items:center}.adminDependencySearch>svg{position:absolute;left:9px;color:#8492a6;pointer-events:none}.adminDependencySearch input{padding-left:29px}.adminDependencyList{min-width:0;display:grid}.adminDependencyRow{min-width:0;display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,1.35fr) auto minmax(82px,auto);align-items:center;gap:8px 12px;padding:8px 11px;border-bottom:1px solid #edf1f6;background:#fff}.adminDependencyRow:last-child{border-bottom:0}.adminDependencyRow:hover{background:#fbfcff}.adminDependencyPrimary,.adminDependencyDetails{min-width:0;display:grid;gap:2px}.adminDependencyPrimary strong{overflow:hidden;color:#273851;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.adminDependencyPrimary code{overflow:hidden;color:#6c7b90;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.adminDependencyDetails span,.adminDependencyDetails small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminDependencyDetails span{color:#53647c;font-size:11px}.adminDependencyDetails small{color:#8592a4;font-size:10px}.adminDependencyBadges,.adminDependencyActions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.adminDependencyStatus{min-height:22px;display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #d2dce9;border-radius:999px;background:#f1f4f8;color:#637287;font-size:10px;font-weight:750}.adminDependencyStatus-installed{border-color:#bedfcf;background:#edf8f3;color:#2d7658}.adminDependencyStatus-installing{border-color:#c7d8ee;background:#eef5ff;color:#376da8}.adminDependencyStatus-approval_required{border-color:#ead4a6;background:#fff8e8;color:#8c6517}.adminDependencyStatus-failed{border-color:#e6c1bb;background:#fff1ef;color:#a34337}.adminDependencyStatus-available{border-color:#d4deea;background:#f4f6f9;color:#65748a}.adminDependencyActions button{min-height:28px;padding:0 8px;font-size:11px}.adminDependencyActions>span{color:#a1abb9;font-size:11px}.adminDependencyError{grid-column:1 / -1;min-width:0;display:flex;align-items:flex-start;gap:7px;padding:6px 8px;border:1px solid #ecd7ae;border-radius:6px;background:#fff9ec;color:#795617;font-size:10px;line-height:1.35}.adminDependencyError strong{flex:0 0 auto;font-size:10px}.adminDependencyError span{min-width:0;overflow-wrap:anywhere}.adminDependencyEmptyState{min-height:80px;display:flex;align-items:center;justify-content:center;gap:7px;color:#7b899d;font-size:12px}@media(max-width:1050px){.adminDependencyHeader,.adminDependencyTitle{align-items:stretch;flex-direction:column}.adminDependencyToolbar{grid-template-columns:minmax(160px,1fr) 120px auto}.adminDependencyRow{grid-template-columns:minmax(160px,1fr) minmax(200px,1.4fr) auto}.adminDependencyActions{grid-column:1 / -1}}@media(max-width:700px){.adminDependencyCounters{flex-wrap:wrap}.adminDependencyToolbar,.adminDependencyRow{grid-template-columns:1fr}.adminDependencyBadges,.adminDependencyActions{justify-content:flex-start}.adminDependencyActions{grid-column:auto}}.adminAiModelForm{display:grid;gap:8px;padding:10px;border-top:1px solid #e1e7f0;background:#f8fafc}.adminAiModelFormMain,.adminAiModelCardMain{display:grid;gap:8px;align-items:center}.adminAiModelFormMain,.adminAiModelCardMain{grid-template-columns:repeat(3,minmax(0,1fr))}.adminAiModelList{display:grid;gap:6px}.adminAiModelCard{min-width:0;display:block;border:1px solid #d8e1ee;border-radius:8px;background:#fff;overflow:hidden}.adminAiModelCardSummary,.adminAiModelCreatePanel>summary{min-width:0;display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.adminAiModelCardSummary{min-height:48px;padding:6px 10px}.adminAiModelCardSummary::-webkit-details-marker,.adminAiModelCreatePanel>summary::-webkit-details-marker{display:none}.adminAiModelCardSummary::marker,.adminAiModelCreatePanel>summary::marker{content:""}.adminAiModelCardSummary:after,.adminAiModelCreatePanel>summary:after{content:"";width:7px;height:7px;flex:0 0 auto;border-right:1.5px solid #718098;border-bottom:1.5px solid #718098;transform:rotate(45deg);transition:transform .14s ease}.adminAiModelCard[open]>.adminAiModelCardSummary:after,.adminAiModelCreatePanel[open]>summary:after{transform:rotate(-135deg)}.adminAiModelSummaryIdentity{min-width:0;flex:1 1 auto;display:grid;gap:2px}.adminAiModelSummaryIdentity strong,.adminAiModelSummaryIdentity small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminAiModelSummaryIdentity strong{color:#263750;font-size:13px}.adminAiModelSummaryIdentity small{color:#718098;font-size:11px}.adminAiModelSummaryHint{flex:0 0 auto;color:#66758d;font-size:11px;white-space:nowrap}.adminAiModelCardBody{display:grid;gap:8px;padding:10px;border-top:1px solid #e4eaf2;background:#f8fafc}.adminAiModelCreatePanel{border:1px solid #d8e1ee;border-radius:8px;background:#fff;overflow:hidden}.adminAiModelCreatePanel>summary{min-height:42px;padding:6px 10px;color:#2d5ccf;font-size:12px;font-weight:800}.adminAiModelCreatePanel>summary span{flex:0 0 auto}.adminAiModelCreatePanel>summary small{min-width:0;flex:1 1 auto;overflow:hidden;color:#7a899d;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.adminAiModelFormStrategy,.adminAiModelCardStrategy{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.adminAiModelFormFooter{display:flex;justify-content:flex-end}.adminAiModelCardActions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:6px}.adminAiModelCardActions button{min-width:64px}.adminLibraryToolbar,.adminLibraryPolicyStrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.adminLibraryToolbar input,.adminLibraryToolbar select{min-height:34px;border:1px solid #c7d2e1;border-radius:6px;padding:0 10px;background:#fff;color:#263750}.adminLibraryToolbar input{flex:1 1 260px}.adminLibraryToolbar select{flex:0 1 150px}.adminLibraryPolicyStrip{padding:8px;border:1px solid #e1e7f0;border-radius:8px;background:#f8fafc}.adminLibraryToggle,.adminLibraryLimitInput{min-height:32px;display:inline-flex;align-items:center;gap:6px;color:#405066;font-size:12px;font-weight:700}.adminLibraryToggle input{width:16px;height:16px}.adminLibraryLimitInput input{width:86px;min-height:32px;border:1px solid #c7d2e1;border-radius:6px;padding:0 8px;background:#fff;color:#263750}.adminLibraryPolicySummary{color:#66758d;font-size:12px}.adminLibraryCreateForm{padding:8px;border:1px solid #e1e7f0;border-radius:8px;background:#f8fafc}.adminLibraryCreateFormMain{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(160px,1fr) minmax(180px,1.1fr) auto;gap:8px;align-items:center}.adminLibraryCreateFormMain label{min-width:0}.adminLibraryCreateFormMain input{width:100%;min-width:0;min-height:34px;border:1px solid #c7d2e1;border-radius:6px;padding:0 10px;background:#fff;color:#263750}.adminLibraryCreateFormMain button{min-height:34px;padding:0 13px;white-space:nowrap}.adminLibraryList{overflow:hidden;border:1px solid #d8e1ee;border-radius:8px;background:#fff}.adminLibraryListHeader,.adminLibraryRow{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.5fr) minmax(150px,.8fr) minmax(150px,auto);column-gap:12px;align-items:center}.adminLibraryListHeader{min-height:32px;padding:0 10px;border-bottom:1px solid #d8e1ee;background:#f4f7fb;color:#66758d;font-size:11px;font-weight:800}.adminLibraryRow{min-width:0;padding:7px 10px;border-bottom:1px solid #e8edf4}.adminLibraryRow:last-child{border-bottom:0}.adminLibraryRow:hover{background:#fbfcfe}.adminLibraryPrimary,.adminLibraryMetadata,.adminLibraryState{min-width:0;display:grid;gap:3px}.adminLibraryPrimary strong,.adminLibraryPrimary small,.adminLibraryMetadata code,.adminLibraryMetadata small,.adminLibraryState small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminLibraryPrimary strong{color:#263750;font-size:13px;line-height:1.25}.adminLibraryPrimary small,.adminLibraryMetadata small,.adminLibraryState small{color:#66758d;font-size:11px;line-height:1.25}.adminLibraryMetadata code{color:#34465e;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.25}.adminLibraryState>div{min-width:0;display:flex;align-items:center;gap:5px}.adminLibraryScope,.adminLibraryPackageStatus{min-height:20px;display:inline-flex;align-items:center;padding:1px 6px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.adminLibraryScope-public{border-color:#b9d3fa;background:#edf5ff;color:#245c9f}.adminLibraryScope-private{border-color:#d6c5ef;background:#f5effd;color:#69449a}.adminLibraryPackageStatus-available,.adminLibraryPackageStatus-installed{border-color:#b8dfce;background:#edf9f4;color:#18724f}.adminLibraryPackageStatus-installing,.adminLibraryPackageStatus-approval_required{border-color:#f0d29c;background:#fff8e8;color:#8a5a0a}.adminLibraryPackageStatus-failed,.adminLibraryPackageStatus-removed{border-color:#efc0ba;background:#fff1f0;color:#a43a30}.adminLibraryPackageStatus-disabled{border-color:#d6dce5;background:#f3f5f8;color:#58677a}.adminLibraryRowActions{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.adminLibraryRowActions .ghostButton{min-height:28px;padding:3px 8px;border-radius:5px;font-size:11px;line-height:1;white-space:nowrap}.adminLibraryRowError{grid-column:1 / -1;min-width:0;display:flex;gap:8px;margin-top:7px;padding:6px 8px;border-radius:5px;background:#fff7ed;color:#92400e;font-size:11px}.adminLibraryRowError span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminLibraryEmptyState{min-height:76px;display:flex;align-items:center;justify-content:center;gap:8px;color:#66758d;font-size:12px}.adminAiModelOverview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.adminAiModelSummaryCard{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #d8e1ee;border-radius:8px;background:#fbfcfe}.adminLibrarySummaryCard{display:grid;grid-template-columns:minmax(0,1fr) auto}.adminAiModelSummaryCard div:first-child{min-width:0;display:grid;gap:3px}.adminAiModelSummaryCard strong{min-width:0;color:#263750;overflow-wrap:anywhere}.adminAiModelSummaryCard span{min-width:0;color:#66758d;font-size:12px;overflow-wrap:anywhere}.adminLibraryError{color:#9a4b00!important}.adminLibraryEditForm{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding-top:8px;border-top:1px solid #e1e7f0}@media(max-width:900px){.adminLibraryCreateFormMain{grid-template-columns:repeat(2,minmax(0,1fr))}.adminLibraryCreateFormMain button{justify-self:end}.adminLibraryListHeader{display:none}.adminLibraryRow{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);row-gap:7px}.adminLibraryState{grid-column:1}.adminLibraryRowActions{grid-column:2}}@media(max-width:700px){.adminLibraryCreateFormMain,.adminLibraryRow{grid-template-columns:1fr}.adminLibraryCreateFormMain button{width:100%;justify-self:stretch}.adminLibraryState,.adminLibraryRowActions{grid-column:auto}.adminLibraryRowActions{justify-content:flex-start}}.adminLibraryEditForm input,.adminLibraryEditForm select{min-height:34px;border:1px solid #c7d2e1;border-radius:6px;padding:0 10px;background:#fff;color:#263750}.adminLibraryEditActions,.adminLibraryPagination{display:flex;align-items:center;justify-content:flex-end;gap:8px}.adminLibraryAttemptsTable{gap:0;overflow:hidden;border:1px solid #d8e1ee;border-radius:8px;background:#fff}.adminLibraryAttemptsTable .adminDataTableHeader{min-height:30px;padding:0 10px;border-radius:0;border-bottom:1px solid #d8e1ee;background:#f4f7fb;font-size:11px}.adminLibraryAttemptsTable .adminDataTableRow{min-width:0;min-height:48px;padding:6px 10px;border:0;border-bottom:1px solid #e8edf4;border-radius:0}.adminLibraryAttemptsTable .adminDataTableRow:last-of-type{border-bottom:0}.adminLibraryAttemptsTable .adminDataTableRow>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminLibraryAttemptsTable .adminDataTableRow>span>strong,.adminLibraryAttemptsTable .adminDataTableRow>span>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminLibraryAttemptsTable .ghostButton{width:fit-content;min-height:25px;margin-top:0;padding:2px 7px;font-size:10px}.adminLibraryAttemptFeedback{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.adminLibraryAttemptFeedback>span{min-width:0;display:grid;gap:2px}.adminLibraryAttemptFeedback strong,.adminLibraryAttemptFeedback small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminLibraryAttemptFeedback strong{color:#34465e;font-size:11px;font-weight:600}.adminLibraryAttemptStatus{width:fit-content;min-height:20px;display:inline-flex;align-items:center;padding:1px 6px;border:1px solid #d5deeb;border-radius:999px;background:#f3f5f8;color:#58677a;font-size:10px;font-weight:800;line-height:1}.adminLibraryAttemptStatus-installed{border-color:#b8dfce;background:#edf9f4;color:#18724f}.adminLibraryAttemptStatus-installing,.adminLibraryAttemptStatus-requested{border-color:#b9d3fa;background:#edf5ff;color:#245c9f}.adminLibraryAttemptStatus-failed{border-color:#efc0ba;background:#fff1f0;color:#a43a30}.adminLibraryAttemptDetails{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;padding-top:8px;border-top:1px solid #edf1f6}.adminLibraryAttemptDetails span{color:#66758d;font-size:11px}.adminCompactEmptyState{grid-column:1 / -1;min-height:54px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;color:#718098;font-size:11px}.adminAuditGrid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adminAuditTableGroup{min-width:0;overflow:hidden;border:1px solid #d8e1ee;border-radius:8px;background:#fff}.adminAuditTableGroup>header{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border-bottom:1px solid #e1e7f0;background:#f8fafc}.adminAuditTableGroup h4{margin:0;color:#34465e;font-size:12px}.adminAuditTableGroup>header span{color:#7a899d;font-size:10px}.adminAuditTableGroup .adminDataTable{gap:0}.adminAuditTableGroup .adminDataTableHeader,.adminAuditTableGroup .adminDataTableRow{grid-template-columns:minmax(110px,1.2fr) minmax(90px,1fr) 66px 66px;gap:8px;border-radius:0}.adminAuditTableGroup .adminDataTableHeader{min-height:27px;padding:0 9px;background:#f4f7fb;font-size:10px}.adminAuditTableGroup .adminDataTableRow{min-height:32px;padding:5px 9px;border:0;border-bottom:1px solid #edf1f6;font-size:11px}.adminAuditTableGroup .adminDataTableRow:last-child{border-bottom:0}.adminAuditTableGroup .adminDataTableRow>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminAuditTableGroup .adminConversationsTable .adminDataTableHeader,.adminAuditTableGroup .adminConversationsTable .adminDataTableRow{grid-template-columns:minmax(82px,.75fr) minmax(100px,.9fr) 72px minmax(150px,1.6fr)}.adminAiModelSummaryBadges{flex:0 0 auto;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:5px;max-width:none}.adminAiModelBadge{min-height:20px;display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #cbd8e8;border-radius:999px;background:#eef4fb;color:#405066;font-size:10px;font-weight:700;line-height:1.2}.adminAiModelBadgeSuccess{border-color:#2f6ff147;background:#eef4ff;color:#2d5ccf}.adminAiModelBadgeWarning{border-color:#c7802057;background:#fff7e6;color:#8a5a00}.adminAiModelBadgeMuted{border-color:#d5deeb;background:#eef2f7;color:#718098}.adminAiModelBadgeDefault{border-color:#9db9ed;background:#eaf2ff;color:#2459a6}.adminAiModelRoutes{display:grid;gap:6px;padding-top:2px}.adminAiModelRoutes summary{min-height:36px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #d8e1ee;border-radius:8px;background:#fff;color:#263750;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.adminAiModelRoutes summary::-webkit-details-marker{display:none}.adminAiModelRoutes summary::marker{content:""}.adminAiModelRoutes summary:after{content:"";width:8px;height:8px;margin-left:0;border-right:1.5px solid #718098;border-bottom:1.5px solid #718098;transform:rotate(45deg);transition:transform .14s ease}.adminAiModelRoutes[open] summary:after{transform:rotate(-135deg)}.adminAiModelRoutes summary strong{margin-left:auto;color:#66758d;font-size:12px}.adminAiModelRoutesBody{display:grid;gap:6px;padding-top:7px}.adminAiModelRouteList{display:grid;gap:6px}.adminAiModelRouteRow{display:grid;grid-template-columns:minmax(180px,1fr) 110px auto auto;gap:8px;align-items:center}.adminInlineField{min-height:36px;display:flex;align-items:center;gap:6px;color:#405066;font-size:13px;white-space:nowrap}.adminInlineField span{flex:0 0 auto}.adminHint{margin:0;color:#66758d;font-size:13px}.adminCheckboxLabel{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:#405066;font-size:13px;white-space:nowrap}.adminCreateForm input,.adminCreateForm select,.adminAccountCreateForm input,.adminAccountCreateForm select,.adminAccountToolbar input,.adminAccountToolbar select,.adminPasswordResetGroup input,.adminAiModelForm input,.adminAiModelForm select,.adminAiModelCard input,.adminAiModelCard select,.adminUserActions input{min-height:38px;border:1px solid #b4bece;border-radius:6px;padding:0 10px;background:#fff;color:#172033}.adminCheckboxLabel input,.adminInlineField input[type=checkbox]{min-height:auto;width:auto;padding:0}.adminInlineField input[type=number]{width:96px}.adminAiModelForm input,.adminAiModelForm select,.adminAiModelCard input,.adminAiModelCard select{min-width:0;min-height:34px;font-size:12px}.adminAiModelForm .adminCheckboxLabel,.adminAiModelForm .adminInlineField,.adminAiModelCard .adminCheckboxLabel,.adminAiModelCard .adminInlineField{min-height:30px;font-size:11px}.adminAiModelFormFooter button,.adminAiModelCardMain button,.adminAiModelRouteRow button{min-height:30px;padding:3px 9px;font-size:11px}@media(max-width:1100px){.adminAuditGrid{grid-template-columns:1fr}.adminAiModelFormMain,.adminAiModelCardMain{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.adminAiModelCardSummary{align-items:flex-start;flex-wrap:wrap}.adminAiModelSummaryIdentity{flex-basis:calc(100% - 20px)}.adminAiModelSummaryBadges{order:3}.adminAiModelSummaryHint{display:none}.adminAiModelFormMain,.adminAiModelCardMain,.adminAiModelRouteRow{grid-template-columns:1fr}.adminAuditTableGroup{overflow-x:auto}.adminAuditTableGroup .adminDataTable{min-width:540px}}.adminNotice{margin:0;padding:9px 11px;border:1px solid #bfd0e6;border-radius:8px;background:#eef4fb;color:#263750;font-size:13px}.adminFormWarning{margin:0;padding:8px 10px;border:1px solid #f0c46d;border-radius:8px;background:#fff7e6;color:#7a4b00;font-size:13px}.adminUserList{display:grid;gap:9px}.adminUserCard{min-width:0;display:grid;grid-template-columns:minmax(240px,1fr) minmax(330px,.9fr);align-items:center;gap:16px;padding:14px;border:1px solid #dce4ef;border-radius:11px;background:#fbfdff;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.adminUserCard:hover{border-color:#bdcce2;box-shadow:0 9px 20px #26467612;transform:translateY(-1px)}.adminUserCardDisabled{background:#f7f8fa;opacity:.82}.adminUserCardMain,.adminUserIdentity,.adminUserCardControls,.adminPasswordResetGroup,.adminUserActions{min-width:0}.adminUserCardMain{display:flex;align-items:center;gap:11px}.adminUserAvatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #c9d7eb;border-radius:12px;background:#eaf2ff;color:#2c63bd;font-size:16px;font-weight:850;box-shadow:inset 0 0 0 1px #ffffffa6}.adminUserAvatar-admin{border-color:#d4c7ed;background:#f1ebff;color:#6f45b5}.adminUserAvatar-teacher{border-color:#bfd6ee;background:#e9f4ff;color:#2769aa}.adminUserAvatar-student{border-color:#bee1d1;background:#eaf8f1;color:#26795a}.adminUserIdentity{display:grid;gap:5px}.adminUserTitleLine{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.adminUserTitleLine strong{min-width:0;margin-right:2px;overflow:hidden;color:#24344f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.adminUserIdentity code{width:fit-content;max-width:100%;overflow:hidden;color:#52647d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.adminUserRoleBadge,.adminUserStatusBadge,.adminUserCurrentBadge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.adminUserRoleBadge-admin{border-color:#d7caee;background:#f3edff;color:#6842a5}.adminUserRoleBadge-teacher{border-color:#c5d9ef;background:#edf6ff;color:#2d649c}.adminUserRoleBadge-student{border-color:#c4dfd3;background:#eef8f3;color:#2f7159}.adminUserStatusBadge.is-active{border-color:#bfe0d0;background:#ecf8f2;color:#247454}.adminUserStatusBadge.is-disabled{border-color:#dfc9c5;background:#fbefed;color:#9c3b31}.adminUserCurrentBadge{border-color:#ead8a1;background:#fff8df;color:#8a6410}.adminUserMeta{display:flex;flex-wrap:wrap;gap:4px 12px;color:#8491a3;font-size:11px}.adminUserCardControls{display:grid;gap:9px;padding-left:14px;border-left:1px solid #e2e8f1}.adminPasswordResetGroup{display:grid;gap:5px}.adminPasswordResetGroup>label{display:flex;align-items:center;gap:6px}.adminPasswordResetGroup>div{min-width:0;display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px}.adminPasswordResetGroup .ghostButton{min-height:38px;white-space:nowrap}.adminUserActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.adminUserActions button{min-height:34px;gap:6px}.adminAccountEmptyState{min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;padding:24px;border:1px dashed #cdd8e8;border-radius:11px;background:#f8fafd;color:#78879c;text-align:center}.adminAccountEmptyState strong{color:#40516b;font-size:14px}.adminAccountEmptyState span{font-size:12px}@media(max-width:1100px){.adminAccountWorkspace,.adminUserCard{grid-template-columns:1fr}.adminUserCardControls{padding-top:11px;padding-left:0;border-top:1px solid #e2e8f1;border-left:0}}@media(max-width:760px){.adminAccountHero{align-items:stretch;flex-direction:column;padding:14px}.adminAccountHeroActions{width:100%}.adminAccountHeroActions .ghostButton{flex:1 1 auto}.adminAccountMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.adminAccountCreateCard,.adminAccountDirectory{padding:13px}.adminAccountToolbar,.adminPasswordResetGroup>div{grid-template-columns:1fr}.adminUserCard{padding:12px}.adminUserCardMain{align-items:flex-start}.adminUserActions{align-items:stretch;flex-direction:column}.adminUserActions button{width:100%;justify-content:center}}.dangerButton{border-color:#f2b5af;color:#b42318;background:snow}.dangerButton:hover{border-color:#d92d20}.toolbar{grid-area:toolbar;width:100%;padding-top:5px;border-top:1px solid #e2e8f2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.toolbarMainControls{min-width:0;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.selectField{display:flex;align-items:center;gap:8px;color:#31537f;font-size:12px;font-weight:800}.selectField select,.serialControls select,.serialControls input,.serialComposer select,.serialComposer input,.chatComposer textarea{border:1px solid #c9dcff;border-radius:10px;background:#fff;color:#18213f}.selectField select{min-height:34px;padding:0 12px;min-width:190px}.viewControls{display:flex;align-items:center;gap:6px;justify-self:end;padding-left:10px;border-left:1px solid #d8e7ff}.iconToggle{width:38px;min-width:38px;padding:0;display:grid;place-items:center;border-color:#c9dcff;border-radius:10px;background:#fff;color:#1266e3}.iconToggle svg{fill:none;color:currentColor}.iconToggleActive{border-color:#9fc4ff;background:linear-gradient(180deg,#f7fbff,#eaf4ff);color:#0759d6;box-shadow:inset 0 0 0 1px #2f80ff14,0 6px 14px #1f53991a}.iconToggleActive:hover{border-color:#8fb2ef;background:#e3edff}.statusBand{min-height:36px;padding:7px 16px;display:flex;align-items:center;justify-content:flex-end;gap:8px;background:#e8f0fb;border-bottom:1px solid #d2dfed;color:#21304a}.statusBand strong{min-width:0;flex:1 1 auto;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;font-size:13px}.statusBand span{color:#53647a;font-size:12px}.statusMeta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;color:#53647c;font-size:12px}.studioFrame{--ai-sidebar-width: clamp(340px, 29vw, 424px);--studio-blue: #1266e3;--studio-blue-strong: #0759d6;--studio-border: #d8e7ff;--studio-border-strong: #b7d2ff;--studio-surface: #ffffff;--studio-surface-soft: #f8fbff;flex:1;min-height:0;display:grid;grid-template-columns:var(--ai-sidebar-width) minmax(0,1fr);align-items:stretch;gap:18px;padding:16px 18px 18px;background:linear-gradient(#e9f2ff 1px,transparent 1px),linear-gradient(90deg,#e9f2ff 1px,transparent 1px),#f4f8ff;background-size:24px 24px}.studioFrameCollapsed{--ai-sidebar-width: 56px}.aiSidebar,.studioMain,.studioPanel,.tabPage,.aiSidebarPanel,.serialPagePanel{min-width:0;min-height:0}.aiSidebar{display:flex;height:100%}.aiSidebarCollapsed{align-items:flex-start}.aiSidebarPanel{width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--studio-border-strong);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);color:#21304a;box-shadow:0 18px 36px #1f539924,0 2px 8px #1f53990f;overflow:hidden}.aiSidebarHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.aiSidebarTitle{min-width:0;display:flex;align-items:center;gap:8px;color:var(--studio-blue)}.aiSidebarHeader h2{margin:0;color:#071d55;font-size:16px;font-weight:950;line-height:1.2}.aiSidebarMeta{display:flex;flex-wrap:wrap;gap:6px}.aiSidebarChip{min-height:24px;padding:0 9px;border:1px solid #cfe0fb;border-radius:999px;display:inline-flex;align-items:center;background:#eef6ff;color:#31537f;font-size:11px;font-weight:750}.aiSidebarRail{width:100%;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;gap:14px;padding:12px 10px;border:1px solid var(--studio-border-strong);border-radius:16px;background:linear-gradient(180deg,#fff,#edf6ff);color:#21304a;box-shadow:0 14px 28px #0a67ff29,inset 0 1px #ffffffbd}.aiSidebarCollapsed .aiSidebarRail{width:54px;height:54px;min-height:0;display:flex;padding:7px;border-radius:16px;overflow:hidden}.aiSidebarCollapsed .aiSidebarRailLabel,.aiSidebarCollapsed .aiSidebarRailButtonMuted{display:none}.aiSidebarRailButton{width:100%;min-height:40px;padding:0;border:1px solid #b8d3ff;border-radius:12px;background:linear-gradient(180deg,#fff,#edf5ff);color:var(--studio-blue-strong);box-shadow:0 8px 18px #1f53991f}.aiSidebarCollapsed .aiSidebarRailButton{min-height:38px;border-radius:12px}.aiSidebarRailButton:hover{border-color:#8dbbff;background:#eef6ff}.aiSidebarRailButtonMuted{color:#65758c}.aiSidebarRailLabel{display:grid;justify-items:center;gap:8px;width:100%;text-align:center}.aiSidebarRailLabel strong{color:#20314b;font-size:1rem;line-height:1.1}.aiSidebarRailLabel span{color:#65758c;font-size:12px;line-height:1.3}.studioMain{display:flex;flex-direction:column;gap:10px;min-width:0}.studioTabBar{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.iotProjectToggle{position:relative;min-height:40px;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:4px 8px 4px 10px;border:1px solid var(--studio-border);border-radius:12px;background:#fff;color:#49617f;cursor:pointer;-webkit-user-select:none;user-select:none}.iotProjectToggle.is-active{border-color:#8bcdb4;background:#effaf5;color:#17654b}.iotProjectToggle:has(input:disabled){cursor:not-allowed;opacity:.58}.iotProjectToggleText{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:850;white-space:nowrap}.iotProjectToggle input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.iotProjectToggle input:disabled{cursor:not-allowed}.iotProjectToggleTrack{width:32px;height:18px;flex:0 0 auto;display:flex;align-items:center;padding:2px;border-radius:999px;background:#b8c5d6;transition:background .16s ease}.iotProjectToggleTrack span{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #1f2a443d;transform:translate(0);transition:transform .16s ease}.iotProjectToggle input:focus-visible+.iotProjectToggleTrack{outline:3px solid rgba(47,128,255,.25);outline-offset:2px}.iotProjectToggle input:checked+.iotProjectToggleTrack{background:#21805a}.iotProjectToggle input:checked+.iotProjectToggleTrack span{transform:translate(14px)}.studioTabs{display:inline-flex;flex-wrap:wrap;flex:0 0 auto;gap:4px;width:fit-content;max-width:100%;padding:4px;border:1px solid var(--studio-border);border-radius:12px;background:#eef6ffeb;box-shadow:inset 0 1px #ffffffb8}.studioTabActions{flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:nowrap;gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.studioTabActions::-webkit-scrollbar{display:none}.studioActionGroup{flex:0 0 auto;display:flex;align-items:center;flex-wrap:nowrap;gap:3px}.studioActionGroup+.studioActionGroup{padding-left:5px;border-left:1px solid #d8e7ff}.compactActionButton{min-height:32px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border-radius:9px;font-size:11px;font-weight:780;line-height:1;white-space:nowrap}.compactActionButton svg{flex:0 0 auto;color:var(--studio-blue)}.compactActionButton span{min-width:0;overflow:hidden;text-overflow:ellipsis}.guidedDraftPanel{display:grid;gap:10px;max-height:min(620px,calc(100vh - 190px));padding:12px;border:1px solid #d7deea;border-radius:8px;background:#fff;color:#21304a;box-shadow:0 10px 24px #21304a14;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.guidedDraftPanelHeader,.guidedDraftItem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.guidedDraftPanelHeader h2,.guidedDraftItem h3{margin:0;color:#1f2a44;font-size:14px;line-height:1.25}.guidedDraftPanelHeader p,.guidedDraftInfo p,.guidedDraftNotice,.guidedDraftEmpty p{margin:3px 0 0;color:#66758d;font-size:12px;line-height:1.45}.guidedDraftNotice{padding:8px 10px;border-radius:6px;background:#f6f8fc}.guidedCourseClassroomDialogDescription{margin:0;white-space:pre-line}.guidedDraftImportProgress{display:grid;gap:10px;padding:10px;border:1px solid #d9e5f3;border-radius:8px;background:#f8fbff}.guidedDraftImportProgressHeader{display:flex;align-items:start;justify-content:space-between;gap:12px}.guidedDraftImportProgressHeader>div{display:grid;gap:3px;min-width:0}.guidedDraftImportProgressHeader strong{color:#1f2a44;font-size:13px;line-height:1.25}.guidedDraftImportProgressHeader span{color:#66758d;font-size:12px;font-weight:650;line-height:1.35}.guidedDraftImportProgressHeader em{flex:0 0 auto;color:#31537f;font-size:12px;font-style:normal;font-weight:800}.guidedDraftImportProgressTrack{height:8px;overflow:hidden;border-radius:999px;background:#e9eef6}.guidedDraftImportProgressTrack span{display:block;height:100%;border-radius:inherit;background:#2d6cdf;transition:width .32s ease}.guidedDraftImportProgress-success .guidedDraftImportProgressTrack span{background:#2f8f64}.guidedDraftImportProgress-error .guidedDraftImportProgressTrack span{background:#c74752}.guidedDraftImportSteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.guidedDraftImportStep{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:6px;min-width:0;padding:8px;border:1px solid #dfe7f2;border-radius:8px;background:#fff}.guidedDraftImportStep>span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf2f8;color:#66758d;font-size:11px;font-weight:800}.guidedDraftImportStep>div{display:grid;gap:2px;min-width:0}.guidedDraftImportStep strong,.guidedDraftImportStep small{overflow:hidden;text-overflow:ellipsis}.guidedDraftImportStep strong{color:#26364f;font-size:11px;line-height:1.25}.guidedDraftImportStep small{color:#728097;font-size:10px;font-weight:650;line-height:1.25}.guidedDraftImportStep-working{border-color:#9ab9e6;background:#edf5ff}.guidedDraftImportStep-working>span{background:#2d6cdf;color:#fff}.guidedDraftImportStep-done{border-color:#b8dcc9;background:#f1fbf5}.guidedDraftImportStep-done>span{background:#2f8f64;color:#fff}.guidedDraftImportStep-error{border-color:#efb5bb;background:#fff5f6}.guidedDraftImportStep-error>span{background:#c74752;color:#fff}.guidedDraftClassroomTools{display:grid;gap:8px;padding:10px;border:1px solid #e2e8f2;border-radius:8px;background:#f8fbff}.guidedDraftClassroomSelector,.guidedDraftClassroomManagementActions{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.guidedDraftClassroomSelector label{display:grid;gap:4px;min-width:min(280px,100%);color:#52647c;font-size:11px;font-weight:700}.guidedDraftClassroomSelector select{min-height:32px;border:1px solid #cbd6e5;border-radius:6px;background:#fff;color:#21304a;font:inherit}.guidedDraftClassroomSelector select{padding:0 8px}.guidedDraftClassroomManagementActions button,.guidedDraftClassroomSelector button{min-height:32px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.guidedDraftClassroomDetail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px}.guidedDraftClassroomDetailColumn{display:grid;gap:6px;min-width:0}.guidedDraftClassroomDetailColumn>strong{color:#1f2a44;font-size:12px}.guidedDraftMiniList,.guidedDraftPublishedList{display:flex;flex-wrap:wrap;gap:6px}.guidedDraftMiniList span,.guidedDraftPublishedList>span{min-height:24px;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eef3f9;color:#52647c;font-size:11px;font-weight:700}.guidedDraftPublishedItem{display:grid;gap:6px;min-width:min(320px,100%);padding:8px;border:1px solid #d7deea;border-radius:8px;background:#fff;color:#52647c;font-size:11px;font-weight:700}.guidedDraftPublishedTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.guidedDraftPublishedInfo{display:grid;gap:2px;min-width:0}.guidedDraftPublishedInfo span,.guidedDraftPublishedInfo small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guidedDraftPublishedInfo small{color:#7a889c;font-size:11px;font-weight:650}.guidedDraftPublishedActions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.guidedDraftPublishedActions button{min-height:22px;padding:0 7px;font-size:11px}.guidedDraftClassroomProgressBoard{grid-column:1 / -1;display:grid;gap:8px;min-width:0;padding-top:2px}.guidedDraftClassroomProgressBoard>strong{color:#1f2a44;font-size:12px}@media(max-width:760px){.guidedDraftPanel{max-height:min(680px,calc(100vh - 170px))}.guidedDraftClassroomDetail,.guidedDraftImportSteps{grid-template-columns:1fr}}.guidedDraftList{display:grid;gap:8px}.guidedDraftItem{padding:10px;border:1px solid #e2e8f2;border-radius:8px;background:#fbfdff}.guidedDraftInfo{min-width:0}.guidedDraftInfo p{max-width:860px}.guidedDraftReadiness,.guidedDraftQuality,.guidedDraftPublishState,.guidedDraftPublishAudit{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px;font-size:11px;line-height:1.35}.guidedDraftReadiness strong,.guidedDraftQuality strong,.guidedDraftPublishState strong,.guidedDraftPublishAudit strong{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;font-size:11px}.guidedDraftReadiness span,.guidedDraftQuality span,.guidedDraftPublishState span,.guidedDraftPublishAudit span{color:#66758d;font-weight:650}.guidedDraftQuality ul,.guidedDraftPublishAudit ul{display:grid;gap:3px;margin:0;padding-left:18px;color:#66758d;font-weight:650}.guidedDraftPublishAudit ul span{margin-right:4px;color:#31537f}.guidedDraftPublishAuditStats{display:flex;flex-wrap:wrap;gap:5px}.guidedDraftPublishAuditStats span{min-height:20px;padding:0 6px;border-radius:999px;background:#eef3f9}.guidedDraftQuality-passed strong{background:#e8f6ee;color:#28704f}.guidedDraftQuality-failed strong{background:#fdeced;color:#a43b44}.guidedDraftReadiness-ready strong{background:#e8f6ee;color:#28704f}.guidedDraftReadiness-blocked strong{background:#fff1e6;color:#9a531d}.guidedDraftPublishState-current strong{background:#e8f6ee;color:#28704f}.guidedDraftPublishState-outdated strong{background:#fff1e6;color:#9a531d}.guidedDraftPublishState-unpublished strong{background:#eef3f9;color:#52647c}.guidedDraftPublishAudit-current strong{background:#e8f6ee;color:#28704f}.guidedDraftPublishAudit-outdated strong,.guidedDraftPublishAudit-new_publish strong{background:#fff1e6;color:#9a531d}.guidedDraftPublishAudit-blocked strong{background:#fdeced;color:#a43b44}.guidedDraftPublishAudit-loading strong{background:#eef3f9;color:#52647c}.guidedDraftMeta,.guidedDraftActions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.guidedDraftMeta{margin-top:7px}.guidedDraftMeta span{min-height:22px;padding:3px 7px;border-radius:999px;background:#eef3f9;color:#52647c;font-size:11px;font-weight:700;line-height:1.2}.guidedDraftActions{justify-content:flex-end}.guidedCourseEditor{display:grid;gap:14px;margin-top:14px;padding:14px;border:1px solid #d9e3ef;border-radius:8px;background:#f9fbfe}.guidedCourseEditorHeader,.guidedCourseEditorActions,.guidedCourseEditorSectionToolbar,.guidedCourseEditorSectionToolbar>div{display:flex;align-items:center;gap:8px}.guidedCourseEditorHeader,.guidedCourseEditorSectionToolbar{justify-content:space-between}.guidedCourseEditorHeader h3{margin:0;font-size:16px}.guidedCourseEditorHeader p{margin:3px 0 0;color:#66758d;font-size:12px;font-weight:650}.guidedCourseEditorGrid{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:14px;align-items:start}.guidedCourseEditorSections{display:grid;gap:8px}.guidedCourseEditorSections button{justify-content:flex-start;min-height:44px;text-align:left}.guidedCourseEditorSections button span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8eef6;color:#52647c;font-size:11px;font-weight:800}.guidedCourseEditorSections button strong,.guidedCourseEditorSections button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guidedCourseEditorSections button small{color:#66758d;font-weight:650}.guidedCourseEditorSections .guidedCourseEditorSectionActive{border-color:#89a9d8;background:#edf5ff}.guidedCourseEditorForm{display:grid;gap:12px;min-width:0}.guidedCourseEditorBand{display:grid;gap:10px;padding:12px;border:1px solid #e1e8f1;border-radius:8px;background:#fff}.guidedCourseEditorBand label{display:grid;gap:5px;min-width:0}.guidedCourseEditorBand label span{color:#52647c;font-size:11px;font-weight:800}.guidedCourseEditorBand input,.guidedCourseEditorBand select,.guidedCourseEditorBand textarea{width:100%;min-width:0;border:1px solid #cbd8e8;border-radius:6px;padding:8px 9px;color:#243246;font:inherit;font-size:13px;background:#fff}.guidedCourseEditorBand textarea{resize:vertical;line-height:1.45}.guidedCourseEditorCode{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.guidedCourseEditorAssetBox{display:grid;gap:8px;padding:10px;border:1px solid #d8e7ff;border-radius:8px;background:#f7fbff}.guidedCourseEditorAssetBox>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.guidedCourseEditorAssetBox strong{color:#243246;font-size:13px}.guidedCourseEditorAssetBox span,.guidedCourseEditorAssetBox p{margin:0;color:#52647c;font-size:12px;font-weight:700}.guidedCourseEditorTwoColumn,.guidedCourseEditorThreeColumn{display:grid;gap:10px}.guidedCourseEditorTwoColumn{grid-template-columns:repeat(2,minmax(0,1fr))}.guidedCourseEditorThreeColumn{grid-template-columns:repeat(3,minmax(0,1fr))}.guidedDraftActions button{min-height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:12px;white-space:nowrap}.guidedDraftEmpty{padding:12px;border:1px dashed #cbd6e5;border-radius:8px;background:#f8fbff}.guidedDraftEmpty strong{color:#1f2a44}.studioTabButton{min-height:32px;border:0;border-radius:9px;padding:0 10px;background:transparent;color:#31537f;font-size:12px;font-weight:850;line-height:1;white-space:nowrap}@media(max-width:1320px){.studioTabActions .compactActionButton{width:30px;min-width:30px;padding:0}.studioTabActions .compactActionButton span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}@media(max-width:860px){.guidedDraftPanelHeader,.guidedDraftItem{grid-template-columns:1fr;align-items:stretch}.guidedDraftActions{justify-content:flex-start}}.studioTabButton:hover{border-color:transparent;background:#2f80ff1a}.studioTabButtonActive,.studioTabButtonActive:hover{background:#fff;color:#0759d6;box-shadow:0 6px 14px #1f53991c,inset 0 0 0 1px #b7d2ffb8}.studioPanel{flex:1;min-height:0}.programmingWorkbench{height:100%;border:1px solid #b7d2ff;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 18px 36px #1f53991f,0 2px 8px #1f53990f}.serialPagePanel,.tabPage{height:100%}.serialPagePanel{display:flex;flex-direction:column;border:1px solid #b7d2ff;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 18px 36px #1f53991a,0 2px 8px #1f53990d;overflow:hidden}.serialMonitorShell{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;overflow:hidden}.serialControlGrid{display:grid;grid-template-columns:minmax(140px,190px) auto minmax(0,1fr);gap:10px;align-items:end}.serialBaudField{max-width:190px}.serialField{min-width:0;display:grid;gap:6px}.serialField span{color:#4f6076;font-size:12px;font-weight:600}.serialField select,.serialField input,.serialComposer input,.serialComposer select{min-width:0;min-height:40px;padding:0 12px;border:1px solid #d2dceb;border-radius:8px;background:#fff;color:#20314b}.serialConnectButton{min-height:40px;min-width:72px;padding:0 16px;border:1px solid #2f6ff1;border-radius:8px;background:linear-gradient(180deg,#3f7af4,#2f6ff1);color:#fff;font-weight:700;white-space:nowrap}.serialConnectButtonActive{border-color:#ea7a6a;background:linear-gradient(180deg,#ff927f,#f45d4a)}.serialConnectionBlockedReason{grid-column:1 / -1;margin:0;padding:8px 10px;border:1px solid var(--color-warning);border-radius:6px;background:var(--color-warning-light);color:var(--color-warning);font-size:13px;font-weight:600}.serialAdvancedSettings{flex-shrink:0;border:1px solid #d2dceb;border-radius:8px;background:#fff}.serialAdvancedGrid{display:grid;grid-template-columns:repeat(5,minmax(96px,1fr)) auto minmax(170px,auto);gap:10px;align-items:end;padding:10px 12px 12px}.serialAdvancedStats{grid-column:span 2;min-height:40px;display:inline-flex;align-items:center;gap:10px;padding:0 12px;border:1px solid #d2dceb;border-radius:8px;background:#f8fafc;color:#607089;font-size:12px;font-weight:700;white-space:nowrap}.serialAdvancedSearchBox{grid-column:span 5}.serialToolbar{display:grid;grid-template-columns:auto auto auto auto auto auto;gap:10px;align-items:center;justify-content:start;align-self:end}.serialAdvancedButton{min-height:40px}.serialToolbar .ghostButton{min-height:40px;border-radius:8px}.serialInlineCheck{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d2dceb;border-radius:8px;background:#fff;color:#52647c;white-space:nowrap}.serialInlineCheck input{margin:0}.serialSearchBox{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d2dceb;border-radius:8px;background:#fff;color:#97a6ba}.serialSearchBox svg{flex-shrink:0}.serialSearchBox .serialSearchInput{border:0;border-radius:0;background:transparent;padding:0;height:auto}.serialTerminal{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.serialTerminalActions{position:absolute;top:10px;right:10px;z-index:1;display:inline-flex;gap:8px}.serialTerminalButton{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;color:#e8f2ff;display:inline-flex;align-items:center;gap:6px}.serialTerminalButton:hover:not(:disabled){border-color:#7da8ff73;background:#7da8ff1f}.tabPage{display:flex;flex-direction:column}.workbench{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);background:#f8fbff}.workbench.hasCodePane{grid-template-columns:minmax(0,1fr) var(--code-pane-resizer-width, 10px) minmax(320px,var(--code-pane-width, 520px))}.workbench.hasSerialPane{grid-template-rows:minmax(0,1fr) var(--bottom-dock-resizer-height, 10px) minmax(0,var(--serial-pane-height, 320px))}.workspacePane,.codeDock,.bottomDock{min-width:0;min-height:0}.programmingActionBar{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid #d8e7ff;background:linear-gradient(180deg,#fff,#f7fbff)}.programmingActionBar button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 13px;border-radius:10px;font-weight:800}.programmingBoardSelect{flex:0 1 330px;min-width:250px}.programmingBoardSelect select{flex:1 1 auto;min-width:0}.programmingActionBar .viewControls{justify-self:auto;margin-left:0;padding-left:10px}.programmingActionBar .iconToggle{width:38px;min-width:38px;padding:0;display:grid;gap:0}.workspacePane{position:relative;overflow:hidden;background:linear-gradient(#edf5ff 1px,transparent 1px),linear-gradient(90deg,#edf5ff 1px,transparent 1px),#fbfdff;background-size:22px 22px}.workbench.hasCodePane .workspacePane{border-right:0}.workspaceView{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0}.workspaceViewActive{visibility:visible;pointer-events:auto}.workspaceViewHidden{visibility:hidden;pointer-events:none}.blocklyPane{background:transparent}.blocklySurface{width:100%;height:100%;min-height:0}.codeEditorPanel,.codePanel,.serialPanel,.logPanel{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px}.dockPanel{padding:14px;background:#f7f9fc}.codeEditorPanel{padding:12px;background:#fbfdff}.panelTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.panelTitleRow h2{margin:0;font-size:15px;color:#263750}.panelHeadingGroup{min-width:0}.panelActions{display:flex;align-items:center;gap:8px}.panelCaption{color:#73849b;font-size:12px}.syncNotice{margin:4px 0 0;font-size:12px}.syncNoticeNeutral{color:#7a5a00}.syncNoticeSuccess{color:#0f7a5f}.syncNoticeError{color:#b42318}.codeEditor{flex:1;min-height:0;width:100%;resize:none;border:1px solid #d2dae7;border-radius:6px;padding:14px;background:#f8fafc;color:#1f2937;font:13px/1.55 Cascadia Code,Consolas,Liberation Mono,Menlo,monospace}.codeWorkspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.codeDiffCount,.codeReviewMeta span{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;background:#eaf1f8;color:#3b4b60;font-size:11px;font-weight:700;line-height:1.2}.codeWorkspaceEditor{flex:1 1 320px;min-height:220px;overflow:hidden;border:1px solid #c9dcff;border-radius:12px;background:#fff;box-shadow:0 8px 18px #1f539914}.codeWorkspaceEditor .cm-editor{height:100%;background:#fff;color:#18213f;font-size:15px}.codeWorkspaceEditor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.75}.codeWorkspaceEditor .cm-content{padding:14px 0}.codeWorkspaceEditor .cm-line{padding:0 18px 0 14px}.codeWorkspaceEditor .cm-gutters{min-width:54px;border-right:0;background:#f7fbff;color:#7e8da8}.codeWorkspaceEditor .cm-lineNumbers .cm-gutterElement{padding:0 14px 0 0;text-align:right}.codeWorkspaceEditor .cm-activeLine,.codeWorkspaceEditor .cm-activeLineGutter{background:#f1f7ff}.codeWorkspaceBottom{flex:0 0 clamp(150px,23vh,230px);min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:10px}.codeDiffPanel,.codeReviewPanel{min-width:0;min-height:0;overflow:hidden;border:1px solid #d8e1ee;border-radius:6px;background:#fff}.codeWorkspaceSubhead{display:flex;align-items:center;gap:8px;padding:9px 11px}.codeWorkspaceSubhead h3{margin:0;color:#263750;font-size:13px}.codeWorkspaceSubhead>span{margin-left:auto;color:#718098;font-size:11px}.chatCodeSection{min-width:0;min-height:0}.chatCodeSection>.codeWorkspaceSubhead{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.chatCodeSection>.codeWorkspaceSubhead::-webkit-details-marker{display:none}.chatCodeSection>.codeWorkspaceSubhead::marker{content:""}.chatCodeSection>.codeWorkspaceSubhead:after{content:"";width:8px;height:8px;margin-top:-2px;border-right:1.5px solid #718098;border-bottom:1.5px solid #718098;transform:rotate(45deg);transition:transform .14s ease;flex:0 0 auto}.chatCodeSection[open]>.codeWorkspaceSubhead{border-bottom:1px solid #e7edf5}.chatCodeSection[open]>.codeWorkspaceSubhead:after{transform:rotate(-135deg)}.codeDiffList,.codeReviewBody{flex:1;min-height:0;overflow:auto}.codeDiffList{padding:8px;background:#fff}.codeDiffLine{display:grid;grid-template-columns:18px 44px minmax(0,1fr);align-items:start;gap:8px;min-height:24px;padding:3px 8px;border-left:3px solid transparent;color:#24292f;font:12px/1.45 Cascadia Code,Consolas,Liberation Mono,Menlo,monospace}.codeDiffLine code{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.codeDiffLineNumber,.codeDiffMarker{color:#6e7781;font-weight:700;text-align:right;-webkit-user-select:none;user-select:none}.codeDiffLineAdded{border-left-color:#1a7f37;background:#e6ffec}.codeDiffLineAdded .codeDiffMarker{color:#1a7f37}.codeDiffLineRemoved{border-left-color:#cf222e;background:#ffebe9}.codeDiffLineRemoved .codeDiffMarker{color:#cf222e}.codeReviewBody{padding:10px 11px}.codeReviewMessage{margin:0 0 8px;color:#263750;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.codeReviewMeta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.codeReviewSection{padding:8px 0;border-top:1px solid #edf1f7}.codeReviewSection strong{display:block;margin-bottom:5px;color:#263750;font-size:12px}.codeReviewSection ul{margin:0;padding-left:17px;color:#4b5c73;font-size:12px;line-height:1.45}.codeReviewSection li{overflow-wrap:anywhere}.codeReviewSectionSuccess strong{color:#0f7a5f}.codeReviewSectionWarning strong{color:#9a6400}.codeReviewSectionDanger strong{color:#b42318}.codeWorkspaceEmpty{margin:0;padding:12px;color:#8ca0b6;font-size:12px;line-height:1.4}.codeDock{height:100%;min-height:0;display:flex;width:100%;overflow:hidden;background:#f8fbff}.codePaneResizeHandle{min-width:0;min-height:0;display:flex;align-items:stretch;justify-content:center;cursor:col-resize;background:#eef6ff;border-left:1px solid #d8e7ff;border-right:1px solid #d8e7ff;-webkit-user-select:none;user-select:none;touch-action:none}.codePaneResizeHandle:focus-visible{outline:2px solid #2d6cdf;outline-offset:-2px}.codePaneResizeGrip{width:3px;height:100%;border-radius:999px;background:transparent;transition:background-color .12s ease}.codePaneResizeHandle:hover .codePaneResizeGrip,.codePaneResizeHandle:focus-visible .codePaneResizeGrip{background:#8ca1bb}.codeDock .codePanel pre,.codeDock .codePreview{border-color:#c9dcff;background:#fff;color:#18213f}.codePanel pre,.codePreview,.serialEntries{flex:1;min-height:0;margin:0;overflow:auto;border:1px solid #d2dae7;border-radius:6px;padding:12px;background:#111827;color:#d6f5ea;font:13px/1.55 Cascadia Code,Consolas,Liberation Mono,Menlo,monospace;white-space:pre-wrap}.serialEntries{display:flex;flex-direction:column;gap:8px;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.serialEntriesEmpty{align-items:center;justify-content:center;color:#9fb0c5}.bottomDockResizeHandle{grid-column:1 / -1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;cursor:row-resize;background:#f3f6fb;-webkit-user-select:none;user-select:none;touch-action:none}.bottomDockResizeHandle:focus-visible{outline:2px solid #2d6cdf;outline-offset:-2px}.bottomDockResizeGrip{width:min(180px,24%);height:4px;border-radius:999px;background:#bcc8d9;transition:background-color .12s ease}.bottomDockResizeHandle:hover .bottomDockResizeGrip,.bottomDockResizeHandle:focus-visible .bottomDockResizeGrip{background:#8ca1bb}.bottomDock{grid-column:1 / -1;height:100%;max-height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);min-height:0;overflow:hidden;background:#f8fafc}.serialPanel{border-right:1px solid #d7deea;overflow:hidden}.serialControls,.serialComposer,.chatComposer{display:grid;grid-template-columns:1fr auto;gap:8px}.serialControls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;flex-shrink:0}.serialControlsConnection{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.serialControlsMeta{grid-template-columns:auto auto auto minmax(180px,1fr);align-items:center}.serialControls select,.serialControls input,.serialComposer select,.serialComposer input{min-height:36px;padding:0 10px}.serialToggleGroup{display:inline-flex;align-items:center;gap:6px}.serialToggleGroup .ghostButton{min-width:64px}.serialComposer{grid-template-columns:minmax(0,1fr) auto auto 110px auto;flex-shrink:0;align-items:center}.serialFloatingLayer{position:fixed;z-index:45}.serialFloatingPanel{width:min(760px,calc(100vw - 36px));height:min(560px,calc(100vh - 136px));min-width:min(520px,calc(100vw - 36px));min-height:min(420px,calc(100vh - 136px));display:flex;flex-direction:column;border:1px solid #cbd6e5;border-radius:8px;background:#f8fafc;box-shadow:0 22px 54px #0c23423d;overflow:hidden}.serialFloatingHeader{flex-shrink:0;padding:12px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #d7deea;background:#f1f6fb;cursor:grab;-webkit-user-select:none;user-select:none}.serialFloatingHeader:active{cursor:grabbing}.serialFloatingHeader h2{margin:0;color:#263750;font-size:15px}.serialFloatingBody{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px;overflow:hidden}.serialSearchInput{width:100%;min-width:0}.serialAutoSendToggle{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d2dceb;border-radius:8px;background:#fff;color:#6b7c93;white-space:nowrap}.serialAutoSendToggle input{margin:0}.serialIntervalInput{width:100%}.serialEntryTime{font-variant-numeric:tabular-nums}.serialEntry{border:1px solid #1f2937;border-radius:6px;padding:10px;background:#0f172aeb}.serialEntryHeader{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:#9fb0c5;font-size:12px}.serialEntryBadge{min-width:36px;padding:0 6px;border-radius:999px;text-align:center;font-size:11px;font-weight:600;line-height:20px}.serialEntryBadgeRX{background:#0f766e47;color:#7de2d1}.serialEntryBadgeTX{background:#3b82f63d;color:#93c5fd}.serialEntryBadgeSYS{background:#94a3b833;color:#d8e1ef}.serialEntryMeta{margin-left:auto}.serialEntryBody{color:#d6f5ea;white-space:pre-wrap;word-break:break-word}.serialEntryTX .serialEntryBody{color:#dbeafe}.serialEntrySYS .serialEntryBody{color:#e2e8f0}.serialEntryError .serialEntryBody{color:#fca5a5}.serialTerminal .serialEntries{flex:1;min-height:0;margin:0;overflow:auto;border:1px solid #162033;border-radius:10px;padding:18px 14px;background:linear-gradient(180deg,#121d31,#0b1320);color:#d8e8ff;font:13px/1.55 Cascadia Code,Consolas,Liberation Mono,Menlo,monospace;white-space:pre-wrap;overscroll-behavior:contain}.codePreview{display:block;padding:14px 0;background:#fff;color:#18213f;white-space:pre}.creatorCodeLine{min-height:24px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;color:#18213f}.creatorCodeLineNumber{padding:0 14px 0 0;color:#7e8da8;text-align:right;-webkit-user-select:none;user-select:none}.creatorCodeLine code{min-width:0;padding:0 18px 0 14px;color:inherit;font:inherit;white-space:pre}.creatorCodeComment{color:#16a34a}.creatorCodeString{color:#f04424}.creatorCodeNumber{color:#049a58}.creatorCodeKeyword{color:#9a23d9}.creatorCodeFunction{color:#e24d1c}.serialTerminal .serialEntry{border:0;border-radius:0;padding:0;background:transparent;color:inherit;display:grid;grid-template-columns:82px 46px minmax(0,1fr);gap:14px;align-items:start}.serialTerminal .serialEntryTime{color:#9db4d1}.serialTerminal .serialEntryBadge{min-width:0;justify-self:start}.serialTerminal .serialEntryBody{color:#d9ebff}.serialTerminal .serialEntryTX .serialEntryBody{color:#b8d7ff}.serialTerminal .serialEntrySYS .serialEntryBody{color:#e8eef7}.serialTerminal .serialEntryError .serialEntryBody{color:#ffb0b0}.serialTerminal .serialEntriesEmpty{align-items:center;justify-content:center;color:#9fb0c5}.serialMonitorShell .serialComposer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.serialMonitorShell .serialComposer input,.serialMonitorShell .serialComposer select{width:100%}.serialIntervalWrap{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d2dceb;border-radius:8px;background:#fff;color:#6b7c93;white-space:nowrap}.serialIntervalWrap input{width:78px;border:0;padding:0;min-height:0;background:transparent;text-align:right}.serialMonitorShell .serialComposer button[type=submit]{min-height:40px;padding:0 16px}.logPanel{overflow:hidden}.logList{flex:1;min-height:0;overflow:auto;margin:0;padding:0;color:#3c4d65;font-size:13px;line-height:1.45}.logLine+.logLine{margin-top:6px}.emptyText{margin:0;color:#718096}.ghostButton{min-height:30px;padding:0 10px;border-color:#d8e7ff;background:#ffffffc7;color:#31537f;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.ghostButtonActive{border-color:#9fc4ff;background:#eef6ff;color:#0759d6}.dangerGhostButton{border-color:#efb8b8;color:#9f2f2f}body.serialResizeActive,body.serialResizeActive *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}body.codePaneResizeActive,body.codePaneResizeActive *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.serialWindowDragActive,body.serialWindowDragActive *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.serialMatch{padding:0;background:#facc153d;color:inherit}.aiFloatingLayer{position:fixed;z-index:40}.aiBubble{width:58px;min-width:58px;height:58px;min-height:58px;border:0;border-radius:999px;padding:0;background:#2f6ff1;color:#fff;font-size:18px;font-weight:800;box-shadow:0 14px 30px #2f6ff138}.aiBubble:hover{border-color:transparent;background:#275fce}.aiFloatingPanel{width:min(360px,calc(100vw - 32px));height:min(720px,calc(100vh - 24px));display:flex;flex-direction:column;border:1px solid #d7deea;border-radius:8px;background:#fff;box-shadow:0 18px 36px #0c23422e;overflow:hidden}.aiModelPicker{margin-top:2px;padding:0 0 8px;border-bottom:1px solid #e3eeff;background:transparent}.aiModelPicker select{width:100%;min-height:36px;border:1px solid #c9dcff;border-radius:10px;padding:0 12px;background:#fff;color:#18213f;font-size:12px;font-weight:750}.aiModelPicker select:hover:not(:disabled){border-color:#9fc4ff;background:#f8fbff}.aiModelPicker select:focus-visible{outline:2px solid rgba(47,111,241,.24);outline-offset:1px}.aiModelPicker select:disabled{color:#7d8899;background:#edf2f8}.aiModelPicker select option{background:#fff;color:#172033}.aiFloatingHeader{padding:12px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#f1f6fb;border-bottom:1px solid #d7deea;cursor:grab;-webkit-user-select:none;user-select:none}.aiFloatingHeader:active{cursor:grabbing}.aiFloatingHeader h2{margin:0;font-size:15px;color:#263750}.aiFloatingHeader p{margin:2px 0 0;font-size:12px;color:#73849b}.aiHeaderActions{display:flex;align-items:center;gap:6px}.closeButton{width:30px;min-width:30px;min-height:30px;padding:0;border-color:#d8e7ff;border-radius:999px;background:#fff;color:#31537f;line-height:1;display:grid;place-items:center}.closeButton:hover{border-color:#9fc4ff;background:#eef6ff;color:#0759d6}.aiClearButton{min-height:30px;padding:0 10px;background:#fff;color:#31537f}.aiClearButton svg{color:#2d6cdf}.ui-modal.knowledgeModal{max-height:min(860px,calc(100vh - 42px));background:transparent;box-shadow:none}.ui-modal.knowledgeModal>.ui-modal-body{min-height:0;display:flex;padding:0;overflow:hidden}.ui-modal.knowledgeModal .knowledgeDialog{width:100%;max-height:100%}.ui-modal.knowledgeModal .knowledgeHeaderAside{padding-right:42px}.knowledgeDialog{width:min(860px,calc(100vw - 42px));max-height:min(860px,calc(100vh - 42px));display:flex;flex-direction:column;border:1px solid #cbd6e5;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0c234247;overflow:hidden}.knowledgeDialogEmbedded{width:100%;max-height:none;height:100%;border-radius:10px}.knowledgeHeader{padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #d7deea;background:#f7fafc}.knowledgeEyebrow{display:block;margin-bottom:4px;color:#2d6cdf;font-size:12px;font-weight:700}.knowledgeHeader h2{margin:0;color:#172033;font-size:22px;line-height:1.25}.knowledgeHeader p{margin:5px 0 0;color:#60718a;font-size:13px}.knowledgeActions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.knowledgeActions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.wiringBoardModeControl{display:inline-grid;grid-template-columns:minmax(72px,max-content) minmax(54px,max-content);gap:4px;padding:3px;border:1px solid #d8e7ff;border-radius:8px;background:#ffffffb8}.wiringBoardModeControl .ghostButton{min-width:0;min-height:28px;padding:0 9px;border-color:transparent}.wiringWireModeControl{display:inline-grid;grid-template-columns:repeat(4,minmax(54px,max-content));gap:2px;padding:3px;border:1px solid #d8e7ff;border-radius:8px;background:#ffffffc7}.wiringWireModeControl button{min-width:0;min-height:28px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#52657f;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.wiringWireModeControl button:hover:not(:disabled){background:#eef6ff;color:#175fbd}.wiringWireModeControl button.is-active{border-color:#91bcf7;background:#e7f1ff;color:#0b62c4}.wiringWireModeControl button:disabled{opacity:.42;cursor:default}.knowledgeHeaderAside{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px}.knowledgeHeaderLesson{align-items:center;background:radial-gradient(circle at 18% 0%,rgba(45,108,223,.08),transparent 34%),#fbfcff}.knowledgeLessonBrand{min-width:0;display:flex;align-items:center;gap:12px}.knowledgeLessonIcon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#5d9dfb,#2d6cdf);color:#fff;box-shadow:0 10px 22px #2d6cdf38}.knowledgeLessonProgress{width:164px;display:grid;gap:8px}.knowledgeLessonProgressLabel{justify-self:end;display:inline-flex;align-items:center;gap:5px;border:1px solid #dbe7fb;border-radius:8px;padding:5px 9px;background:#f1f6ff;color:#263b63;font-size:12px;font-weight:800;line-height:1}.knowledgeLessonProgressLabel svg{color:#2d6cdf}.knowledgeLessonProgressTrack{height:5px;border-radius:999px;background:#dce8fb;overflow:hidden}.knowledgeLessonProgressTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d6cdf,#72a7ff)}.knowledgeBody{min-height:0;overflow:auto;padding:20px;background:#f3f6fa}.knowledgeLessonShell{min-height:100%;border:1px solid #dbe4f0;border-radius:10px;background:#fff;box-shadow:inset 0 1px #ffffffe0}.knowledgeLessonGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.knowledgeLessonColumn{min-width:0;display:flex;flex-direction:column;border:1px solid #d8e3f2;border-radius:10px;padding:16px;background:#fff}.knowledgeLessonColumnNew{border-color:#bdebd1;background:linear-gradient(135deg,#23c57e17,#ffffffbd 64%),#f4fff8}.knowledgeLessonColumnReview{border-color:#c9ddff;background:linear-gradient(135deg,#2d6cdf17,#ffffffc7 64%),#f4f8ff}.knowledgeLessonColumnTask{border-color:#dcf;background:linear-gradient(135deg,#7c44e71a,#ffffffc7 64%),#fcf7ff}.knowledgeLessonColumnTitle{display:flex;align-items:center;gap:8px;margin-bottom:16px}.knowledgeLessonColumnTitle h3{margin:0;color:#172033;font-size:17px;line-height:1.2}.knowledgeLessonColumnNew .knowledgeLessonColumnTitle h3,.knowledgeLessonColumnNew .knowledgeLessonColumnIcon{color:#15945d}.knowledgeLessonColumnReview .knowledgeLessonColumnTitle h3,.knowledgeLessonColumnReview .knowledgeLessonColumnIcon{color:#2d6cdf}.knowledgeLessonColumnTask .knowledgeLessonColumnTitle h3,.knowledgeLessonColumnTask .knowledgeLessonColumnIcon{color:#7c44e7}.knowledgeLessonColumnIcon{display:inline-grid;place-items:center;width:22px;height:22px}.knowledgeLessonBadge{margin-left:4px;border-radius:999px;padding:3px 8px;background:#20b970;color:#fff;font-size:11px;font-weight:900;line-height:1}.knowledgeLessonPoints{display:grid;gap:14px}.knowledgeLessonPoint{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start}.knowledgeLessonNumber{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#dbf8e9;color:#116b45;font-size:13px;font-weight:900}.knowledgeLessonColumnReview .knowledgeLessonNumber{background:#dfeaff;color:#2d6cdf}.knowledgeLessonPoint h4{margin:2px 0 5px;color:#172033;font-size:14px;line-height:1.25}.knowledgeLessonPoint p{margin:0;color:#3c4d64;font-size:13px;line-height:1.52}.knowledgeLessonCode{display:inline-block;max-width:100%;margin-top:7px;border:1px solid #e0e7f0;border-radius:5px;padding:3px 6px;background:#ffffffdb;color:#172033;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.knowledgeLessonTip,.knowledgeLessonReview{margin-top:14px;display:flex;align-items:flex-start;gap:7px;border:1px solid #f2d68a;border-radius:8px;padding:10px 12px;background:#fff8e8;color:#6c4a0a;font-size:12px;line-height:1.45}.knowledgeLessonReview{display:block;border-color:#c9ddff;background:#f5f9ff;color:#2f4365}.knowledgeLessonReview strong{color:#2d6cdf}.knowledgeLessonTaskBlock{margin-bottom:18px}.knowledgeLessonTaskBlock h4,.knowledgeLessonTaskBox h4{margin:0 0 8px;color:#7c44e7;font-size:14px}.knowledgeLessonTaskBlock p{margin:0;color:#3c4d64;font-size:13px;line-height:1.55}.knowledgeLessonSteps{margin:0;padding-left:20px;color:#303f56;font-size:13px;line-height:1.7}.knowledgeLessonSteps li{padding-left:2px}.knowledgeLessonTaskBox{margin-top:14px;border:1px solid #d8c9ff;border-radius:9px;padding:13px 14px;background:#ffffffad;color:#3c4d64}.knowledgeLessonTaskBox p{margin:0;font-family:var(--font-family-mono);font-size:var(--text-xs);line-height:1.65}.knowledgeLessonPrimaryButton{width:100%;min-height:44px;margin-top:14px;border:0;border-radius:8px;background:linear-gradient(135deg,#8c4cf4,#6d35d4);color:#fff;box-shadow:0 12px 24px #6d35d43d;font-weight:900}.knowledgeLessonPrimaryButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 15px 28px #6d35d447}.ui-modal.wiringModal{max-height:min(860px,calc(100vh - 36px));background:transparent;box-shadow:none}.ui-modal.wiringModal>.ui-modal-body{min-height:0;display:flex;padding:0;overflow:hidden}.ui-modal.wiringModal .wiringDialog{width:100%;max-height:100%}.ui-modal.wiringModal .wiringHeader>.knowledgeActions{padding-right:42px}.wiringDialog{width:min(1180px,calc(100vw - 36px));max-height:min(860px,calc(100vh - 36px));display:flex;flex-direction:column;border:1px solid #cbd6e5;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0c234247;overflow:hidden}.wiringDialogEmbedded{width:100%;max-height:none;height:100%;border-radius:10px}.wiringPreviewPage{height:100vh;min-height:100vh;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:12px;padding:16px;overflow-x:hidden;overflow-y:auto;background:#e9eef5;color:#172033}.wiringPreviewPageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #d4deeb;border-radius:8px;background:#fff}.wiringPreviewPageHeader h1{margin:2px 0 0;font-size:24px;line-height:1.2}.wiringPreviewPageHeader p{margin:6px 0 0;color:#60718a;font-size:13px}.wiringPreviewReviewStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wiringPreviewMetric{min-height:58px;padding:10px 12px;border:1px solid #d4deeb;border-radius:8px;background:#fff}.wiringPreviewMetric span{display:block;color:#60718a;font-size:12px;font-weight:680}.wiringPreviewMetric strong{display:block;margin-top:5px;color:#172033;font-size:16px;line-height:1.2;word-break:break-word}.wiringPreviewMetric-ok{border-color:#bcdcc8;background:#f3fbf6}.wiringPreviewMetric-ok strong{color:#176439}.wiringPreviewMetric-warn{border-color:#e7cf98;background:#fff8e7}.wiringPreviewMetric-warn strong{color:#875c00}.wiringPreviewNotes{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:12px;align-items:start;min-width:0;padding:12px 14px;border:1px solid #d4deeb;border-radius:8px;background:#fff}.wiringPreviewNotes h2{margin:0;color:#172033;font-size:18px;line-height:1.25;overflow-wrap:anywhere}.wiringPreviewNotes p{margin:6px 0 0;color:#4d5f78;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.wiringPreviewNotes ul{margin:0;padding-left:18px;color:#2f4058;font-size:13px;line-height:1.55;min-width:0}.wiringPreviewFixtureBar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;padding:0}.wiringPreviewFixtureButton{min-height:34px;padding:0 12px;border:1px solid #c6d2e1;border-radius:8px;background:#fff;color:#2a3850;font-size:13px;font-weight:720;letter-spacing:0;cursor:pointer}.wiringPreviewFixtureButton:hover{border-color:#8fb0d8;background:#f6f9fd}.wiringPreviewFixtureButton.is-active{border-color:#1665d8;background:#e8f1ff;color:#0f3d83}.wiringPreviewWorkspace{min-height:0}.wiringPreviewPageLoading .wiringPreviewWorkspace{min-height:560px}.wiringRouteSkeleton,.wiringRouteError{position:relative;min-height:640px;overflow:hidden;border:1px solid #d2dae7;border-radius:8px;background:linear-gradient(#e1e7ef 1px,transparent 1px),linear-gradient(90deg,#e1e7ef 1px,transparent 1px),#f8fafc;background-size:22px 22px}.wiringRouteSkeleton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);transform:translate(-100%);animation:wiringSkeletonSweep 1.4s ease-in-out infinite}.wiringRouteSkeleton p,.wiringRouteError p,.wiringRouteError strong{position:absolute;left:24px;bottom:22px;z-index:1;margin:0;color:#475569;font-size:14px}.wiringRouteError{display:grid;place-content:center;min-height:420px;padding:24px;background:#fff7ed;text-align:center}.wiringRouteError strong{position:static;display:block;margin-bottom:8px;color:#9a3412;font-size:18px}.wiringRouteError p{position:static;max-width:680px;color:#7c2d12}.wiringRouteSkeletonBoard,.wiringRouteSkeletonPart,.wiringRouteSkeletonWire{position:absolute;z-index:1}.wiringRouteSkeletonBoard{left:13%;top:22%;width:min(42vw,430px);height:270px;border:1px solid rgba(14,116,144,.42);border-radius:14px;background:#2d78a6;box-shadow:0 18px 34px #0f172a29}.wiringRouteSkeletonBoard:before{content:"";position:absolute;left:22px;right:22px;top:20px;height:18px;border-radius:5px;background:repeating-linear-gradient(90deg,#111827 0,#111827 14px,#e5edf3 14px,#e5edf3 20px)}.wiringRouteSkeletonBoard:after{content:"";position:absolute;left:25%;right:12%;bottom:42px;height:38px;border-radius:6px;background:#1f2937}.wiringRouteSkeletonPart{width:130px;height:92px;border:1px solid rgba(51,65,85,.28);border-radius:10px;background:#fff;box-shadow:0 12px 26px #0f172a1f}.wiringRouteSkeletonPartA{left:62%;top:28%}.wiringRouteSkeletonPartB{left:55%;top:55%}.wiringRouteSkeletonWire{height:5px;border-radius:999px;background:#16a34a;transform-origin:left center}.wiringRouteSkeletonWireA{left:42%;top:33%;width:25%}.wiringRouteSkeletonWireB{left:41%;top:60%;width:21%;background:#dc2626}@keyframes wiringSkeletonSweep{to{transform:translate(100%)}}.wiringPreviewWorkspace .wiringDialogEmbedded{height:auto}.wiringPreviewWorkspace .wiringBody{height:auto;overflow:visible}.wiringPreviewWorkspace .wiringLayout{height:auto;align-items:start}.wiringPreviewWorkspace .wiringPreview,.wiringPreviewWorkspace .wiringStepsFloating{height:clamp(540px,68vh,760px);max-height:760px}.wiringHeader{padding:16px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #d7deea;background:#f7fafc}.wiringHeader h2{margin:0;color:#172033;font-size:22px;line-height:1.25}.wiringHeader p{margin:5px 0 0;color:#60718a;font-size:13px}.wiringBody{min-height:0;overflow:auto;padding:16px;background:#edf1f7}.wiringLayout{min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:14px}.wiringDialogEmbedded .wiringLayoutStepsCollapsed{grid-template-columns:minmax(0,1fr) 54px}.wiringPreview{position:relative;min-width:0;min-height:540px;border:1px solid #d2dae7;border-radius:8px;background:linear-gradient(#e1e7ef 1px,transparent 1px),linear-gradient(90deg,#e1e7ef 1px,transparent 1px),#f8fafc;background-size:22px 22px;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.wiringPreview:after{content:attr(data-zoom);position:absolute;right:12px;bottom:10px;z-index:1;padding:4px 8px;border:1px solid rgba(148,163,184,.48);border-radius:6px;background:#f8fafcdb;color:#475569;font-size:12px;line-height:1;pointer-events:none}.wiringPreview.is-panning{cursor:grabbing}.wiringPreview svg{display:block;width:100%;min-width:900px;height:100%;min-height:540px}.wiringWireRoute,.wiringWireLabel,.wiringPinMarker{cursor:pointer}.wiringWire{fill:none;stroke-width:5.8;stroke-linecap:round;stroke-linejoin:round;opacity:.96;transition:opacity .14s ease,stroke-width .14s ease,filter .14s ease}.wiringWireHitArea{fill:none;stroke:transparent;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.wiringWireBridge{pointer-events:none}.wiringWireBridgeGap{fill:#f8fafc;stroke:#f8fafcfa;stroke-width:2}.wiringWireBridgeStroke{stroke-width:5.8;stroke-linecap:round}.wiringPreview[data-density=dense] .wiringWireBridgeGap{r:4.8}.wiringPreview[data-density=dense] .wiringWireBridgeStroke{stroke-width:2.35}.wiringWireCasing{fill:none;stroke:#ffffffc7;stroke-width:10.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .14s ease,stroke-width .14s ease}.wiringPreview.has-wire-selection .wiringWireRoute.is-muted .wiringWire{stroke:#94a3b8;opacity:.16}.wiringPreview.has-wire-selection .wiringWireCasingRoute.is-muted .wiringWireCasing{opacity:.08}.wiringPreview.has-wire-selection .wiringWireRoute.is-selected .wiringWire{stroke-width:7.4;opacity:1;filter:drop-shadow(0 0 7px rgba(14,165,233,.42))}.wiringPreview.has-wire-selection[data-density=dense] .wiringWireRoute.is-selected .wiringWire{stroke-width:6.6}.wiringPreview.has-wire-selection .wiringWireCasingRoute.is-selected .wiringWireCasing{stroke-width:12.8;opacity:.92}.wiringPreview[data-density=dense] .wiringWire{stroke-width:2.35}.wiringPreview[data-density=dense] .wiringWireCasing{stroke-width:3.6}.wiringPreview[data-density=dense][data-wire-mode=signal] .wiringWireRoute-corridor-wire .wiringWire,.wiringPreview[data-density=dense][data-wire-mode=signal] .wiringWireRoute-wire .wiringWire{stroke-width:3.2}.wiringPreview[data-density=dense][data-wire-mode=signal] .wiringWireCasingRoute-corridor-wire .wiringWireCasing,.wiringPreview[data-density=dense][data-wire-mode=signal] .wiringWireCasingRoute-wire .wiringWireCasing{stroke-width:5}.wiringWireRoute-bus-trunk .wiringWire{stroke-width:6.4;opacity:1}.wiringWireCasingRoute-bus-trunk .wiringWireCasing{stroke-width:11.8;opacity:.84}.wiringWireRoute-bus-branch .wiringWire{stroke-width:5.2;opacity:.94}.wiringWireCasingRoute-bus-branch .wiringWireCasing{stroke-width:9.6;opacity:.68}.wiringWireRoute-terminal-bundle .wiringWire{stroke-width:12.4;opacity:.98}.wiringWireRoute-terminal-bundle .wiringWireHitArea{stroke-width:24}.wiringWireCasingRoute-terminal-bundle .wiringWireCasing{stroke:#0f172a29;stroke-width:18;opacity:.9}.wiringWireRoute-terminal-subwire{pointer-events:none}.wiringWireRoute-terminal-subwire .wiringWire{stroke-width:5.8;opacity:1;filter:drop-shadow(0 0 7px rgba(15,23,42,.28))}.wiringWireCasingRoute-terminal-subwire .wiringWireCasing{stroke:#fffffff0;stroke-width:10.4;opacity:1}.wiringPreview[data-density=dense] .wiringWireRoute-bus-trunk .wiringWire{stroke-width:3.1}.wiringPreview[data-density=dense] .wiringWireCasingRoute-bus-trunk .wiringWireCasing{stroke-width:4.7}.wiringPreview[data-density=dense] .wiringWireRoute-bus-branch .wiringWire{stroke-width:2.05}.wiringPreview[data-density=dense] .wiringWireCasingRoute-bus-branch .wiringWireCasing{stroke-width:3.15}.wiringPreview[data-density=dense] .wiringWireRoute-terminal-bundle .wiringWire{stroke-width:9.2}.wiringPreview[data-density=dense] .wiringWireCasingRoute-terminal-bundle .wiringWireCasing{stroke-width:13.8}.wiringPreview[data-density=dense] .wiringWireRoute-terminal-subwire .wiringWire{stroke-width:4.7}.wiringPreview[data-density=dense] .wiringWireCasingRoute-terminal-subwire .wiringWireCasing{stroke-width:8.4}.wiringWireLabelBg{fill:#fff;stroke:#111827;stroke-width:1.7;transition:opacity .14s ease,fill .14s ease,stroke .14s ease}.wiringWireLabelText{fill:#111827;font-size:17px;font-weight:760;letter-spacing:0;pointer-events:none;text-anchor:middle;transition:opacity .14s ease,fill .14s ease}.wiringPreview.has-wire-selection .wiringWireLabel.is-muted{opacity:.2}.wiringPreview.has-wire-selection .wiringWireLabel.is-selected .wiringWireLabelBg{fill:#e0f2fe;stroke:#0369a1}.wiringPreview.has-wire-selection .wiringWireLabel.is-selected .wiringWireLabelText{fill:#075985}.wiringPartTitle,.wiringPartPinLabel,.wiringPinGuideText{text-anchor:middle;font-weight:740;letter-spacing:0;pointer-events:none;paint-order:stroke}.wiringPartTitle{fill:#172033;font-size:17px;stroke:#fffffff5;stroke-width:3.2px}.wiringPartPinLabel{fill:#18212f;font-size:13px;stroke:#fffffff0;stroke-width:3px}.wiringPinBankLabel{font-size:12px;font-weight:760;stroke-width:2.6px}.wiringPinGuideLine{stroke:#334155;stroke-width:1.35;opacity:.42}.wiringPinGuideText{fill:#0f172a;font-size:15px;stroke:#fffffff2;stroke-width:3.4px}.wiringLead{stroke:#64748b;stroke-width:5.5;stroke-linecap:round}.wiringResistorBody{fill:#ead7a2;stroke:#9a6b22;stroke-width:1.4}.wiringComponentBody{fill:#fff;stroke:#334155;stroke-width:2}.wiringGenericFallbackShadow{fill:#0f172a29;filter:blur(5px)}.wiringGenericFallbackBody{stroke:#0f172abd;stroke-width:1.8}.wiringGenericFallbackInner{fill:#ffffff2e;stroke:#ffffff57;stroke-width:1}.wiringGenericFallbackTitle{fill:#fff;font-size:16px;font-weight:820;letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:#0f172a52;stroke-width:2.4px}.wiringGenericFallbackSubtitle,.wiringGenericFallbackEmpty{fill:#ffffffd6;font-size:11px;font-weight:720;letter-spacing:0;pointer-events:none}.wiringGenericFallbackPin circle{fill:#f8fafc;stroke:#0f172ac2;stroke-width:1.3}.wiringGenericFallbackPin.is-connected circle{fill:#fef08a}.wiringGenericFallbackPin text{fill:#fff;font-size:10px;font-weight:780;letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:#0f172a61;stroke-width:2.2px}.wiringUnoPcbShadow{fill:#0f172a33;filter:blur(9px)}.wiringUnoPcbEdge{fill:none;stroke:#05405b94;stroke-width:.34;pointer-events:none}.wiringPartShadowPlate{stroke:#3341552e;stroke-width:1.5}.wiringBoardPart .wiringPartShadowPlate{fill:#0f172a14}.wiringComponentPart .wiringPartShadowPlate{fill:#ffffffc2}.wiringCustomPartWireMask{fill:#f8fbffeb;stroke:none;pointer-events:none}.wiringBoardPlaceholderBody{fill:#2d78a6;stroke:#05405b94;stroke-width:2}.wiringComponentPlaceholderBody{fill:#fff;stroke:#33415552;stroke-width:1.6}.wiringPartPlaceholderText{fill:#fff;font-size:28px;font-weight:800;letter-spacing:0;text-anchor:middle;pointer-events:none}.wiringWokwiPartWrap{width:100%;height:100%;overflow:hidden;background:transparent}.wiringWokwiElement{display:block;transform-origin:0 0}.wiringBoardSocketRail{fill:#111827;stroke:#0f172ae0;stroke-width:1.2}.wiringBoardSocketOuter{fill:#111827;stroke:#e5edf3;stroke-width:1.1}.wiringBoardSocketInner{fill:#f8fafc;stroke:#111827;stroke-width:.8}.wiringComponentPinLine{stroke:#334155;stroke-width:1.4;opacity:.62}.wiringPinBankTick,.wiringPinBankRail,.wiringPinBankRailTick{opacity:.42}.wiringPinMarker{fill:#fafafa;stroke:#111827;stroke-width:2.2;transition:opacity .14s ease,fill .14s ease,stroke .14s ease,stroke-width .14s ease}.wiringBusJunctionMarker{fill:#fff;stroke-width:2}.wiringPreview.has-wire-selection .wiringPinMarker.is-muted{opacity:.18}.wiringPreview.has-wire-selection .wiringPinMarker.is-selected{fill:#e0f2fe;stroke:#0369a1;stroke-width:3.4}.wiringSteps{min-width:0;max-height:560px;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;overscroll-behavior:contain;padding:14px;border:1px solid #b7d2ff;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 14px 28px #1f53991f,0 2px 8px #1f53990f}.wiringStepsFloating{display:grid;grid-template-columns:50px minmax(0,1fr);max-height:none;overflow:hidden;padding:0}.wiringStepsFloating.is-collapsed{grid-template-columns:54px 0;min-width:54px}.wiringStepsToggle{position:relative;min-width:50px;min-height:100%;display:grid;grid-template-rows:36px minmax(0,1fr);place-items:center;gap:12px;border:0;border-right:1px solid #d8e7ff;border-radius:16px 0 0 16px;overflow:hidden;padding:14px 0;background:linear-gradient(180deg,#edf6ff,#dcecff);color:#fff;cursor:pointer;font-size:12px;font-weight:950}.wiringStepsToggle:before{content:"";position:absolute;inset:52px auto 14px 10px;width:4px;border-radius:999px;background:linear-gradient(180deg,#7eb0ff,#2f80ff);opacity:.92;box-shadow:0 0 0 3px #2f80ff12}.wiringStepsToggle svg{position:relative;z-index:1;width:30px;height:30px;padding:7px;border:1px solid #b8d3ff;border-radius:999px;background:linear-gradient(180deg,#fff,#edf5ff);color:#0759d6;box-shadow:0 8px 18px #1f53992e}.wiringStepsToggle span{position:relative;z-index:1;display:inline-grid;place-items:center;min-height:58px;min-width:26px;border-radius:999px;padding:9px 5px;background:linear-gradient(180deg,#1c7dff,#075ff0);box-shadow:0 10px 20px #075ff033,inset 0 1px #ffffff3d;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;line-height:1;letter-spacing:.1em}.wiringStepsFloating.is-collapsed .wiringStepsToggle{min-width:54px;border-right:0;border-radius:16px}.wiringStepsContent{min-width:0;min-height:0;display:grid;align-content:start;gap:12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.wiringStepsFloating .wiringStepsContent{min-height:0;overflow-x:hidden;overflow-y:auto;padding:14px 16px 16px}.wiringStepsFloating.is-collapsed .wiringStepsContent{visibility:hidden}.wiringStepsTitle{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:2px 0 10px;border-bottom:1px solid #e3eeff}.wiringStepsTitle>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #c9dcff;border-radius:999px;background:#eef6ff;color:#1266e3}.wiringSteps h3{margin:0;color:#071d55;font-size:16px;font-weight:950;line-height:1.2}.wiringStepList{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:#425b83;line-height:1.55}.wiringStepList li{padding:0}.wiringStepList li.is-muted{opacity:.62}.wiringStepList li.is-selected{color:#075985}.wiringStepButton{width:100%;min-height:58px;margin:0;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:9px;border:1px solid #d8e7ff;border-radius:12px;padding:10px 11px;background:linear-gradient(180deg,#fff,#f5f9ff);color:#29466d;font:inherit;font-size:13px;font-weight:800;line-height:1.55;text-align:left;cursor:pointer;box-shadow:0 6px 14px #1f539912}.wiringStepButton:hover,.wiringStepList li.is-selected .wiringStepButton{border-color:#9fc4ff;background:linear-gradient(180deg,#f9fcff,#eaf4ff);color:#0d4fb3;box-shadow:0 8px 18px #1f53991f}.wiringStepButton:focus-visible{outline:2px solid #0284c7;outline-offset:2px}.wiringStepButton:disabled{cursor:default}.wiringStepNumber{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#e8f2ff;color:#1266e3;font-size:12px;font-weight:950;line-height:1}.wiringStepText{min-width:0;line-height:1.55}.wiringStepToken{display:inline-block;margin:0 1px;border-radius:6px;padding:0 4px;background:#e6f1ff;color:#0759d6;font-weight:950}.wiringIssueBox{margin-bottom:12px;padding:10px 12px;border:1px solid #f0c46d;border-radius:8px;background:#fff7e6;color:#7a4b00}.wiringIssueBoxError{border-color:#f4a7a1;background:#fff1f0;color:#a62116}.wiringIssueBox p{margin:4px 0 0}.wiringJsonDetails{margin-top:2px;padding-top:10px;border-top:1px dashed #d8e7ff}.wiringJsonDetails summary{min-height:32px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe8fb;border-radius:10px;padding:0 10px;background:#f8fbff;color:#587297;cursor:pointer;font-size:12px;font-weight:850;list-style:none}.wiringJsonDetails summary::-webkit-details-marker{display:none}.wiringJsonDetails summary:hover{border-color:#c4d8f7;background:#eef6ff;color:#31537f}.wiringJsonDetails pre{margin-top:10px;max-height:230px;overflow:auto;padding:10px;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:12px}.wiringEmpty{min-height:220px;display:grid;place-items:center;color:#64748b}.knowledgeState,.knowledgeError{margin-bottom:14px;border:1px solid #cbd6e5;border-radius:8px;padding:12px 14px;background:#fff}.knowledgeState{display:grid;gap:3px;color:#52647c}.knowledgeState strong{color:#21304a}.knowledgeError{border-color:#c2414157;background:#fff5f5;color:#9b2c2c}.knowledgeSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.knowledgeSummary div{min-width:0;border:1px solid #d7deea;border-radius:8px;padding:10px 12px;background:#fff}.knowledgeSummary span{display:block;color:#60718a;font-size:12px}.knowledgeSummary strong{display:block;margin-top:4px;color:#21304a;overflow-wrap:anywhere}.knowledgeLead{margin-bottom:16px;border-left:4px solid #1f7a6d;border-radius:8px;padding:12px 14px;background:#fff;color:#263750}.knowledgeLead p{margin:0}.knowledgeLead p+p{margin-top:6px}.knowledgeSections{display:flex;flex-direction:column;gap:14px}.knowledgeSection{border:1px solid #d7deea;border-radius:8px;background:#fff;overflow:hidden}.knowledgeSectionTitle{padding:14px 16px;border-bottom:1px solid #e1e7f0;background:#fbfcfe}.knowledgeSectionTitle h3{margin:0;color:#17324d;font-size:17px}.knowledgeSectionTitle p{margin:5px 0 0;color:#60718a;font-size:13px}.knowledgeItems{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.knowledgeItem{min-width:0;padding:14px 16px;border-top:1px solid #edf1f7}.knowledgeItem:nth-child(1),.knowledgeItem:nth-child(2){border-top:0}.knowledgeItem:nth-child(odd){border-right:1px solid #edf1f7}.knowledgeItem h4{margin:0 0 6px;color:#21304a;font-size:14px}.knowledgeItem p{margin:0;color:#3e4f66;font-size:13px;line-height:1.55}.knowledgeCodeRefs{display:grid;gap:6px;margin-top:10px}.knowledgeCodeRefs code{display:block;border:1px solid #d7deea;border-radius:6px;padding:6px 8px;background:#f5f8fb;color:#25364d;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.chatList{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:9px;padding:11px 12px 12px;border:1px solid #e3eeff;border-radius:12px;background:#f8fbff}.chatBubble{max-width:94%;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;border:1px solid transparent}.chatMessageRow{width:100%;display:flex;align-items:flex-end;gap:6px}.chatMessageRowAssistant{justify-content:flex-start}.chatMessageRowUser{justify-content:flex-end}.chatMessageRowUser .chatBubble{max-width:calc(94% - 34px)}.chatCopyButton{width:28px;min-width:28px;min-height:28px;padding:0;display:grid;place-items:center;border-color:#cfdbeb;border-radius:8px;background:#ffffffe0;color:#60738d;box-shadow:0 3px 8px #1f539914}.chatCopyButton:hover{border-color:#9fc4ff;background:#fff;color:#075ff0}.chatCopyButtonCopied,.chatCopyButtonCopied:hover{border-color:#9ed7b0;background:#f0fbf3;color:#237a3b}.chatBubbleContent{white-space:pre-wrap}.chatMeta{margin-top:6px;display:flex;flex-direction:column;gap:4px}.chatMetaBadge{width:fit-content;min-height:20px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;font-size:10px;font-weight:700}.chatMetaBadgedeepseek{background:#2f6ff11f;color:#2d5ccf}.chatMetaBadgemimo{background:#2563eb1f;color:#2459a6}.chatMetaBadgeopenai_compatible{background:#3b82f61f;color:#2459a6}.chatMetaText{color:#5d6f86;font-size:11px}.chatTimings{width:fit-content;display:inline-flex;flex-wrap:wrap;gap:6px;color:#34435a;font-size:11px;font-weight:700}.chatTimings span{min-height:20px;padding:2px 7px;border:1px solid #d6dfeb;border-radius:999px;background:#ffffffd1}.chatReasoning,.chatWorkflow{border:1px solid #d8e3ef;border-radius:8px;background:#fff}.chatReasoning summary,.chatWorkflow summary{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 8px;cursor:pointer;list-style:none;color:#24364d;font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none}.chatReasoning summary::-webkit-details-marker,.chatWorkflow summary::-webkit-details-marker{display:none}.chatReasoning summary::marker,.chatWorkflow summary::marker{content:""}.chatReasoning summary:after,.chatWorkflow summary:after{content:"";width:8px;height:8px;margin-top:-2px;margin-left:auto;border-right:1.5px solid #7a8ba3;border-bottom:1.5px solid #7a8ba3;transform:rotate(45deg);transition:transform .14s ease;flex:0 0 auto}.chatReasoning[open] summary,.chatWorkflow[open] summary{border-bottom:1px solid #edf2f7}.chatReasoning[open] summary:after,.chatWorkflow[open] summary:after{transform:rotate(-135deg)}.chatReasoningBody,.chatWorkflowBody{padding:0 8px 8px;color:#34465b;font-size:11px;line-height:1.45;white-space:pre-wrap}.chatWorkflowPanel{padding:0 8px 8px;color:#334155;font-size:11px}.chatWorkflowHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding-bottom:6px}.chatWorkflowHeader strong,.chatWorkflowSection h4{display:block;color:#24364d;font-size:11px}.chatWorkflowHeader span{display:block;margin-top:2px;color:#5d6f86;font-size:10px}.chatWorkflowArtifacts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:45%}.chatWorkflowArtifacts span{min-height:18px;padding:1px 5px;border:1px solid #d1ddea;border-radius:999px;background:#f8fbfe;color:#405066;font-size:10px}.chatWorkflowMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.chatWorkflowMetric{min-width:0;padding:6px 7px;border:1px solid #d8e3ef;border-radius:8px;background:#fff}.chatWorkflowMetric span{display:block;color:#5d6f86;font-size:10px}.chatWorkflowMetric strong{display:block;margin-top:2px;color:#21304a;font-size:11px;overflow-wrap:anywhere}.chatWorkflowMetric-success,.chatWorkflowSection-success{border-color:#2f6ff147;background:#eef4ffb8}.chatWorkflowMetric-warning,.chatWorkflowSection-warning{border-color:#c7802059;background:#fff7edb8}.chatWorkflowMetric-danger,.chatWorkflowSection-danger{border-color:#c2414157;background:#fef2f2c2}.chatWorkflowSections{display:flex;flex-direction:column;gap:6px}.chatWorkflowSection{border:1px solid #d8e3ef;border-radius:8px;padding:7px;background:#fff}.chatWorkflowSection h4{margin:0 0 5px}.chatWorkflowSection ul{margin:0;padding-left:16px}.chatWorkflowSection li{margin:3px 0;overflow-wrap:anywhere}.chatWorkflowChangeDot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:999px;background:#b7c4d4}.chatWorkflowChangeDot-on{background:#2d6cdf}.chatCodeGeneration{margin-top:2px;min-width:min(620px,100%)}.chatCodeRestoreActions{display:flex;justify-content:flex-end}.chatCodeRestoreButton{min-height:28px;padding:0 9px;font-size:11px}.aiVersionHistoryButton{min-height:28px;padding:0 8px}.codeRestoreUndoNotice{margin:0 12px 8px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #aed4b8;border-radius:10px;background:#f0fbf3;color:#245c34;font-size:11px}.codeRestoreUndoNotice button{min-height:28px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border-color:#9bcbaa;background:#fff;color:#237a3b;white-space:nowrap}.codeRestoreDialogBody{display:grid;gap:12px}.codeRestoreDialogBody>p{margin:0;color:#405066;line-height:1.6}.codeRestoreDialogActions{display:flex;justify-content:flex-end;gap:10px}.projectVersionsDialogBody,.projectVersionRestoreBody{display:grid;gap:12px}.projectVersionsDialogBody>p,.projectVersionRestoreBody>p{margin:0;color:#50627a;font-size:13px;line-height:1.6}.projectVersionsDialogActions{display:flex;justify-content:flex-end;gap:10px}.projectVersionsEmpty{padding:24px;border:1px dashed #c9d8e9;border-radius:12px;background:#f8fbff;text-align:center}.projectVersionsList{max-height:min(60vh,620px);overflow-y:auto;display:grid;gap:9px;padding-right:3px}.projectVersionItem{min-width:0;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d8e3ef;border-radius:12px;background:#fff}.projectVersionItemMain{min-width:0;display:grid;gap:5px}.projectVersionItemHeader{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.projectVersionItemHeader strong{min-width:0;color:#24364d;font-size:13px;overflow-wrap:anywhere}.projectVersionLatestBadge{min-height:20px;padding:1px 7px;display:inline-flex;align-items:center;border-radius:999px;background:#eaf3ff;color:#0759d6;font-size:10px;font-weight:700}.projectVersionItem p{margin:0;color:#596b82;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.projectVersionMeta{display:flex;flex-wrap:wrap;gap:5px}.projectVersionMeta span{min-height:20px;padding:1px 7px;display:inline-flex;align-items:center;border:1px solid #d8e3ef;border-radius:999px;background:#f8fbff;color:#60738d;font-size:10px}.projectVersionRestoreSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.projectVersionRestoreSummary>div{min-width:0;padding:9px 10px;border:1px solid #d8e3ef;border-radius:10px;background:#f8fbff}.projectVersionRestoreSummary span,.projectVersionRestoreSummary strong{display:block}.projectVersionRestoreSummary span{color:#6b7c90;font-size:10px}.projectVersionRestoreSummary strong{margin-top:3px;color:#24364d;font-size:12px;overflow-wrap:anywhere}.codeDiffPreview{min-width:0;overflow:hidden;border:1px solid #d0d7de;border-radius:10px;background:#fff;box-shadow:0 4px 12px #1f53990f}.codeDiffPreviewHeader{min-height:42px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #d8dee4;background:#f6f8fa}.codeDiffPreviewLegend{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.codeDiffPreviewLegend span{min-height:22px;padding:2px 7px;display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:700}.codeDiffPreviewLegendRemoved{background:#ffebe9;color:#a40e26}.codeDiffPreviewLegendAdded{background:#dafbe1;color:#116329}.codeDiffPreview>.codeDiffList{max-height:min(52vh,520px)}@media(max-width:760px){.codeDiffPreviewHeader,.codeRestoreUndoNotice{align-items:flex-start;flex-direction:column}.projectVersionItem{align-items:stretch;flex-direction:column}.projectVersionItem>.ui-button{width:100%}.projectVersionRestoreSummary{grid-template-columns:1fr}}.chatCodeGeneration .codeWorkspaceBottom{flex:none;grid-template-columns:minmax(0,1fr);gap:8px}.chatCodeGeneration .codeDiffList{max-height:260px}.chatCodeGeneration .codeReviewBody{max-height:220px}.chatCodeGeneration .codeDiffPanel,.chatCodeGeneration .codeReviewPanel{background:#ffffffb8}.chatBubbleAssistant{align-self:flex-start;border-color:#d8e7ff;background:#fff;color:#253653;box-shadow:0 5px 12px #1f53990f}.chatBubbleThinking{position:relative;border:1px solid rgba(47,128,255,.2);background:linear-gradient(135deg,#f9fcfffa,#eaf4fff5)}.chatBubbleThinking:after{content:"";position:absolute;right:12px;bottom:10px;width:6px;height:6px;border-radius:999px;background:#2d6cdf;animation:thinkingPulse 1.2s ease-in-out infinite}.chatBubbleUser{align-self:flex-end;border-color:#075ff0;background:linear-gradient(180deg,#1c7dff,#075ff0);color:#fff;box-shadow:0 10px 18px #075ff029}.requirementIntakeCard{display:grid;gap:12px;min-width:min(100%,420px)}.requirementIntakeHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.requirementIntakeHeader>div{display:grid;gap:3px;min-width:0}.requirementIntakeHeader strong{font-size:14px;line-height:1.25}.requirementIntakeHeader span{color:#607086;font-size:12px;line-height:1.3}.requirementStatus{flex:0 0 auto;padding:3px 7px;border:1px solid #d7e2ef;border-radius:999px;color:#4e617a;background:#fff;font-size:11px;font-weight:700}.requirementStatusconfirmed{border-color:#8cc7a2;color:#24613a;background:#ecf8f0}.requirementStatuscancelled{border-color:#dfc38d;color:#73551f;background:#fff8e8}.requirementStatusloading{border-color:#9db7e3;color:#285696;background:#eef5ff}.requirementStatuscollecting{border-color:#b9c7d8;color:#425773;background:#f7faff}.requirementStatusready{border-color:#8cc7a2;color:#24613a;background:#ecf8f0}.requirementStatusblocked{border-color:#e1b1a8;color:#8e3929;background:#fff2ef}.requirementQuestionBlock{display:grid;gap:9px;padding:10px;border:1px solid #dce5ef;border-radius:8px;background:#fff}.requirementStepCard{display:grid;gap:10px;padding:12px;border:1px solid #bcd0ea;border-radius:8px;background:#f8fbff}.requirementStepCard h3{margin:0;color:#203657;font-size:14px;line-height:1.35}.requirementStepCard p{margin:0;color:#52647c;font-size:12px;line-height:1.5}.requirementStepProgress{color:#2d5fb8;font-size:11px;font-weight:800}.requirementOptionList{display:grid;gap:8px}.requirementOptionButton,.requirementOptionToggle{width:100%;min-width:0;border:1px solid #d5dfeb;border-radius:8px;background:#fff;color:#263853;text-align:left}.requirementOptionButton{display:grid;gap:4px;padding:9px 10px;cursor:pointer}.requirementOptionButton:hover:not(:disabled){border-color:#8fb1df;background:#f7fbff}.requirementOptionButton:disabled{cursor:not-allowed;opacity:.58}.requirementOptionButton strong,.requirementOptionToggle strong{font-size:12px;line-height:1.35}.requirementOptionButton span,.requirementOptionToggle small{color:#5a6f89;font-size:11px;line-height:1.4}.requirementOptionToggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:8px;padding:9px 10px}.requirementOptionToggle input{margin-top:2px}.requirementOptionToggle span{display:grid;gap:3px}.requirementDecisionList{display:flex;flex-wrap:wrap;gap:6px}.requirementDecision{padding:3px 7px;border:1px solid #d5dfeb;border-radius:999px;background:#fff;color:#536782;font-size:11px;line-height:1.35}.requirementDecisionaccepted{border-color:#98cda7;background:#eef8f1;color:#28633d}.requirementDecisionrejected{border-color:#e1b1a8;background:#fff2ef;color:#8e3929}.requirementField,.requirementPinField{display:grid;gap:5px;min-width:0}.requirementField span,.requirementPinField span{color:#536782;font-size:12px;font-weight:700}.requirementField select,.requirementField input,.requirementField textarea,.requirementPinField select{width:100%;min-width:0;min-height:34px;border:1px solid #d5dfeb;border-radius:6px;background:#fbfdff;color:#21304a;font:inherit}.requirementField textarea{resize:vertical;min-height:82px;padding:8px 9px;line-height:1.45}.requirementPinGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.requirementModeLine{display:flex;flex-wrap:wrap;gap:6px}.requirementModeLine span,.requirementNotes span{padding:3px 7px;border-radius:999px;background:#f0f4f8;color:#52647c;font-size:11px;line-height:1.35}.requirementWarning{margin:0;color:#9b3b26;font-size:12px;line-height:1.45}.requirementSummary{display:grid;gap:5px;color:#304158;font-size:12px;line-height:1.45}.requirementSummary div{overflow-wrap:anywhere}.requirementNotes{display:flex;flex-wrap:wrap;gap:6px}.requirementActions{display:flex;justify-content:flex-end;gap:8px}.requirementPrimaryButton{min-height:32px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-color:#2f6ff1;background:#2f6ff1;color:#fff;white-space:nowrap}.requirementPrimaryButton:disabled{border-color:#c9d3e0;background:#e4ebf3;color:#7b8796;cursor:not-allowed}@keyframes thinkingPulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.chatComposer{padding:0 12px 12px;grid-template-columns:minmax(0,1fr);gap:8px;flex-shrink:0}.chatModeToggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chatModeButton{min-width:0;min-height:48px;padding:8px 10px;display:grid;align-content:center;gap:2px;border-color:#d8e7ff;border-radius:12px;background:#fff;color:#29466d;text-align:left;box-shadow:0 4px 10px #1f53990d}.chatModeButton:hover:not(:disabled){border-color:#9fc4ff;background:#f8fbff}.chatModeButton strong{min-width:0;font-size:12px;line-height:1.2}.chatModeButton span{min-width:0;color:#6b7c90;font-size:11px;line-height:1.2;overflow-wrap:anywhere}.chatModeButton:disabled{border-color:#d6e0ec;background:#e8eef7;color:#6f7e90;cursor:not-allowed;opacity:1}.chatModeButton:disabled span{color:#7a8797}.chatModeButtonActive,.chatModeButtonActive:hover:not(:disabled){border-color:#9fc4ff;background:linear-gradient(180deg,#fff,#eaf4ff);color:#0759d6;box-shadow:0 6px 14px #1f53991a,inset 0 0 0 1px #2f80ff14}.chatModeButtonActive span{color:#4d74b6}.chatModeButtonActive:disabled{border-color:#2d6cdf;background:#eaf2ff;color:#172033}.chatModeButtonActive:disabled span{color:#172033;font-size:11px;font-weight:700}.chatComposerInput{position:relative;min-width:0}.chatComposer textarea{width:100%;resize:none;min-height:74px;padding:10px 92px 10px 12px;font-size:13px;line-height:1.45;border:1px solid #c9dcff;border-radius:12px;background:#fff;box-shadow:0 6px 14px #1f53990f}.chatComposerActions{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:8px}.chatComposer textarea::placeholder{color:#8a97aa;opacity:1}.voiceButtonRecording{border-color:#d64d3f;background:#fff1ef;color:#8f2419}.composerIconButton{width:36px;min-width:36px;min-height:36px;padding:0;display:grid;place-items:center;border-radius:999px;line-height:1}.composerIconButton svg{width:18px;height:18px;flex:0 0 auto}.voiceButton{border-color:#c9dcff;background:#f8fbff;color:#31537f}.voiceButton:hover:not(:disabled){border-color:#9fc4ff;background:#eef5ff}.stopAiButton{border-color:#d44d4d;background:#fff2f2;color:#8f2222}.stopAiButton:hover:not(:disabled){border-color:#b63434;background:#ffe7e7}.sendButton{border-color:#075ff0;background:linear-gradient(180deg,#1c7dff,#075ff0);color:#fff;box-shadow:0 8px 16px #075ff02e}.sendButton:hover:not(:disabled){border-color:#275fce;background:#275fce}.chatVoiceStatus{grid-column:1 / -1;min-height:16px;color:#5d6f86;font-size:12px;line-height:1.4}@media(max-width:980px){.topbar{grid-template-columns:1fr;grid-template-areas:"brand" "project";align-items:stretch}.projectControls,.projectHeaderArea,.projectFileControls{width:100%}.projectHeaderArea{align-items:stretch}.projectHeaderArea .projectControls{flex:1 1 auto}.projectTitleCombo{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 34px}.headerStatusMeta{min-width:0;padding-left:0;border-left:0}.brand{flex-wrap:wrap}.brandStatus{flex:1 1 220px;max-width:100%;margin-left:10px}.toolbar{grid-template-columns:1fr;padding-top:0;border-top:0}.toolbarMainControls{width:100%}.viewControls{justify-self:start;margin-left:0;padding-left:0;border-left:0}.statusBand{align-items:flex-start;flex-direction:column}.statusMeta{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:4px}.studioFrame,.studioFrameCollapsed{grid-template-columns:1fr;gap:12px;padding:12px}.aiSidebarRailLabel{grid-auto-flow:column;align-items:center}.aiSidebarRailLabel strong,.aiSidebarRailLabel span{writing-mode:initial;transform:none}.studioTabs{width:100%}.iotProjectToggle{width:100%;justify-content:space-between}.studioTabBar,.studioTabActions{width:100%}.studioTabBar{flex-direction:column}.studioTabActions{min-width:0;flex-wrap:wrap;overflow-x:visible}.studioActionGroup{width:100%;flex-wrap:wrap}.studioActionGroup+.studioActionGroup{padding-left:0;border-left:0}.compactActionButton{width:auto;min-width:0;flex:1 1 96px}.studioTabActions .compactActionButton span{position:static;width:auto;height:auto;margin:0;overflow:hidden;clip:auto;border:0}.projectControls,.adminCreateForm,.adminAiModelForm,.adminAiModelFormMain,.adminAiModelCardMain,.adminUserRow,.adminUserActions{width:100%;grid-template-columns:1fr;justify-content:stretch}.projectControls{flex-direction:column;align-items:stretch}.projectTitleCombo{width:100%}.projectFileControls{flex-direction:column;align-items:stretch}.projectFileControls button{width:100%}.adminPanel{max-height:min(72vh,calc(100vh - 148px));padding:12px}.adminPageTopbar{align-items:stretch;flex-direction:column}.adminPageActions{justify-content:flex-start}.adminMetricsGrid,.adminRuleGrid,.adminDataTableHeader,.adminDataTableRow,.adminLeaderboardTable .adminDataTableHeader,.adminLeaderboardTable .adminDataTableRow,.adminAdjustmentForm{grid-template-columns:1fr}.communityPanel{max-height:min(64vh,calc(100vh - 148px));padding:12px}.communityTopbar{flex-wrap:wrap;align-items:flex-start;gap:12px 14px}.communityBrand{min-width:0}.communityTopbarNav{order:3;width:100%;padding-bottom:2px}.communityTopbarActions{width:100%;justify-content:flex-start}.communitySearchBar{width:100%;min-width:0;max-width:none;flex:1 1 100%}.communityHeaderBand,.communityPublishStrip{align-items:flex-start;flex-direction:column}.communityHeaderBand{padding:20px 14px 14px}.communityPublishStrip{padding:14px 14px 8px}.communityNoticeBand{margin:10px 14px 0}.communitySectionTitle h1{font-size:30px}.communityFeedTabs{width:100%;gap:14px}.communityFeedTab{min-height:40px;padding-bottom:10px;font-size:16px}.communityPublishControls{width:100%;justify-content:stretch}.communityPublishControls input{min-width:0;flex:1 1 auto}.communityPublishButton{flex:1 1 auto}.communityGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:16px 14px 20px}.communityProjectRow{grid-template-columns:1fr}.communityProjectActions{justify-content:flex-start}.communityDescriptionEditorActions{align-items:stretch}.communityDescriptionEditorHint{margin-right:0;width:100%}.communityEditButton,.communityDescriptionSaveButton,.communityDescriptionCancelButton{flex:1 1 auto}.projectControls select,.projectControls input,.adminAiModelForm input,.adminAiModelForm select,.adminAiModelCard input,.adminAiModelCard select,.adminUserActions input{width:100%}.workbench,.workbench.hasCodePane,.workbench.hasSerialPane,.workbench.hasCodePane.hasSerialPane{grid-template-columns:1fr}.workbench{grid-template-rows:minmax(420px,58vh)}.workbench.hasCodePane{grid-template-rows:minmax(420px,58vh) minmax(240px,34vh)}.workbench.hasSerialPane{grid-template-rows:minmax(420px,58vh) minmax(320px,42vh)}.workbench.hasCodePane.hasSerialPane{grid-template-rows:minmax(420px,58vh) minmax(240px,34vh) minmax(320px,42vh)}.programmingWorkbench{min-height:58vh}.chatModeToggle{grid-template-columns:1fr}.codeWorkspaceBottom{flex-basis:320px;grid-template-columns:1fr}.bottomDockResizeHandle{display:none}.workspacePane{border-right:0}.codePaneResizeHandle{display:none}.codeDock{grid-column:1;grid-row:2;border-top:1px solid #d7deea}.bottomDock{grid-column:1;grid-row:2;grid-template-columns:1fr}.workbench.hasCodePane.hasSerialPane .bottomDock{grid-row:3}.serialPanel{border-right:0;border-bottom:1px solid #d7deea}.serialControlsConnection,.serialControlsMeta,.serialControlGrid,.serialAdvancedGrid,.serialToolbar,.serialMonitorShell .serialComposer,.serialComposer{grid-template-columns:1fr}.serialBaudField{max-width:none}.serialAdvancedStats,.serialAdvancedSearchBox{grid-column:1}.serialToggleGroup{width:100%}.serialToggleGroup .ghostButton{flex:1}.aiFloatingPanel{width:min(360px,calc(100vw - 24px));height:calc(100vh - 120px)}.knowledgeDialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.knowledgeDialogEmbedded{width:100%;max-height:none}.knowledgeHeader,.knowledgeHeaderAside{align-items:stretch;flex-direction:column}.knowledgeLessonProgress{width:100%}.knowledgeLessonProgressLabel{justify-self:start}.knowledgeActions{justify-content:flex-start}.knowledgeLessonGrid{grid-template-columns:1fr}.knowledgeLessonColumn{min-height:auto}.knowledgeSummary,.knowledgeItems{grid-template-columns:1fr}.knowledgeItem,.knowledgeItem:nth-child(odd){border-right:0}.knowledgeItem:nth-child(2){border-top:1px solid #edf1f7}.wiringDialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.wiringDialogEmbedded{width:100%;max-height:none}.wiringPreviewReviewStrip,.wiringPreviewNotes{grid-template-columns:1fr}.wiringPreviewPage{height:auto;grid-template-rows:none;grid-auto-rows:max-content}.wiringPreviewPageHeader{order:1}.wiringPreviewFixtureBar{order:2;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.wiringPreviewFixtureButton{flex:0 0 auto}.wiringPreviewWorkspace{order:3}.wiringPreviewReviewStrip{order:4;grid-template-columns:repeat(2,minmax(0,1fr))}.wiringPreviewNotes{order:5}.wiringHeader{align-items:stretch;flex-direction:column}.wiringLayout,.wiringDialogEmbedded .wiringLayoutStepsCollapsed{grid-template-columns:1fr}.wiringPreview,.wiringSteps{min-height:320px;max-height:none}.wiringPreviewWorkspace .wiringPreview{height:clamp(280px,75vw,420px);min-height:280px;max-height:420px}.wiringPreviewWorkspace .wiringPreview svg{min-width:100%}.wiringPreviewWorkspace .wiringStepsFloating{height:min(58vh,480px);min-height:320px;max-height:480px}}@media(max-width:640px){.communityTopbar{padding:12px}.communityTopbarNav{gap:10px}.communityTopbarNavItem{font-size:13px}.communityBrandText strong{font-size:16px}.communityBrandText span{font-size:11px}.communitySectionTitle h1{font-size:26px}.communityProjectCover{min-height:196px}.communityProjectCoverBody{max-width:100%}.communityProjectCoverTitle{font-size:18px}.communityProjectCard{border-radius:10px}}.studentJoinClassroomSection{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;margin:0 auto 32px;max-width:600px}.studentJoinClassroomButton{display:flex;align-items:center;gap:12px;padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.studentJoinClassroomButton:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.studentJoinClassroomButton span:first-child{font-size:24px}.studentJoinClassroomHint{color:#666;font-size:14px;margin:0}.studentModalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.studentModal{background:#fff;border-radius:16px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.studentModalHeader{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.studentModalHeader h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.studentModalClose{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.studentModalClose:hover{color:#4b5563}.studentModalBody{padding:24px}.studentModalDescription{margin:0 0 20px;color:#6b7280;font-size:14px;line-height:1.6}.studentFormGroup{display:flex;flex-direction:column;gap:8px}.studentFormGroup label{font-size:14px;font-weight:500;color:#374151}.studentInput{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:all .2s;box-sizing:border-box}.studentInput:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.studentInput:disabled{background:#f3f4f6;cursor:not-allowed}.studentModalError{margin:12px 0 0;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.studentModalFooter{display:flex;gap:12px;padding:16px 24px 24px;justify-content:flex-end}.studentButton{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.studentButtonSecondary{background:#f3f4f6;color:#374151}.studentButtonSecondary:hover:not(:disabled){background:#e5e7eb}.studentButtonPrimary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.studentButtonPrimary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.studentButton:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.studentModal{width:95%;margin:16px}.studentModalHeader,.studentModalBody,.studentModalFooter{padding:16px}.studentJoinClassroomButton{font-size:16px;padding:14px 28px}}.unifiedLoginTypeTabs{display:flex;gap:8px;margin-bottom:24px;background:#f3f4f6;padding:4px;border-radius:12px}.unifiedLoginTypeTabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-radius:8px;font-size:15px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;line-height:1.35;overflow-wrap:anywhere}.unifiedLoginTypeTabs button svg{flex-shrink:0}.unifiedLoginTypeTabs button:hover{color:#374151;background:#ffffff80}.unifiedLoginTypeTabs button.active{background:#fff;color:var(--color-primary-hover);box-shadow:0 1px 3px #0000001a}.unifiedLoginInviteHint{text-align:center;color:var(--color-text-secondary);font-size:13px;margin:12px 0 0}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.ui-modal.driverDownloadDialog{background:#fff;border-radius:12px;box-shadow:0 12px 48px #0003;max-height:90vh;overflow:hidden}.ui-modal.driverDownloadDialog>.ui-modal-header{padding:24px 64px 16px 24px}.ui-modal.driverDownloadDialog .ui-modal-title{font-size:20px;font-weight:600;color:#18243a}.ui-modal.driverDownloadDialog>.ui-modal-body{display:flex;flex-direction:column;gap:20px;padding:20px 24px}.driverDownloadDescription{margin:0;font-size:14px;color:#5a6c86}.driverDownloadForm{display:flex;flex-direction:column;gap:16px}.driverDownloadPreview{background:#f4f6fb;border:1px solid #d7deea;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px}.driverDownloadPreview h3{margin:0;font-size:16px;font-weight:600;color:#18243a}.driverDownloadNote{margin:0;font-size:14px;color:#5a6c86;line-height:1.5}.driverDownloadMeta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.driverDownloadVendor,.driverDownloadSource{font-size:13px;padding:4px 10px;border-radius:4px;background:#fff;color:#5a6c86;border:1px solid #d7deea}.ui-modal.driverDownloadDialog>.ui-modal-footer{padding:16px 24px 24px}.ui-modal.driverDownloadDialog>.ui-modal-footer button{min-width:100px}@media(max-width:640px){.ui-modal.driverDownloadDialog>.ui-modal-header{padding:20px 56px 14px 20px}.ui-modal.driverDownloadDialog>.ui-modal-body{padding:18px 20px}.ui-modal.driverDownloadDialog>.ui-modal-footer{padding:14px 20px 20px}.ui-modal.driverDownloadDialog>.ui-modal-footer button{width:100%}}
