.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.m-7{margin:1.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mt-2{margin-top:.5rem}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[46px\]{min-height:46px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:18px}.rounded-\[30px\]{border-radius:30px}.rounded-\[var\(--radius-2xl\)\]{border-radius:var(--radius-2xl)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.border{border-width:1px}.border-\[rgba\(120\2c 140\2c 255\2c 0\.12\)\]{border-color:rgba(120,140,255,.12)}.border-\[rgba\(120\2c 140\2c 255\2c 0\.16\)\]{border-color:rgba(120,140,255,.16)}.border-\[rgba\(120\2c 140\2c 255\2c 0\.18\)\]{border-color:rgba(120,140,255,.18)}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[rgba\(5\2c 8\2c 22\2c 0\.72\)\]{background-color:rgba(5,8,22,.72)}.bg-\[rgba\(8\2c 12\2c 24\2c 0\.68\)\]{background-color:rgba(8,12,24,.68)}.bg-\[var\(--panel\)\]{background-color:var(--panel)}.bg-\[linear-gradient\(135deg\2c rgba\(255\2c 107\2c 138\2c 0\.22\)\2c rgba\(190\2c 24\2c 93\2c 0\.14\)\)\]{background-image:linear-gradient(135deg,rgba(255,107,138,.22),rgba(190,24,93,.14))}.bg-\[linear-gradient\(135deg\2c rgba\(77\2c 226\2c 255\2c 0\.26\)\2c rgba\(91\2c 124\2c 255\2c 0\.2\)\)\]{background-image:linear-gradient(135deg,rgba(77,226,255,.26),rgba(91,124,255,.2))}.bg-\[linear-gradient\(180deg\2c rgba\(11\2c 16\2c 34\2c 0\.88\)\2c rgba\(7\2c 10\2c 24\2c 0\.8\)\)\]{background-image:linear-gradient(180deg,rgba(11,16,34,.88),rgba(7,10,24,.8))}.bg-\[linear-gradient\(180deg\2c rgba\(11\2c 16\2c 34\2c 0\.9\)\2c rgba\(7\2c 10\2c 24\2c 0\.82\)\)\]{background-image:linear-gradient(180deg,rgba(11,16,34,.9),rgba(7,10,24,.82))}.bg-\[linear-gradient\(180deg\2c rgba\(8\2c 12\2c 24\2c 0\.88\)\2c rgba\(5\2c 8\2c 20\2c 0\.82\)\)\]{background-image:linear-gradient(180deg,rgba(8,12,24,.88),rgba(5,8,20,.82))}.p-5{padding:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-6{line-height:1.5rem}.tracking-\[0\.28em\]{letter-spacing:.28em}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text\)\]{color:var(--text)}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.02\)\2c 0_22px_80px_rgba\(0\2c 0\2c 0\2c 0\.45\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.05\)\]{--tw-shadow:0 0 0 1px rgba(255,255,255,0.02),0 22px 80px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.05);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 22px 80px var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_22px_rgba\(77\2c 226\2c 255\2c 0\.12\)\]{--tw-shadow:0 0 22px rgba(77,226,255,0.12);--tw-shadow-colored:0 0 22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.03\)\]{--tw-shadow:inset 0 1px 0 rgba(255,255,255,0.03);--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow-color:var(--shadow-lg);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgb(0 0 0/0.1)) drop-shadow(0 1px 1px rgb(0 0 0/0.06))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-xl{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{box-sizing:border-box}body,html{margin:0;height:100%;min-height:100%;overflow:hidden;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);background:radial-gradient(circle at 18% 16%,rgba(93,228,255,.2),transparent 24%),radial-gradient(circle at 82% 0,rgba(168,85,247,.14),transparent 26%),radial-gradient(circle at 78% 82%,rgba(107,124,255,.14),transparent 24%),linear-gradient(180deg,#f7fbff,#edf3fb);color:var(--text);font-family:Segoe UI,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}:root[data-theme=dark] body{background:radial-gradient(circle at 20% 20%,rgba(93,228,255,.16),transparent 24%),radial-gradient(circle at 80% 0,rgba(168,85,247,.18),transparent 28%),radial-gradient(circle at 75% 80%,rgba(107,124,255,.16),transparent 24%),linear-gradient(180deg,#060816,#04060f)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(120,140,255,.08) 1px,transparent 0),linear-gradient(90deg,rgba(120,140,255,.08) 1px,transparent 0);background-size:38px 38px;-webkit-mask-image:linear-gradient(180deg,rgba(255,255,255,.7),transparent 85%);mask-image:linear-gradient(180deg,rgba(255,255,255,.7),transparent 85%)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}body,html{overflow-x:hidden}.btn-size-sm{min-height:34px}.btn-size-md,.btn-size-sm{padding:7px 12px;font-size:.82rem;border-radius:12px}.btn-size-md{min-height:38px}.btn-size-lg{font-size:.9rem}.btn-danger,.btn-size-lg{min-height:44px;padding:10px 18px;border-radius:14px}.btn-danger{border:1px solid rgba(216,95,118,.35);background:linear-gradient(135deg,rgba(255,111,145,.28),rgba(255,79,216,.18));color:var(--text);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:all .15s ease;box-shadow:0 0 22px rgba(255,111,145,.12),inset 0 1px 0 rgba(255,255,255,.12)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,rgba(255,111,145,.4),rgba(255,79,216,.25));box-shadow:0 0 28px rgba(255,111,145,.18)}.btn-danger:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{width:100%;border-radius:16px;border:1px solid rgba(110,129,255,.16);background:rgba(248,251,255,.92);color:var(--text);padding:.85rem .95rem;outline:none}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:rgba(5,8,22,.82);color:var(--text)}textarea{resize:vertical}.page-shell{min-height:100vh;padding:10px}.page-inner{max-width:1480px;margin:0 auto;display:grid;gap:10px}.desktop-runtime-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(93,228,255,.18);background:linear-gradient(135deg,rgba(232,248,255,.95),rgba(246,244,255,.94));box-shadow:0 16px 30px rgba(81,97,153,.1)}.desktop-runtime-banner.error{border-color:rgba(216,95,118,.28);background:linear-gradient(135deg,rgba(255,241,245,.96),rgba(255,248,250,.94))}.desktop-runtime-copy{display:grid;gap:4px}.desktop-runtime-copy strong{font-size:.98rem;color:var(--text)}.desktop-runtime-copy span{color:var(--muted);font-size:.88rem;line-height:1.45}.desktop-runtime-eyebrow{margin:0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#5b90c4}.desktop-runtime-targets{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.desktop-runtime-targets code{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(110,129,255,.14);color:#385784}.desktop-runtime-pulse{width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg,var(--cyan),var(--violet));box-shadow:0 0 0 0 rgba(93,228,255,.38);animation:runtime-pulse 1.4s infinite}@keyframes runtime-pulse{0%{transform:scale(.96);box-shadow:0 0 0 0 rgba(93,228,255,.38)}70%{transform:scale(1);box-shadow:0 0 0 12px rgba(93,228,255,0)}to{transform:scale(.96);box-shadow:0 0 0 0 rgba(93,228,255,0)}}.topbar-shell{border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,248,255,.9));box-shadow:0 18px 34px rgba(79,93,150,.12),inset 0 1px 0 rgba(255,255,255,.6);backdrop-filter:blur(18px);padding:8px}.topbar-compact{display:grid;gap:6px}.topbar-main{display:flex;justify-content:space-between}.brand-chip,.topbar-main{align-items:center;gap:8px}.brand-chip{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;border:1px solid rgba(93,228,255,.18);background:linear-gradient(135deg,rgba(93,228,255,.12),rgba(168,85,247,.08));color:#1f4564;font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.brand-logo{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;font-weight:700;color:white;background:linear-gradient(135deg,rgba(93,228,255,.85),rgba(255,79,216,.78));box-shadow:0 0 22px rgba(93,228,255,.22);flex:0 0 auto}.topbar-title{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.topbar-meta{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.mini-pill{padding:6px 8px;border-radius:999px;border:1px solid rgba(110,129,255,.16);background:rgba(241,246,255,.95);color:var(--text);font-size:.74rem;white-space:nowrap}.tab-strip{display:grid;gap:6px}.tab-strip.compact-3{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-link{position:relative;overflow:hidden;min-height:42px;border-radius:14px;border:1px solid var(--border);background:rgba(243,247,255,.96);color:var(--text);padding:8px 10px;text-align:center}.tab-link.active{background:linear-gradient(135deg,rgba(93,228,255,.2),rgba(107,124,255,.18),rgba(255,79,216,.14));box-shadow:0 0 20px rgba(93,228,255,.08)}.tab-title{font-size:.82rem;font-weight:700;color:var(--text)}.tab-icon{margin-right:6px;opacity:.95}.button-grid,.grid-2,.grid-main,.kv-grid,.section-columns,.tab-page,.widget-grid{display:grid;gap:10px}.grid-main.dashboard-layout{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr)}.side-stack{display:grid;gap:10px}.panel{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,255,.88));box-shadow:0 18px 36px rgba(81,97,153,.12),inset 0 1px 0 rgba(255,255,255,.65);padding:14px}.panel:after,.panel:before{content:"";position:absolute;width:12px;height:12px;pointer-events:none}.panel:before{top:10px;left:10px;border-top:2px solid rgba(93,228,255,.7);border-left:2px solid rgba(93,228,255,.7)}.panel:after{right:10px;bottom:10px;border-right:2px solid rgba(255,79,216,.55);border-bottom:2px solid rgba(255,79,216,.55)}.panel-header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.panel-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#9bddff}.panel-title{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;color:var(--text)}.panel-subtitle{color:var(--muted);font-size:.88rem;line-height:1.45}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-badge{padding:6px 10px;border-radius:999px;border:1px solid rgba(93,228,255,.22);background:rgba(93,228,255,.08);color:#1d5267;font-size:.74rem}.workspace-card{background:linear-gradient(180deg,rgba(249,252,255,.98),rgba(237,243,252,.98));padding:10px}.workspace-card,.workspace-stage{border-radius:18px;border:1px solid rgba(110,129,255,.14)}.workspace-stage{position:relative;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(circle at top,rgba(93,228,255,.12),transparent 30%),radial-gradient(circle at 80% 20%,rgba(168,85,247,.12),transparent 28%),linear-gradient(180deg,rgba(231,240,251,.98),rgba(219,229,244,.98))}.workspace-stage:before{content:"";position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(125,145,255,.12) 1px,transparent 0),linear-gradient(90deg,rgba(125,145,255,.12) 1px,transparent 0);background-size:24px 24px}.canvas-frame{position:absolute;inset:10% 9%;border-radius:16px;border:1px solid rgba(93,228,255,.46);background:linear-gradient(180deg,rgba(93,228,255,.06),rgba(107,124,255,.03));box-shadow:0 0 42px rgba(93,228,255,.08)}.tag-pill{position:absolute;border-radius:999px;border:1px solid rgba(93,228,255,.28);background:rgba(247,251,255,.92);color:#1f4b64;padding:5px 8px;font-size:10px}.tag-tl{top:8px;left:8px}.tag-tr{top:8px;right:8px}.tag-bl{bottom:8px;left:8px}.tag-br{bottom:8px;right:8px}.robot-dot{position:absolute;width:18px;height:18px;border-radius:999px;background:var(--green);box-shadow:0 0 24px rgba(77,255,184,.58);border:1px solid rgba(240,255,248,.35);transform:translate(-50%,-50%)}.robot-heading{width:2px;height:28px;background:white;left:50%;transform-origin:center 85%;box-shadow:0 0 10px rgba(255,255,255,.65)}.pen-dot,.robot-heading{position:absolute;top:50%}.pen-dot{width:10px;height:10px;border-radius:999px;background:var(--pink);right:-6px;transform:translateY(-50%);box-shadow:0 0 16px rgba(255,79,216,.58)}.kv-item{display:flex;justify-content:space-between;gap:12px;border-radius:16px;border:1px solid rgba(110,129,255,.12);background:linear-gradient(180deg,rgba(248,251,255,.96),rgba(239,244,252,.92));padding:12px}.kv-key{color:var(--muted)}.kv-value{color:var(--text);font-weight:600;text-align:right}.button-grid.cols-2,.kv-grid.cols-2,.widget-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.btn{min-height:42px;border-radius:16px;border:1px solid rgba(110,129,255,.18);background:rgba(244,248,255,.96);color:var(--text);padding:10px 14px;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.btn-primary{background:linear-gradient(135deg,rgba(93,228,255,.34),rgba(107,124,255,.22));box-shadow:0 0 18px rgba(93,228,255,.1),inset 0 1px 0 rgba(255,255,255,.45)}.btn-danger{background:linear-gradient(135deg,rgba(255,111,145,.24),rgba(190,24,93,.14))}.muted-note{color:var(--muted);font-size:.84rem;line-height:1.45;margin-bottom:8px}@media (min-width:900px){.page-shell{padding:14px}.page-inner{gap:10px}.grid-2,.section-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-strip.compact-3{grid-template-columns:repeat(2,minmax(0,220px));justify-content:start}}@media (max-width:980px){.grid-main.dashboard-layout{grid-template-columns:1fr}}.app-shell{min-height:100vh;max-width:1480px;margin:0 auto;padding:14px;display:grid;gap:14px}.top-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,248,255,.9));box-shadow:0 18px 34px rgba(79,93,150,.12),inset 0 1px 0 rgba(255,255,255,.6);backdrop-filter:blur(18px)}.compact-top-bar{padding-block:16px}.eyebrow{margin:0 0 6px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#9bddff}.compose-panel h2,.panel-card h3,.top-bar h1,.top-bar h2,.top-bar h3{margin:0;color:var(--text)}.subdued-text{margin:8px 0 0;max-width:64ch;color:var(--muted);line-height:1.5}.status-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.top-bar-playful{background:radial-gradient(circle at top right,rgba(255,201,107,.28),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,248,255,.92))}.mode-pill,.status-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid rgba(110,129,255,.16);background:rgba(241,246,255,.95);color:var(--text);font-size:.78rem;white-space:nowrap}.mode-pill{border-color:rgba(93,228,255,.2);background:linear-gradient(135deg,rgba(93,228,255,.16),rgba(168,85,247,.1));color:#18485d}.tab-row{display:flex;flex-wrap:wrap;gap:10px}.tab{position:relative;overflow:hidden;min-height:42px;border-radius:14px;border:1px solid var(--border);background:rgba(243,247,255,.96);padding:10px 14px;text-align:center}.tab,.tab.active{color:var(--text)}.tab.active{background:linear-gradient(135deg,rgba(93,228,255,.2),rgba(107,124,255,.18),rgba(255,79,216,.14));box-shadow:0 0 20px rgba(93,228,255,.08)}.dashboard-grid{display:grid;gap:16px}.compose-panel,.panel-card{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,255,.88));box-shadow:0 18px 36px rgba(81,97,153,.12),inset 0 1px 0 rgba(255,255,255,.65);padding:16px}.compose-panel:after,.compose-panel:before,.panel-card:after,.panel-card:before{content:"";position:absolute;width:12px;height:12px;pointer-events:none}.compose-panel:before,.panel-card:before{top:10px;left:10px;border-top:2px solid rgba(93,228,255,.7);border-left:2px solid rgba(93,228,255,.7)}.compose-panel:after,.panel-card:after{right:10px;bottom:10px;border-right:2px solid rgba(255,79,216,.55);border-bottom:2px solid rgba(255,79,216,.55)}.compact-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.compact-list li{padding:11px 12px;border-radius:14px;border:1px solid rgba(110,129,255,.12);background:linear-gradient(180deg,rgba(248,251,255,.96),rgba(239,244,252,.92));color:var(--text)}.inline-actions,.source-row{display:flex;gap:10px;flex-wrap:wrap}.guide-card{padding:14px;border-radius:18px;border:1px solid rgba(110,129,255,.12);background:linear-gradient(180deg,rgba(247,250,255,.98),rgba(238,244,252,.94))}.guide-card,.quickstart-panel{display:grid;gap:14px}.hero-panel{background:radial-gradient(circle at top left,rgba(93,228,255,.14),transparent 26%),radial-gradient(circle at bottom right,rgba(255,79,216,.1),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,249,255,.92))}.mission-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mission-chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;border:1px solid rgba(110,129,255,.14);background:rgba(248,251,255,.96);color:#2d4f71;font-size:.78rem;font-weight:700}.focus-strip{display:grid;gap:10px;grid-template-columns:1.25fr 1fr 1fr}.focus-card{border-radius:18px;border:1px solid rgba(110,129,255,.12);background:linear-gradient(180deg,rgba(249,252,255,.98),rgba(239,244,252,.94));padding:14px;display:grid;gap:8px}.focus-card-primary{background:linear-gradient(135deg,rgba(93,228,255,.16),rgba(107,124,255,.12),rgba(255,79,216,.08));border-color:rgba(93,228,255,.18)}.focus-title{font-size:1rem;font-weight:700;color:var(--text)}.focus-copy{margin:0;color:var(--muted);line-height:1.5;font-size:.9rem}.source-choice-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.source-choice-card{border-radius:18px;border:1px solid rgba(110,129,255,.12);background:linear-gradient(180deg,rgba(249,252,255,.98),rgba(239,244,252,.94));padding:14px;display:grid;gap:6px}.source-choice-card.recommended{border-color:rgba(93,228,255,.18);background:linear-gradient(135deg,rgba(93,228,255,.14),rgba(255,255,255,.98),rgba(244,238,255,.94))}.source-choice-card.playful-choice{background:linear-gradient(135deg,rgba(255,244,184,.42),rgba(255,255,255,.96),rgba(245,238,255,.94))}.choice-badge{width:-moz-fit-content;width:fit-content;padding:5px 9px;border-radius:999px;border:1px solid rgba(93,228,255,.2);background:rgba(93,228,255,.12);color:#1d5267;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.source-choice-title{font-size:.98rem;font-weight:700;color:var(--text)}.source-choice-copy{color:var(--muted);line-height:1.5;font-size:.9rem}.source-choice-action{margin-top:8px}.kid-callout{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,201,107,.26);background:linear-gradient(135deg,rgba(255,245,204,.88),rgba(255,255,255,.98));margin-bottom:12px}.kid-callout strong{color:#7a4f11;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.kid-callout span{color:var(--text);line-height:1.5;font-size:.9rem}.ready-callout{border-color:rgba(77,255,184,.22);background:linear-gradient(135deg,rgba(223,255,239,.92),rgba(255,255,255,.98))}.prompt-chip-row{display:flex;flex-wrap:wrap;gap:8px}.prompt-chip{min-height:34px;border-radius:999px;border:1px solid rgba(110,129,255,.14);background:rgba(248,251,255,.96);color:#2d4f71;padding:7px 11px;font-size:.8rem;font-weight:700}.recent-task-btn{justify-content:flex-start}.workspace-panel{background:radial-gradient(circle at top left,rgba(93,228,255,.1),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,249,255,.92))}.workspace-card-playful{box-shadow:0 14px 30px rgba(81,97,153,.08)}.phone-guidance{display:grid;gap:12px;grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.simple-guidance{grid-template-columns:1fr}.friendly-steps{display:grid;gap:10px}.friendly-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:16px;border:1px solid rgba(110,129,255,.12);background:linear-gradient(180deg,rgba(250,252,255,.96),rgba(242,246,253,.92))}.friendly-step strong{color:var(--text)}.friendly-step p{margin:4px 0 0;color:var(--muted);line-height:1.45}.friendly-step-number{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,rgba(93,228,255,.9),rgba(255,79,216,.55));color:#17304a;font-weight:800;font-size:.88rem;box-shadow:0 0 18px rgba(93,228,255,.18)}.qr-shell{width:-moz-fit-content;width:fit-content;padding:10px;border-radius:18px;border:1px solid rgba(110,129,255,.14);background:rgba(255,255,255,.96);box-shadow:0 10px 24px rgba(79,93,150,.08)}.qr-shell img{display:block;width:180px;height:180px}.qr-placeholder{width:180px;height:180px;display:grid;place-items:center;color:var(--muted);background:linear-gradient(180deg,rgba(244,248,255,1),rgba(233,240,251,1));border-radius:12px}.status-card{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(110,129,255,.12);background:rgba(250,252,255,.96)}.status-card strong{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.status-card span{overflow-wrap:anywhere}.guide-highlight{border-color:rgba(93,228,255,.22);background:linear-gradient(135deg,rgba(93,228,255,.12),rgba(255,255,255,.98),rgba(245,238,255,.94))}.auth-pill{max-width:240px;overflow:hidden;text-overflow:ellipsis}.badge-line{display:flex;gap:8px;flex-wrap:wrap}.details-card{border-radius:18px;border:1px solid rgba(110,129,255,.12);background:rgba(247,250,255,.92);overflow:hidden}.details-card summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:600;color:var(--text)}.details-card summary::-webkit-details-marker{display:none}.details-body{display:grid;gap:12px;padding:0 16px 16px}.compact-status-list{margin-top:0}.compose-panel p{margin:8px 0 0;color:var(--muted)}@media (max-width:980px){.dashboard-grid[style*="1.35fr 0.65fr"]{grid-template-columns:1fr!important}.top-bar{flex-direction:column}.status-pills{justify-content:flex-start}.focus-strip,.phone-guidance,.source-choice-grid{grid-template-columns:1fr}}@media (max-width:760px){.topbar-title{max-width:110px}.button-grid.cols-2,.grid-2,.kv-grid.cols-2,.section-columns,.widget-grid.cols-2{grid-template-columns:1fr}.kv-item{flex-direction:column;align-items:flex-start;gap:6px}.kv-value{text-align:left}.app-shell{padding:10px;gap:10px}.compose-panel,.panel-card,.top-bar{padding:14px}.dashboard-grid[style*="1fr 1fr"]{grid-template-columns:1fr!important}}:root[data-theme=dark] .compose-panel,:root[data-theme=dark] .panel,:root[data-theme=dark] .panel-card,:root[data-theme=dark] .top-bar,:root[data-theme=dark] .topbar-shell{background:linear-gradient(180deg,rgba(11,16,34,.94),rgba(7,10,24,.88));box-shadow:0 12px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05)}:root[data-theme=dark] .workspace-card{background:linear-gradient(180deg,rgba(4,7,18,.96),rgba(2,5,14,.98))}:root[data-theme=dark] .workspace-stage{background:radial-gradient(circle at top,rgba(93,228,255,.12),transparent 30%),radial-gradient(circle at 80% 20%,rgba(168,85,247,.18),transparent 28%),linear-gradient(180deg,rgba(7,10,24,.98),rgba(2,6,20,.98))}:root[data-theme=dark] .btn,:root[data-theme=dark] .compact-list li,:root[data-theme=dark] .details-card,:root[data-theme=dark] .guide-card,:root[data-theme=dark] .mini-pill,:root[data-theme=dark] .mode-pill,:root[data-theme=dark] .status-card,:root[data-theme=dark] .status-pill,:root[data-theme=dark] .tab,:root[data-theme=dark] .tab-link{background:rgba(8,12,24,.88);color:#dfe8fb}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .tab.active{color:white}body{font-family:var(--font-geist-sans,"Segoe UI",ui-sans-serif,system-ui,-apple-system,sans-serif)}.app-shell{height:100vh!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto auto 1fr!important;max-width:unset!important;margin:0!important;padding:0!important;gap:0!important}.learning-app-shell{display:flex!important;flex-direction:column!important;grid-template-rows:none!important}.lesson-plan-session-bar{flex-shrink:0;padding:8px 16px;font-size:.78rem;font-weight:700;text-align:center;color:var(--text);background:linear-gradient(90deg,rgba(93,228,255,.14),rgba(141,99,255,.12));border-bottom:1px solid var(--border)}.trial-banner{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:7px 16px;font-size:.76rem;background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(251,191,36,.08));border-bottom:1px solid rgba(245,158,11,.25);color:var(--text)}.trial-banner-icon{flex-shrink:0;font-size:.85rem}.trial-banner strong{color:#d97706}.trial-banner-link{margin-left:auto;flex-shrink:0;font-size:.74rem;font-weight:700;color:#d97706;text-decoration:none;padding:3px 10px;border-radius:6px;border:1px solid rgba(217,119,6,.35);background:rgba(245,158,11,.1);transition:background .12s}.trial-banner-link:hover{background:rgba(245,158,11,.2)}.app-topbar{height:52px;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--panel);backdrop-filter:blur(20px);flex-shrink:0}.app-brand,.app-topbar{display:flex;align-items:center}.app-brand{gap:9px}.app-brand-logo{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:14px;color:white;background:linear-gradient(135deg,var(--cyan),var(--violet));box-shadow:0 0 18px rgba(93,228,255,.3);flex-shrink:0}.app-brand-name{font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap}.app-brand-classroom{font-size:.75rem;color:var(--muted);padding-left:9px;border-left:1px solid var(--border);margin-left:2px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.app-topbar-right{display:flex;align-items:center;gap:8px}.topbar-status-chips{display:flex;gap:6px}.topbar-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);font-size:.73rem;color:var(--muted);white-space:nowrap}.topbar-chip.live{border-color:rgba(77,255,184,.28);background:rgba(77,255,184,.06);color:var(--green)}.topbar-chip-dot{width:6px;height:6px;border-radius:999px;background:currentColor;flex-shrink:0}.app-body{display:grid;grid-template-columns:60px 1fr 360px;overflow:hidden;min-height:0}.step-rail{padding:14px 0;border-right:1px solid var(--border);background:var(--bg-2);overflow:hidden}.step-rail,.step-rail-item{display:flex;flex-direction:column;align-items:center;gap:2px}.step-rail-item{position:relative;width:44px;height:44px;border-radius:14px;justify-content:center;color:var(--muted);cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.step-rail-item:hover{background:rgba(93,228,255,.07);color:var(--cyan)}.step-rail-item.active{background:linear-gradient(135deg,rgba(93,228,255,.16),rgba(107,124,255,.1));border-color:rgba(93,228,255,.28);color:var(--cyan);box-shadow:0 0 14px rgba(93,228,255,.1)}.step-rail-item.completed{color:var(--green)}.step-rail-item-label{font-size:8px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1;opacity:.85}.step-rail-connector{width:2px;height:12px;border-radius:999px;background:var(--border);flex-shrink:0;transition:background .3s ease}.step-rail-connector.done{background:var(--green)}.workspace{display:flex;flex-direction:column;background:var(--stage-backdrop);min-width:0}.workspace,.workspace-camera{position:relative;overflow:hidden}.workspace-camera{flex:1;min-height:0}.workspace-camera video{position:absolute;inset:0;width:100%;height:100%;background:#050b16;pointer-events:none}.workspace-camera img.camera-img{position:absolute;inset:0;width:100%;height:100%;background:var(--stage-backdrop)}.workspace-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 32px;gap:12px}.workspace-empty-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:rgba(93,228,255,.08);border:1px solid rgba(93,228,255,.18);color:var(--cyan);margin-bottom:4px}.workspace-controls{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-2);backdrop-filter:blur(12px);flex-shrink:0}.workspace-control-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:.75rem;font-weight:600;transition:all .15s ease}.workspace-control-btn:hover{color:var(--text);border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.06)}.workspace-camera-label{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted)}.step-panel{display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--border);background:var(--bg-2)}.step-panel-header{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.step-panel-header-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(93,228,255,.16),rgba(107,124,255,.1));border:1px solid rgba(93,228,255,.22);color:var(--cyan);flex-shrink:0}.step-panel-header-text{display:flex;flex-direction:column;gap:1px;min-width:0}.step-panel-eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}.step-panel-title{font-size:.9rem;font-weight:700;color:var(--text)}.step-panel-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px;min-height:0}.step-panel-body::-webkit-scrollbar{width:4px}.step-panel-body::-webkit-scrollbar-track{background:transparent}.step-panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.step-section{display:flex;flex-direction:column;gap:8px}.step-section-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.readiness-grid{display:grid;gap:6px}.readiness-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--panel);transition:border-color .2s ease,background .2s ease}.readiness-item.ready{border-color:rgba(77,255,184,.22);background:rgba(77,255,184,.04)}.readiness-item.waiting{border-color:rgba(255,201,107,.22);background:rgba(255,201,107,.03)}.readiness-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.readiness-dot.ready{background:var(--green);box-shadow:0 0 7px rgba(77,255,184,.55);animation:r-pulse 2.2s infinite}.readiness-dot.waiting{background:var(--amber)}.readiness-dot.offline{background:var(--muted)}@keyframes r-pulse{0%,to{box-shadow:0 0 0 0 rgba(77,255,184,.45)}50%{box-shadow:0 0 0 4px rgba(77,255,184,0)}}.readiness-label{font-size:.82rem;color:var(--text);flex:1}.readiness-value{font-size:.75rem;color:var(--muted);white-space:nowrap}.tutor-chat{display:flex;flex-direction:column;gap:8px}.tutor-bubble{display:flex;gap:8px;align-items:flex-start;animation:bubble-in .22s cubic-bezier(.4,0,.2,1)}.tutor-bubble.from-student{flex-direction:row-reverse}@keyframes bubble-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tutor-avatar{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:13px;background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(107,124,255,.12));border:1px solid rgba(93,228,255,.2);flex-shrink:0}.tutor-msg{padding:9px 11px;border-radius:13px;font-size:.84rem;line-height:1.5;max-width:calc(100% - 36px)}.tutor-bubble:not(.from-student) .tutor-msg{background:linear-gradient(135deg,rgba(93,228,255,.09),rgba(107,124,255,.06));border:1px solid rgba(93,228,255,.16);border-top-left-radius:4px;color:var(--text)}.tutor-bubble.from-student .tutor-msg{background:linear-gradient(135deg,rgba(107,124,255,.14),rgba(168,85,247,.08));border:1px solid rgba(107,124,255,.18);border-top-right-radius:4px;color:var(--text)}.prompt-input-shell{position:relative;border-radius:16px;border:1px solid var(--border);background:var(--panel);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.prompt-input-shell:focus-within{border-color:rgba(93,228,255,.38);box-shadow:0 0 0 3px rgba(93,228,255,.07),0 4px 14px rgba(93,228,255,.05)}.prompt-input-shell textarea{border:none;background:transparent;border-radius:0;padding:11px 12px 44px;font-size:.875rem;line-height:1.5;min-height:90px;resize:none;width:100%}.prompt-input-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:5px 7px 5px 11px;background:var(--bg-2);border-top:1px solid var(--border);gap:8px}.robot-card{position:relative;border-radius:16px;border:1px solid var(--border);background:var(--panel);padding:12px 14px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.robot-card:hover{border-color:rgba(93,228,255,.28);box-shadow:0 6px 20px rgba(93,228,255,.05)}.robot-card-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--violet))}.robot-online-dot{width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 6px rgba(77,255,184,.5);animation:r-pulse 2s infinite;flex-shrink:0}.robot-online-dot.offline{background:var(--muted);box-shadow:none;animation:none}.challenge-card{border-radius:13px;border:1px solid var(--border);background:var(--panel);padding:11px 13px;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.challenge-card:hover{border-color:rgba(107,124,255,.28);background:linear-gradient(135deg,rgba(93,228,255,.04),rgba(107,124,255,.03));transform:translateY(-1px);box-shadow:0 5px 16px rgba(81,97,153,.08)}.challenge-card.active{border-color:rgba(93,228,255,.38);background:linear-gradient(135deg,rgba(93,228,255,.07),rgba(107,124,255,.05))}.difficulty-pips{display:flex;gap:3px;align-items:center}.difficulty-pip{width:5px;height:5px;border-radius:999px;background:var(--border);transition:background .15s ease}.difficulty-pip.filled{background:var(--blue)}.subject-chip{padding:2px 7px;border-radius:999px;border:1px solid rgba(107,124,255,.16);background:rgba(107,124,255,.05);color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.roster-wrap{display:flex;flex-wrap:wrap;gap:6px}.roster-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 10px;border-radius:999px;border:1px solid rgba(107,124,255,.16);background:rgba(107,124,255,.05);font-size:.78rem;color:var(--text)}.roster-remove{display:grid;place-items:center;width:14px;height:14px;border-radius:999px;background:rgba(107,124,255,.12);color:var(--muted);font-size:10px;padding:0;min-height:unset;border:none;line-height:1;cursor:pointer}.roster-remove:hover{background:rgba(216,95,118,.18);color:var(--danger)}@keyframes composing-shimmer{0%{background-position:-200%}to{background-position:200%}}.composing .prompt-input-shell{background:linear-gradient(90deg,var(--panel) 0,rgba(93,228,255,.08) 50%,var(--panel) 100%);background-size:200% 100%;animation:composing-shimmer 1.4s linear infinite}.btn-cta{min-height:44px;border-radius:14px;border:1px solid rgba(93,228,255,.32);background:linear-gradient(135deg,rgba(93,228,255,.28),rgba(107,124,255,.2));color:var(--text);padding:10px 18px;font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;transition:all .15s ease;box-shadow:0 0 20px rgba(93,228,255,.12),inset 0 1px 0 rgba(255,255,255,.18)}.btn-cta:hover:not(:disabled){background:linear-gradient(135deg,rgba(93,228,255,.38),rgba(107,124,255,.28));box-shadow:0 0 28px rgba(93,228,255,.2)}.btn-cta:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{min-height:38px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--muted);padding:7px 12px;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.btn-ghost:hover{border-color:rgba(93,228,255,.28);color:var(--text);background:rgba(93,228,255,.05)}:root[data-theme=dark] .app-topbar{background:rgba(9,13,32,.94)}:root[data-theme=dark] .step-panel,:root[data-theme=dark] .step-panel-body,:root[data-theme=dark] .step-rail{background:rgba(7,10,22,.96)}:root[data-theme=dark] .workspace{background:#030508}:root[data-theme=dark] .workspace-controls{background:rgba(7,10,22,.94)}:root[data-theme=dark] .challenge-card,:root[data-theme=dark] .prompt-input-shell,:root[data-theme=dark] .readiness-item,:root[data-theme=dark] .robot-card,:root[data-theme=dark] .step-panel-header{background:rgba(10,14,30,.92)}:root[data-theme=dark] .qr-shell{background:white}:root[data-theme=dark] .section-badge{color:#7ac8db}:root[data-theme=dark] .btn-ghost{background:rgba(255,255,255,.03)}:root[data-theme=dark] .btn-ghost:hover{background:rgba(93,228,255,.06)}:root[data-theme=dark] .qr-shell{background:rgba(10,14,31,.96)}:root[data-theme=dark] .qr-placeholder{background:linear-gradient(180deg,rgba(18,24,46,1),rgba(9,14,31,1))}:root[data-theme=dark] .mode-pill,:root[data-theme=dark] .section-badge{color:#d8f9ff}:root[data-theme=dark] .focus-card,:root[data-theme=dark] .source-choice-card{background:rgba(8,12,24,.88)}:root[data-theme=dark] .focus-card-primary,:root[data-theme=dark] .source-choice-card.recommended{background:linear-gradient(135deg,rgba(93,228,255,.12),rgba(8,12,24,.92),rgba(168,85,247,.08))}:root[data-theme=dark] .friendly-step,:root[data-theme=dark] .guide-highlight,:root[data-theme=dark] .source-choice-card.playful-choice{background:linear-gradient(135deg,rgba(255,211,122,.08),rgba(8,12,24,.92),rgba(168,85,247,.08))}:root[data-theme=dark] .choice-badge{color:#d8f9ff}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;border-radius:24px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,248,255,.9));box-shadow:0 18px 34px rgba(79,93,150,.12),inset 0 1px 0 rgba(255,255,255,.6);padding:24px}.auth-copy{display:grid;gap:10px;align-content:start}@media (max-width:900px){.auth-card{grid-template-columns:1fr}}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes auth-pin-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@keyframes home-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-pop{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-18px) scale(1.06)}}@keyframes auth-mesh-shift{0%{transform:rotate(0deg) scale(1)}to{transform:rotate(1turn) scale(1.08)}}@keyframes auth-shimmer{0%,to{opacity:.35;transform:translateX(-8%) skewX(-12deg)}50%{opacity:.55;transform:translateX(8%) skewX(-12deg)}}@keyframes auth-card-rise{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes auth-cta-glow{0%,to{box-shadow:0 0 0 0 rgba(93,228,255,0)}50%{box-shadow:0 0 24px 2px rgba(93,228,255,.22)}}@keyframes auth-drift{0%,to{transform:translate(0) scale(1);opacity:.4}33%{transform:translate(2%,-3%) scale(1.03);opacity:.65}66%{transform:translate(-3%,2%) scale(1.01);opacity:.5}}@keyframes auth-spark-twinkle{0%,to{opacity:.12;transform:scale(.85)}40%{opacity:.95;transform:scale(1.35)}60%{opacity:.35;transform:scale(1)}}@keyframes auth-tagline-swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-bg-pan{0%{background-position:0 50%}to{background-position:100% 50%}}.entry-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 20px 28px;overflow:hidden;z-index:0;isolation:isolate;background:transparent}.entry-shell:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(125deg,var(--entry-base-1) 0,var(--entry-base-2) 40%,var(--entry-base-3) 100%);background-size:200% 200%;animation:splash-bg-pan 18s ease-in-out infinite alternate;transition:background .5s ease}@media (prefers-reduced-motion:reduce){.entry-shell:after{animation:none;background-size:100% 100%}}.entry-shell-glow{inset:-20%;z-index:1;background:radial-gradient(ellipse 55% 45% at 75% 25%,var(--entry-glow-a),transparent 52%),radial-gradient(ellipse 50% 40% at 18% 72%,var(--entry-glow-b),transparent 48%);animation:auth-drift 18s ease-in-out infinite}.entry-shell-glow,.entry-shell:before{position:absolute;pointer-events:none;transition:background .5s ease}.entry-shell:before{content:"";inset:0;z-index:2;background:radial-gradient(ellipse 80% 60% at 20% 20%,var(--entry-a1),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 15%,var(--entry-a2),transparent 50%),radial-gradient(ellipse 60% 45% at 70% 85%,var(--entry-a3),transparent 50%)}@media (prefers-reduced-motion:reduce){.entry-shell-glow{animation:none;opacity:.5}}.entry-card{position:relative;z-index:3;width:100%;max-width:400px;padding:28px 22px 26px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 24px 56px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(12px)}.entry-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.entry-brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(107,124,255,.12));border:1px solid rgba(93,228,255,.22)}.entry-brand-title{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.entry-brand-sub{font-size:.75rem;font-weight:600;color:var(--muted);margin-top:2px}.entry-quick{text-align:center;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--border)}.entry-quick-avatar{width:64px;height:64px;margin:0 auto 12px;border-radius:999px;display:grid;place-items:center;font-size:1.1rem;font-weight:800;background:linear-gradient(135deg,rgba(93,228,255,.35),rgba(168,85,247,.25));border:1px solid rgba(93,228,255,.3);color:var(--text)}.entry-quick-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.entry-quick-name{font-size:1.1rem;font-weight:800;color:var(--text)}.entry-quick-email{font-size:.8rem;color:var(--muted);margin-bottom:14px}.entry-quick-btn{width:100%}.entry-link-btn{margin-top:10px;background:none;border:none;color:var(--cyan);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.entry-form{display:flex;flex-direction:column}.entry-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.entry-input{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.95rem;margin-bottom:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.entry-input:focus{border-color:rgba(93,228,255,.4);box-shadow:0 0 0 3px rgba(93,228,255,.08)}.entry-row{margin-bottom:14px}.entry-check{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.entry-check input{accent-color:var(--cyan)}.entry-role-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.entry-role-row--wide{margin-top:4px;margin-bottom:18px}.entry-seg{padding:10px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);font-size:.84rem;font-weight:700;cursor:pointer;transition:all .14s ease}.entry-seg:hover{border-color:rgba(93,228,255,.25)}.entry-seg.active{border-color:rgba(93,228,255,.45);background:linear-gradient(135deg,rgba(93,228,255,.12),rgba(107,124,255,.08));color:var(--cyan)}.entry-error{margin:0 0 10px;font-size:.84rem;font-weight:600;color:var(--danger)}.entry-submit{width:100%;margin-top:4px}.entry-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--muted);font-size:.78rem;font-weight:600}.entry-divider span:first-child,.entry-divider span:last-child{flex:1;height:1px;background:var(--border)}.entry-ghost-btn{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.88rem;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease}.entry-ghost-btn:hover{border-color:rgba(93,228,255,.35);background:rgba(93,228,255,.06)}.entry-hint{margin:12px 0 0;font-size:.78rem;line-height:1.45;color:var(--muted)}.entry-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;padding:0;border:none;background:none;color:var(--muted);font-size:.84rem;font-weight:600;cursor:pointer}.entry-back:hover{color:var(--text)}.entry-classroom{text-align:left}.entry-classroom-head{margin-bottom:16px}.entry-classroom-title{margin:0 0 6px;font-size:1.15rem;font-weight:800;color:var(--text)}.entry-classroom-desc{margin:0;font-size:.84rem;line-height:1.45;color:var(--muted)}.entry-subhead{margin:14px 0 6px;font-size:.95rem;font-weight:800;color:var(--text)}.entry-muted{margin:0 0 12px;font-size:.82rem;line-height:1.45;color:var(--muted)}.auth-screen-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg);animation:auth-fade-in .35s cubic-bezier(.4,0,.2,1)}.auth-bg-mesh{inset:-40%;opacity:.45;background:conic-gradient(from 120deg at 50% 45%,rgba(93,228,255,.09),transparent 38%,rgba(168,85,247,.08),transparent 62%,rgba(255,116,216,.07),transparent 82%),repeating-linear-gradient(105deg,rgba(255,255,255,.03) 0 1px,transparent 1px 56px);animation:auth-mesh-shift 48s linear infinite}.auth-bg-mesh,.auth-bg-shimmer{position:absolute;pointer-events:none}.auth-bg-shimmer{inset:0;background:linear-gradient(105deg,transparent,rgba(255,255,255,.07) 45%,transparent 70%);animation:auth-shimmer 7s ease-in-out infinite;mix-blend-mode:overlay}.auth-bg-mesh-slow{inset:-45%;opacity:.28;animation-duration:78s;animation-direction:reverse;filter:saturate(1.15)}.auth-bg-drift{inset:-20%;background:radial-gradient(ellipse 60% 50% at 70% 30%,rgba(168,85,247,.07),transparent 50%),radial-gradient(ellipse 50% 45% at 20% 70%,rgba(93,228,255,.08),transparent 48%);animation:auth-drift 16s ease-in-out infinite}.auth-bg-drift,.auth-spark-field{position:absolute;pointer-events:none}.auth-spark-field{inset:0;overflow:hidden;z-index:0}.auth-spark{position:absolute;width:5px;height:5px;border-radius:999px;background:linear-gradient(135deg,rgba(93,228,255,.9),rgba(168,85,247,.75));box-shadow:0 0 14px rgba(93,228,255,.35);animation:auth-spark-twinkle 2.8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.auth-bg-drift,.auth-bg-mesh,.auth-bg-mesh-slow,.auth-bg-shimmer{animation:none}.auth-bg-mesh,.auth-bg-mesh-slow{transform:none}.auth-spark{animation:none;opacity:.25}}.auth-bg-orb{position:absolute;border-radius:999px;pointer-events:none;filter:blur(72px);animation:orb-drift 8s ease-in-out infinite}.auth-bg-orb-a{width:480px;height:480px;top:-140px;right:-100px;background:rgba(93,228,255,.12);animation-delay:0s}.auth-bg-orb-b{width:420px;height:420px;bottom:-120px;left:-80px;background:rgba(255,79,216,.1);animation-delay:4s}.auth-bg-orb-c{width:300px;height:300px;top:50%;left:40%;background:rgba(107,124,255,.08);animation-delay:2s}.auth-bg-orb-d{width:260px;height:260px;bottom:18%;right:8%;background:rgba(93,228,255,.07);animation-delay:1s;animation-duration:11s}.auth-inner{position:relative;z-index:1;width:min(440px,calc(100% - 32px));border-radius:28px;border:1px solid var(--border);background:var(--panel);box-shadow:0 24px 60px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.07);padding:28px 24px;overflow:hidden;animation:auth-card-rise .55s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.auth-inner{animation:none}}.auth-inner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink))}.auth-logo-row{display:flex;align-items:center;gap:11px;margin-bottom:22px}.auth-logo-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:linear-gradient(135deg,rgba(93,228,255,.2),rgba(107,124,255,.15));border:1px solid rgba(93,228,255,.25);box-shadow:0 0 20px rgba(93,228,255,.12);flex-shrink:0}.auth-logo-name{font-size:1rem;font-weight:800;color:var(--text)}.auth-logo-tag{font-size:.7rem;color:var(--cyan);font-weight:600;letter-spacing:.04em}.auth-fun-tagline{margin:0 0 18px;min-height:2.5em;font-size:.86rem;font-weight:650;color:var(--muted);line-height:1.5;font-style:italic;letter-spacing:.01em;animation:auth-tagline-swap .5s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.auth-fun-tagline{animation:none}}.auth-screen-top-actions{top:16px;right:16px;z-index:10}.app-global-br-controls,.auth-screen-top-actions{position:fixed;display:flex;align-items:center;gap:8px}.app-global-br-controls{top:8px;right:22px;z-index:180}.app-sound-btn,.auth-theme-fab{box-sizing:border-box;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);font:inherit;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0;margin:0;flex-shrink:0;transition:background .2s,color .2s,border-color .2s}.app-sound-btn:hover,.auth-theme-fab:hover{background:rgba(93,228,255,.15);color:#5de4ff;border-color:rgba(93,228,255,.3)}:root[data-theme=light] .app-sound-btn,:root[data-theme=light] .auth-theme-fab{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1);color:var(--muted)}:root[data-theme=light] .app-sound-btn:hover,:root[data-theme=light] .auth-theme-fab:hover{background:rgba(14,165,233,.12);color:var(--cyan);border-color:rgba(14,165,233,.3)}.auth-step{animation:auth-fade-in .22s cubic-bezier(.4,0,.2,1)}.auth-heading{margin:0 0 4px;font-size:1.25rem;font-weight:800;color:var(--text)}.auth-subheading{margin:0 0 18px;font-size:.82rem;color:var(--muted);line-height:1.45}.auth-back-btn{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--muted);font-weight:600;background:none;border:none;cursor:pointer;padding:0;margin-bottom:14px;transition:color .15s ease}.auth-back-btn:hover{color:var(--text)}.auth-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.auth-role-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 14px;border-radius:18px;border:1px solid var(--border);background:var(--bg-2);cursor:pointer;text-align:center;transition:all .16s cubic-bezier(.4,0,.2,1)}.auth-role-btn:hover{border-color:rgba(93,228,255,.35);background:linear-gradient(135deg,rgba(93,228,255,.06),rgba(107,124,255,.04));transform:translateY(-2px);box-shadow:0 8px 24px rgba(93,228,255,.08)}.auth-role-btn.active{border-color:rgba(93,228,255,.45);background:linear-gradient(135deg,rgba(93,228,255,.16),rgba(107,124,255,.1));color:var(--cyan)}.auth-role-label{font-size:.9rem;font-weight:800;color:var(--text)}.auth-role-desc{font-size:.72rem;color:var(--muted);line-height:1.4}.auth-guest-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border-radius:12px;border:1px dashed var(--border);background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:2px}.auth-guest-btn:hover{border-color:rgba(255,79,216,.3);color:var(--pink);background:rgba(255,79,216,.04)}.auth-pin-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;padding:16px;border-radius:14px;background:var(--bg-2);border:1px solid var(--border)}.auth-pin-row.error{animation:auth-pin-shake .4s cubic-bezier(.4,0,.2,1);border-color:rgba(216,95,118,.4);background:rgba(216,95,118,.04)}.auth-pin-dot{width:14px;height:14px;border-radius:999px;border:2px solid var(--border);background:transparent;transition:all .15s ease}.auth-pin-dot.filled{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px rgba(93,228,255,.5)}.auth-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.auth-numpad-key{height:52px;border-radius:14px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .12s ease}.auth-numpad-key:hover:not(:disabled){background:linear-gradient(135deg,rgba(93,228,255,.1),rgba(107,124,255,.08));border-color:rgba(93,228,255,.3);transform:scale(1.03)}.auth-numpad-key:active:not(:disabled){transform:scale(.96)}.auth-numpad-key.empty{background:transparent;border:none;cursor:default}.auth-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:4px;max-height:min(52vh,340px);overflow-y:auto;padding:2px;scrollbar-gutter:stable}.auth-roster-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px;border-radius:18px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);cursor:pointer;text-align:center;transition:border-color .16s ease,background .16s ease,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;animation:auth-card-rise .42s cubic-bezier(.22,1,.36,1) both}.auth-roster-card:hover{border-color:rgba(107,124,255,.4);background:rgba(107,124,255,.06);transform:translateY(-3px);box-shadow:0 10px 28px rgba(79,200,255,.1)}.auth-roster-card.active{border-color:rgba(93,228,255,.5);background:linear-gradient(145deg,rgba(93,228,255,.14),rgba(107,124,255,.1));box-shadow:0 0 0 1px rgba(93,228,255,.25);transform:translateY(-2px)}.auth-roster-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:.78rem;font-weight:800;letter-spacing:.02em;color:var(--text);background:linear-gradient(135deg,rgba(93,228,255,.28),rgba(168,85,247,.2));border:1px solid rgba(93,228,255,.28)}.auth-roster-name{display:block;font-size:.86rem;font-weight:700;line-height:1.25;word-break:break-word}.auth-roster-empty{padding:18px 14px;border-radius:18px;border:1px dashed rgba(107,124,255,.35);background:rgba(107,124,255,.05);color:var(--muted);font-size:.84rem;line-height:1.55;margin-bottom:8px}.auth-roster-empty strong{color:var(--cyan);font-weight:800}.auth-cta-pulse:not(:disabled){animation:auth-cta-glow 2.8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.auth-cta-pulse:not(:disabled),.auth-roster-card{animation:none}}.home-screen-shell{position:fixed;inset:0;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;animation:home-fade-in .3s cubic-bezier(.4,0,.2,1)}.home-bg-orb{position:absolute;border-radius:999px;pointer-events:none;filter:blur(80px);animation:orb-drift 10s ease-in-out infinite;z-index:0}.home-bg-orb-a{width:540px;height:540px;top:-180px;right:-100px;background:rgba(93,228,255,.09)}.home-bg-orb-b{width:460px;height:460px;bottom:-160px;left:-60px;background:rgba(168,85,247,.08);animation-delay:5s}.home-topbar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--panel);backdrop-filter:blur(20px);flex-shrink:0}.home-body,.home-topbar{position:relative;z-index:1}.home-body{flex:1;display:grid;grid-template-columns:280px 1fr;overflow:hidden;min-height:0}.home-sidebar{display:flex;flex-direction:column;gap:10px;padding:18px 16px;border-right:1px solid var(--border);background:var(--bg-2);overflow-y:auto}.home-sidebar::-webkit-scrollbar{width:4px}.home-sidebar::-webkit-scrollbar-track{background:transparent}.home-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.home-greeting{font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:4px;padding-bottom:10px;border-bottom:1px solid var(--border)}.home-robot-card{border-radius:14px;border:1px solid rgba(93,228,255,.2);background:linear-gradient(135deg,rgba(93,228,255,.06),rgba(107,124,255,.04));padding:12px 14px}.home-classroom-card{border-radius:14px;border:1px solid rgba(168,85,247,.18);background:rgba(168,85,247,.04);padding:12px 14px}.home-start-btn{display:flex;align-items:center;gap:9px;width:100%;padding:13px 16px;border-radius:16px;border:1px solid rgba(93,228,255,.35);background:linear-gradient(135deg,rgba(93,228,255,.2),rgba(107,124,255,.14));color:var(--text);font-size:.9rem;font-weight:800;cursor:pointer;transition:all .16s ease;box-shadow:0 0 22px rgba(93,228,255,.1),inset 0 1px 0 rgba(255,255,255,.1);margin-top:4px}.home-start-btn:hover{background:linear-gradient(135deg,rgba(93,228,255,.3),rgba(107,124,255,.22));box-shadow:0 0 32px rgba(93,228,255,.18);transform:translateY(-1px)}.home-main{padding:20px;overflow-y:auto;min-height:0}.home-main::-webkit-scrollbar{width:4px}.home-main::-webkit-scrollbar-track{background:transparent}.home-main::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.home-subject-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.home-subject-tab{padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .14s ease;text-transform:capitalize}.home-subject-tab:hover{border-color:rgba(93,228,255,.3);color:var(--text)}.home-subject-tab.active{border-color:rgba(93,228,255,.42);background:linear-gradient(135deg,rgba(93,228,255,.14),rgba(107,124,255,.08));color:var(--cyan)}.home-challenge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.home-challenge-card{display:flex;flex-direction:column;align-items:flex-start;padding:16px 14px;border-radius:18px;border:1px solid var(--border);background:var(--panel);cursor:pointer;text-align:left;transition:all .17s cubic-bezier(.4,0,.2,1);animation:card-pop .28s cubic-bezier(.4,0,.2,1) both}.home-challenge-card:hover{border-color:rgba(107,124,255,.35);background:linear-gradient(135deg,rgba(93,228,255,.05),rgba(107,124,255,.04));transform:translateY(-3px);box-shadow:0 10px 28px rgba(81,97,153,.12)}.home-challenge-card.home-free-draw{border-color:rgba(255,79,216,.2);background:linear-gradient(135deg,rgba(255,79,216,.04),rgba(168,85,247,.03))}.home-challenge-card.home-free-draw:hover{border-color:rgba(255,79,216,.38);box-shadow:0 10px 28px rgba(255,79,216,.08)}:root[data-theme=dark] .auth-inner{background:rgba(9,12,28,.96);box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05)}:root[data-theme=dark] .auth-numpad-key,:root[data-theme=dark] .auth-role-btn{background:rgba(12,16,34,.9)}:root[data-theme=dark] .auth-roster-card{background:rgba(10,14,30,.88)}:root[data-theme=dark] .home-screen-shell{background:rgba(4,6,16,1)}:root[data-theme=dark] .home-topbar{background:rgba(7,10,22,.96)}:root[data-theme=dark] .home-sidebar{background:rgba(6,9,20,.98)}:root[data-theme=dark] .home-challenge-card{background:rgba(9,12,26,.9)}:root[data-theme=dark] .home-challenge-card:hover{background:linear-gradient(135deg,rgba(93,228,255,.07),rgba(107,124,255,.05))}.auth-teacher-gear{position:relative;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:all .15s ease}.auth-teacher-gear:hover{border-color:rgba(93,228,255,.3);color:var(--cyan);background:rgba(93,228,255,.06)}.onboarding-shell{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;padding:18px 24px 20px;background:radial-gradient(circle at 15% 10%,rgba(93,228,255,.12),transparent 16%),radial-gradient(circle at 80% 8%,rgba(255,79,216,.09),transparent 14%),radial-gradient(circle at 50% 90%,rgba(107,124,255,.08),transparent 24%),var(--bg);animation:home-fade-in .3s cubic-bezier(.4,0,.2,1)}.onboarding-shell .auth-bg-orb-a{background:rgba(93,228,255,.08)}.onboarding-shell .auth-bg-orb-b{background:rgba(255,79,216,.06)}.onboarding-shell .auth-bg-orb-c{background:rgba(107,124,255,.05)}.spark-lobby{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.spark-lobby-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 0,rgba(5,8,22,.66) 0,rgba(5,8,22,.82) 45%,rgba(5,8,22,.92) 100%),linear-gradient(180deg,rgba(5,8,22,.55),rgba(5,8,22,.86))}:root:not([data-theme=dark]) .spark-lobby-scrim{background:radial-gradient(120% 80% at 50% 0,rgba(247,250,255,.72) 0,rgba(247,250,255,.87) 45%,rgba(247,250,255,.94) 100%),linear-gradient(180deg,rgba(247,250,255,.62),rgba(247,250,255,.9))}.onboarding-shell--lobby>:not(.spark-lobby){position:relative;z-index:1}@media (prefers-reduced-motion:reduce){.spark-lobby-scrim{background:var(--bg);opacity:.94}}.onboarding-inner{position:relative;z-index:1;width:min(1100px,100%);display:flex;flex-direction:column;gap:16px}@media (max-width:900px){.onboarding-inner{gap:14px}}.onboarding-brand{display:flex;justify-content:center;margin-bottom:8px}.onboarding-greeting{text-align:center}.onboarding-greeting h1{margin:0 0 3px;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:800;color:var(--text);letter-spacing:-.01em}.onboarding-greeting p{margin:0;font-size:.88rem;color:var(--muted)}.age-group-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.age-group-btn{display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid transparent;background:rgba(255,255,255,.85);color:var(--text);font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;box-shadow:0 14px 28px rgba(32,67,117,.06)}.age-group-btn:hover{transform:translateY(-1px);border-color:rgba(93,228,255,.3);background:rgba(255,255,255,.95)}.age-group-btn.active{border-color:rgba(93,228,255,.45);background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(107,124,255,.1));color:var(--cyan)}.concept-domain-section{display:flex;flex-direction:column;gap:14px}.concept-domain-section h2{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tap-to-enter-hint{font-size:.82rem;color:var(--muted);line-height:1.5}.dashboard-top-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:22px;align-items:start}@media (max-width:1024px){.dashboard-top-grid{grid-template-columns:1fr}}.home-hero-section{display:grid;gap:12px}.home-hero-copy{display:flex;flex-direction:column;gap:4px}.home-hero-copy h2{margin:0;font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:-.02em;color:var(--text)}.home-hero-copy p{margin:0;color:var(--muted);font-size:.9rem;max-width:740px}.home-age-group-selector{display:flex;gap:8px;flex-wrap:wrap}.home-age-pill{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid rgba(120,140,255,.2);background:rgba(255,255,255,.06);cursor:pointer;font-size:.8rem;font-weight:500;color:var(--muted);transition:background .15s,border-color .15s,color .15s}.home-age-pill:hover{background:rgba(255,255,255,.12);color:var(--text)}.home-age-pill.active{background:rgba(255,255,255,.1);border-color:var(--pill-color,var(--cyan));color:var(--text)}.home-age-pill-sub{font-size:.7rem;color:var(--muted);font-weight:400}.home-hero-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.hero-card{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel-strong);box-shadow:var(--shadow-lg);cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hero-card:hover{transform:translateY(-3px);border-color:var(--cyan);box-shadow:var(--shadow-xl)}.hero-card-primary{border-color:rgba(93,228,255,.28);background:linear-gradient(135deg,var(--panel-strong),var(--panel))}.hero-card-emoji{font-size:34px}.hero-card-title{font-size:1.05rem;font-weight:800;color:var(--text)}.hero-card-copy{color:var(--muted);font-size:.88rem;line-height:1.5}.concept-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.concept-card{position:relative;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel-strong);padding:20px 18px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:left;display:flex;flex-direction:column;gap:10px;animation:card-pop .25s cubic-bezier(.4,0,.2,1) both;overflow:hidden;box-shadow:var(--shadow-lg)}.concept-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--violet));opacity:0;transition:opacity .18s ease}.concept-card:hover{border-color:rgba(93,228,255,.3);transform:translateY(-4px);box-shadow:0 22px 58px rgba(28,55,99,.14)}.concept-card:hover:before{opacity:1}.show-all-topics-btn{margin:10px auto 0;padding:12px 18px;border-radius:999px;border:1px solid rgba(93,228,255,.22);background:rgba(255,255,255,.95);color:var(--text);font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.show-all-topics-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(32,67,117,.08)}.concept-card.selected{border-color:rgba(93,228,255,.45);background:linear-gradient(135deg,rgba(93,228,255,.08),rgba(107,124,255,.05));box-shadow:0 0 0 3px rgba(93,228,255,.1)}.concept-card.selected:before{opacity:1}.concept-card-emoji{font-size:26px;line-height:1}.concept-card-title{font-size:.9rem;font-weight:800;color:var(--text);line-height:1.25}.concept-card-subtitle{font-size:.72rem;color:var(--muted);line-height:1.4}.concept-card-domain-badge{width:-moz-fit-content;width:fit-content;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);background:rgba(93,228,255,.12);margin-top:auto}.concept-card.free-explore{border-style:dashed}.concept-card.free-explore:before{background:linear-gradient(90deg,var(--pink),var(--amber))}.concept-card.concept-card--robot-lab{background:radial-gradient(120% 80% at 10% 0,rgba(93,228,255,.14),transparent 55%),radial-gradient(90% 70% at 95% 100%,rgba(255,79,216,.1),transparent 50%),var(--panel-strong)}.concept-card.concept-card--robot-lab .concept-card-domain-badge{position:relative;overflow:hidden}.concept-card[data-concept=cone-ring-gauntlet] .concept-card-domain-badge:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);animation:robot-lab-shimmer 2.8s ease-in-out infinite}.concept-card[data-concept=sumo-arena]{animation:card-pop .25s cubic-bezier(.4,0,.2,1) both,sumo-card-nudge 4.5s ease-in-out infinite}.concept-card[data-concept=maze-marathon] .concept-card-emoji{display:inline-block;animation:maze-emoji-drift 5s ease-in-out infinite}.concept-card[data-concept=cone-ring-gauntlet]:before{background:linear-gradient(90deg,#22d3ee,#a78bfa,#f472b6);opacity:.55}.concept-card[data-concept=sumo-arena]:before{background:linear-gradient(90deg,#f97316,#ef4444,#fbbf24);opacity:.55}.concept-card[data-concept=maze-marathon]:before{background:linear-gradient(90deg,#34d399,#38bdf8,#818cf8);opacity:.55}@keyframes robot-lab-shimmer{0%,to{transform:translateX(-120%)}50%{transform:translateX(120%)}}@keyframes sumo-card-nudge{0%,to{transform:translateY(0)}45%{transform:translateY(0)}48%{transform:translateY(-2px) rotate(-.35deg)}52%{transform:translateY(1px) rotate(.4deg)}}@keyframes maze-emoji-drift{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(1px,-1px) rotate(-6deg)}66%{transform:translate(-1px,1px) rotate(5deg)}}.concept-map-node--robot-lab .concept-node-emoji{display:inline-block;animation:robot-node-emoji 3.2s ease-in-out infinite}@keyframes robot-node-emoji{0%,to{filter:drop-shadow(0 0 0 rgba(93,228,255,0));transform:translateY(0)}50%{filter:drop-shadow(0 0 6px rgba(93,228,255,.35));transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.concept-card[data-concept=cone-ring-gauntlet] .concept-card-domain-badge:after,.concept-card[data-concept=maze-marathon] .concept-card-emoji,.concept-card[data-concept=sumo-arena],.concept-map-node--robot-lab .concept-node-emoji{animation:none}.hero-card--robot-lab .hero-card-emoji{animation:none!important}.learn-header--robot-lab:after,.learning-path-node--robot-lab .learning-path-node-emoji{animation:none}.hero-card--robot-lab:after{animation:none;opacity:0}}.hero-card--robot-lab{position:relative;border-color:rgba(93,228,255,.22);background:radial-gradient(100% 120% at 0 0,rgba(93,228,255,.12),transparent 52%),radial-gradient(90% 80% at 100% 100%,rgba(167,139,250,.1),transparent 48%),var(--panel-strong);overflow:hidden}.hero-card--robot-lab:after{content:"";position:absolute;inset:-40% -20%;background:conic-gradient(from 180deg at 50% 50%,rgba(93,228,255,0),rgba(93,228,255,.14),rgba(244,114,182,.1),rgba(93,228,255,0));animation:hero-lab-aurora 10s linear infinite;pointer-events:none;z-index:0}.hero-card--robot-lab .hero-card-copy,.hero-card--robot-lab .hero-card-emoji,.hero-card--robot-lab .hero-card-title{position:relative;z-index:1}@keyframes hero-lab-aurora{to{transform:rotate(1turn)}}.learn-header--robot-lab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#22d3ee,#a78bfa,#f472b6,#22d3ee);background-size:200% 100%;animation:robot-lab-header-flow 5s ease-in-out infinite}@keyframes robot-lab-header-flow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.learning-path-node--robot-lab:not(.locked){box-shadow:inset 0 0 0 1px rgba(167,139,250,.22),0 0 18px rgba(93,228,255,.12);animation:learning-path-lab-pulse 3.2s ease-in-out infinite}@keyframes learning-path-lab-pulse{0%,to{box-shadow:inset 0 0 0 1px rgba(167,139,250,.18),0 0 14px rgba(93,228,255,.08)}50%{box-shadow:inset 0 0 0 1px rgba(244,114,182,.28),0 0 22px rgba(93,228,255,.16)}}.learning-path-node--robot-lab:not(.locked) .learning-path-node-emoji{display:inline-block;animation:learning-path-emoji-bob 2.8s ease-in-out infinite}@keyframes learning-path-emoji-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.concept-map-detail-blurb{margin:0;font-size:.78rem;line-height:1.55;color:var(--muted)}.onboarding-info-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.status-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(10,14,30,.05);color:var(--muted);font-size:.9rem}.status-indicator{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 4px rgba(255,255,255,.35)}.onboarding-back-btn{font-size:.84rem;padding:8px 12px;transition:color .15s ease,transform .15s ease}.onboarding-back-btn:hover{transform:translateX(-2px)}.onboarding-back-btn{font-size:.78rem;color:var(--muted);background:none;border:none;cursor:pointer;padding:4px 8px;transition:color .15s ease}.onboarding-back-btn:hover{color:var(--text)}.student-profile-panel{display:grid;gap:14px}.student-profile-card{display:grid;gap:18px;padding:22px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--panel-strong);box-shadow:var(--shadow-lg)}.student-profile-header{display:flex;align-items:center;gap:16px}.student-profile-avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;font-size:2rem;color:#10213f;box-shadow:0 20px 35px rgba(42,71,123,.12)}.student-profile-name{font-size:1.2rem;font-weight:800;color:var(--text)}.student-profile-subtitle{color:var(--muted);font-size:.9rem}.student-profile-bio{margin:0;color:var(--text);line-height:1.6;font-size:.95rem}.student-profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.student-profile-stats div{padding:14px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);text-align:center}.student-profile-stats strong{display:block;font-size:1.05rem;color:var(--text)}.student-profile-stats span{display:block;margin-top:4px;color:var(--muted);font-size:.8rem}.home-streak-badge{display:flex;align-items:center;gap:3px;padding:4px 10px;border-radius:999px;background:rgba(255,107,53,.12);color:#ff6b35;font-weight:800;font-size:.78rem;flex-shrink:0}.home-xp-section{display:flex;flex-direction:column;gap:5px}.home-xp-header{display:flex;align-items:baseline;justify-content:space-between}.home-xp-amount{font-size:.82rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.home-xp-next{font-size:.65rem;color:var(--muted);font-weight:600}.home-xp-track{width:100%;height:7px;border-radius:4px;background:var(--border);overflow:hidden}.home-xp-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .8s cubic-bezier(.22,1,.36,1);min-width:2px}.home-leaderboard{margin-top:12px;padding:14px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border)}.home-leaderboard-title{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--text);margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}.home-leaderboard-list{display:flex;flex-direction:column;gap:4px}.home-leaderboard-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:.74rem;transition:background .15s}.home-leaderboard-row:hover{background:rgba(93,228,255,.05)}.home-leaderboard-row.is-me{background:rgba(93,228,255,.08);border:1px solid rgba(93,228,255,.18);font-weight:700}.home-lb-rank{width:26px;text-align:center;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.home-leaderboard-row:first-child .home-lb-rank{color:#ffc96b}.home-leaderboard-row:nth-child(2) .home-lb-rank{color:#c0c0c0}.home-leaderboard-row:nth-child(3) .home-lb-rank{color:#cd7f32}.home-lb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.home-lb-level{color:var(--blue)}.home-lb-level,.home-lb-streak{flex-shrink:0;font-size:.68rem;font-weight:700}.home-lb-streak{display:flex;align-items:center;gap:2px;color:var(--amber)}.home-lb-xp{flex-shrink:0;font-size:.65rem;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.home-leaderboard--wide{width:100%;max-width:920px;margin:0 auto 28px;padding:18px 20px 20px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border)}.home-leaderboard--wide .home-leaderboard-title{font-size:.82rem;margin-bottom:14px}.home-leaderboard-list--wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.home-leaderboard--wide .home-leaderboard-row{padding:10px 14px;font-size:.78rem;border-radius:var(--radius-sm);border:1px solid rgba(120,140,255,.08);background:rgba(255,255,255,.018);flex-wrap:wrap;gap:6px 10px}.home-leaderboard--wide .home-leaderboard-row.is-me{background:rgba(93,228,255,.07);border-color:rgba(93,228,255,.22)}.home-leaderboard--wide .home-lb-name{flex:1 1 100%;font-size:.82rem;font-weight:700}.home-leaderboard--wide .home-lb-xp{margin-left:auto;text-align:right}.profile-modal-overlay{position:fixed;inset:0;background:rgba(8,15,32,.56);display:grid;place-items:center;padding:24px;z-index:20}.profile-modal{width:min(520px,100%);display:grid;gap:18px;padding:28px;border-radius:30px;background:rgba(255,255,255,.98);box-shadow:0 28px 90px rgba(12,24,55,.18);border:1px solid rgba(93,228,255,.16)}.profile-modal h3{margin:0;font-size:1.25rem;color:var(--text)}.profile-form-row{display:grid;gap:10px}.profile-form-row label{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.profile-avatar-grid,.profile-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:10px}.profile-avatar-choice,.profile-color-choice{min-height:52px;border:1px solid rgba(93,228,255,.16);border-radius:18px;background:rgba(255,255,255,.98);cursor:pointer;transition:all .15s ease}.profile-avatar-choice.active,.profile-color-choice.active{border-color:rgba(93,228,255,.45);box-shadow:0 0 0 3px rgba(93,228,255,.14)}.profile-avatar-choice{display:grid;place-items:center;font-size:1.35rem}.profile-color-choice{width:100%;min-height:48px}.profile-bio-input{width:100%;min-height:100px;border:1px solid rgba(93,228,255,.16);border-radius:18px;padding:14px 16px;font-size:.95rem;color:var(--text);background:rgba(250,250,255,.98);resize:vertical}.profile-modal-actions{display:flex;justify-content:space-between;gap:12px}.simulator-root{width:100%;height:100%;background:var(--stage-backdrop);display:flex;align-items:center;justify-content:center}.simulator-paper,.simulator-root{position:relative;overflow:hidden}.simulator-paper{background:#0a0f1e;border-radius:6px;box-shadow:0 0 0 1px rgba(93,228,255,.18),0 24px 60px rgba(0,0,0,.5)}.simulator-grid{background-image:linear-gradient(rgba(93,228,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(93,228,255,.05) 1px,transparent 0);background-size:30px 30px}.simulator-axes,.simulator-grid{position:absolute;inset:0;pointer-events:none}.simulator-svg{position:absolute;inset:0;width:100%;height:100%}.simulator-badge{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid rgba(93,228,255,.22);background:rgba(5,8,22,.8);color:var(--cyan);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(8px)}.simulator-controls{position:absolute;bottom:10px;right:10px;display:flex;gap:6px}.simulator-control-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:8px;border:1px solid var(--border);background:rgba(5,8,22,.8);color:var(--muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .13s ease;backdrop-filter:blur(8px)}.simulator-control-btn:hover{color:var(--text);border-color:rgba(93,228,255,.28)}.simulator-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:center;padding:24px}.simulator-empty-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(93,228,255,.07);border:1px solid rgba(93,228,255,.14);color:var(--cyan);font-size:22px}.tutor-panel{height:100%;overflow:hidden;background:var(--bg-2)}.tutor-panel,.tutor-panel-header{display:flex;flex-direction:column}.tutor-panel-header{flex-shrink:0;padding:14px 16px 12px;border-bottom:1px solid var(--border);gap:10px}.tutor-header-top{display:flex;align-items:center;gap:10px}.tutor-avatar-large{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,rgba(93,228,255,.22),rgba(107,124,255,.16));border:1px solid rgba(93,228,255,.28);display:grid;place-items:center;font-size:16px;flex-shrink:0}.tutor-name{font-size:.9rem;font-weight:700;color:var(--text)}.tutor-concept-label{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-pills{display:flex;gap:6px}.layer-pill{flex:1;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:transparent;font-size:.68rem;font-weight:700;color:var(--muted);cursor:pointer;text-align:center;transition:all .15s ease;letter-spacing:.04em}.layer-pill:hover{border-color:rgba(93,228,255,.28);color:var(--text)}.layer-pill.active{background:linear-gradient(135deg,rgba(93,228,255,.14),rgba(107,124,255,.1));border-color:rgba(93,228,255,.35);color:var(--cyan)}.layer-pill.completed{border-color:rgba(77,255,184,.25);color:var(--green)}.layer-pill.started{border-color:rgba(93,228,255,.18);color:var(--cyan);background:rgba(93,228,255,.04)}.tutor-progress-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:.68rem;color:var(--muted)}.tutor-feed{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:16px;min-height:0}.tutor-feed::-webkit-scrollbar{width:6px}.tutor-feed::-webkit-scrollbar-track{background:transparent}.tutor-feed::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.tutor-msg-row{display:flex;gap:10px;align-items:flex-start}.tutor-msg-row.from-student{flex-direction:row-reverse}.tutor-msg-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex-shrink:0;background:linear-gradient(135deg,rgba(93,228,255,.22),rgba(107,124,255,.14));border:1px solid rgba(93,228,255,.3);box-shadow:0 4px 14px rgba(93,228,255,.15)}.tutor-msg-row.from-student .tutor-msg-avatar{background:linear-gradient(135deg,rgba(168,85,247,.22),rgba(107,124,255,.14));border-color:rgba(168,85,247,.3);box-shadow:0 4px 14px rgba(168,85,247,.15)}.tutor-msg-bubble{max-width:calc(100% - 50px);padding:14px 18px;border-radius:20px;font-size:1rem;line-height:1.6;color:var(--text);letter-spacing:-.005em}.tutor-msg-row:not(.from-student) .tutor-msg-bubble{background:linear-gradient(135deg,rgba(93,228,255,.1),rgba(107,124,255,.06));border:1px solid rgba(93,228,255,.2);border-top-left-radius:6px;box-shadow:0 2px 12px rgba(93,228,255,.06)}.tutor-msg-row.from-student .tutor-msg-bubble{background:linear-gradient(135deg,rgba(168,85,247,.16),rgba(107,124,255,.09));border:1px solid rgba(168,85,247,.22);border-top-right-radius:6px;box-shadow:0 2px 12px rgba(168,85,247,.08)}.tutor-msg-parts{display:flex;flex-direction:column;gap:8px}.tutor-msg-detail{padding-top:12px;margin-top:4px;border-top:1px dashed rgba(93,228,255,.18);font-size:.94em;line-height:1.65;color:var(--muted-2)}.tutor-msg-detail .tutor-para:first-child{margin-top:0}.tutor-msg-spoken-karaoke{line-height:1.65}.tutor-tts-word{border-radius:4px;padding:0 1px;transition:background .1s ease,color .1s ease,box-shadow .1s ease}.tutor-tts-word--past{color:var(--muted)}.tutor-tts-word--active{color:var(--text);background:rgba(93,228,255,.2);box-shadow:0 0 0 1px rgba(93,228,255,.28)}.tutor-cursor{display:inline-block;width:2px;height:1em;background:var(--cyan);margin-left:2px;vertical-align:text-bottom;animation:cursor-blink .7s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.tutor-actions{display:flex;gap:6px;padding:0 14px;flex-shrink:0}.tutor-action-btn{flex:1;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .14s ease;display:flex;align-items:center;justify-content:center;gap:5px}.tutor-action-btn:hover{border-color:rgba(93,228,255,.28);color:var(--text)}.tutor-action-btn.deeper{border-color:rgba(107,124,255,.28);color:var(--blue);background:rgba(107,124,255,.06)}.tutor-action-btn.deeper:hover{background:rgba(107,124,255,.12)}.tutor-action-btn.stop{border-color:rgba(255,80,100,.3);color:#ff6080;background:rgba(255,80,100,.07)}.tutor-action-btn.stop:hover{background:rgba(255,80,100,.14)}.tutor-icon-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .14s ease;flex-shrink:0}.tutor-icon-btn:hover{color:var(--text);background:var(--panel)}.tutor-icon-btn.active{color:var(--cyan);border-color:rgba(93,228,255,.3)}@keyframes tutor-bell-ring{0%{transform:rotate(0deg) scale(1)}15%{transform:rotate(-18deg) scale(1.12)}35%{transform:rotate(15deg) scale(1.08)}55%{transform:rotate(-10deg) scale(1.05)}75%{transform:rotate(6deg) scale(1.02)}to{transform:rotate(0deg) scale(1)}}.tutor-starter-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 14px 12px}.tutor-chip{padding:9px 16px;border-radius:999px;border:1px solid rgba(93,228,255,.22);background:rgba(93,228,255,.08);color:var(--cyan);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .14s ease;white-space:nowrap}.tutor-chip:hover{background:rgba(93,228,255,.14);transform:translateY(-1px);background:rgba(93,228,255,.13);border-color:rgba(93,228,255,.35)}.tutor-chip:disabled{opacity:.4;cursor:not-allowed}.tutor-evaluation-card{margin:0 14px;padding:12px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:8px}.tutor-evaluation-card.passed{border-color:rgba(77,255,184,.24);background:rgba(77,255,184,.05)}.tutor-evaluation-card.pending{border-color:rgba(93,228,255,.18);background:rgba(93,228,255,.04)}.tutor-evaluation-title{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.tutor-evaluation-copy{font-size:.8rem;line-height:1.5;color:var(--muted)}.tutor-evaluation-badges{display:flex;flex-wrap:wrap;gap:6px}.tutor-evaluation-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;border:1px solid rgba(245,158,11,.28);background:rgba(245,158,11,.08);color:#f59e0b;font-size:.68rem;font-weight:700}.score-breakdown{display:flex;flex-direction:column;gap:6px;padding:8px 0}.score-breakdown-header{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.score-breakdown-overall{font-size:1.4rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.score-breakdown-label{font-size:.68rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.score-bar-row{display:flex;align-items:center;gap:8px}.score-bar-label{flex-shrink:0;width:72px;font-size:.68rem;font-weight:600;color:var(--muted)}.score-bar-track{flex:1;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.score-bar-fill{height:100%;border-radius:3px;transition:width 1s cubic-bezier(.22,1,.36,1);min-width:2px}.score-bar-value{flex-shrink:0;width:24px;text-align:right;font-size:.68rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.eval-xp-award{display:flex;align-items:center;gap:8px;animation:xp-pop .5s cubic-bezier(.22,1,.36,1)}.eval-xp-badge{background:linear-gradient(135deg,var(--cyan),var(--blue));letter-spacing:.02em}.eval-level-up,.eval-xp-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;color:#fff;font-size:.72rem;font-weight:800}.eval-level-up{background:linear-gradient(135deg,var(--amber),var(--pink));animation:level-up-pulse .8s ease-in-out}@keyframes xp-pop{0%{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes level-up-pulse{0%{transform:scale(.7);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.tutor-next-layer-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border-radius:11px;border:1px solid rgba(93,228,255,.28);background:rgba(93,228,255,.08);color:var(--cyan);font-size:.78rem;font-weight:700;transition:all .15s ease}.tutor-next-layer-btn:hover{border-color:rgba(93,228,255,.38);background:rgba(93,228,255,.12)}.tutor-input-row{padding:10px 14px 14px;border-top:1px solid var(--border);gap:10px}.tutor-guest-gate,.tutor-input-row{flex-shrink:0;display:flex;align-items:center}.tutor-guest-gate{margin:10px 14px 14px;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(93,228,255,.28);background:linear-gradient(135deg,rgba(93,228,255,.08),rgba(168,85,247,.08))}.tutor-guest-gate-icon{flex-shrink:0;color:#5de4ff;filter:drop-shadow(0 0 6px rgba(93,228,255,.6))}.tutor-guest-gate-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.tutor-guest-gate-copy strong{color:var(--text);font-size:.92rem;font-weight:700}.tutor-guest-gate-copy span{color:var(--muted);font-size:.8rem;line-height:1.35}.tutor-guest-gate-btn{flex-shrink:0;padding:8px 14px;border-radius:10px;border:1px solid rgba(93,228,255,.5);background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(168,85,247,.18));color:#5de4ff;font-size:.85rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s,border-color .15s,transform .08s}.tutor-guest-gate-btn:hover{background:linear-gradient(135deg,rgba(93,228,255,.28),rgba(168,85,247,.28));border-color:#5de4ff}.tutor-guest-gate-btn:active{transform:scale(.97)}.tutor-input{flex:1;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:1rem;line-height:1.45;outline:none;transition:border-color .14s ease,box-shadow .14s ease;min-height:0;resize:none}.tutor-input:focus{border-color:rgba(93,228,255,.5);box-shadow:0 0 0 3px rgba(93,228,255,.1)}.tutor-input::-moz-placeholder{font-size:.95rem;color:var(--muted)}.tutor-input::placeholder{font-size:.95rem;color:var(--muted)}.tutor-input:focus{border-color:rgba(93,228,255,.35);box-shadow:0 0 0 2px rgba(93,228,255,.07)}.tutor-send-btn{width:44px;height:44px;border-radius:14px;border:1px solid rgba(93,228,255,.3);background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(107,124,255,.12));color:var(--cyan);display:grid;place-items:center;cursor:pointer;transition:all .14s ease;flex-shrink:0}.tutor-send-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(93,228,255,.26),rgba(107,124,255,.18));box-shadow:0 0 12px rgba(93,228,255,.2)}.tutor-send-btn:disabled{opacity:.35;cursor:not-allowed}.tutor-voice-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:all .15s ease}.tutor-voice-btn:hover{color:var(--cyan);border-color:rgba(93,228,255,.4);background:rgba(93,228,255,.08)}.tutor-voice-btn.active{color:var(--cyan);border-color:rgba(93,228,255,.5);background:rgba(93,228,255,.12)}.tutor-avatar-large.speaking{animation:tutor-speak .6s ease-in-out infinite alternate}@keyframes tutor-speak{0%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}to{transform:scale(1.12);filter:drop-shadow(0 0 8px rgba(93,228,255,.6))}}.tutor-mic-btn{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:all .15s ease}.tutor-mic-btn:hover{color:var(--text);border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.06)}.tutor-mic-btn.recording{color:#fff;background:var(--danger);border-color:var(--danger);animation:mic-pulse .9s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 rgba(255,111,145,.4)}50%{box-shadow:0 0 0 6px rgba(255,111,145,0)}}.tutor-mic-btn.transcribing{color:var(--cyan);border-color:rgba(93,228,255,.4);background:rgba(93,228,255,.08);cursor:not-allowed}.tutor-bell-call{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,200,90,.35);background:rgba(255,200,90,.06);color:rgba(255,215,116,.9);display:grid;place-items:center;cursor:pointer;transition:all .15s ease;animation:tutor-bell-idle 3.2s ease-in-out infinite}.tutor-bell-call:hover{color:#fff;border-color:rgba(255,215,116,.7);background:rgba(255,215,116,.18);transform:scale(1.04)}.tutor-bell-call.is-thinking,.tutor-bell-call:disabled{cursor:not-allowed;opacity:.5;animation:none}.tutor-bell-call.ringing{color:#fff;border-color:rgba(255,215,116,.85);background:rgba(255,215,116,.28);animation:tutor-bell-ring .7s ease-out}@keyframes tutor-bell-idle{0%,to{box-shadow:0 0 0 0 rgba(255,215,116,0)}50%{box-shadow:0 0 0 5px rgba(255,215,116,.18)}}.tutor-thinking-row{opacity:.85}.tutor-thinking-bubble{display:inline-flex;align-items:center;gap:8px;font-style:italic;color:var(--muted)}.tutor-thinking-label{letter-spacing:.01em}.tutor-thinking-dots{display:inline-flex;gap:3px;align-items:center}.tutor-thinking-dots span{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.4;animation:tutor-thinking-bounce 1s ease-in-out infinite}.tutor-thinking-dots span:nth-child(2){animation-delay:.15s}.tutor-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes tutor-thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.tutor-face-caption--thinking{display:inline-flex;align-items:center;gap:10px;background:rgba(15,18,38,.55);border:1px solid rgba(168,85,247,.32);color:rgba(216,180,254,.92);font-style:italic}.tutor-listening-bar{display:flex;align-items:flex-start;gap:8px;padding:8px 14px 10px;font-size:.78rem;font-weight:700;color:var(--danger);background:rgba(255,111,145,.08);border-top:1px solid rgba(255,111,145,.2);flex-shrink:0;position:relative;overflow:hidden}.tutor-listening-bar .tutor-listening-dot{margin-top:5px;flex-shrink:0}.tutor-listening-text{flex:1;min-width:0;display:flex;align-items:flex-start;flex-wrap:wrap;gap:3px 6px;line-height:1.35;max-height:4.5em;overflow-y:auto;padding-right:4px}.tutor-listening-text::-webkit-scrollbar{width:3px}.tutor-listening-text::-webkit-scrollbar-thumb{background:rgba(255,111,145,.35);border-radius:3px}.tutor-listening-partial{font-style:italic;font-weight:600;opacity:.95;word-break:break-word;white-space:normal}.tutor-listening-timer{font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--muted);background:rgba(255,111,145,.12);border-radius:6px;padding:2px 6px;margin-top:1px;flex-shrink:0}.tutor-listening-timer.warn{color:var(--danger);background:rgba(255,111,145,.22);animation:listening-timer-pulse .8s ease-in-out infinite}@keyframes listening-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.tutor-listening-cancel{border:none;background:rgba(255,111,145,.18);color:var(--danger);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .12s ease;margin-top:0}.tutor-listening-cancel:hover{background:rgba(255,111,145,.32)}.tutor-listening-progress{position:absolute;left:0;bottom:0;height:2px;background:linear-gradient(90deg,rgba(255,111,145,.55),rgba(255,111,145,.9));transition:width .2s linear;pointer-events:none}.tutor-input-wrap{position:relative;flex:1;display:flex}.tutor-input-wrap .tutor-input{flex:1;padding-right:30px}.tutor-input-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:none;background:rgba(127,127,127,.16);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}.tutor-input-clear:hover{background:rgba(127,127,127,.28);color:var(--text)}.tutor-listening-dot{width:7px;height:7px;border-radius:50%;background:var(--danger);animation:mic-pulse .9s ease-in-out infinite;flex-shrink:0}.tutor-whisper-bar{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:.72rem;font-weight:600;color:var(--muted);background:rgba(93,228,255,.05);border-top:1px solid rgba(93,228,255,.15);flex-shrink:0;flex-wrap:wrap}.tutor-whisper-bar.error{color:var(--danger);background:rgba(255,111,145,.06);border-top-color:rgba(255,111,145,.18)}.tutor-whisper-download-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;border:1px solid rgba(93,228,255,.3);border-radius:6px;background:rgba(93,228,255,.08);color:var(--cyan);cursor:pointer;transition:background .15s,border-color .15s}.tutor-whisper-download-btn:hover{background:rgba(93,228,255,.16);border-color:rgba(93,228,255,.5)}.tutor-whisper-progress{width:100%;height:3px;border-radius:2px;background:rgba(93,228,255,.12);overflow:hidden;margin-top:2px}.tutor-whisper-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .3s ease}.tutor-mic-offline-badge{position:absolute;bottom:-1px;right:-1px;width:7px;height:7px;border-radius:50%;background:var(--emerald,#34d399);border:1.5px solid var(--panel)}.learn-header{height:52px;gap:10px;padding:0 162px 0 14px;border-bottom:1px solid var(--border);background:var(--panel);backdrop-filter:blur(20px);overflow:visible;position:relative;z-index:20}.learn-header,.learn-header-brand{display:flex;align-items:center;flex-shrink:0}.learn-header-brand{gap:8px}.learn-header-logo{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--cyan),var(--violet));display:grid;place-items:center;font-size:13px;color:white;box-shadow:0 0 14px rgba(93,228,255,.3);flex-shrink:0}.learn-header-name{font-size:.85rem;font-weight:800;color:var(--text);white-space:nowrap}.learn-header-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.learn-concept-picker{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:9px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .14s ease;white-space:nowrap;max-width:200px;overflow:hidden}.learn-concept-picker:hover{border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.05)}.learn-concept-emoji{font-size:14px;flex-shrink:0}.learn-concept-name{overflow:hidden;text-overflow:ellipsis}.learn-concept-picker-wrapper{position:relative;flex-shrink:0}.concept-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;max-height:380px;overflow-y:auto;scrollbar-width:thin;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.25);padding:4px;z-index:100;animation:dropdown-in .12s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root[data-theme=dark] .concept-dropdown{box-shadow:0 12px 50px rgba(0,0,0,.5);border-color:rgba(93,228,255,.12)}.concept-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left;color:var(--text);transition:background 80ms ease}.concept-dropdown-item:hover{background:rgba(93,228,255,.08)}.concept-dropdown-item.active{background:rgba(93,228,255,.12)}.concept-dropdown-emoji{font-size:18px;flex-shrink:0;width:26px;text-align:center}.concept-dropdown-text{display:flex;flex-direction:column;gap:1px;min-width:0}.concept-dropdown-title{font-size:.82rem;font-weight:600}.concept-dropdown-sub,.concept-dropdown-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.concept-dropdown-sub{font-size:.68rem;color:var(--muted)}.concept-dropdown-divider{height:1px;background:rgba(255,255,255,.07);margin:4px 8px}.concept-dropdown-item-action{color:var(--cyan);opacity:.85}.concept-dropdown-item-action:hover{opacity:1;background:rgba(93,228,255,.1)}.concept-dropdown-emoji svg{display:block;margin:auto}.learn-header-help-btn{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:none;border:1px solid rgba(255,255,255,.1);color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.learn-header-help-btn:hover{background:rgba(93,228,255,.1);border-color:rgba(93,228,255,.3);color:var(--cyan)}.learn-age-selector{display:flex;gap:4px;flex-shrink:0}.learn-age-btn{padding:4px 9px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .13s ease}.learn-age-btn:hover{color:var(--text);background:rgba(93,228,255,.05)}.learn-age-btn.active{border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.08);color:var(--cyan)}.learn-sys-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.learn-sys-dot.live{background:var(--green);box-shadow:0 0 6px rgba(77,255,184,.5);animation:r-pulse 2s infinite}.learn-sys-dot.sim{background:var(--amber)}.learn-sys-dot.error{background:var(--danger)}.learn-header-spacer{flex:1;min-width:0}.gamification-bar{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:10px;background:var(--panel);border:1px solid var(--border);flex-shrink:0;white-space:nowrap}.gamification-level-badge{display:flex;align-items:center;gap:3px;font-weight:700;font-size:.72rem}.gamification-level-emoji{font-size:.85rem}.gamification-level-num{color:var(--blue);letter-spacing:-.02em}.gamification-xp-track{width:52px;height:5px;border-radius:3px;background:var(--border);overflow:hidden;flex-shrink:0}.gamification-xp-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .6s cubic-bezier(.22,1,.36,1);min-width:2px}.gamification-xp-label{font-size:.65rem;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.gamification-streak{display:flex;align-items:center;gap:2px;color:var(--amber);font-weight:700;font-size:.72rem}.gamification-streak.hot{color:#ff6b35}.gamification-streak.blazing{color:#ff3d3d;animation:streak-pulse 1.2s ease-in-out infinite}.gamification-streak-num{font-variant-numeric:tabular-nums}@keyframes streak-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.learn-popover{position:absolute;top:58px;right:14px;z-index:60;width:340px;max-height:calc(100vh - 72px);overflow-y:auto;border-radius:14px;border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(20px);padding:14px;display:grid;gap:10px;box-shadow:0 12px 32px rgba(0,0,0,.18)}.learn-popover-title{font-size:.72rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.learn-popover-row{display:flex;justify-content:space-between;gap:10px;font-size:.78rem}.learn-popover-label{color:var(--muted)}.learn-popover-value{color:var(--text);font-weight:700}.learn-popover-actions,.learn-popover-qr{display:grid;gap:8px}.learn-popover-qr{border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.55);padding:10px}:root[data-theme=dark] .learn-popover-qr{background:rgba(5,8,22,.55)}.learn-popover-qr-title{font-size:.78rem;font-weight:800;color:var(--text)}.learn-popover-qr-row{display:flex;gap:12px;align-items:center;min-width:0}.learn-popover-qr-meta{display:grid;gap:6px;min-width:0;flex:1}.learn-popover-qr-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.learn-popover-qr-code{font-size:1.25rem;font-weight:900;letter-spacing:.08em;color:var(--text)}.learn-popover-foot{border-top:1px solid var(--border);padding-top:10px;display:grid;gap:8px}.learn-popover-foot-copy{font-size:.75rem;line-height:1.45;color:var(--muted)}.live-camera-panel{position:absolute;inset:0;display:flex;align-items:safe center;justify-content:center;background:var(--panel);padding:20px;overflow-y:auto;scrollbar-width:thin}.live-camera-panel-inner{width:min(360px,100%);display:grid;gap:12px;text-align:center;margin:auto 0}.live-status-row{display:flex;align-items:center;justify-content:center;gap:6px}.live-status-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.live-camera-panel-title{font-size:1.05rem;font-weight:800;color:var(--text)}.live-camera-panel-copy{font-size:.78rem;line-height:1.45;color:var(--muted)}.live-camera-actions{display:grid;gap:8px}.live-camera-qr-block{border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.5);padding:14px;display:grid;gap:10px}:root[data-theme=dark] .live-camera-qr-block{background:rgba(5,8,22,.5)}.live-camera-qr-heading{font-size:.78rem;font-weight:800;color:var(--text)}.live-camera-qr-row{display:flex;gap:14px;align-items:center;justify-content:center}.live-camera-qr-meta{display:grid;gap:6px;min-width:0;text-align:left}.live-camera-qr-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.live-camera-qr-code{font-size:1.3rem;font-weight:900;letter-spacing:.1em;color:var(--text)}.live-camera-help{font-size:.78rem;line-height:1.5;color:var(--muted)}.live-panel-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md);justify-self:start;transition:color 80ms,background 80ms}.live-panel-back:hover{color:var(--text);background:rgba(93,228,255,.08)}.live-connecting-overlay{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(5,8,22,.85);backdrop-filter:blur(12px);color:var(--text);text-align:center;padding:24px}.live-connecting-inner{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700}.live-connecting-help{font-size:.78rem;color:var(--muted);max-width:340px}.live-connecting-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.06)}.live-active-bar{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:14;display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:rgba(5,8,22,.75);backdrop-filter:blur(10px);border:1px solid rgba(77,255,184,.25)}.live-active-label{font-size:.7rem;font-weight:700;color:var(--green)}.live-disconnect-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--muted);cursor:pointer;padding:3px 8px 3px 5px;border-radius:6px;margin-left:4px;font-size:.68rem;font-weight:600;transition:color 80ms,background 80ms}.live-disconnect-btn:hover{color:var(--danger);background:rgba(255,79,140,.08)}.live-disconnect-label{white-space:nowrap}.workspace-root{position:relative;display:flex;gap:10px;padding:10px 400px 10px 10px;min-height:0;align-items:stretch}.workspace-root.tutor-collapsed{padding-right:60px}.workspace-column{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px}.workspace-main{flex:1;min-width:0;min-height:0;display:grid;gap:10px}.workspace-main.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workspace-pane{min-width:0;min-height:0;display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-lg);overflow:hidden}.workspace-tabs{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.6);backdrop-filter:blur(12px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}:root[data-theme=dark] .workspace-tabs{background:rgba(5,8,22,.6)}.workspace-tab{flex-shrink:0;white-space:nowrap;min-height:32px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);padding:6px 12px;font-size:.8rem;font-weight:800;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:5px}.workspace-tab:hover{border-color:rgba(93,228,255,.22);color:var(--text);background:rgba(93,228,255,.06)}.workspace-tab.active{border-color:rgba(93,228,255,.38);color:var(--text);background:linear-gradient(135deg,rgba(93,228,255,.16),rgba(107,124,255,.1));box-shadow:0 0 12px rgba(93,228,255,.08)}.workspace-tab.workspace-tab-subtle{color:var(--muted);border-color:var(--border)}.workspace-tab.workspace-tab-close{font-size:1.1rem;line-height:1;padding:2px 8px;color:var(--muted);border-color:transparent;background:transparent}.workspace-tab.workspace-tab-close:hover{color:var(--danger);background:rgba(255,79,140,.1)}.workspace-pane-body{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--stage-backdrop);container-type:size;display:flex;flex-direction:column}.workspace-pane-body>*{animation:pane-fade-in .18s ease-out both}@keyframes pane-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.workspace-programming{height:100%;min-height:0;overflow:auto;padding:10px;scrollbar-width:thin}.block-runner-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warning,#d97706) 45%,transparent);background:color-mix(in srgb,var(--warning,#d97706) 12%,var(--panel,#fff));color:var(--foreground,#111);font-size:.88rem;line-height:1.45}.block-runner-notice span{flex:1;min-width:0}.block-runner-notice-dismiss{flex-shrink:0;border:none;background:transparent;cursor:pointer;padding:0 4px;line-height:1;opacity:.65;font-size:1rem}.block-runner-notice-dismiss:hover{opacity:1}.workspace-programming .learn-prompt-bar{height:100%;min-height:0;display:flex;flex-direction:column}.workspace-programming .learn-recent-row{flex-shrink:0}.workspace-programming .block-editor-root,.workspace-programming .code-editor-root{flex:1;min-height:0}.workspace-tab:disabled{opacity:.4;cursor:not-allowed}.workspace-tab:disabled:hover{background:transparent;border-color:transparent;color:var(--muted)}.tutor-dock{position:absolute;top:10px;right:10px;bottom:10px;width:380px;max-width:46vw;min-width:300px;min-height:0;display:flex;flex-direction:column;border-radius:18px;border:1px solid rgba(93,228,255,.15);background:var(--panel);box-shadow:-8px 0 40px rgba(0,0,0,.18),0 18px 50px rgba(0,0,0,.12);overflow:hidden;resize:horizontal;transform:translateX(0);transition:transform .18s cubic-bezier(.4,0,.2,1);z-index:30}:root[data-theme=dark] .tutor-dock{box-shadow:-8px 0 50px rgba(0,0,0,.5),0 20px 60px rgba(0,0,0,.4);border-color:rgba(93,228,255,.12)}.tutor-dock.collapsed{transform:translateX(110%);resize:none}.tutor-dock.collapsed .tutor-dock-body,.tutor-dock.collapsed .tutor-dock-header{opacity:0;pointer-events:none}.tutor-dock-body,.tutor-dock-header{transition:opacity .14s ease}.tutor-dock-header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.65)}:root[data-theme=dark] .tutor-dock-header{background:rgba(5,8,22,.6)}.lesson-dock-tabs{display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2px;flex-shrink:0}.lesson-dock-tab{padding:3px 10px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.lesson-dock-tab.active{background:var(--cyan);color:#000}.lesson-player-compact{background:transparent;overflow-y:auto}.lesson-player-compact .lesson-player-stage{padding:12px 14px;min-height:120px}.lesson-player-compact .lesson-narration p{font-size:.85rem;line-height:1.55}.lesson-player-compact .lesson-step-rail{padding:10px 12px 6px;gap:0}.lesson-player-compact .lesson-rail-label{font-size:.6rem}.lesson-player-compact .lesson-player-controls{padding:6px 10px}.tutor-dock-avatar{flex-shrink:0;width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,rgba(93,228,255,.2),rgba(168,85,247,.15));border:1px solid rgba(93,228,255,.3);display:grid;place-items:center;font-size:1.1rem}.tutor-dock-title{font-weight:900;font-size:.9rem;color:var(--text);letter-spacing:.02em;line-height:1.2}.tutor-dock-subtitle{font-size:.72rem;color:var(--muted);font-weight:600;line-height:1.3}.tutor-dock-minimize{flex-shrink:0;min-height:30px;padding:4px 10px;font-size:1.2rem;font-weight:900;line-height:1;color:var(--muted)}.tutor-dock-body{flex:1;min-height:0;overflow:hidden}.tutor-drawer-handle{position:absolute;top:50%;right:0;width:44px;height:80px;border-radius:14px 0 0 14px;border:1px solid rgba(93,228,255,.22);border-right:none;background:linear-gradient(135deg,rgba(93,228,255,.14),rgba(168,85,247,.1));backdrop-filter:blur(10px);color:var(--text);font-size:1.5rem;display:grid;place-items:center;cursor:pointer;box-shadow:-4px 0 18px rgba(93,228,255,.1),var(--shadow-lg);transform:translateY(-50%);z-index:31;transition:background .15s ease}.tutor-drawer-handle:hover{background:linear-gradient(135deg,rgba(93,228,255,.22),rgba(168,85,247,.18));box-shadow:-4px 0 24px rgba(93,228,255,.18),var(--shadow-lg)}.learn-body{display:grid;grid-template-columns:1fr 360px;overflow:hidden;flex:1;min-height:0}.learn-body.code-focus{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.learn-body.code-focus .learn-tutor-col{display:none}.learn-body.code-focus .learn-canvas-col{min-height:0}.learn-body.code-focus .learn-canvas-area{flex:0 0 min(38vh,360px);min-height:0}.learn-body.code-focus .learn-prompt-bar{max-height:min(60vh,calc(100vh - 120px));overflow:auto}.learn-body.code-focus .code-textarea,.learn-body.code-focus .learn-prompt-bar .learn-prompt-input{max-height:min(55vh,520px)}@media (max-width:860px){.learn-body{grid-template-columns:1fr}.learn-tutor-col{display:none}.learn-camera-connect-card{width:min(92vw,520px)}.learn-camera-connect-actions{grid-template-columns:1fr}}.learn-canvas-col{display:flex;flex-direction:column;overflow:hidden;background:var(--stage-backdrop);min-width:0;min-height:0}.learn-canvas-area{flex:1;position:relative;min-height:clamp(320px,48vh,720px);overflow:hidden}.learn-camera-connect-card{width:min(520px,calc(100% - 32px));border-radius:26px;border:1px solid rgba(93,228,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(243,248,255,.94));box-shadow:0 28px 48px rgba(55,74,126,.18)}.learn-camera-connect-card,.learn-camera-waiting-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:12;backdrop-filter:blur(18px);padding:22px;display:grid;gap:14px;text-align:center}.learn-camera-waiting-card{width:min(480px,calc(100% - 32px));border-radius:24px;border:1px solid rgba(93,228,255,.18);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(243,248,255,.92));box-shadow:0 24px 42px rgba(55,74,126,.16)}:root[data-theme=dark] .learn-camera-waiting-card{background:linear-gradient(180deg,rgba(9,14,28,.92),rgba(10,16,32,.9));box-shadow:0 24px 46px rgba(0,0,0,.32)}:root[data-theme=dark] .learn-camera-connect-card{background:linear-gradient(180deg,rgba(9,14,28,.94),rgba(10,16,32,.92));box-shadow:0 28px 52px rgba(0,0,0,.34)}.learn-camera-connect-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}.learn-camera-connect-title{font-size:clamp(1.45rem,2vw,2rem);font-weight:800;color:var(--text);line-height:1.05}.learn-camera-connect-copy{margin:0;color:var(--muted);line-height:1.55;font-size:.95rem}.learn-camera-connect-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learn-camera-connect-qr-shell{display:grid;justify-items:center;gap:10px;padding:16px;border-radius:22px;border:1px solid rgba(110,129,255,.14);background:rgba(248,251,255,.82)}:root[data-theme=dark] .learn-camera-connect-qr-shell{background:rgba(5,8,22,.72)}.learn-camera-connect-qr-shell img{border-radius:18px;border:1px solid rgba(110,129,255,.14);background:white;padding:10px}.learn-camera-connect-code-shell{display:grid;justify-items:center;gap:8px;width:min(100%,260px)}.learn-camera-connect-code-label{color:var(--muted);font-size:.85rem;text-align:center}.learn-camera-connect-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:clamp(1.7rem,2.5vw,2.6rem);font-weight:900;letter-spacing:.22em;color:var(--text);text-transform:uppercase;text-align:center}.learn-camera-connect-qr-placeholder{min-height:188px;width:min(188px,100%);border-radius:18px;border:1px dashed rgba(110,129,255,.22);display:grid;place-items:center;color:var(--muted);padding:18px;line-height:1.45}.learn-camera-connect-status{font-size:.8rem;color:var(--muted);line-height:1.5}.learn-camera-mini-qr{display:grid;grid-template-columns:108px 1fr;gap:10px;align-items:center;padding:8px;border-radius:14px;border:1px solid rgba(110,129,255,.14);background:rgba(248,251,255,.9)}:root[data-theme=dark] .learn-camera-mini-qr{background:rgba(5,8,22,.78)}.learn-camera-mini-qr img{border-radius:12px;border:1px solid rgba(110,129,255,.14);background:white;padding:6px}.learn-camera-mini-qr-copy{display:grid;gap:8px}.learn-camera-mini-qr-copy strong{font-size:.78rem;color:var(--text)}.learn-prompt-bar{flex-shrink:0;border-top:1px solid var(--border);background:var(--panel);backdrop-filter:blur(12px);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.learn-mode-row{display:flex;align-items:center;gap:6px}.learn-mode-tab{padding:4px 10px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .13s ease}.learn-mode-tab:hover{color:var(--text);background:rgba(93,228,255,.05)}.learn-mode-tab.active{border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.08);color:var(--cyan)}.learn-prompt-form{display:flex;gap:8px;align-items:flex-end}.learn-prompt-input{flex:1;padding:10px 12px;border-radius:11px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.87rem;font-family:var(--font-geist-mono,ui-monospace,monospace);outline:none;transition:border-color .14s ease,box-shadow .14s ease;resize:none;min-height:42px;max-height:100px}.learn-prompt-input::-moz-placeholder{color:var(--muted)}.learn-prompt-input::placeholder{color:var(--muted)}.learn-prompt-input:focus{border-color:rgba(93,228,255,.38);box-shadow:0 0 0 3px rgba(93,228,255,.07)}.learn-draw-btn{height:42px;padding:0 16px;border-radius:11px;border:1px solid rgba(93,228,255,.32);background:linear-gradient(135deg,rgba(93,228,255,.22),rgba(107,124,255,.16));color:var(--text);font-size:.84rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:all .14s ease;flex-shrink:0;box-shadow:0 0 18px rgba(93,228,255,.1)}.learn-draw-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(93,228,255,.3),rgba(107,124,255,.22));box-shadow:0 0 26px rgba(93,228,255,.18)}.learn-draw-btn:disabled{opacity:.45;cursor:not-allowed}.learn-recent-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.learn-recent-label{font-size:.68rem;color:var(--muted);font-weight:600;white-space:nowrap}.learn-recent-chip{padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.72rem;cursor:pointer;transition:all .12s ease}.learn-recent-chip:hover{border-color:rgba(107,124,255,.3);color:var(--text)}.learn-tutor-col{border-left:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.learn-hw-toast{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(93,228,255,.22);background:rgba(5,8,22,.86);color:var(--cyan);font-size:.78rem;font-weight:600;backdrop-filter:blur(10px);white-space:nowrap;animation:bubble-in .2s ease;z-index:20}.concept-map-node{transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.concept-map-node.locked{opacity:.45}.concept-map-node.touched{opacity:1}.concept-map-node.mastered{filter:drop-shadow(0 0 8px rgba(255,201,107,.6))}.camera-drop-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:10px;padding:11px 18px;border-radius:12px;background:rgba(20,22,34,.96);border:1px solid rgba(255,100,100,.35);color:#f0e8e8;font-size:.875rem;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.45);cursor:pointer;animation:toast-in .2s ease-out both;max-width:calc(100vw - 48px)}.camera-drop-toast-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 2px;font-size:.8rem;line-height:1;flex-shrink:0}.camera-drop-toast-dismiss:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.floating-prompt-bar{position:relative;flex-shrink:0}.floating-prompt-form{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:18px;border:1px solid rgba(93,228,255,.18);background:rgba(12,14,26,.92);backdrop-filter:blur(12px);box-shadow:0 -2px 20px rgba(0,0,0,.35),0 0 0 1px rgba(93,228,255,.06)}.floating-prompt-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:.9rem;font-family:inherit;resize:none;padding:4px 6px;line-height:1.45;max-height:96px;overflow-y:auto}.floating-prompt-input::-moz-placeholder{color:var(--muted)}.floating-prompt-input::placeholder{color:var(--muted)}.floating-prompt-input:disabled{opacity:.5}.floating-prompt-gallery-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--panel);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .14s}.floating-prompt-gallery-btn:hover{background:rgba(255,255,255,.07)}.floating-prompt-upload{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--panel);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .14s}.floating-prompt-upload:hover{background:rgba(255,255,255,.07)}.floating-prompt-mode-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .14s;flex-shrink:0}.floating-prompt-mode-btn:hover{color:var(--text);border-color:rgba(93,228,255,.3)}.floating-prompt-mode-btn.active{color:var(--cyan);border-color:rgba(93,228,255,.35);background:rgba(93,228,255,.07)}.floating-prompt-submit{padding:7px 14px;border-radius:10px;border:none;background:var(--cyan);color:#050816;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .14s,transform .1s}.floating-prompt-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.floating-prompt-submit:disabled{opacity:.4;cursor:not-allowed}.prompt-gallery-panel{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:50;border-radius:16px;border:1px solid rgba(93,228,255,.18);background:rgba(10,12,22,.97);backdrop-filter:blur(16px);box-shadow:0 -8px 32px rgba(0,0,0,.5);overflow:hidden;animation:gallery-in .18s ease-out both;max-height:340px;display:flex;flex-direction:column}@keyframes gallery-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.prompt-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;font-size:.8rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);flex-shrink:0}.prompt-gallery-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:6px}.prompt-gallery-close:hover{color:var(--text);background:var(--panel)}.prompt-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:12px;overflow-y:auto}.prompt-gallery-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:.82rem;padding:20px 0}.prompt-gallery-item{display:flex;flex-direction:column;align-items:center;gap:5px;border-radius:10px;border:1px solid var(--border);background:var(--panel);padding:6px;cursor:pointer;transition:all .14s;text-align:center}.prompt-gallery-item:hover{border-color:rgba(93,228,255,.35);background:rgba(93,228,255,.06)}.prompt-gallery-thumb{width:72px;height:72px;border-radius:7px;overflow:hidden;background:white;display:flex;align-items:center;justify-content:center}.prompt-gallery-thumb svg{width:100%;height:100%}.prompt-gallery-thumb-empty{width:72px;height:72px;border-radius:7px;background:var(--stage-backdrop);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.prompt-gallery-label{font-size:.67rem;color:var(--muted);line-height:1.3;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.celebration-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(3,5,14,.85);backdrop-filter:blur(8px);animation:bubble-in .25s ease}.celebration-card{width:min(340px,calc(100% - 32px));border-radius:24px;border:1px solid rgba(255,201,107,.3);background:linear-gradient(135deg,rgba(255,201,107,.1),rgba(5,8,22,.96),rgba(107,124,255,.1));padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 0 60px rgba(255,201,107,.14)}.celebration-emoji{font-size:52px;line-height:1;animation:celebration-bounce .5s cubic-bezier(.4,0,.2,1)}@keyframes celebration-bounce{0%{transform:scale(.6)}70%{transform:scale(1.15)}to{transform:scale(1)}}.celebration-title{font-size:1.3rem;font-weight:800;color:var(--amber)}.celebration-body{font-size:.88rem;color:var(--muted);line-height:1.5}.badge-shelf{display:flex;gap:4px;align-items:center}.badge-shelf-item{width:26px;height:26px;border-radius:8px;border:1px solid var(--border);background:var(--bg-2);display:grid;place-items:center;font-size:13px;cursor:pointer;transition:all .14s ease;title:attr(data-badge-name)}.badge-shelf-item:hover{border-color:rgba(255,201,107,.35);background:rgba(255,201,107,.08);transform:translateY(-1px)}.block-editor-root{display:flex;flex-direction:column;gap:0;min-height:0}.block-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 0 8px}.block-editor-header-copy{display:grid;gap:4px}.block-editor-header-copy strong{font-size:.86rem;color:var(--text)}.block-editor-header-copy span{font-size:.72rem;line-height:1.45;color:var(--muted)}.block-starter-btn{display:flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border-radius:8px;border:1px solid rgba(93,228,255,.26);background:rgba(93,228,255,.08);color:var(--cyan);font-size:.74rem;font-weight:700;cursor:pointer;transition:all .12s;flex-shrink:0}.block-starter-btn:hover{background:rgba(93,228,255,.14)}.block-concept-hint{display:grid;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid rgba(110,129,255,.14);background:rgba(248,251,255,.78);margin-bottom:8px}:root[data-theme=dark] .block-concept-hint{background:rgba(5,8,22,.72)}.block-concept-hint-label{font-size:.63rem;font-weight:800;color:var(--cyan);letter-spacing:.12em;text-transform:uppercase}.block-script{gap:6px;max-height:240px;overflow-y:auto;padding:4px 0 2px}.block-empty,.block-script{display:flex;flex-direction:column;min-height:80px}.block-empty{align-items:center;justify-content:center;padding:20px;gap:4px;text-align:center}.block-item{border-radius:10px;border:1px solid var(--border);border-left-width:3px;background:var(--bg-2);padding:8px 10px 8px 8px;display:flex;flex-direction:column;gap:7px;transition:background .1s}.block-item:hover{background:rgba(255,255,255,.04)}.block-item-header{display:flex;align-items:center;gap:6px}.block-item-nested{background:rgba(255,255,255,.02)}.block-item-emoji{font-size:.9rem;flex-shrink:0}.block-item-label{font-size:.78rem;font-weight:700;letter-spacing:.02em}.block-icon-btn{width:22px;height:22px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .12s;flex-shrink:0}.block-icon-btn:hover{background:rgba(255,255,255,.06);color:var(--text)}.block-icon-btn.danger:hover{background:rgba(239,68,68,.12);color:#ef4444;border-color:rgba(239,68,68,.3)}.block-params{display:flex;flex-wrap:wrap;gap:8px;padding-left:22px}.block-param-field{display:flex;align-items:center;gap:5px;cursor:default}.block-param-label{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.block-param-input{height:26px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.78rem;padding:0 6px;width:70px;outline:none;transition:border-color .12s}.block-param-input:focus{border-color:rgba(93,228,255,.4)}select.block-param-input{width:auto;padding-right:20px}.block-param-unit{font-size:.68rem;color:var(--muted)}.block-repeat-zone{display:grid;gap:8px;margin-left:22px;padding:10px;border-radius:10px;border:1px dashed rgba(236,72,153,.28);background:rgba(236,72,153,.05)}.block-repeat-header{display:grid;gap:6px}.block-repeat-header span{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ec4899}.block-repeat-actions{display:flex;flex-wrap:wrap;gap:6px}.block-repeat-add{display:flex;align-items:center;gap:4px;height:26px;padding:0 8px;border-radius:999px;border:1px solid rgba(236,72,153,.22);background:rgba(255,255,255,.02);color:var(--text);font-size:.68rem;font-weight:700;cursor:pointer}.block-repeat-add:hover{background:rgba(236,72,153,.08)}.block-repeat-body{display:grid;gap:6px}.block-repeat-empty{font-size:.72rem;color:var(--muted);padding:6px 0}.block-palette{border-radius:12px;border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(16px);padding:10px;margin-top:6px}.block-palette-title{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.block-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}.block-palette-item{border-radius:8px;border:1px solid var(--border);background:var(--bg-2);padding:8px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer;transition:all .12s;text-align:left}.block-palette-item:hover{background:rgba(255,255,255,.05);transform:translateY(-1px)}.block-palette-name{font-size:.76rem;font-weight:700}.block-palette-desc{font-size:.66rem;color:var(--muted);line-height:1.3}.block-footer{gap:6px;padding-top:8px}.block-add-btn,.block-footer{display:flex;align-items:center}.block-add-btn{gap:5px;height:30px;padding:0 12px;border-radius:8px;border:1px solid rgba(93,228,255,.3);background:rgba(93,228,255,.06);color:var(--cyan);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .12s}.block-add-btn:hover{background:rgba(93,228,255,.12)}.block-clear-btn{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--muted);font-size:.73rem;cursor:pointer;transition:all .12s}.block-clear-btn:hover{color:#ef4444;border-color:rgba(239,68,68,.3)}.block-run-btn{display:flex;align-items:center;gap:6px;height:30px;padding:0 14px;border-radius:8px;border:none;background:var(--cyan);color:#050b16;font-size:.76rem;font-weight:700;cursor:pointer;margin-left:auto;transition:opacity .12s}.block-run-btn:disabled{opacity:.45;cursor:not-allowed}.block-compiled-preview{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-top:4px}.block-preview-section{display:grid;gap:4px;flex:1;min-width:0}.block-preview-eyebrow{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.block-outline-list{display:grid;gap:2px;font-size:.72rem;line-height:1.4;color:var(--text)}.block-preview-copy{font-size:.72rem;line-height:1.5;color:var(--muted)}.block-preview-canvas{display:grid;place-items:center;min-height:160px;border-radius:10px;border:1px solid rgba(93,228,255,.14);background:radial-gradient(circle at top,#13223f,#07101f 62%);overflow:hidden}.block-preview-canvas svg{width:100%;height:160px;display:block}.block-preview-placeholder{display:grid;place-items:center;min-height:160px;border-radius:10px;border:1px dashed var(--border);color:var(--muted);font-size:.72rem;text-align:center;padding:12px}.code-editor-root{min-height:0}.code-editor-header{gap:12px;padding:2px 0 8px}.code-editor-header-copy{display:grid;gap:4px}.code-editor-header-copy strong{font-size:.86rem}.code-editor-header-copy span{font-size:.72rem;line-height:1.45;color:var(--muted)}.code-starter-btn{display:flex;gap:6px;min-height:30px;padding:0 12px;border:1px solid rgba(93,228,255,.26);background:rgba(93,228,255,.08);color:var(--cyan);font-size:.74rem;transition:all .12s}.code-starter-btn:hover{background:rgba(93,228,255,.14)}.code-concept-hint{display:grid;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid rgba(110,129,255,.14);background:rgba(248,251,255,.78);margin-bottom:8px}:root[data-theme=dark] .code-concept-hint{background:rgba(5,8,22,.72)}.code-concept-hint-label{font-size:.63rem;color:var(--cyan);letter-spacing:.12em}.code-editor-toolbar{padding:4px 0 6px}.code-editor-toolbar-meta{gap:6px}.code-editor-toolbar-actions{margin-left:auto;gap:6px}.code-editor-lang-badge{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid rgba(93,228,255,.3);color:var(--cyan);background:rgba(93,228,255,.07);letter-spacing:.04em}.code-editor-sdk-label{font-size:.68rem}.code-editor-math{padding:2px 8px;border-radius:999px;border:1px solid rgba(110,129,255,.14);background:rgba(255,255,255,.04);font-size:.66rem;color:var(--text)}.code-toolbar-btn{display:flex;height:26px;padding:0 8px;border-radius:6px;background:none;font-size:.72rem;transition:all .12s}.code-toolbar-btn:hover{background:rgba(255,255,255,.05)}.code-examples-panel{border-radius:10px;border:1px solid var(--border);background:var(--panel);padding:10px;margin-bottom:6px}.code-examples-title{letter-spacing:.08em;margin-bottom:6px}.code-example-chip{border-radius:8px;background:var(--bg-2);transition:all .12s}.code-example-chip:hover{background:rgba(93,228,255,.06);border-color:rgba(93,228,255,.25);transform:translateY(-1px)}.code-example-name{font-size:.78rem;color:var(--cyan)}.code-example-concept{font-size:.68rem}.code-editor-area{border-radius:10px;border:1px solid var(--border);background:#0a0f1e;min-height:160px;max-height:260px}.code-line-numbers{padding:10px 6px 10px 10px;border-right:1px solid rgba(255,255,255,.05);background:rgba(0,0,0,.15)}.code-line-num{line-height:1.6;color:rgba(255,255,255,.18);text-align:right;min-width:20px;padding-right:4px}.code-textarea{color:var(--text);font-size:.8rem;line-height:1.6;padding:10px;white-space:pre;overflow:auto}.code-editor-footer{padding:6px 0 0}.code-run-btn{display:flex;height:32px;padding:0 16px;border-radius:8px;border:none;background:var(--cyan);color:#050b16;font-size:.78rem;transition:opacity .12s}.code-run-btn:disabled{opacity:.45}.code-result{padding:8px 10px;border-radius:8px;margin-top:4px;line-height:1.45}.code-result.ok{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);color:#4ade80}.code-result.error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:#fca5a5;white-space:pre-wrap}.code-result-icon{font-weight:700}.code-sdk-hint{line-height:1.6;padding:6px 0 0;opacity:.75}.code-sdk-hint code{background:rgba(255,255,255,.06);font-size:.72rem}.concept-map-overlay{position:fixed;inset:0;z-index:80;background:rgba(5,8,22,.85);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .18s ease}.concept-map-shell{width:100%;max-width:860px;max-height:88vh;border-radius:18px;border:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.5)}.concept-map-header{display:flex;align-items:center;padding:16px 18px 12px;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.concept-map-canvas{position:relative;flex:1;min-height:320px;background:radial-gradient(ellipse at 50% 30%,rgba(59,130,246,.04) 0,transparent 70%)}.concept-map-node{position:absolute;width:120px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:10px 8px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.concept-node-emoji{font-size:1.4rem;line-height:1}.concept-node-title{font-size:.66rem;font-weight:700;text-align:center;line-height:1.3}.concept-node-sub{font-size:.58rem;color:var(--muted);text-align:center;line-height:1.3;opacity:.8}.concept-node-badge{font-size:.9rem;line-height:1;margin-top:2px}.concept-node-lock{position:absolute;top:6px;right:6px;color:var(--muted);opacity:.6}.concept-node-level-gate{position:absolute;top:5px;right:5px;font-size:.55rem;font-weight:800;padding:1px 5px;border-radius:6px;background:rgba(93,228,255,.12);color:var(--cyan);letter-spacing:.02em}.concept-map-node.almost-mastered-pulse{animation:map-node-pulse 2.5s ease-in-out infinite}@keyframes map-node-pulse{0%,to{box-shadow:0 0 18px rgba(245,158,11,.2)}50%{box-shadow:0 0 32px rgba(245,158,11,.45),inset 0 0 8px rgba(245,158,11,.15)}}.concept-map-detail{border-top:1px solid var(--border);padding:12px 16px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.015)}.concept-map-shell--journey{max-width:520px}.journey-tab-row{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.journey-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.journey-tab:hover{color:var(--text);border-color:rgba(93,228,255,.35)}.journey-tab.active{color:var(--cyan);border-color:rgba(93,228,255,.45);background:rgba(93,228,255,.08)}.journey-close{margin-left:4px}.learning-path-duo{padding:0 16px 12px;overflow-y:auto;max-height:min(52vh,420px)}.learning-path-hint{font-size:.72rem;color:var(--muted);margin:0 0 12px;line-height:1.45}.learning-path-spine{display:flex;flex-direction:column;gap:0}.learning-path-row{display:flex;gap:12px;align-items:stretch}.learning-path-rail{display:flex;flex-direction:column;align-items:center;width:52px;flex-shrink:0}.learning-path-connector{flex:1;min-height:20px;width:4px;border-radius:999px;background:rgba(255,255,255,.08);margin:2px 0}.learning-path-connector.done{background:linear-gradient(180deg,rgba(245,158,11,.5),rgba(93,228,255,.35))}.learning-path-node-wrap{position:relative;padding-top:4px}.learning-path-node{position:relative;width:48px;height:48px;border-radius:999px;border:2px solid var(--border);background:var(--bg-2);display:grid;place-items:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s}.learning-path-node.locked{cursor:not-allowed}.learning-path-node.selected{transform:scale(1.05)}.learning-path-node-emoji{font-size:1.35rem;line-height:1}.learning-path-check{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#0c1524;font-size:10px;font-weight:900;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}.learning-path-ring{position:absolute;inset:0;width:48px;height:48px;pointer-events:none;opacity:.85}.learning-path-body{flex:1;min-width:0;padding-bottom:14px}.learning-path-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.learning-path-title{font-size:.86rem;font-weight:800}.learning-path-badge{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.learning-path-sub{font-size:.72rem;color:var(--muted);line-height:1.35;margin-top:2px}.learning-path-lock{color:var(--muted);opacity:.7}.learning-path-gate{font-size:.65rem;color:var(--muted);margin-top:4px}.journey-stats-panel{padding:12px 18px 18px;overflow-y:auto;max-height:min(58vh,480px)}.journey-stats-fallback{padding:24px 18px;text-align:center;color:var(--muted);font-size:.88rem}.journey-stats-hero{display:flex;gap:16px;align-items:center;margin-bottom:16px}.journey-stats-badge-big{font-size:2.75rem;line-height:1;width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:rgba(93,228,255,.12);border:1px solid rgba(93,228,255,.22);flex-shrink:0}.journey-stats-xp-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.journey-stats-title{font-size:.88rem;font-weight:800;color:var(--text)}.journey-stats-xp-big{font-size:1.25rem;font-weight:900;color:var(--text)}.journey-stats-xp-track{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.journey-stats-xp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),rgba(141,99,255,.9));transition:width .35s ease}.journey-stats-xp-sub{font-size:.75rem;color:var(--muted)}.journey-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.journey-stat-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-2)}.journey-stat-card strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.journey-stat-card span:last-child{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.journey-stat-ic{color:var(--cyan);opacity:.85}.journey-stat-emoji{font-size:1rem}.journey-badges-heading{font-size:.78rem;font-weight:800;margin:0 0 8px;color:var(--text)}.journey-badges-grid{display:flex;flex-wrap:wrap;gap:8px}.journey-badge-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.03);font-size:.76rem;color:var(--muted)}.journey-badge-chip.earned{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08);color:var(--text)}.journey-badge-name{font-weight:600}.journey-badges-empty{width:100%;font-size:.8rem;color:var(--muted);margin:0}.learn-header-profile-avatar{display:flex;align-items:center;justify-content:center;margin-right:4px}.student-profile-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:10px}.student-profile-avatar-wrap{display:flex;align-items:center;justify-content:center}.profile-look-toggle{display:flex;gap:8px}.profile-look-opt{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);font-size:.82rem;font-weight:700;cursor:pointer;color:var(--muted)}.profile-look-opt.active{border-color:rgba(93,228,255,.45);background:rgba(93,228,255,.08);color:var(--cyan)}.profile-robot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-robot-choice{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:12px;border:1px solid var(--border);background:var(--bg-2);cursor:pointer;transition:border-color .15s,background .15s}.profile-robot-choice:hover{border-color:rgba(93,228,255,.35)}.profile-robot-choice.active{border-color:rgba(93,228,255,.55);background:rgba(93,228,255,.1)}.profile-robot-label{font-size:.65rem;font-weight:700;color:var(--muted)}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.simulator-pen-cursor{position:absolute;width:0;height:0;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.simulator-pen-cursor:before{content:"";width:8px;height:8px;background:var(--cyan);box-shadow:0 0 10px rgba(93,228,255,.9),0 0 20px rgba(93,228,255,.5)}.simulator-pen-cursor:before,.simulator-pen-ring{position:absolute;border-radius:999px;transform:translate(-50%,-50%)}.simulator-pen-ring{width:22px;height:22px;border:1.5px solid rgba(93,228,255,.6);animation:pen-ring-pulse 1s cubic-bezier(.4,0,.6,1) infinite}@keyframes pen-ring-pulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}.simulator-badge-dot{width:6px;height:6px;border-radius:999px;background:var(--amber);animation:r-pulse 1.2s infinite}.simulator-badge-dot.offline{background:var(--muted);animation:none}.tutor-para{margin:0;font-size:.84rem;line-height:1.6;color:var(--text)}.tutor-para+.tutor-para{margin-top:6px}.tutor-list{margin:4px 0;padding-left:18px;font-size:.84rem;line-height:1.6;color:var(--text);display:flex;flex-direction:column;gap:2px}.tutor-list li::marker{color:var(--cyan)}.tutor-inline-code{font-family:var(--font-mono);font-size:.78em;padding:1px 5px;border-radius:5px;background:rgba(93,228,255,.1);border:1px solid rgba(93,228,255,.2);color:var(--cyan)}.tutor-code-block{margin:6px 0;padding:10px 12px;border-radius:10px;background:rgba(5,8,22,.6);border:1px solid rgba(93,228,255,.14);overflow-x:auto;font-family:var(--font-mono);font-size:.76rem;line-height:1.6;color:rgba(220,240,255,.88);position:relative}.tutor-code-block-lang{position:absolute;top:6px;right:9px;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:inherit}.tutor-msg-row{animation:tutor-msg-in .22s cubic-bezier(.4,0,.2,1) both}@keyframes tutor-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.code-editor-root{display:flex;flex-direction:column;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(93,228,255,.14);background:rgba(5,8,22,.92);animation:fadeIn .18s ease both}.code-editor-header{padding:10px 14px;border-bottom:1px solid rgba(93,228,255,.1);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:rgba(93,228,255,.04)}.code-editor-header-copy{display:flex;flex-direction:column;gap:2px;font-size:.78rem;line-height:1.4;color:var(--muted)}.code-editor-header-copy strong{color:var(--text);font-size:.82rem}.code-starter-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px solid rgba(107,124,255,.3);background:rgba(107,124,255,.08);color:var(--blue);font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .14s ease;flex-shrink:0}.code-starter-btn:hover{background:rgba(107,124,255,.14);border-color:rgba(107,124,255,.5)}.code-concept-hint{padding:7px 14px;border-bottom:1px solid rgba(93,228,255,.08);display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--muted);background:rgba(93,228,255,.025)}.code-concept-hint-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);flex-shrink:0}.code-editor-toolbar{padding:7px 14px;border-bottom:1px solid rgba(93,228,255,.08);display:flex;align-items:center;justify-content:space-between;gap:8px}.code-editor-toolbar-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.code-editor-lang-badge{padding:2px 7px;border-radius:5px;background:rgba(107,124,255,.14);border:1px solid rgba(107,124,255,.24);font-size:.65rem;font-weight:800;color:var(--blue);letter-spacing:.06em;text-transform:uppercase}.code-editor-sdk-label{font-size:.7rem;color:var(--muted)}.code-editor-math{font-family:var(--font-mono);font-size:.72rem;color:var(--cyan);background:rgba(93,228,255,.07);padding:1px 6px;border-radius:5px;border:1px solid rgba(93,228,255,.16)}.code-editor-toolbar-actions{display:flex;align-items:center;gap:4px}.code-toolbar-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .12s ease}.code-toolbar-btn:hover{color:var(--text);border-color:rgba(93,228,255,.25);background:rgba(93,228,255,.05)}.code-examples-panel{padding:10px 14px;border-bottom:1px solid rgba(93,228,255,.08);background:rgba(93,228,255,.025);animation:fadeIn .15s ease both}.code-examples-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}.code-examples-grid{display:flex;flex-wrap:wrap;gap:6px}.code-example-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;border-radius:9px;border:1px solid var(--border);background:rgba(255,255,255,.02);cursor:pointer;transition:all .13s ease;text-align:left}.code-example-chip:hover{border-color:rgba(93,228,255,.28);background:rgba(93,228,255,.05)}.code-example-name{font-size:.76rem;font-weight:700;color:var(--text)}.code-example-concept{font-size:.64rem;color:var(--muted)}.code-editor-area{display:flex;min-height:220px;max-height:min(60vh,520px);overflow:hidden;font-family:var(--font-mono);font-size:.8rem;line-height:1.65;position:relative}.code-line-numbers{padding:10px 0;min-width:36px;background:rgba(93,228,255,.03);border-right:1px solid rgba(93,228,255,.08);display:flex;flex-direction:column;align-items:flex-end;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.code-line-num{padding:0 8px;font-size:.72rem;line-height:1.65;color:rgba(93,228,255,.28)}.code-textarea{flex:1;padding:10px 12px;background:transparent;border:none;color:rgba(220,240,255,.9);font-family:inherit;font-size:inherit;line-height:inherit;resize:none;outline:none;overflow-y:auto;caret-color:var(--cyan);-moz-tab-size:4;-o-tab-size:4;tab-size:4;width:100%;min-height:160px;max-height:min(55vh,480px);border-radius:0}.code-textarea::-moz-placeholder{color:rgba(93,228,255,.2)}.code-textarea::placeholder{color:rgba(93,228,255,.2)}.code-editor-footer{padding:8px 14px;border-top:1px solid rgba(93,228,255,.08);display:flex;align-items:center;justify-content:space-between;background:rgba(93,228,255,.02)}.code-run-hint{font-size:.68rem;color:var(--muted)}.code-run-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;border:1px solid rgba(93,228,255,.32);background:linear-gradient(135deg,rgba(93,228,255,.14),rgba(107,124,255,.1));color:var(--cyan);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .14s ease}.code-run-btn:hover:not(:disabled){border-color:rgba(93,228,255,.5);background:linear-gradient(135deg,rgba(93,228,255,.22),rgba(107,124,255,.16));box-shadow:0 0 16px rgba(93,228,255,.2)}.code-run-btn:disabled{opacity:.4;cursor:not-allowed}.code-result{margin:0 14px 10px;padding:9px 12px;border-radius:10px;border:1px solid var(--border);display:flex;align-items:flex-start;gap:8px;font-size:.78rem;animation:fadeIn .16s ease both}.code-result.ok{border-color:rgba(77,255,184,.24);background:rgba(77,255,184,.05)}.code-result.error{border-color:rgba(255,111,145,.28);background:rgba(255,111,145,.05)}.code-result-icon{font-size:.62rem;font-weight:900;letter-spacing:.08em;padding:2px 6px;border-radius:4px;flex-shrink:0;margin-top:1px}.code-result.ok .code-result-icon{background:rgba(77,255,184,.14);color:var(--green)}.code-result.error .code-result-icon{background:rgba(255,111,145,.14);color:var(--danger)}.code-result-msg{color:var(--text);line-height:1.5;font-family:var(--font-mono);font-size:.75rem;white-space:pre-wrap;word-break:break-word}.code-sdk-hint{padding:8px 14px 12px;font-size:.7rem;color:var(--muted);line-height:1.7;border-top:1px solid rgba(93,228,255,.06)}.code-sdk-hint code{font-family:var(--font-mono);font-size:.72em;padding:1px 4px;border-radius:4px;background:rgba(93,228,255,.08);color:var(--cyan)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ard-root{display:flex;flex-direction:column;gap:0;min-height:0}.ard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 0 8px}.ard-header-copy{display:grid;gap:4px}.ard-header-copy strong{font-size:.86rem;color:var(--text)}.ard-header-copy span{font-size:.72rem;line-height:1.45;color:var(--muted)}.ard-toolbar{justify-content:space-between;padding:4px 0 6px}.ard-toolbar,.ard-toolbar-left{display:flex;align-items:center;gap:8px}.ard-toolbar-left{flex-wrap:wrap}.ard-toolbar-right{display:flex;align-items:center;gap:6px}.ard-lang-badge{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid rgba(167,139,250,.35);color:var(--violet,#a78bfa);background:rgba(167,139,250,.08);letter-spacing:.04em;white-space:nowrap}.ard-board-select{height:26px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.72rem;cursor:pointer;outline:none;max-width:220px}.ard-board-select:focus{border-color:rgba(167,139,250,.45)}.ard-tab{display:flex;align-items:center;gap:4px}.ard-tab-icon{font-size:.8em}.intuition-tab{display:flex;align-items:center;gap:5px}.intuition-tab-icon{font-size:.95em;color:rgba(168,85,247,.95)}.learn-mode-tab.intuition-tab.active{background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(168,85,247,.16));border-color:rgba(168,85,247,.5)}.learn-mode-tab.intuition-tab.active .intuition-tab-icon{color:rgba(255,255,255,.95);text-shadow:0 0 8px rgba(168,85,247,.65)}.ard-footer{justify-content:space-between;gap:12px;padding:6px 0 0;flex-wrap:wrap}.ard-footer,.ard-footer-right{display:flex;align-items:center}.ard-footer-right{gap:8px;flex-shrink:0}.ard-port-row{display:flex;align-items:center;gap:6px;flex:1;min-width:160px}.ard-port-select{flex:1;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.74rem;outline:none;cursor:pointer;min-width:0}.ard-port-select:focus{border-color:rgba(167,139,250,.45)}.ard-port-select:disabled{opacity:.5;cursor:not-allowed}.ard-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;transition:all .12s;flex-shrink:0}.ard-refresh-btn:hover:not(:disabled){color:var(--text);background:rgba(255,255,255,.05)}.ard-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.ard-flash-btn{display:flex;align-items:center;gap:6px;height:32px;padding:0 16px;border-radius:8px;border:none;background:var(--violet,#a78bfa);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:opacity .12s,transform .1s;white-space:nowrap}.ard-flash-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.ard-flash-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.ard-output{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.06);font-family:var(--font-mono);font-size:.7rem;line-height:1.55;color:rgba(255,255,255,.65);white-space:pre-wrap;overflow-x:auto;max-height:160px;overflow-y:auto}.sim-playground-root{display:flex;flex-direction:column;background:radial-gradient(ellipse 100% 80% at 50% 0,#0c1838 0,#060a18 42%,#03050c 100%);overflow:hidden;height:100%;min-height:0}.sim-playground-toolbar{gap:6px;padding:6px 12px;border-bottom:1px solid rgba(93,228,255,.12);background:linear-gradient(180deg,rgba(12,18,42,.97),rgba(5,8,20,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(12px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.sim-playground-toolbar,.sim-timeline{flex-shrink:0;display:flex;align-items:center}.sim-timeline{gap:10px;padding:7px 12px;border-bottom:1px solid rgba(93,228,255,.1);background:rgba(4,7,18,.88)}.sim-timeline-slider{flex:1;height:5px;border-radius:999px;accent-color:var(--cyan);cursor:pointer}.sim-timeline-label{width:46px;text-align:right;font-family:ui-monospace,monospace;font-size:.72rem;color:var(--muted);font-weight:700}.sim-toolbar-group{flex-shrink:0;display:flex;align-items:center;gap:3px;padding:0 4px;border-right:1px solid rgba(93,228,255,.1)}.sim-toolbar-group:last-child{border-right:none}.sim-toolbar-btn{flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:5px 9px;border-radius:7px;border:1px solid rgba(93,228,255,.16);background:rgba(93,228,255,.04);color:rgba(200,220,255,.72);font-size:.68rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .12s ease;min-width:30px;min-height:26px}.sim-toolbar-btn:hover{color:#e0eeff;border-color:rgba(93,228,255,.35);background:rgba(93,228,255,.1)}.sim-toolbar-btn.active{color:var(--cyan);border-color:rgba(93,228,255,.5);background:rgba(93,228,255,.14);box-shadow:0 0 8px rgba(93,228,255,.12)}.sim-toolbar-label{font-size:.66rem;color:rgba(180,200,240,.65);white-space:nowrap}.sim-speed-group{gap:6px}.sim-speed-slider{flex-shrink:0;width:80px;height:3px;accent-color:var(--cyan);cursor:pointer;background:transparent;border:none;padding:0;border-radius:0}.sim-status-badge{flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid rgba(93,228,255,.2);background:rgba(5,8,22,.75);color:rgba(200,220,255,.8);font-size:.66rem;font-weight:700;letter-spacing:.05em}.sim-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.sim-status-dot.live{background:var(--cyan);box-shadow:0 0 6px var(--cyan);animation:r-pulse 1.2s infinite}.sim-status-dot.done{background:var(--green);box-shadow:0 0 4px var(--green)}.sim-status-dot.idle{background:var(--muted)}.sim-playground-viewport{flex:1;display:flex;min-height:0;position:relative}.sim-3d-pane{position:relative;overflow:hidden;background:radial-gradient(ellipse 90% 70% at 50% 20%,#0a1430 0,#060a18 55%,#03050c 100%);border-right:1px solid rgba(93,228,255,.1)}.sim-3d-hint{bottom:10px;left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:999px;font-size:.62rem;font-weight:600;color:rgba(180,210,255,.55);white-space:nowrap;letter-spacing:.06em;background:rgba(4,8,22,.65);border:1px solid rgba(93,228,255,.12);box-shadow:0 4px 20px rgba(0,0,0,.35)}.sim-3d-hint,.ultrasonic-readout{position:absolute;pointer-events:none}.ultrasonic-readout{top:14px;left:14px;z-index:11;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:rgba(4,8,22,.72);border:1px solid rgba(93,228,255,.18);box-shadow:0 4px 20px rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ultrasonic-readout-icon{color:rgba(93,228,255,.75);flex:none}.ultrasonic-readout-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--muted,#64748b);transition:background .2s,box-shadow .2s}.ultrasonic-readout-value{font-size:.92rem;font-weight:700;color:var(--fg,#e2e8f0);min-width:2.6ch;text-align:right}.ultrasonic-readout-unit{font-size:.68rem;font-weight:600;color:var(--muted,#94a3b8);letter-spacing:.04em}.ultrasonic-readout--near .ultrasonic-readout-dot{background:#ef4444;box-shadow:0 0 7px rgba(239,68,68,.85)}.ultrasonic-readout--close .ultrasonic-readout-dot{background:var(--amber,#f59e0b);box-shadow:0 0 7px rgba(245,158,11,.7)}.ultrasonic-readout--mid .ultrasonic-readout-dot{background:var(--green,#22c55e);box-shadow:0 0 6px rgba(34,197,94,.6)}.ultrasonic-readout--far .ultrasonic-readout-dot{background:var(--cyan,#5de4ff);box-shadow:0 0 6px rgba(93,228,255,.55)}.ultrasonic-readout--none .ultrasonic-readout-value{color:var(--muted,#94a3b8)}.bot-controller{position:absolute;right:14px;bottom:14px;z-index:12;width:168px;border-radius:var(--radius-sm);background:rgba(8,14,30,.86);backdrop-filter:blur(8px);border:1px solid rgba(93,228,255,.22);box-shadow:0 10px 28px rgba(0,0,0,.45);font-family:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.bot-controller-header{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:linear-gradient(135deg,rgba(93,228,255,.12),rgba(168,85,247,.1));border:none;border-bottom:1px solid rgba(93,228,255,.18);color:#cfe7ff;font-size:.74rem;font-weight:700;letter-spacing:.03em;cursor:pointer;text-align:left}.bot-controller-header:hover{background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(168,85,247,.16))}.bot-controller-title{flex:1}.bot-controller-collapse{font-size:.7rem;opacity:.7;font-weight:700}.bot-controller-body{padding:12px 12px 10px;display:flex;flex-direction:column;gap:10px}.bot-controller-select{width:100%;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.35);border:1px solid rgba(93,228,255,.18);color:#e2e8f0;font-size:.74rem;font-weight:600;cursor:pointer}.bot-controller-pad{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:4px;justify-content:center}.bot-controller-btn{display:grid;place-items:center;border-radius:9px;border:1px solid rgba(93,228,255,.25);background:rgba(93,228,255,.08);color:#c9eaff;cursor:pointer;transition:background .12s,border-color .12s,transform .08s;-webkit-tap-highlight-color:transparent}.bot-controller-btn:hover{background:rgba(93,228,255,.16);border-color:rgba(93,228,255,.45)}.bot-controller-btn:active{background:rgba(93,228,255,.3);transform:scale(.94)}.bot-controller-btn.is-pressed{background:rgba(93,228,255,.34);border-color:rgba(93,228,255,.7);box-shadow:0 0 0 1px rgba(93,228,255,.35),0 0 12px rgba(93,228,255,.45);transform:scale(.94)}.bot-controller-btn{position:relative}.bot-controller-key{position:absolute;bottom:2px;right:3px;font-size:.52rem;font-weight:800;letter-spacing:.02em;color:rgba(180,220,255,.55);pointer-events:none}.bot-controller-btn--stop .bot-controller-key{color:rgba(255,170,170,.55)}.bot-controller-btn--up{grid-column:2;grid-row:1}.bot-controller-btn--left{grid-column:1;grid-row:2}.bot-controller-btn--stop{grid-column:2;grid-row:2;background:rgba(255,80,80,.1);border-color:rgba(255,80,80,.35);color:#ff8a8a}.bot-controller-btn--stop:hover{background:rgba(255,80,80,.18)}.bot-controller-btn--right{grid-column:3;grid-row:2}.bot-controller-btn--down{grid-column:2;grid-row:3}.bot-controller-speed{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:8px 4px 6px;font-size:.66rem;color:rgba(180,210,255,.7)}.bot-controller-speed-label{letter-spacing:.06em;text-transform:uppercase;font-weight:600}.bot-controller-speed-slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:4px;background:rgba(255,255,255,.12);border-radius:999px;outline:none;cursor:pointer}.bot-controller-speed-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--cyan,#5de4ff);border:2px solid rgba(4,8,22,.95);box-shadow:0 0 8px rgba(93,228,255,.45);cursor:pointer}.bot-controller-speed-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--cyan,#5de4ff);border:2px solid rgba(4,8,22,.95);box-shadow:0 0 8px rgba(93,228,255,.45);cursor:pointer}.bot-controller-speed-value{font-variant-numeric:tabular-nums;font-weight:700;min-width:3ch;text-align:right;color:var(--fg,#e2e8f0)}.bot-controller-hint{font-size:.62rem;text-align:center;color:rgba(180,210,255,.52);letter-spacing:.04em;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px}.bot-controller-hint kbd{display:inline-block;padding:1px 5px;font-family:inherit;font-size:.6rem;font-weight:700;color:rgba(220,240,255,.85);background:rgba(93,228,255,.1);border:solid rgba(93,228,255,.3);border-width:1px 1px 2px;border-radius:4px;letter-spacing:0;line-height:1}.sim-2d-pane{position:relative;overflow:hidden;background:linear-gradient(165deg,#0a1430,#060a18 50%,#04060e);display:flex;flex-direction:column}.sim-2d-label{flex-shrink:0;padding:6px 12px;font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(120,200,255,.75);border-bottom:1px solid rgba(93,228,255,.12);background:linear-gradient(90deg,rgba(93,228,255,.06),transparent)}.sim-2d-pane canvas,.tutor-face{flex:1;min-height:0}.tutor-face{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:14px 16px 18px;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 32%,rgba(168,85,247,.18) 0,transparent 60%),radial-gradient(ellipse 70% 70% at 50% 100%,rgba(93,228,255,.12) 0,transparent 65%),linear-gradient(180deg,#0a0e22,#060816)}.tutor-face-back{position:absolute;top:10px;left:14px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(15,18,38,.85);backdrop-filter:blur(10px);color:var(--muted-2);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tutor-face-back:hover{background:rgba(28,32,70,.95);color:var(--text);border-color:rgba(168,85,247,.5)}.tutor-face-state{position:absolute;top:12px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;background:rgba(15,18,38,.85);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--muted-2)}.tutor-face-state--thinking{color:rgb(216,180,254);border-color:rgba(168,85,247,.4)}.tutor-face-state--talking{color:rgb(125,211,252);border-color:rgba(93,228,255,.45)}.tutor-face-state--celebrating{color:rgb(255,215,116);border-color:rgba(255,200,80,.45)}.tutor-face-state--guiding{color:rgb(165,180,252);border-color:rgba(107,124,255,.45)}.tutor-face-state--agreeing{color:rgb(110,231,183);border-color:rgba(16,185,129,.45)}.tutor-face-state--idle{color:var(--muted)}.tutor-face-stage{flex:1;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:0;padding-top:36px;position:relative}.tutor-face-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 70%,rgba(93,228,255,.18) 0,transparent 45%);opacity:0;pointer-events:none;transition:opacity .18s ease}.tutor-face-stage.pulsing:before{opacity:1}.tutor-face-caption{width:100%;max-width:460px;margin-top:12px;padding:14px 18px;border-radius:14px;background:rgba(15,18,38,.85);backdrop-filter:blur(10px);border:1px solid rgba(168,85,247,.28);color:var(--text);font-size:.96rem;line-height:1.5;letter-spacing:-.005em;text-align:center;font-weight:500;box-shadow:0 12px 36px rgba(168,85,247,.15);max-height:38vh;overflow-y:auto}.tutor-face-caption-sentence{transition:color .28s ease,opacity .28s ease,text-shadow .28s ease}.tutor-face-caption-sentence.past{color:rgba(255,255,255,.45)}.tutor-face-caption-sentence.active{color:#ffffff;font-weight:600;text-shadow:0 0 18px rgba(168,85,247,.5)}.tutor-face-caption-sentence.next{color:rgba(255,255,255,.32)}.tutor-face-caption--idle{background:transparent;border:1px dashed rgba(255,255,255,.14);color:var(--muted);font-style:italic;font-size:.86rem}.sandbox-selection-toolbar{display:inline-flex;align-items:center;gap:6px;padding:4px;background:rgba(15,18,38,.92);border:1px solid rgba(93,228,255,.45);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transform-origin:center bottom}.sandbox-selection-toolbar-btn{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:rgba(28,32,70,.7);color:var(--text);font-size:.95rem;line-height:1;cursor:pointer;transition:all .12s ease}.sandbox-selection-toolbar-btn:hover{background:rgba(93,228,255,.18);border-color:rgba(93,228,255,.6)}.sandbox-selection-toolbar-btn:active{transform:scale(.94)}.sandbox-selection-toolbar-btn--danger:hover{background:rgba(255,90,110,.22);border-color:rgba(255,90,110,.7);color:#ffd6dc}.sim-playground-toolbar.sandbox{gap:10px}.sim-build-cta{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;border:none;font-size:.92rem;font-weight:700;letter-spacing:-.01em;color:#fff;background:linear-gradient(135deg,#a855f7,#6b7cff 60%,#5de4ff 110%);box-shadow:0 4px 14px rgba(168,85,247,.35);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.sim-build-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(168,85,247,.45);filter:brightness(1.06)}.sim-build-cta.active{background:rgba(168,85,247,.18);border:1px solid rgba(168,85,247,.5);color:rgb(216,180,254);box-shadow:none}.sim-view-tabs{gap:2px;padding:3px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.sim-view-tab,.sim-view-tabs{display:inline-flex;align-items:center}.sim-view-tab{justify-content:center;gap:4px;min-width:36px;height:26px;padding:0 9px;font-size:.74rem;font-weight:600;border-radius:7px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease}.sim-view-tab:hover{background:rgba(255,255,255,.06);color:var(--text)}.sim-view-tab.active{background:rgba(93,228,255,.15);color:var(--cyan)}.sim-view-options{position:relative}.sim-view-options-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.sim-view-options-btn:hover{background:rgba(255,255,255,.08);color:var(--text)}.sim-view-options-btn.active{background:rgba(93,228,255,.12);border-color:rgba(93,228,255,.4);color:var(--cyan)}.sim-view-options-pop{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:var(--radius-sm);background:rgba(15,18,38,.96);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 32px rgba(0,0,0,.5);min-width:168px;z-index:20}.sim-view-option{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:transparent;border-radius:7px;font-size:.84rem;font-weight:500;color:var(--muted-2);text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.sim-view-option:hover{background:rgba(255,255,255,.06);color:var(--text)}.sim-view-option.active{background:rgba(93,228,255,.1);color:var(--cyan)}.sim-view-option.active:after{content:"✓";margin-left:auto;font-weight:700}.sim-sandbox-welcome{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;z-index:2;pointer-events:auto;background:radial-gradient(ellipse 80% 70% at 50% 38%,rgba(20,28,60,.85) 0,rgba(7,10,22,.92) 100%);backdrop-filter:blur(8px);text-align:center}.sim-sandbox-mascot{font-size:3.2rem;line-height:1;filter:drop-shadow(0 6px 24px rgba(168,85,247,.45));animation:sandbox-mascot-bob 3.4s ease-in-out infinite}@keyframes sandbox-mascot-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.sim-sandbox-welcome-title{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;color:var(--text)}.sim-sandbox-welcome-sub{font-size:.88rem;color:var(--muted-2);max-width:380px;line-height:1.55}.sim-sandbox-welcome-sub strong{color:rgb(216,180,254);font-weight:700}.sim-sandbox-starters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px;max-width:560px;width:100%}.sim-sandbox-starter{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 14px 13px;border-radius:13px;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.28);cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;text-align:left}.sim-sandbox-starter:hover{transform:translateY(-2px);background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.55);box-shadow:0 10px 26px rgba(168,85,247,.22)}.sim-sandbox-starter-emoji{font-size:1.5rem;line-height:1;margin-bottom:4px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.sim-sandbox-starter-label{font-size:.96rem;font-weight:700;color:var(--text)}.sim-sandbox-starter-sub{font-size:.74rem;color:var(--muted);line-height:1.35}.sim-sandbox-hint{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.78rem;color:var(--muted);font-style:italic}.sim-sandbox-hint :first-child{color:rgb(216,180,254)}.sim-sandbox-welcome-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.sim-sandbox-welcome-close:hover{background:rgba(255,255,255,.12);color:var(--text);border-color:rgba(255,255,255,.22)}.sim-sandbox-skip{margin-top:8px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--muted-2);font-size:.86rem;font-weight:500;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.sim-sandbox-skip:hover{background:rgba(255,255,255,.06);color:var(--text);border-color:rgba(255,255,255,.2)}.sim-empty-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;z-index:2;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(8,14,35,.82) 0,rgba(4,6,16,.88) 100%);backdrop-filter:blur(8px)}.sim-empty-icon{font-size:2.2rem;filter:drop-shadow(0 0 16px rgba(93,228,255,.3))}.sim-empty-title{font-size:.9rem;font-weight:700;color:var(--text)}.sim-empty-body{font-size:.78rem;color:var(--muted);text-align:center;max-width:260px;line-height:1.5}.sim-env-badge{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;background:rgba(10,12,28,.82);border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:.7rem;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.04em;backdrop-filter:blur(8px);pointer-events:none;z-index:10;white-space:nowrap}.sim-env-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.75)}}.sim-tutorial-btn{position:absolute;top:10px;right:12px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(10,14,36,.8);color:rgba(180,210,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);z-index:11;transition:border-color .2s,color .2s}.sim-tutorial-btn:hover{border-color:rgba(100,160,255,.5);color:#ffffff}.sim-score-badge{position:absolute;bottom:14px;right:12px;display:flex;align-items:center;gap:5px;padding:5px 10px;background:rgba(10,14,36,.85);border:1px solid rgba(255,212,64,.3);border-radius:20px;font-size:.75rem;font-weight:700;color:#ffd440;cursor:pointer;backdrop-filter:blur(8px);z-index:11}.sim-score-max{color:rgba(255,255,255,.45);font-weight:400}.sim-tutorial-panel{position:absolute;top:46px;right:12px;width:240px;background:rgba(8,10,24,.92);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;backdrop-filter:blur(12px);z-index:20;display:flex;flex-direction:column;gap:10px}.sim-tutorial-head{display:flex;align-items:center;justify-content:space-between}.sim-tutorial-title{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.03em}.sim-tutorial-close{width:22px;height:22px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.sim-tutorial-close:hover{background:rgba(255,255,255,.16)}.sim-tutorial-layer-tag{display:inline-block;padding:2px 8px;background:rgba(100,160,255,.15);border-radius:8px;font-size:.65rem;font-weight:600;color:#80b4ff;letter-spacing:.06em;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.sim-tutorial-text{font-size:.78rem;color:rgba(220,230,255,.88);line-height:1.55;margin:0;min-height:3.2em}.sim-tutorial-nav{gap:8px}.sim-tutorial-nav,.sim-tutorial-nav-btn{display:flex;align-items:center;justify-content:center}.sim-tutorial-nav-btn{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);cursor:pointer;transition:background .15s,opacity .15s}.sim-tutorial-nav-btn:disabled{opacity:.3;cursor:default}.sim-tutorial-nav-btn:not(:disabled):hover{background:rgba(255,255,255,.14)}.sim-tutorial-dots{display:flex;gap:4px;align-items:center}.sim-tutorial-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .2s}.sim-tutorial-dot.active{background:rgba(130,180,255,.9)}.sim-scoring{border-top:1px solid rgba(255,255,255,.07);padding-top:8px;display:flex;flex-direction:column;gap:4px}.sim-scoring-label{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,212,64,.7);margin-bottom:2px}.sim-scoring-row{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:rgba(200,215,255,.75)}.sim-scoring-pts{color:rgba(255,212,64,.65);font-weight:600;font-size:.66rem}.sim-score-panel{position:absolute;bottom:50px;right:12px;width:220px;background:rgba(8,10,24,.92);border:1px solid rgba(255,212,64,.2);border-radius:14px;padding:12px;backdrop-filter:blur(12px);z-index:20;display:flex;flex-direction:column;gap:8px}.sim-score-panel-head{display:flex;align-items:center;gap:6px;color:#ffd440;font-size:.72rem;font-weight:700}.sim-score-panel-head button{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center}.sim-score-total{font-size:2rem;font-weight:800;color:#ffffff;text-align:center;letter-spacing:-.02em}.sim-score-max-lg{font-size:1rem;color:rgba(255,255,255,.35);font-weight:400}.sim-score-metric{display:flex;align-items:center;gap:6px;font-size:.68rem}.sim-score-metric-name{width:70px;color:rgba(200,215,255,.7);flex-shrink:0}.sim-score-metric-bar-track{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}.sim-score-metric-bar{height:100%;border-radius:2px;background:linear-gradient(90deg,#4080ff,#5de4ff)}.sim-score-metric-pts{width:28px;text-align:right;color:rgba(255,212,64,.7);font-weight:600}.lesson-player-root{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--stage-backdrop);position:relative;overflow:hidden}.lesson-player-empty{display:grid;place-items:center;height:100%;color:var(--muted);font-size:.82rem;padding:24px;text-align:center}.lesson-player-bot{position:absolute;top:74px;left:16px;z-index:10}.bot-avatar-shell{display:grid;place-items:center;border:2px solid rgba(93,228,255,.2);backdrop-filter:blur(10px);transition:background .3s,box-shadow .3s}.bot-avatar-emoji{line-height:1}.lesson-player-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 24px 12px;overflow-y:auto;scrollbar-width:thin}.lesson-step-content{max-width:560px;width:100%}.lesson-narration{background:rgba(93,228,255,.06);border:1px solid rgba(93,228,255,.12);border-radius:var(--radius-lg);padding:20px 24px;font-size:.92rem;line-height:1.65;color:var(--text)}.lesson-drawing-indicator{display:flex;justify-content:center;padding-top:16px}.lesson-drawing-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,184,77,.3);background:rgba(255,184,77,.08);color:var(--text);font-size:.82rem;font-weight:600}.lesson-drawing-icon{font-size:1.1rem}.lesson-quiz{display:flex;flex-direction:column;gap:14px}.lesson-quiz-question{font-size:1rem;font-weight:700;color:var(--text);line-height:1.5}.lesson-quiz-options{display:flex;flex-direction:column;gap:8px}.lesson-quiz-option{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.85rem;cursor:pointer;text-align:left;transition:all .15s ease}.lesson-quiz-option:hover:not(:disabled){border-color:rgba(93,228,255,.35);background:rgba(93,228,255,.06)}.lesson-quiz-option.correct{border-color:rgba(77,255,184,.5);background:rgba(77,255,184,.1)}.lesson-quiz-option.incorrect{border-color:rgba(255,79,140,.4);background:rgba(255,79,140,.08)}.lesson-quiz-letter{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:rgba(93,228,255,.1);display:grid;place-items:center;font-weight:800;font-size:.72rem;color:var(--cyan)}.lesson-quiz-feedback{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-size:.82rem;font-weight:600}.lesson-quiz-feedback.correct{background:rgba(77,255,184,.1);border:1px solid rgba(77,255,184,.25);color:var(--green)}.lesson-quiz-feedback.incorrect{background:rgba(255,184,77,.08);border:1px solid rgba(255,184,77,.25);color:var(--amber)}.lesson-challenge{display:flex;flex-direction:column;gap:14px}.lesson-challenge-header{display:flex;align-items:flex-start;gap:10px}.lesson-challenge-icon{font-size:1.3rem;flex-shrink:0}.lesson-challenge-instruction{font-size:.92rem;font-weight:600;color:var(--text);line-height:1.5}.lesson-challenge-input-area{display:flex;gap:8px}.lesson-challenge-input{flex:1;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.85rem;outline:none;transition:border-color .15s}.lesson-challenge-input:focus{border-color:var(--cyan)}.lesson-challenge-submit{padding:10px 20px;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,var(--cyan),var(--violet));color:white;font-size:.82rem;font-weight:700;cursor:pointer;transition:opacity .15s}.lesson-challenge-submit:disabled{opacity:.4;cursor:not-allowed}.lesson-challenge-hints{display:flex;flex-direction:column;gap:6px}.lesson-hint-toggle{background:none;border:none;color:var(--muted);font-size:.78rem;cursor:pointer;text-align:left;padding:0}.lesson-hint-toggle:hover{color:var(--cyan)}.lesson-hint-text{font-size:.82rem;color:var(--amber);padding:8px 12px;background:rgba(255,184,77,.06);border-radius:var(--radius-md);border:1px solid rgba(255,184,77,.15);overflow:hidden}.lesson-challenge-success{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);background:rgba(77,255,184,.1);border:1px solid rgba(77,255,184,.25);color:var(--green);font-size:.85rem;font-weight:600}.lesson-celebrate,.lesson-reveal{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px}.lesson-celebrate-icon,.lesson-reveal-icon{font-size:2.5rem}.lesson-celebrate p,.lesson-reveal p{font-size:1rem;font-weight:600;color:var(--text);max-width:400px;line-height:1.6}.lesson-player-controls{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid rgba(93,228,255,.08);background:rgba(5,8,22,.7);backdrop-filter:blur(10px)}.lesson-controls-left{display:flex;align-items:center;gap:4px;flex-shrink:0}.lesson-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .12s ease}.lesson-ctrl-btn:hover:not(:disabled){color:var(--text);border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.06)}.lesson-ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.lesson-ctrl-play{width:34px;height:34px;border-color:rgba(93,228,255,.25);color:var(--cyan)}.lesson-controls-center{flex:1;min-width:0}.lesson-progress-track{position:relative;height:4px;background:rgba(93,228,255,.08);border-radius:2px;cursor:pointer}.lesson-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:2px}.lesson-progress-marker{position:absolute;top:-3px;width:6px;height:10px;border-radius:2px;background:rgba(93,228,255,.2);transform:translateX(-50%);cursor:pointer;transition:background .15s}.lesson-progress-marker.active,.lesson-progress-marker:hover{background:var(--cyan)}.lesson-controls-right{flex-shrink:0}.lesson-step-counter{font-size:.72rem;font-weight:700;color:var(--muted);font-family:ui-monospace,monospace}.lesson-step-progress{flex-shrink:0;height:2px;background:rgba(93,228,255,.05)}.lesson-step-progress-fill{height:100%;background:var(--cyan);opacity:.5}.lesson-step-rail{display:flex;align-items:flex-start;padding:12px 20px 10px;border-bottom:1px solid rgba(93,228,255,.08);background:rgba(5,8,22,.6);backdrop-filter:blur(10px);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.lesson-step-rail::-webkit-scrollbar{display:none}.lesson-rail-line{flex:1;height:2px;background:rgba(149,166,199,.12);margin-top:13px;min-width:10px;transition:background .3s ease}.lesson-rail-line.filled{background:rgba(34,197,94,.4)}.lesson-rail-node-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.lesson-rail-node{width:26px;height:26px;border-radius:50%;border:2px solid rgba(149,166,199,.2);background:rgba(5,8,22,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:transparent;transition:border-color .2s,background .2s,box-shadow .2s}.lesson-rail-node:hover{border-color:rgba(149,166,199,.4)}.lesson-rail-node.done{background:#22c55e;border-color:#22c55e;color:#fff;box-shadow:0 0 10px rgba(34,197,94,.35)}.lesson-rail-node.active{border-color:var(--cyan);border-width:2px;box-shadow:0 0 0 3px rgba(93,228,255,.18),0 0 12px rgba(93,228,255,.2)}.lesson-rail-label{font-size:.64rem;font-weight:600;color:rgba(149,166,199,.38);white-space:nowrap;transition:color .2s}.lesson-rail-label.done{color:rgba(34,197,94,.7)}.lesson-rail-label.active{color:var(--cyan);font-weight:700}.lesson-rail-xp{font-size:.58rem;font-weight:700;color:var(--green);background:rgba(77,255,184,.1);border:1px solid rgba(77,255,184,.22);border-radius:99px;padding:1px 5px;white-space:nowrap}.sketch-notify-card{position:fixed;bottom:24px;right:96px;z-index:70;width:min(380px,calc(100vw - 48px));display:flex;align-items:flex-start;gap:12px;padding:14px 40px 14px 14px;border-radius:16px;background:linear-gradient(145deg,rgba(22,28,46,.98),rgba(8,12,26,.98));border:1px solid rgba(93,228,255,.32);box-shadow:0 10px 40px rgba(0,0,0,.5),0 0 0 1px rgba(93,228,255,.06),0 0 32px rgba(93,228,255,.18);color:var(--text);animation:sketch-notify-in .26s cubic-bezier(.2,.9,.3,1.2) both}:root[data-theme=light] .sketch-notify-card{background:linear-gradient(145deg,#ffffff,#f4f8ff);border-color:rgba(14,120,200,.32);box-shadow:0 10px 40px rgba(14,60,120,.18),0 0 24px rgba(93,228,255,.18);color:#0f1a2e}@keyframes sketch-notify-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.sketch-notify-avatar{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.6rem;background:linear-gradient(135deg,rgba(93,228,255,.22),rgba(168,85,247,.22));border:1px solid rgba(93,228,255,.35);animation:sketch-notify-bob 2.4s ease-in-out infinite}@keyframes sketch-notify-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.sketch-notify-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.sketch-notify-header{display:flex;align-items:center;gap:8px}.sketch-notify-name{font-size:.82rem;letter-spacing:.02em}.sketch-notify-name,.sketch-notify-tag{font-weight:700;color:var(--cyan,#5de4ff)}.sketch-notify-tag{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:rgba(93,228,255,.14);border:1px solid rgba(93,228,255,.3)}.sketch-notify-title{font-size:.95rem;font-weight:700;line-height:1.25}.sketch-notify-title em{font-style:normal;color:var(--cyan,#5de4ff)}.sketch-notify-copy{font-size:.82rem;color:var(--muted);line-height:1.35}.sketch-notify-actions{display:flex;gap:8px;margin-top:6px}.sketch-notify-btn{flex:1;padding:8px 12px;border-radius:10px;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease;border:1px solid transparent}.sketch-notify-btn.ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:var(--muted)}.sketch-notify-btn.ghost:hover{background:rgba(255,255,255,.08);color:var(--text)}.sketch-notify-btn.primary{background:linear-gradient(135deg,rgba(93,228,255,.95),rgba(168,85,247,.9));color:#05101f;border-color:rgba(93,228,255,.5);box-shadow:0 6px 18px rgba(93,228,255,.28)}.sketch-notify-btn.primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(93,228,255,.38)}.sketch-notify-dismiss{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:8px;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;display:grid;place-items:center}.sketch-notify-dismiss:hover{background:rgba(255,255,255,.08);color:var(--text)}.tutor-drawer-handle.has-notification{border-color:rgba(93,228,255,.55);background:linear-gradient(135deg,rgba(93,228,255,.26),rgba(168,85,247,.22));box-shadow:-4px 0 28px rgba(93,228,255,.38),var(--shadow-lg);animation:tutor-handle-pulse 1.8s ease-in-out infinite}@keyframes tutor-handle-pulse{0%,to{box-shadow:-4px 0 28px rgba(93,228,255,.32),var(--shadow-lg)}50%{box-shadow:-4px 0 36px rgba(93,228,255,.6),var(--shadow-lg)}}.tutor-drawer-badge{position:absolute;top:6px;left:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff4d6d;color:#ffffff;font-size:.7rem;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px rgba(5,8,22,.9),0 4px 10px rgba(255,77,109,.5);pointer-events:none}.tutor-voice-picker{position:relative;display:inline-flex}.tutor-voice-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:220px;padding:6px;border-radius:12px;background:rgba(12,16,28,.98);border:1px solid rgba(93,228,255,.22);box-shadow:0 12px 32px rgba(0,0,0,.5);animation:voice-menu-in .14s ease-out both}:root[data-theme=light] .tutor-voice-menu{background:#ffffff;border-color:rgba(14,120,200,.22);box-shadow:0 12px 32px rgba(14,60,120,.16);color:#0f1a2e}@keyframes voice-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tutor-voice-menu-footer,.tutor-voice-menu-header{padding:6px 10px 4px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tutor-voice-menu-footer{padding:6px 10px 4px;text-transform:none;letter-spacing:.02em;font-weight:500;font-size:.66rem;opacity:.7;text-align:right}.tutor-voice-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text);font-size:.82rem;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}.tutor-voice-option:hover{background:rgba(93,228,255,.08)}.tutor-voice-option.active{background:rgba(93,228,255,.12);border-color:rgba(93,228,255,.35)}.tutor-voice-emoji{font-size:1.25rem;line-height:1;flex-shrink:0}.tutor-voice-meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tutor-voice-label{font-weight:700;color:var(--text)}.tutor-voice-desc{font-size:.72rem;color:var(--muted)}.tutor-voice-check{color:var(--cyan,#5de4ff);font-weight:800;flex-shrink:0}.levelup-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(13,16,44,.65) 0,rgba(5,8,22,.92) 70%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden}.levelup-confetti-layer{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}.levelup-confetti-piece{position:absolute;border-radius:2px;box-shadow:0 0 10px currentColor}.levelup-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.25rem 2.75rem;border-radius:24px;background:linear-gradient(135deg,rgba(93,228,255,.18),rgba(168,85,247,.22) 55%,rgba(255,176,0,.18));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 80px rgba(93,228,255,.32),0 0 120px rgba(168,85,247,.28),inset 0 0 0 1px rgba(255,255,255,.06);color:#fff;text-align:center;min-width:300px;max-width:min(92vw,440px)}.levelup-headline{font-size:.9rem;letter-spacing:.42em;font-weight:800;color:#ffd76b;text-shadow:0 0 14px rgba(255,215,107,.7)}.levelup-badge{position:relative;display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(93,228,255,.2) 45%,rgba(168,85,247,.25) 100%);border:2px solid rgba(255,255,255,.35);box-shadow:0 0 40px rgba(93,228,255,.55),0 0 90px rgba(168,85,247,.45);margin:.25rem 0}.levelup-emoji{font-size:4.2rem;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}.levelup-level-number{position:absolute;bottom:-10px;padding:2px 12px;border-radius:999px;background:#0d1228;border:1px solid rgba(255,255,255,.3);font-size:.85rem;font-weight:800;letter-spacing:.08em;color:#ffd76b;box-shadow:0 6px 18px rgba(0,0,0,.45)}.levelup-title{font-size:1.75rem;font-weight:800;letter-spacing:.02em;background:linear-gradient(90deg,#5de4ff,#a855f7,#ffb000);-webkit-background-clip:text;background-clip:text;color:transparent}.levelup-xp-row{display:flex;align-items:baseline;gap:.65rem;margin-top:.35rem}.levelup-xp-counter{font-size:1.2rem;font-weight:700;color:#e6f6ff;font-variant-numeric:tabular-nums}.levelup-xp-delta{font-size:.95rem;font-weight:800;color:#36d399;text-shadow:0 0 10px rgba(54,211,153,.7)}.levelup-dismiss{margin-top:.75rem;padding:.55rem 1.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.levelup-dismiss:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.levelup-confetti-piece{display:none}}.xp-toast-stack{position:fixed;right:20px;bottom:24px;z-index:1100;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none}.xp-toast{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .95rem;border-radius:999px;background:linear-gradient(135deg,rgba(54,211,153,.95),rgba(34,211,238,.95));color:#052013;font-weight:800;font-size:.92rem;box-shadow:0 12px 30px rgba(54,211,153,.38),inset 0 0 0 1px rgba(255,255,255,.3);pointer-events:auto;white-space:nowrap}.xp-toast--negative{background:linear-gradient(135deg,rgba(255,77,109,.95),rgba(255,176,0,.95));color:#2a0811;box-shadow:0 12px 30px rgba(255,77,109,.38),inset 0 0 0 1px rgba(255,255,255,.3)}.xp-toast-emoji{font-size:1.1rem;line-height:1}.xp-toast-amount{font-variant-numeric:tabular-nums;letter-spacing:.01em}.xp-toast-reason{font-weight:600;font-size:.82rem;opacity:.85}.guided-tour-backdrop{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:24px;background:rgba(6,12,24,.52);backdrop-filter:blur(4px)}.guided-tour-backdrop-dim{place-items:stretch;backdrop-filter:blur(2px);cursor:default}.guided-tour-intro-card{width:min(420px,100%);padding:1.5rem 1.65rem;border-radius:var(--radius-lg,20px);background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(240,247,255,.96));border:1px solid rgba(113,132,255,.2);box-shadow:0 28px 60px rgba(40,60,120,.22);color:var(--text,#18314c)}.guided-tour-intro-card h2{margin:0 0 .5rem;font-size:1.35rem;line-height:1.25}.guided-tour-intro-card p{margin:0 0 1.25rem;color:var(--muted,#60738f);line-height:1.55;font-size:.95rem}.guided-tour-intro-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.guided-tour-floating-card{position:fixed;z-index:12001;padding:1rem 1.15rem;border-radius:var(--radius-md,16px);background:rgba(255,255,255,.98);border:1px solid rgba(113,132,255,.22);box-shadow:0 18px 44px rgba(40,60,120,.2);color:var(--text,#18314c);pointer-events:auto}.guided-tour-floating-card h3{margin:0 0 .35rem;font-size:1.05rem}.guided-tour-floating-card p{margin:0 0 .85rem;font-size:.88rem;line-height:1.5;color:var(--muted,#60738f)}.guided-tour-step-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.guided-tour-step-count{font-size:.78rem;font-weight:700;color:var(--muted,#60738f);letter-spacing:.04em}.guided-tour-step-actions{display:flex;gap:8px;margin-left:auto}.guided-tour-btn{border-radius:12px;padding:.45rem .95rem;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;border:1px solid transparent}.guided-tour-btn.primary{background:linear-gradient(135deg,var(--cyan,#4fc8ff),#c7f1ff);color:#0a1f33}.guided-tour-btn.ghost{background:rgba(235,241,255,.95);color:#36517f;border-color:rgba(113,132,255,.18)}@media (prefers-reduced-motion:reduce){.guided-tour-backdrop,.guided-tour-backdrop-dim{backdrop-filter:none}}.plan-boot-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--entry-base-1,#0a1020);z-index:200;overflow:hidden;isolation:isolate}.plan-boot-screen:after{z-index:0;background:linear-gradient(125deg,var(--entry-base-1,#0a1020) 0,var(--entry-base-2,#0c1428) 40%,var(--entry-base-3,#0a0e18) 100%);background-size:200% 200%;animation:boot-bg-pan 18s ease-in-out infinite alternate}.plan-boot-screen:after,.plan-boot-screen:before{content:"";position:absolute;inset:0;pointer-events:none}.plan-boot-screen:before{z-index:1;background:radial-gradient(ellipse 80% 60% at 20% 20%,var(--entry-a1,rgba(79,216,255,.16)),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 15%,var(--entry-a2,rgba(155,125,255,.14)),transparent 50%),radial-gradient(ellipse 60% 45% at 70% 85%,var(--entry-a3,rgba(255,122,209,.1)),transparent 50%)}.plan-boot-blobs{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.plan-boot-blob-a,.plan-boot-blob-b{position:absolute;border-radius:999px;filter:blur(2px)}.plan-boot-blob-a{width:min(52vw,420px);height:min(52vw,420px);left:-12%;top:6%;background:radial-gradient(circle,rgba(79,216,255,.35),transparent 68%);animation:boot-blob-a 14s ease-in-out infinite}.plan-boot-blob-b{width:min(58vw,480px);height:min(58vw,480px);right:-14%;bottom:2%;background:radial-gradient(circle,rgba(155,125,255,.32),transparent 70%);animation:boot-blob-b 16s ease-in-out infinite}.plan-boot-center{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;animation:boot-fade-up .75s cubic-bezier(.22,1,.36,1) both}.plan-boot-mark-wrap{position:relative;width:96px;height:96px;display:grid;place-items:center;margin-bottom:24px;animation:boot-logo-float 3.8s ease-in-out infinite;animation-delay:.75s}.plan-boot-ring{position:absolute;inset:0;border-radius:999px;border:1.5px solid rgba(93,228,255,.28);animation:boot-ring-pulse 2.6s ease-out infinite}.plan-boot-ring-d{animation-delay:.95s;border-color:rgba(168,85,247,.26)}.plan-boot-wordmark-name{font-size:2.4rem;font-weight:800;letter-spacing:-.035em;line-height:1;margin-bottom:6px;color:var(--text,#eef4ff)}.plan-boot-wordmark-ai{background:linear-gradient(120deg,var(--cyan,#5de4ff) 0,#b8a8ff 50%,#ff4fd8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.plan-boot-wordmark-sub{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted,#95a6c7);margin-bottom:52px}.plan-boot-load-area{width:300px;display:flex;flex-direction:column;align-items:center;gap:11px}.plan-boot-message{font-size:.88rem;font-weight:600;color:var(--text,#eef4ff);opacity:.9;min-height:1.3em}.plan-boot-track{width:100%;height:2px;background:rgba(255,255,255,.08);position:relative}.plan-boot-fill,.plan-boot-track{border-radius:999px;overflow:hidden}.plan-boot-fill{position:absolute;left:0;top:0;bottom:0;width:12%;background:linear-gradient(90deg,var(--cyan,#5de4ff),var(--violet,#a855f7))}.plan-boot-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);animation:boot-bar-sweep 1.4s ease-in-out infinite}@keyframes boot-bg-pan{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes boot-blob-a{0%,to{transform:translate(-6%,-4%) scale(1);opacity:.55}50%{transform:translate(4%,8%) scale(1.12);opacity:.85}}@keyframes boot-blob-b{0%,to{transform:translate(8%,6%) scale(1.05);opacity:.45}50%{transform:translate(-6%,-8%) scale(.95);opacity:.7}}@keyframes boot-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes boot-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes boot-ring-pulse{0%{transform:scale(.88);opacity:.65}70%{transform:scale(1.22);opacity:0}to{transform:scale(.88);opacity:0}}@keyframes boot-bar-sweep{0%{transform:translateX(-100%);width:42%}50%{width:58%}to{transform:translateX(220%);width:42%}}@media (prefers-reduced-motion:reduce){.plan-boot-blob-a,.plan-boot-blob-b{animation:none}.plan-boot-ring{animation:none;opacity:.3}.plan-boot-fill:after,.plan-boot-mark-wrap{animation:none}}.plan-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--entry-base-1,#0c1228);overflow:hidden}.plan-shell:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 30% 50%,rgba(64,128,255,.08),transparent 60%),radial-gradient(ellipse 50% 50% at 75% 30%,rgba(144,96,255,.07),transparent 55%);pointer-events:none}.plan-shell-top{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 20px 0;flex-shrink:0}@property --plan-scene-glow{syntax:"<color>";inherits:true;initial-value:#0a1020}@property --plan-scene-bg{syntax:"<color>";inherits:true;initial-value:#0a1020}.plan-split{flex:1;display:grid;grid-template-columns:56fr 44fr;min-height:0;position:relative;z-index:1;transition:--plan-scene-glow .65s ease,--plan-scene-bg .65s ease}.plan-hero{position:relative;overflow:hidden;display:flex;flex-direction:column}.plan-hero:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:3px;background:var(--plan-scene-bg);z-index:10;pointer-events:none;transition:background .65s ease}.plan-hero-logo{position:absolute;top:22px;left:26px;z-index:5;filter:drop-shadow(0 2px 12px rgba(0,0,0,.5))}.tutor-robot-wrap{position:relative;width:100%;flex:1;min-height:260px;max-height:340px;display:flex;align-items:flex-end;justify-content:center}.tutor-speech-bubble{position:absolute;top:0;left:0;right:0;background:rgba(15,22,46,.88);border:1px solid rgba(93,228,255,.28);border-radius:16px;padding:12px 16px;font-size:.84rem;font-weight:500;color:rgba(255,255,255,.88);line-height:1.5;backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.3);z-index:10}.tutor-speech-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(93,228,255,.28)}.tutor-character{position:relative;display:flex;flex-direction:column;align-items:center;width:200px;margin-bottom:10px}.tutor-hand{position:absolute;z-index:2}.tutor-hand--left{left:-20px;top:60%}.tutor-hand--right{right:-20px;top:58%}.tutor-hand-orb{width:28px;height:28px;border-radius:50%;position:relative}.tutor-hand-orb--left{background:radial-gradient(circle at 35% 30%,#7ec8ff,#3060c8 60%,#1a3580);box-shadow:0 0 18px rgba(93,180,255,.6),0 0 6px rgba(93,180,255,.4)}.tutor-hand-orb--right{background:radial-gradient(circle at 35% 30%,#c87cff,#7030c8 60%,#3d0d80);box-shadow:0 0 18px rgba(168,85,247,.6),0 0 6px rgba(168,85,247,.4)}.tutor-hand-glow{position:absolute;inset:-6px;border-radius:50%;opacity:.25;animation:handPulse 2.4s ease-in-out infinite}.tutor-hand-glow--left{background:radial-gradient(circle,#5de4ff,transparent 70%)}.tutor-hand-glow--right{background:radial-gradient(circle,#a855f7,transparent 70%);animation-delay:.5s}@keyframes handPulse{0%,to{transform:scale(1);opacity:.25}50%{transform:scale(1.4);opacity:.08}}.tutor-head{flex-shrink:0;position:relative;z-index:3}.tutor-head-chassis{width:100px;height:68px;border-radius:14px;background:linear-gradient(160deg,#1e2d4a,#0d1828);border:1.5px solid rgba(64,128,255,.35);box-shadow:0 6px 28px rgba(64,128,255,.2),inset 0 1px 0 rgba(255,255,255,.08);position:relative;overflow:hidden}.tutor-head-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4080ff,#5de4ff,#9060ff);border-radius:14px 14px 0 0}.tutor-eyes{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);display:flex;gap:16px}.tutor-eye{width:16px;height:16px;border-radius:50%;background:#5de4ff;box-shadow:0 0 10px #5de4ff,0 0 4px #5de4ff}.tutor-mouth{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:32px;height:4px;border-radius:999px;background:linear-gradient(90deg,#4080ff,#5de4ff);box-shadow:0 0 8px rgba(93,228,255,.5)}.tutor-neck{width:14px;height:12px;background:linear-gradient(180deg,#1a2a40,#0d1828);border-left:1px solid rgba(64,128,255,.2);border-right:1px solid rgba(64,128,255,.2);margin:0 auto}.tutor-body-orb{width:140px;height:100px;border-radius:50%;background:radial-gradient(ellipse at 38% 30%,#1e3a6e 0,#0a1a38 55%,#060e20 100%);border:1.5px solid rgba(64,128,255,.3);box-shadow:0 8px 36px rgba(64,128,255,.25),0 0 60px rgba(64,128,255,.08),inset 0 2px 0 rgba(255,255,255,.07);position:relative;overflow:hidden;z-index:2;margin-top:-4px;flex-shrink:0}.tutor-body-core{top:25%;left:50%;transform:translateX(-50%);width:30px;height:30px;background:radial-gradient(circle,rgba(93,228,255,.5) 0,rgba(64,128,255,.12) 60%,transparent 100%)}.tutor-body-core,.tutor-body-ring{position:absolute;border-radius:50%}.tutor-body-ring{inset:10px;border:1px dashed rgba(93,228,255,.25)}.tutor-body-highlight{position:absolute;top:14%;left:22%;width:40%;height:28%;border-radius:50%;background:rgba(255,255,255,.06);filter:blur(4px)}.tutor-shadow{width:130px;height:16px;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(0,0,0,.45),transparent);margin:2px auto 0;flex-shrink:0}.tutor-particle{position:absolute;border-radius:50%;background:radial-gradient(circle,#5de4ff,#4080ff);box-shadow:0 0 6px rgba(93,228,255,.6);pointer-events:none}.plan-hero-title{font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:800;color:#ffffff;line-height:1.15;letter-spacing:-.03em;margin:0}.plan-hero-title-accent{background:linear-gradient(90deg,#4080ff,#5de4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-hero-sub{font-size:.88rem;color:rgba(255,255,255,.58);margin:5px 0 0}.plan-hero-features{display:flex;flex-direction:column;gap:10px}.plan-hero-feature{display:flex;align-items:flex-start;gap:10px}.plan-hero-feature-icon{width:28px;height:28px;border-radius:8px;background:rgba(64,128,255,.12);border:1px solid rgba(64,128,255,.2);display:grid;place-items:center;color:#5de4ff;flex-shrink:0;margin-top:1px}.plan-hero-feature-text{font-size:.84rem;font-weight:600;color:rgba(255,255,255,.85)}.plan-hero-feature-sub{font-size:.74rem;color:rgba(255,255,255,.4)}.plan-right{position:relative;display:flex;flex-direction:column;padding:0 48px 0 44px;overflow-y:auto;background:linear-gradient(to right,var(--plan-scene-bg) 0,color-mix(in srgb,var(--plan-scene-bg) 35%,var(--entry-base-1)) 30%,color-mix(in srgb,var(--plan-scene-glow) 7%,var(--entry-base-1)) 100%)}.plan-right:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 65% at 20% 48%,color-mix(in srgb,var(--plan-scene-glow) 18%,transparent) 0,transparent 60%);pointer-events:none;z-index:0}.plan-right-controls{position:absolute;top:18px;right:20px;display:flex;align-items:center;gap:8px;z-index:5}.plan-right-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:56px 0 24px;position:relative;z-index:1}.plan-spark-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.plan-spark-id{display:flex;align-items:center;gap:8px}.plan-spark-name{font-size:1.05rem;font-weight:700;color:rgba(255,255,255,.92);letter-spacing:-.01em}.plan-spark-badge{font-size:.64rem;font-weight:600;color:#5de4ff;background:rgba(93,228,255,.1);border:1px solid rgba(93,228,255,.22);border-radius:6px;padding:2px 7px;letter-spacing:.06em;text-transform:uppercase}.plan-spark-speech{font-size:.86rem;line-height:1.6;color:rgba(255,255,255,.62);margin:0;max-width:320px}.plan-profile-wrap{position:relative}.plan-profile-btn{width:32px;height:32px;border-radius:50%;border:2px solid rgba(93,228,255,.55);background:transparent;color:var(--cyan,#5de4ff);font-size:.78rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;transition:border-color .15s,box-shadow .15s}.plan-profile-btn:hover{border-color:var(--cyan,#5de4ff);box-shadow:0 0 10px rgba(93,228,255,.3)}.plan-profile-btn.is-guest{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18);border-style:dashed;color:rgba(255,255,255,.45)}.plan-profile-btn.is-guest:hover{border-color:rgba(255,255,255,.4);box-shadow:none;color:rgba(255,255,255,.7)}.plan-profile-signin-opt{display:flex;align-items:center;gap:7px;width:100%;padding:7px 4px;background:none;border:none;border-top:1px solid rgba(255,255,255,.06);font-size:.78rem;color:var(--text,#e8eaf6);cursor:pointer;transition:color .14s;text-align:left}.plan-profile-signin-opt:first-of-type{border-top:none;margin-top:4px}.plan-profile-signin-opt:hover{color:var(--cyan,#5de4ff)}.plan-profile-signin-arrow{margin-left:auto;opacity:.4}:root[data-theme=light] .plan-profile-btn.is-guest{border-color:rgba(0,0,0,.2);background:rgba(0,0,0,.03);color:rgba(0,0,0,.4)}:root[data-theme=light] .plan-profile-signin-opt{color:var(--text)}:root[data-theme=light] .plan-profile-signin-opt:hover{color:var(--cyan,#0ea5e9)}.plan-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--card-bg,#111827);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;box-shadow:0 8px 32px rgba(0,0,0,.4);z-index:50}.plan-profile-dropdown-name{font-size:.82rem;font-weight:600;color:var(--text,#e8eaf6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-profile-dropdown-role{font-size:.7rem;color:var(--muted,rgba(255,255,255,.4));margin-top:1px;margin-bottom:8px}.plan-profile-switch{display:block;width:100%;background:none;border:none;border-top:1px solid rgba(255,255,255,.07);font-size:.75rem;color:rgba(255,255,255,.45);cursor:pointer;text-align:left;padding:8px 0 5px;transition:color .14s}.plan-profile-switch:hover{color:rgba(255,255,255,.75)}:root[data-theme=light] .plan-profile-btn{color:var(--cyan,#0ea5e9);background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.45)}:root[data-theme=light] .plan-profile-dropdown{background:#fff;border-color:rgba(0,0,0,.1);box-shadow:0 8px 24px rgba(0,0,0,.12)}:root[data-theme=light] .plan-profile-dropdown-name{color:var(--text)}:root[data-theme=light] .plan-profile-dropdown-role{color:var(--muted)}:root[data-theme=light] .plan-profile-switch{border-color:rgba(0,0,0,.08);color:var(--muted)}.plan-welcome-back{display:flex;align-items:baseline;gap:10px;padding:0 2px}.plan-welcome-text{font-size:.82rem;font-weight:600;color:var(--cyan,#5de4ff)}.plan-welcome-switch{background:none;border:none;font-size:.7rem;color:rgba(255,255,255,.3);cursor:pointer;padding:0;transition:color .14s}.plan-welcome-switch:hover{color:rgba(255,255,255,.6)}:root[data-theme=light] .plan-welcome-text{color:var(--cyan,#0ea5e9)}:root[data-theme=light] .plan-welcome-switch{color:var(--muted)}.plan-card-progress{font-size:.7rem;color:var(--cyan,#5de4ff);margin-top:4px;opacity:.85;font-weight:500;letter-spacing:.01em}:root[data-theme=light] .plan-card-progress{color:var(--cyan,#0ea5e9)}.app-profile-btn{box-sizing:border-box;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(93,228,255,.45);background:rgba(93,228,255,.1);color:var(--cyan,#5de4ff);font:inherit;line-height:1;cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:0;margin:0;flex-shrink:0;transition:background .15s,border-color .15s,box-shadow .15s}.app-profile-btn:hover{border-color:var(--cyan,#5de4ff);box-shadow:0 0 16px rgba(93,228,255,.35)}.app-profile-btn:focus{outline:none}.app-profile-btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(93,228,255,.55),0 0 16px rgba(93,228,255,.35)}.app-sound-btn:focus,.auth-theme-fab:focus{outline:none}.app-sound-btn:focus-visible,.auth-theme-fab:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(93,228,255,.55)}:root[data-theme=light] .app-profile-btn{color:var(--cyan,#0ea5e9);background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.4);box-shadow:0 2px 8px rgba(0,0,0,.1)}.app-profile-btn.is-guest{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:rgba(255,255,255,.75)}.app-profile-btn.is-guest:hover{border-color:rgba(93,228,255,.4);color:#5de4ff;box-shadow:none}.account-panel-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);z-index:200}.account-panel{position:fixed;top:0;right:0;bottom:0;width:300px;z-index:201;background:var(--card-bg,#0d1117);border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;padding:24px 20px 20px;overflow-y:auto}.account-panel-close{position:absolute;top:16px;right:16px;background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;padding:4px;border-radius:6px;transition:color .14s;display:flex;align-items:center}.account-panel-close:hover{color:rgba(255,255,255,.75)}.account-panel-header{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 0 24px;text-align:center}.account-panel-avatar{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--cyan,#5de4ff),#6366f1);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:4px}.account-panel-name{font-size:1rem;font-weight:700;color:var(--text,#e8eaf6)}.account-panel-email{font-size:.75rem;color:var(--muted,rgba(255,255,255,.4));word-break:break-all}.account-panel-role-badge{margin-top:4px;padding:3px 10px;border-radius:99px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:rgba(93,228,255,.12);color:var(--cyan,#5de4ff);border:1px solid rgba(93,228,255,.25)}.account-panel-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.account-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.account-stat-icon{color:var(--cyan,#5de4ff);opacity:.75;margin-bottom:2px}.account-stat-value{font-size:.88rem;font-weight:700;color:var(--text,#e8eaf6)}.account-stat-label{font-size:.67rem;color:var(--muted,rgba(255,255,255,.4));text-transform:uppercase;letter-spacing:.05em}.account-xp-wrap{margin-bottom:8px}.account-xp-labels{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted,rgba(255,255,255,.35));margin-bottom:5px}.account-xp-track{height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.account-xp-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan,#5de4ff),#6366f1)}.spark-tool-confirm{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:1100;display:flex;align-items:center;gap:12px;max-width:460px;padding:12px 14px;border-radius:14px;border:1px solid rgba(168,85,247,.4);background:rgba(20,14,32,.96);box-shadow:0 16px 48px rgba(0,0,0,.5),inset 0 0 0 1px rgba(168,85,247,.15);backdrop-filter:blur(12px)}.spark-tool-confirm-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:rgba(168,85,247,.18);color:#d9b8ff;flex-shrink:0}.spark-tool-confirm-body{flex:1;min-width:0}.spark-tool-confirm-title{font-size:.85rem;font-weight:600;color:#f0eafa;line-height:1.3}.spark-tool-confirm-reason{margin-top:2px;font-size:.75rem;color:rgba(220,210,240,.72);line-height:1.35}.spark-tool-confirm-actions{display:flex;gap:6px;flex-shrink:0}.spark-tool-confirm-no,.spark-tool-confirm-yes{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.spark-tool-confirm-yes{background:rgba(34,197,94,.16);color:#5fe39c;border-color:rgba(34,197,94,.4)}.spark-tool-confirm-yes:hover{background:rgba(34,197,94,.28)}.spark-tool-confirm-no{background:rgba(255,100,100,.1);color:rgba(255,150,150,.85);border-color:rgba(255,100,100,.32)}.spark-tool-confirm-no:hover{background:rgba(255,100,100,.2)}.account-panel-gap{flex:1}.account-panel-toggle-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(168,85,247,.18);background:rgba(168,85,247,.05);margin-bottom:12px}.account-panel-toggle-text{flex:1;min-width:0}.account-panel-toggle-title{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--fg);margin-bottom:3px}.account-panel-toggle-sub{font-size:.72rem;color:var(--muted);line-height:1.35}.account-panel-toggle{flex-shrink:0;width:38px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);position:relative;cursor:pointer;transition:background .18s,border-color .18s;padding:0}.account-panel-toggle.on{background:rgba(168,85,247,.55);border-color:rgba(168,85,247,.7)}.account-panel-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .18s ease;box-shadow:0 1px 3px rgba(0,0,0,.3)}.account-panel-toggle.on .account-panel-toggle-knob{transform:translateX(16px)}.account-panel-volume-row{display:flex;flex-direction:column;gap:6px;padding:10px 14px 12px;border-radius:12px;border:1px solid rgba(168,85,247,.18);background:rgba(168,85,247,.05);margin-bottom:12px}.account-panel-volume-head{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--fg)}.account-panel-volume-label{flex:1}.account-panel-volume-value{font-size:.72rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.account-panel-volume-track{display:flex;align-items:center;gap:8px;color:var(--muted)}.account-panel-volume-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.12);border-radius:999px;outline:none;cursor:pointer}.account-panel-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(168,85,247,.7);box-shadow:0 1px 3px rgba(0,0,0,.3);cursor:pointer;-webkit-transition:transform .12s ease;transition:transform .12s ease}.account-panel-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.account-panel-volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(168,85,247,.7);box-shadow:0 1px 3px rgba(0,0,0,.3);cursor:pointer}.account-panel-signout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;border-radius:12px;border:1px solid rgba(255,80,80,.25);background:rgba(255,80,80,.07);color:rgba(255,120,120,.9);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.account-panel-signout:hover{background:rgba(255,80,80,.14);border-color:rgba(255,80,80,.4);color:#ff6b6b}:root[data-theme=light] .account-panel{background:#fff;border-color:rgba(0,0,0,.08)}:root[data-theme=light] .account-panel-close{color:var(--muted)}:root[data-theme=light] .account-panel-name{color:var(--text)}:root[data-theme=light] .account-panel-email{color:var(--muted)}:root[data-theme=light] .account-panel-role-badge{background:rgba(14,165,233,.1);color:var(--cyan,#0ea5e9);border-color:rgba(14,165,233,.2)}:root[data-theme=light] .account-stat{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.07)}:root[data-theme=light] .account-stat-value{color:var(--text)}:root[data-theme=light] .account-xp-track{background:rgba(0,0,0,.08)}.account-panel-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:4px}.account-panel-tier-badge{padding:3px 10px;border-radius:99px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:rgba(107,124,255,.14);color:#a5b4fc;border:1px solid rgba(107,124,255,.25)}.account-panel-tier-badge.is-free{background:rgba(255,200,60,.1);color:#fbbf24;border-color:rgba(255,200,60,.25)}.account-credits-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px 14px;margin-bottom:4px}.account-credits-card.is-low{border-color:rgba(255,180,0,.25)}.account-credits-card.is-exhausted{border-color:rgba(255,80,80,.3)}.account-credits-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.account-credits-label{font-size:.75rem;font-weight:600;color:var(--muted,rgba(255,255,255,.45));text-transform:uppercase;letter-spacing:.05em}.account-credits-count{font-size:.8rem;font-weight:600;color:var(--text,#e8eaf6)}.account-credits-zero{color:#f87171}.account-credits-of{color:var(--muted,rgba(255,255,255,.35));font-weight:400}.account-credits-track{height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:8px}.account-credits-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan,#5de4ff),#6366f1);transition:width .6s ease}.account-credits-card.is-exhausted .account-credits-fill{background:#f87171}.account-credits-card.is-low .account-credits-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.account-credits-note{font-size:.72rem;color:var(--muted,rgba(255,255,255,.4));margin:0 0 6px;line-height:1.4}.account-credits-note--warn{color:#f87171}.account-credits-upgrade{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-credits-upgrade .account-credits-note{margin:0}.account-upgrade-btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:.72rem;font-weight:600;color:var(--cyan,#5de4ff);text-decoration:none;flex-shrink:0;transition:opacity .15s}.account-upgrade-btn:hover{opacity:.75}:root[data-theme=light] .account-credits-card{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}:root[data-theme=light] .account-credits-label{color:var(--muted)}:root[data-theme=light] .account-credits-count{color:var(--text)}:root[data-theme=light] .account-credits-track{background:rgba(0,0,0,.07)}.plan-divider{height:1px;background:rgba(255,255,255,.07)}.plan-selection{display:flex;flex-direction:column;gap:10px}.plan-right-label{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.38);margin:0}.plan-cards{display:flex;flex-direction:column;gap:10px}.plan-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.plan-card--solo{border-color:rgba(93,228,255,.18)}.plan-card--solo:hover{border-color:rgba(93,228,255,.42);background:rgba(93,228,255,.06);box-shadow:0 0 28px rgba(93,228,255,.07)}.plan-card--tutor{border-color:rgba(168,85,247,.18)}.plan-card--tutor:hover{border-color:rgba(168,85,247,.42);background:rgba(168,85,247,.06);box-shadow:0 0 28px rgba(168,85,247,.07)}.plan-card--class{border-color:rgba(107,124,255,.18)}.plan-card--class:hover{border-color:rgba(107,124,255,.42);background:rgba(107,124,255,.06);box-shadow:0 0 28px rgba(107,124,255,.07)}.plan-card--robots{border-color:rgba(245,158,11,.18)}.plan-card--robots:hover{border-color:rgba(245,158,11,.42);background:rgba(245,158,11,.06);box-shadow:0 0 28px rgba(245,158,11,.07)}.plan-card-icon{flex:0 0 40px;height:40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(93,228,255,.12),rgba(168,85,247,.08));color:#5de4ff}.plan-card--tutor .plan-card-icon{color:#a855f7;background:linear-gradient(135deg,rgba(168,85,247,.12),rgba(255,79,216,.08))}.plan-card--class .plan-card-icon{color:#6b7cff;background:linear-gradient(135deg,rgba(107,124,255,.12),rgba(93,228,255,.08))}.plan-card--robots .plan-card-icon{color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(255,122,36,.08))}.plan-robot-chip{position:fixed;top:14px;right:158px;z-index:181;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--fg,#e2e8f0);font-size:.72rem;cursor:pointer;transition:border-color .15s,background .15s,transform .08s}.plan-robot-chip:hover{border-color:rgba(255,255,255,.24);background:rgba(0,0,0,.6)}.plan-robot-chip:active{transform:scale(.97)}.plan-robot-chip.is-live{border-color:rgba(34,197,94,.55)}.plan-robot-chip.is-sim{border-color:rgba(245,158,11,.45)}.plan-robot-chip-dot{width:7px;height:7px;border-radius:50%}.plan-robot-chip-label{font-family:var(--font-mono,monospace);letter-spacing:.04em}.plan-robot-chip.is-live .plan-robot-chip-label{color:var(--green,#22c55e)}.plan-robot-chip.is-sim .plan-robot-chip-label{color:var(--amber,#f59e0b);font-family:inherit;letter-spacing:0}.plan-robots-content{width:100%;max-width:720px;display:flex;flex-direction:column;gap:18px;text-align:left}.plan-robots-status{position:relative;padding:16px 18px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:radial-gradient(80% 80% at 0 0,color-mix(in srgb,var(--cyan) 9%,transparent),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));overflow:hidden}.plan-robots-status:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--muted,#64748b)}.plan-robots-status--live:before{background:var(--green,#22c55e)}.plan-robots-status--sim:before{background:var(--amber,#f59e0b)}.plan-robots-status--none:before{background:var(--muted,#64748b)}.plan-robots-status-row{display:flex;align-items:flex-start;gap:12px}.plan-robots-status-dot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--muted,#64748b);box-shadow:0 0 0 3px rgba(100,116,139,.18)}.plan-robots-status--live .plan-robots-status-dot{background:var(--green,#22c55e);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}.plan-robots-status--sim .plan-robots-status-dot{background:var(--amber,#f59e0b);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)}.plan-robots-status-headline{flex:1;min-width:0}.plan-robots-status-title{margin:0 0 3px;font-size:.98rem;font-weight:700;letter-spacing:-.01em;color:var(--fg,#e2e8f0)}.plan-robots-status-sub{margin:0;font-size:.82rem;line-height:1.45;color:var(--muted,#94a3b8)}.plan-robots-serial{font-family:var(--font-mono,ui-monospace,monospace);font-size:.78rem;letter-spacing:.04em;padding:1px 6px;border-radius:6px;background:rgba(34,197,94,.1);color:var(--green,#22c55e);border:1px solid rgba(34,197,94,.2)}.plan-robots-metrics{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.plan-robots-metric{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);text-align:left}.plan-robots-metric-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#94a3b8);margin-bottom:2px}.plan-robots-metric-value{font-family:var(--font-mono,ui-monospace,monospace);font-size:.88rem;font-weight:600;color:var(--fg,#e2e8f0)}.plan-robots-warn{margin:12px 0 0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--amber) 10%,transparent);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);font-size:.76rem;color:var(--amber,#f59e0b)}.plan-robots-warn strong{color:var(--fg,#e2e8f0);font-weight:600}.plan-robots-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:520px){.plan-robots-grid{grid-template-columns:1fr}.plan-robots-metrics{grid-template-columns:repeat(2,1fr)}}.plan-robots-card{position:relative;display:grid;grid-template-columns:36px 1fr 18px;grid-template-rows:auto auto;-moz-column-gap:12px;column-gap:12px;row-gap:2px;align-items:center;text-align:left;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);color:var(--fg,#e2e8f0);cursor:pointer;transition:border-color .15s,background .15s,transform .08s}.plan-robots-card:hover:not(.is-disabled){background:rgba(255,255,255,.045);transform:translateY(-1px)}.plan-robots-card:active:not(.is-disabled){transform:scale(.99)}.plan-robots-card.is-disabled{opacity:.55;cursor:not-allowed}.plan-robots-card-icon{grid-column:1;grid-row:1/3;width:36px;height:36px;display:inline-grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.04);color:var(--muted,#94a3b8)}.plan-robots-card--cyan .plan-robots-card-icon{background:color-mix(in srgb,var(--cyan) 18%,transparent);color:var(--cyan,#5de4ff)}.plan-robots-card--amber .plan-robots-card-icon{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber,#f59e0b)}.plan-robots-card--green .plan-robots-card-icon{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green,#22c55e)}.plan-robots-card--violet .plan-robots-card-icon{background:color-mix(in srgb,#a855f7 22%,transparent);color:#c084fc}.plan-robots-card--cyan:hover:not(.is-disabled){border-color:color-mix(in srgb,var(--cyan) 40%,transparent)}.plan-robots-card--amber:hover:not(.is-disabled){border-color:color-mix(in srgb,var(--amber) 40%,transparent)}.plan-robots-card--green:hover:not(.is-disabled){border-color:color-mix(in srgb,var(--green) 40%,transparent)}.plan-robots-card--violet:hover:not(.is-disabled){border-color:rgba(168,85,247,.45)}.plan-robots-card-body{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:2px;min-width:0}.plan-robots-card-label{font-size:.92rem;font-weight:600;color:var(--fg,#e2e8f0)}.plan-robots-card-desc{font-size:.76rem;color:var(--muted,#94a3b8);line-height:1.4}.plan-robots-card-arrow{grid-column:3;grid-row:1/3;color:var(--muted,#94a3b8)}.plan-robots-section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted,#94a3b8);margin:4px 2px}.plan-robots-surface-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width:520px){.plan-robots-surface-row{grid-template-columns:1fr}}.plan-robots-surface-chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:var(--fg,#e2e8f0);cursor:pointer;transition:border-color .15s,background .15s;font-size:.78rem}.plan-robots-surface-chip:hover:not(:disabled){background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16)}.plan-robots-surface-chip:disabled{opacity:.45;cursor:not-allowed}.plan-robots-surface-chip.is-active{background:color-mix(in srgb,var(--cyan) 12%,transparent);border-color:color-mix(in srgb,var(--cyan) 50%,transparent);color:var(--fg,#e2e8f0)}.plan-robots-surface-icon{display:inline-grid;place-items:center;color:var(--muted,#94a3b8)}.plan-robots-surface-chip.is-active .plan-robots-surface-icon{color:var(--cyan,#5de4ff)}.plan-robots-surface-label{font-weight:600;flex:1;min-width:0}.plan-robots-surface-hint{font-size:.68rem;color:var(--muted,#94a3b8);letter-spacing:.02em}.plan-robots-surface-chip.is-calibrated .plan-robots-surface-hint{color:var(--green,#22c55e)}.plan-card-body{flex:1;min-width:0}.plan-card-title{font-size:.96rem;font-weight:700;color:rgba(255,255,255,.92);margin-bottom:2px}.plan-card-desc{font-size:.79rem;color:rgba(255,255,255,.45);line-height:1.35}.plan-card-arrow{font-size:1rem;color:rgba(255,255,255,.3);flex-shrink:0}.plan-teacher-link{font-size:.8rem;color:rgba(255,255,255,.38);background:none;border:none;cursor:pointer;padding:4px 0;text-align:left;transition:color .14s}.plan-teacher-link:hover{color:rgba(255,255,255,.7)}[data-theme=light] .plan-right{background:linear-gradient(to right,var(--plan-scene-bg) 0,color-mix(in srgb,var(--plan-scene-bg) 30%,var(--entry-base-1)) 26%,color-mix(in srgb,var(--plan-scene-glow) 15%,var(--entry-base-1)) 100%)}[data-theme=light] .plan-right:before{background:radial-gradient(ellipse 75% 60% at 30% 40%,color-mix(in srgb,var(--plan-scene-glow) 18%,transparent) 0,transparent 65%)}[data-theme=light] .plan-spark-name{color:var(--text)}[data-theme=light] .plan-spark-speech{color:var(--muted)}[data-theme=light] .plan-spark-badge{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,transparent);border-color:color-mix(in srgb,var(--cyan) 28%,transparent)}[data-theme=light] .plan-divider{background:rgba(0,0,0,.05)}[data-theme=light] .plan-right-label{color:var(--muted)}[data-theme=light] .plan-card{border-color:rgba(0,0,0,.09);background:rgba(255,255,255,.72);box-shadow:0 1px 6px rgba(0,0,0,.06);backdrop-filter:blur(4px)}[data-theme=light] .plan-card--solo{border-color:rgba(0,150,199,.22)}[data-theme=light] .plan-card--solo:hover{border-color:rgba(0,150,199,.5);background:rgba(0,150,199,.07);box-shadow:0 4px 20px rgba(0,150,199,.12)}[data-theme=light] .plan-card--tutor{border-color:rgba(107,92,255,.22)}[data-theme=light] .plan-card--tutor:hover{border-color:rgba(107,92,255,.5);background:rgba(107,92,255,.07);box-shadow:0 4px 20px rgba(107,92,255,.12)}[data-theme=light] .plan-card--class{border-color:rgba(80,100,240,.22)}[data-theme=light] .plan-card--class:hover{border-color:rgba(80,100,240,.5);background:rgba(80,100,240,.07);box-shadow:0 4px 20px rgba(80,100,240,.12)}[data-theme=light] .plan-card-title{color:var(--text)}[data-theme=light] .plan-card-desc{color:var(--muted)}[data-theme=light] .plan-card-arrow{color:var(--muted);opacity:.55}[data-theme=light] .plan-teacher-link{color:var(--muted);opacity:.7}[data-theme=light] .plan-teacher-link:hover{color:var(--text);opacity:1}[data-theme=light] .plan-join-title{color:var(--text)}[data-theme=light] .plan-join-desc{color:var(--muted)}[data-theme=light] .plan-hero-text-area{background:linear-gradient(to bottom,transparent 0,color-mix(in srgb,var(--plan-scene-bg) 72%,transparent) 32%,var(--plan-scene-bg) 100%)}[data-theme=light] .plan-hero-title{color:var(--text)}[data-theme=light] .plan-hero-title-accent{background:linear-gradient(90deg,var(--blue),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .plan-hero-sub{color:var(--muted)}[data-theme=light] .plan-hero-chip{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.11);color:var(--text)}[data-theme=light] .plan-hero-logo{filter:drop-shadow(0 2px 8px rgba(0,0,0,.12))}.plan-join-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px;position:relative;z-index:1}.plan-join-head{text-align:center}.plan-join-icon{width:60px;height:60px;border-radius:16px;background:rgba(107,124,255,.12);border:1px solid rgba(107,124,255,.25);display:grid;place-items:center;color:#6b7cff;margin:0 auto 14px}.plan-join-title{font-size:1.4rem;font-weight:800;color:#fff;margin:0 0 6px;letter-spacing:-.02em}.plan-join-desc{font-size:.85rem;color:rgba(255,255,255,.5);margin:0}.auth-mode-tabs{display:flex;border-radius:10px;background:rgba(0,0,0,.12);padding:3px;gap:2px;margin-bottom:4px}.auth-mode-tab{flex:1;padding:7px 12px;border-radius:8px;border:none;background:transparent;font-size:.84rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .18s,color .18s}.auth-mode-tab.active{background:var(--panel-strong);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.1)}.entry-input-wrap{position:relative}.entry-input-wrap .entry-input{padding-right:38px}.entry-input-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;padding:2px;transition:color .15s}.entry-input-eye:hover{color:var(--text)}.auth-confirm-panel{text-align:center;padding:12px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.auth-confirm-icon{font-size:2.4rem}.auth-confirm-text{font-size:.85rem;color:var(--muted);line-height:1.55;max-width:280px}.entry-spinner{animation:plan-spin .8s linear infinite}.plan-code-input{font-size:1.4rem!important;font-weight:700!important;letter-spacing:.22em!important;text-align:center!important;text-transform:uppercase!important}.plan-spinner{animation:plan-spin .8s linear infinite}@keyframes plan-spin{to{transform:rotate(1turn)}}.auth-back-to-plan{margin-bottom:12px}.sayspark-wordmark-name,.sayspark-wordmark-say{color:var(--text)}.sayspark-wordmark-spark{background:linear-gradient(90deg,#5de4ff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-left:2px}.sayspark-wordmark-sub{color:rgba(255,255,255,.5);text-transform:uppercase}:root:not([data-theme=dark]) .sayspark-wordmark-sub{color:rgba(0,0,0,.45)}.session-banner{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(135deg,rgba(107,124,255,.92),rgba(168,85,247,.88));backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12);color:white;font-size:.82rem}.session-banner-dot{width:8px;height:8px;border-radius:50%;background:#4dffb8;box-shadow:0 0 0 0 rgba(77,255,184,.4);animation:runtime-pulse 1.4s infinite;flex:0 0 auto}.session-banner-info{flex:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.session-banner-class{font-weight:700}.session-banner-name{opacity:.85}.session-banner-peers{display:inline-flex;align-items:center;gap:4px;opacity:.75;font-size:.76rem}.session-banner-code{font-weight:700;letter-spacing:.12em;font-size:.88rem;opacity:.9;background:rgba(255,255,255,.15);padding:2px 8px;border-radius:6px}.session-banner-leave{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:white;padding:4px 6px;display:grid;place-items:center;cursor:pointer;transition:background .14s ease}.session-banner-leave:hover{background:rgba(255,255,255,.22)}.teacher-dash-overlay{position:fixed;inset:0;z-index:300;background:rgba(5,8,22,.65);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.teacher-dash{width:100%;max-width:560px;max-height:80vh;background:var(--panel-strong);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.teacher-dash-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.teacher-dash-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--text)}.teacher-dash-name{font-weight:400;color:var(--muted)}.teacher-dash-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:8px;transition:color .14s ease}.teacher-dash-close:hover{color:var(--text)}.teacher-dash-error{margin:12px 20px 0}.teacher-dash-empty{padding:32px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}.teacher-dash-empty-text{font-size:.9rem;color:var(--muted);text-align:center;line-height:1.5}.teacher-dash-code-row{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border)}.teacher-dash-code-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.teacher-dash-code{font-size:1.6rem;font-weight:900;letter-spacing:.18em;color:var(--blue);flex:1}.teacher-dash-copy,.teacher-dash-refresh{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--muted);padding:6px 8px;cursor:pointer;display:grid;place-items:center;transition:color .14s ease,background .14s ease}.teacher-dash-copy:hover,.teacher-dash-refresh:hover{color:var(--text);background:var(--panel-strong)}.teacher-dash-grid-head{display:grid;grid-template-columns:1fr 60px 80px 40px;gap:8px;padding:8px 20px;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);border-bottom:1px solid var(--border)}.teacher-dash-list{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.teacher-dash-waiting{color:var(--muted);font-size:.87rem;text-align:center;padding:24px 0}.teacher-dash-row{display:grid;grid-template-columns:1fr 60px 80px 40px;gap:8px;align-items:center;padding:10px 8px;border-radius:10px;font-size:.87rem;color:var(--text);background:var(--panel);border:1px solid transparent}.teacher-dash-row.active{border-color:rgba(77,255,184,.18)}.teacher-dash-row.away{opacity:.55}.teacher-dash-student-name{font-weight:600}.teacher-dash-status-dot{width:10px;height:10px;border-radius:50%;justify-self:center}.teacher-dash-status-dot.active{background:#4dffb8;box-shadow:0 0 0 3px rgba(77,255,184,.2)}.teacher-dash-status-dot.disconnected,.teacher-dash-status-dot.left{background:var(--muted-2)}.teacher-dash-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border)}.teacher-dash-count{font-size:.82rem;color:var(--muted)}.guest-unlock-nudge{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-md);border:1px dashed rgba(168,85,247,.35);background:linear-gradient(135deg,rgba(168,85,247,.06),rgba(107,124,255,.05));width:100%;max-width:600px;margin:0 auto;flex-wrap:wrap}.guest-unlock-icon{font-size:1.1rem;flex:0 0 auto}.guest-unlock-text{font-size:.87rem;color:var(--muted);flex:1}.guest-unlock-btn{background:none;border:1px solid rgba(168,85,247,.4);border-radius:8px;padding:5px 12px;font-size:.82rem;font-weight:600;color:var(--violet);cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease}.guest-unlock-btn:hover{background:rgba(168,85,247,.1)}.teacher-dash-locked-badge{color:var(--amber);font-weight:700}.header-sparks-pill{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:rgba(255,201,107,.1);border:1px solid rgba(255,201,107,.3);color:#ffc96b;font-size:.76rem;font-weight:700;cursor:pointer;flex-shrink:0;white-space:nowrap;transition:background .15s}.header-sparks-pill:hover{background:rgba(255,201,107,.2)}.pmap-overlay{position:fixed;inset:0;z-index:1000;background:rgba(5,8,22,.96)}.pmap-overlay,.pmap-shell{display:flex;flex-direction:column;overflow:hidden}.pmap-shell{height:100%}.pmap-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);gap:12px;flex-shrink:0;background:rgba(9,13,32,.9);backdrop-filter:blur(16px)}.pmap-topbar-left,.pmap-topbar-right{display:flex;align-items:center;gap:10px}.pmap-rank-badge{gap:5px;padding:4px 12px;border-radius:999px;border:1.5px solid var(--cyan);color:var(--cyan);font-weight:700;letter-spacing:.02em}.pmap-rank-badge,.pmap-xp-pill{display:flex;align-items:center;font-size:.78rem}.pmap-xp-pill{gap:6px;color:var(--muted);font-weight:600}.pmap-xp-emoji{font-size:1rem}.pmap-streak-pill{gap:3px;color:#ff8c42;font-size:.74rem}.pmap-sparks-btn,.pmap-streak-pill{display:flex;align-items:center;font-weight:700}.pmap-sparks-btn{gap:6px;padding:6px 14px;border-radius:999px;background:rgba(255,201,107,.12);border:1.5px solid rgba(255,201,107,.35);color:#ffc96b;font-size:.82rem;cursor:pointer;transition:background .15s}.pmap-sparks-btn:hover{background:rgba(255,201,107,.2)}.pmap-spark-icon{font-size:1rem}.pmap-spark-count{font-size:.9rem;font-weight:800}.pmap-close-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:background .15s}.pmap-close-btn:hover{background:rgba(255,255,255,.12);color:var(--text)}.pmap-xp-bar-wrap{padding:8px 20px 4px;flex-shrink:0}.pmap-xp-bar-track{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.pmap-xp-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .8s ease}.pmap-xp-bar-labels{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-top:4px}.pmap-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.pmap-path{position:relative;width:100%;min-height:100%;padding:32px 0 80px;display:flex;flex-direction:column;gap:0}.pmap-row{position:relative;height:110px;flex-shrink:0}.pmap-row--chest{height:90px}.pmap-rank-ladder{margin:14px 20px 4px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03)}.pmap-rank-ladder-title{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.pmap-rank-ladder-tiers{display:flex;flex-wrap:wrap;gap:6px}.pmap-rank-tier{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:.72rem;font-weight:600;color:var(--muted)}.pmap-rank-tier.earned{border-color:rgba(77,255,184,.4);color:#4dffb8}.pmap-rank-tier.current{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 14px rgba(93,228,255,.25)}.pmap-rank-tier.locked{opacity:.55}.pmap-rank-tier-check{font-size:.68rem}.pmap-rank-tier-you{font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:rgba(93,228,255,.15)}.pmap-rank-ladder-nudge{margin-top:8px;font-size:.72rem;color:var(--muted)}.pmap-connector-row{position:absolute;top:0;height:50%;display:flex;align-items:flex-end;padding:0 4%;z-index:1}.pmap-connector-line{width:100%;height:4px;border-radius:999px;background:rgba(255,255,255,.08);transition:background .4s}.pmap-connector-line.done{background:linear-gradient(90deg,var(--cyan),#4dffb8)}.pmap-node-wrap{position:absolute;top:50%;transform:translate(-50%,-50%);flex-direction:column;gap:4px;z-index:5}.pmap-node,.pmap-node-wrap{display:flex;align-items:center}.pmap-node{position:relative;width:64px;height:64px;border-radius:50%;border:3px solid;background:rgba(9,13,32,.9);justify-content:center;cursor:pointer;transition:border-color .2s,box-shadow .2s;overflow:visible}.pmap-node.mastered{background:rgba(255,215,0,.08)}.pmap-node.locked{cursor:not-allowed}.pmap-node-emoji{font-size:1.6rem;line-height:1;display:block}.pmap-node-check{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:#ffd700;color:#1a1000;font-size:.65rem;font-weight:900;display:flex;align-items:center;justify-content:center}.pmap-node-lock{position:absolute;bottom:-2px;right:-2px;color:var(--muted)}.pmap-node-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid;pointer-events:none}.pmap-stars{display:flex;gap:2px}.pmap-star{font-size:.7rem;line-height:1}.pmap-star.filled{color:#ffd700}.pmap-star.empty{color:rgba(255,255,255,.15)}.pmap-node-label{font-size:.68rem;font-weight:700;white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis;text-align:center}.pmap-card{position:absolute;top:50%;transform:translateY(-50%);width:220px;background:rgba(12,16,34,.97);border:1px solid rgba(93,228,255,.25);border-radius:16px;padding:14px;z-index:20;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(93,228,255,.1);backdrop-filter:blur(20px)}.pmap-card-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.pmap-card-emoji{font-size:1.5rem;flex-shrink:0}.pmap-card-title{font-size:.88rem;font-weight:700;color:var(--text);line-height:1.2}.pmap-card-sub{font-size:.7rem;color:var(--muted);margin-top:2px}.pmap-card-desc{font-size:.72rem;color:var(--muted);line-height:1.5;margin-bottom:10px}.pmap-card-layers{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.pmap-card-layer{display:flex;align-items:center;gap:6px;font-size:.7rem;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.04);color:var(--muted)}.pmap-card-layer.completed{color:var(--green);background:rgba(77,255,184,.07)}.pmap-card-layer.started{color:var(--cyan);background:rgba(93,228,255,.07)}.pmap-card-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:opacity .15s}.pmap-card-cta:hover{opacity:.88}.pmap-chest-node{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;cursor:default;z-index:5}.pmap-chest-node.available{cursor:pointer}.pmap-chest-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;position:relative;transition:transform .2s}.pmap-chest-pulse{position:absolute;inset:-6px;border-radius:18px;opacity:.3;animation:chestPulse 1.8s ease-in-out infinite;pointer-events:none}@keyframes chestPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:.08}}.pmap-chest-label{font-size:.65rem;font-weight:700;white-space:nowrap;text-align:center}.pmap-end-trophy{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 0 12px}.pmap-end-trophy-icon{font-size:3.5rem}.pmap-end-trophy-label{font-size:1rem;font-weight:800;color:#ffd700;letter-spacing:.04em}.pmap-end-trophy-sub{font-size:.75rem;color:var(--muted);text-align:center}.chest-overlay{position:fixed;inset:0;z-index:2000;background:rgba(2,4,16,.92);justify-content:center;padding:24px}.chest-modal,.chest-overlay{display:flex;align-items:center}.chest-modal{position:relative;width:100%;max-width:360px;background:rgba(8,12,28,.98);border-radius:24px;border:1px solid rgba(255,255,255,.1);padding:36px 28px 32px;flex-direction:column;gap:16px;overflow:hidden}.chest-halo{position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:200px;height:200px;border-radius:50%;pointer-events:none;opacity:.4}.chest-tier-label{font-size:.65rem;font-weight:900;letter-spacing:.15em;color:var(--muted);position:relative}.chest-graphic-wrap{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.chest-particle{position:absolute;border-radius:50%;pointer-events:none}.chest-box{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative}.chest-emoji{font-size:2.8rem}.chest-reveal{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.chest-reveal-label{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.chest-sparks-award{display:flex;align-items:center;gap:8px;padding:12px 28px;border-radius:999px;background:rgba(255,201,107,.12);border:1.5px solid rgba(255,201,107,.4)}.chest-spark-icon{font-size:1.4rem}.chest-spark-amount{font-size:2rem;font-weight:900;color:#ffc96b;line-height:1}.chest-spark-label{font-size:.8rem;font-weight:600;color:rgba(255,201,107,.7)}.chest-bonus-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border-radius:14px;background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.3);width:100%}.chest-bonus-tag{font-size:.6rem;font-weight:900;letter-spacing:.1em;color:#c084fc;text-transform:uppercase}.chest-bonus-name{font-size:.92rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.chest-bonus-desc{font-size:.72rem;color:var(--muted)}.chest-collect-btn{padding:12px 40px;border-radius:999px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a0f00;font-size:.95rem;font-weight:800;cursor:pointer;border:none;transition:opacity .15s;letter-spacing:.02em}.chest-collect-btn:hover{opacity:.88}.shop-overlay{position:fixed;inset:0;z-index:1500;background:rgba(2,4,16,.88);display:flex;align-items:center;justify-content:center;padding:20px}.shop-panel{width:100%;max-width:680px;max-height:88vh;background:rgba(8,12,28,.99);border-radius:24px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.6)}.shop-header{justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.shop-header,.shop-header-left{display:flex;align-items:center}.shop-header-left{gap:8px;color:var(--text)}.shop-title{font-size:1rem;font-weight:800}.shop-header-right{display:flex;align-items:center;gap:10px}.shop-sparks-display{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;background:rgba(255,201,107,.1);border:1px solid rgba(255,201,107,.3)}.shop-spark-icon{font-size:1rem}.shop-spark-balance{font-size:.9rem;font-weight:800;color:#ffc96b}.shop-spark-label{font-size:.72rem;color:rgba(255,201,107,.6);font-weight:600}.shop-close-btn{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.shop-close-btn:hover{background:rgba(255,255,255,.12);color:var(--text)}.shop-categories{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.shop-cat-tab{display:flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.shop-cat-tab.active{background:rgba(93,228,255,.12);border-color:rgba(93,228,255,.4);color:var(--cyan)}.shop-cat-tab:not(.active):hover{background:rgba(255,255,255,.05);color:var(--text)}.shop-items-grid{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.shop-items-inner{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.shop-item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03);transition:border-color .15s,background .15s}.shop-item:hover:not(.cant-afford){border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05)}.shop-item.owned{border-color:rgba(93,228,255,.3);background:rgba(93,228,255,.05)}.shop-item.cant-afford{opacity:.6}.shop-item-swatch{position:relative;height:72px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1.5px solid;transition:border-color .15s}.shop-item-emoji{font-size:1.8rem}.shop-item-owned-badge{width:20px;height:20px;background:var(--cyan);color:#001a1f}.shop-item-lock-badge,.shop-item-owned-badge{position:absolute;bottom:4px;right:4px;border-radius:50%;display:flex;align-items:center;justify-content:center}.shop-item-lock-badge{width:18px;height:18px;background:rgba(0,0,0,.6);color:var(--muted)}.shop-item-info{display:flex;flex-direction:column;gap:2px;flex:1}.shop-item-name{font-size:.8rem;font-weight:700;color:var(--text)}.shop-item-desc{font-size:.68rem;color:var(--muted);line-height:1.4}.shop-item-owned-tag{font-size:.68rem;font-weight:700;color:var(--cyan);text-align:center;padding:4px 0}.shop-item-buy-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border-radius:8px;background:rgba(255,201,107,.14);border:1px solid rgba(255,201,107,.35);color:#ffc96b;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s}.shop-item-buy-btn:hover:not(.disabled){background:rgba(255,201,107,.25)}.shop-item-buy-btn.disabled{opacity:.5;cursor:not-allowed}.shop-footer{padding:10px 16px;border-top:1px solid var(--border);gap:6px;font-size:.7rem;color:var(--muted);flex-shrink:0}.shop-footer,.spark3d-wrap{display:flex;align-items:center}.spark3d-wrap{position:relative;flex-direction:column;justify-content:flex-end;z-index:1}.spark3d-scene-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.spark3d-bg--welcome{background:radial-gradient(ellipse 80% 55% at 50% 42%,rgba(93,228,255,.28) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 20% 8%,rgba(107,124,255,.18) 0,transparent 60%),radial-gradient(ellipse 60% 30% at 80% 90%,rgba(168,85,247,.1) 0,transparent 55%)}.spark3d-bg--guide{background:radial-gradient(ellipse 80% 55% at 50% 42%,rgba(107,124,255,.28) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 8%,rgba(168,85,247,.18) 0,transparent 60%),radial-gradient(ellipse 60% 30% at 15% 85%,rgba(93,228,255,.1) 0,transparent 55%)}.spark3d-bg--celebrate{background:radial-gradient(ellipse 80% 55% at 50% 42%,rgba(255,201,107,.32) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 22% 8%,rgba(255,79,216,.18) 0,transparent 60%),radial-gradient(ellipse 60% 30% at 78% 88%,rgba(255,160,50,.12) 0,transparent 55%)}.spark3d-bg--adapt{background:radial-gradient(ellipse 80% 55% at 50% 42%,rgba(77,255,184,.28) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 75% 8%,rgba(27,183,210,.18) 0,transparent 60%),radial-gradient(ellipse 60% 30% at 18% 88%,rgba(107,124,255,.1) 0,transparent 55%)}.spark3d-scene-float{font-size:1.55rem;filter:drop-shadow(0 3px 8px rgba(0,0,0,.22));z-index:1}.spark3d-prop,.spark3d-scene-float{position:absolute;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spark3d-prop{z-index:8;filter:drop-shadow(0 0 12px rgba(255,255,255,.4)) drop-shadow(0 5px 14px rgba(0,0,0,.28))}.spark3d-speech{position:relative;z-index:10;background:rgba(8,14,32,.88);border:1px solid rgba(93,228,255,.3);border-radius:16px;padding:10px 16px;font-size:.84rem;font-weight:500;color:rgba(238,244,255,.92);max-width:248px;text-align:center;line-height:1.5;box-shadow:0 8px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin-bottom:10px;flex-shrink:0}:root:not([data-theme=dark]) .spark3d-speech{background:rgba(255,255,255,.92);color:var(--text);border-color:rgba(93,228,255,.22);box-shadow:0 8px 28px rgba(80,120,200,.12)}.spark3d-speech-tail{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid rgba(8,14,32,.88)}:root:not([data-theme=dark]) .spark3d-speech-tail{border-top-color:rgba(255,255,255,.92)}.spark3d-character{position:relative;display:flex;flex-direction:column;align-items:center;width:200px;padding-bottom:18px;z-index:2}.spark3d-arm-mount{position:absolute;top:156px;z-index:1}.spark3d-arm-mount--left{right:calc(50% + 62px)}.spark3d-arm-mount--right{left:calc(50% + 62px)}.spark3d-upper-arm{position:relative;display:flex;align-items:center}.spark3d-upper-arm--left{flex-direction:row-reverse}.spark3d-upper-arm--right{flex-direction:row}.spark3d-lower-arm{position:absolute;display:flex;align-items:center}.spark3d-lower-arm--left{right:100%;flex-direction:row-reverse}.spark3d-lower-arm--right{left:100%;flex-direction:row}.spark3d-arm-seg{border-radius:10px;background:radial-gradient(ellipse at 30% 22%,rgba(255,255,255,.92) 0,rgba(255,255,255,0) 40%),radial-gradient(ellipse at 42% 36%,#edf6ff 0,#c8dcf8 35%,#90b8e8 68%,#6898d0 100%);border:1px solid rgba(170,210,255,.8);box-shadow:0 5px 16px rgba(70,120,210,.22),inset 0 1px 3px rgba(255,255,255,.6),inset 0 -1px 2px rgba(50,90,170,.14)}.spark3d-arm-seg--upper{width:38px;height:17px}.spark3d-arm-seg--lower{width:30px;height:15px}.spark3d-shoulder-ball{position:absolute;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#f0f8ff,#8ab8e0);border:1px solid rgba(165,210,252,.9);box-shadow:0 2px 8px rgba(60,110,200,.22),inset 0 1px 2px rgba(255,255,255,.55);top:50%;transform:translateY(-50%);z-index:2}.spark3d-shoulder-ball--left{right:-6px}.spark3d-shoulder-ball--right{left:-6px}.spark3d-elbow-ball{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#e8f4ff,#7aace0);border:1px solid rgba(155,200,248,.8);box-shadow:0 2px 6px rgba(60,110,200,.18),inset 0 1px 2px rgba(255,255,255,.45);top:50%;transform:translateY(-50%);z-index:2}.spark3d-elbow-ball--left{right:-4px}.spark3d-elbow-ball--right{left:-4px}.spark3d-hand{position:absolute;display:flex;align-items:center;justify-content:center}.spark3d-hand--left{right:100%;margin-right:1px}.spark3d-hand--right{left:100%;margin-left:1px}.spark3d-hand--left .spark3d-hand-knuckle,.spark3d-hand--right .spark3d-hand-knuckle{width:19px;height:19px;border-radius:50% 50% 42% 42%;background:radial-gradient(ellipse at 32% 24%,rgba(255,255,255,.88) 0,rgba(255,255,255,0) 45%),radial-gradient(ellipse at 44% 36%,#eaf4ff 0,#b8d4f4 40%,#80aad8 75%,#5a8ab8 100%);border:1px solid rgba(160,205,252,.85);box-shadow:0 4px 12px rgba(60,110,200,.2),inset 0 1px 3px rgba(255,255,255,.55)}.spark3d-shoulder-socket{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,rgba(80,140,220,.5),rgba(30,70,160,.2));border:1px solid rgba(120,180,255,.3);top:40%}.spark3d-shoulder-socket--l{left:6px}.spark3d-shoulder-socket--r{right:6px}:root[data-theme=dark] .spark3d-arm-seg{background:radial-gradient(ellipse at 30% 22%,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 40%),radial-gradient(ellipse at 42% 36%,#b8cce8 0,#4870a8 40%,#205088 75%,#103868 100%)}:root[data-theme=dark] .spark3d-hand--left .spark3d-hand-knuckle,:root[data-theme=dark] .spark3d-hand--right .spark3d-hand-knuckle{background:radial-gradient(ellipse at 32% 24%,rgba(255,255,255,.6) 0,rgba(255,255,255,0) 45%),radial-gradient(ellipse at 44% 36%,#a8c0e0 0,#4068a0 45%,#184878 80%,#0c2e58 100%)}.spark3d-head{z-index:3;flex-direction:column}.spark3d-head,.spark3d-head-shell{position:relative;display:flex;align-items:center}.spark3d-head-shell{width:126px;height:106px;border-radius:50%;background:radial-gradient(ellipse at 30% 22%,rgba(255,255,255,.9) 0,rgba(255,255,255,0) 38%),radial-gradient(ellipse at 42% 34%,#f5faff 0,#d8eaff 30%,#b0ccf0 55%,#80a8d8 75%,#5888b8 92%,#406898 100%);border:1.5px solid rgba(180,215,255,.85);justify-content:center;box-shadow:0 0 0 2px rgba(200,225,255,.45),0 18px 48px rgba(40,90,180,.28),0 6px 18px rgba(30,70,160,.18),inset 0 3px 8px rgba(255,255,255,.55),inset 0 -18px 32px rgba(20,55,130,.2)}.spark3d-head-spec{top:8px;left:16px;width:40px;height:24px;background:radial-gradient(ellipse at center,rgba(255,255,255,.88) 0,rgba(255,255,255,0) 100%);transform:rotate(-28deg)}.spark3d-head-shine,.spark3d-head-spec{position:absolute;border-radius:50%;pointer-events:none}.spark3d-head-shine{top:22px;left:28px;width:30px;height:18px;background:radial-gradient(ellipse at center,rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%);transform:rotate(-15deg)}.spark3d-head-seam{position:absolute;left:14px;right:14px;top:40px;height:1px;background:linear-gradient(90deg,transparent,rgba(80,120,200,.22) 30%,rgba(80,120,200,.22) 70%,transparent);pointer-events:none}.spark3d-head-chin{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(93,228,255,.18),transparent);pointer-events:none}.spark3d-ear{position:absolute;width:12px;height:26px;border-radius:7px;background:radial-gradient(ellipse at 30% 22%,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 50%),radial-gradient(ellipse at 40% 32%,#eaf2ff 0,#aac8e8 100%);border:1.5px solid rgba(175,212,252,.8);top:34px;box-shadow:0 3px 8px rgba(60,110,200,.15),inset 0 1px 2px rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center}.spark3d-ear--left{left:-8px}.spark3d-ear--right{right:-8px}.spark3d-ear-dot{width:4px;height:4px;border-radius:50%;background:rgba(93,228,255,.6);box-shadow:0 0 4px rgba(93,228,255,.5)}.spark3d-visor{position:absolute;left:50%;top:46px;transform:translateX(-50%);width:90px;height:32px;border-radius:9px;background:#060e1a;box-shadow:inset 0 2px 6px rgba(0,0,0,.8),inset 0 -1px 4px rgba(93,228,255,.06),0 0 0 1px rgba(80,130,210,.2);overflow:hidden;display:flex;align-items:center;justify-content:space-around;padding:0 12px}.spark3d-visor-sheen{top:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);border-radius:9px 9px 0 0}.spark3d-visor-reflect,.spark3d-visor-sheen{position:absolute;left:0;right:0;height:8px;pointer-events:none}.spark3d-visor-reflect{top:5px;background:linear-gradient(90deg,transparent,rgba(80,160,255,.1) 30%,rgba(93,228,255,.15) 50%,rgba(80,160,255,.1) 70%,transparent)}.spark3d-eye{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#c0faff 0,#5de4ff 35%,#00b8e0 70%,#0090b0 100%);box-shadow:0 0 10px rgba(93,228,255,.95),0 0 24px rgba(93,228,255,.5),0 0 44px rgba(93,228,255,.22);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.spark3d-eye-iris{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 42% 36%,#8ff8ff 0,#3ec8ef 50%,#0090c0 100%)}.spark3d-eye-pupil{position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(0,30,60,.55)}.spark3d-eye-spec{position:absolute;top:4px;left:5px;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 0 3px white}.spark3d-eye-arc{width:22px;height:11px;border-radius:22px 22px 0 0;border-top:3.5px solid #5de4ff;background:transparent;box-shadow:0 -3px 10px rgba(93,228,255,.9),0 -6px 18px rgba(93,228,255,.4);flex-shrink:0}.spark3d-neck{width:30px;height:15px;background:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.6) 0,rgba(255,255,255,0) 50%),radial-gradient(ellipse at 40% 34%,#e0eeff 0,#9ebce8 100%);border:1.5px solid rgba(170,210,250,.7);border-radius:7px;margin-top:2px;box-shadow:0 4px 10px rgba(60,110,200,.18),inset 0 1px 2px rgba(255,255,255,.4)}.spark3d-body{width:155px;height:112px;border-radius:50%;background:radial-gradient(ellipse at 28% 22%,rgba(255,255,255,.82) 0,rgba(255,255,255,0) 38%),radial-gradient(ellipse at 40% 32%,#e8f4ff 0,#c0d8f8 35%,#88b4e0 62%,#5898d0 82%,#3878b0 100%);border:1.5px solid rgba(170,212,255,.75);position:relative;margin-top:2px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px rgba(185,220,255,.38),0 20px 50px rgba(40,100,200,.22),0 8px 20px rgba(30,80,180,.15),inset 0 3px 8px rgba(255,255,255,.45),inset 0 -18px 36px rgba(20,60,150,.2)}.spark3d-body-spec{top:10px;left:14px;width:52px;height:30px;background:radial-gradient(ellipse at center,rgba(255,255,255,.72) 0,rgba(255,255,255,0) 100%);transform:rotate(-20deg)}.spark3d-body-shine,.spark3d-body-spec{position:absolute;border-radius:50%;pointer-events:none}.spark3d-body-shine{top:26px;left:26px;width:32px;height:18px;background:radial-gradient(ellipse at center,rgba(255,255,255,.38) 0,rgba(255,255,255,0) 100%);transform:rotate(-12deg)}.spark3d-body-seam{position:absolute;left:20px;right:20px;top:44%;height:1px;background:linear-gradient(90deg,transparent,rgba(80,130,210,.18) 30%,rgba(80,130,210,.18) 70%,transparent);pointer-events:none}.spark3d-chest-core{width:30px;height:30px;border-radius:50%;box-shadow:0 0 14px rgba(93,228,255,.6),0 0 30px rgba(93,228,255,.25);display:flex;align-items:center;justify-content:center;z-index:1;position:relative}.spark3d-chest-inner{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,.5));box-shadow:0 0 6px rgba(255,255,255,.7)}.spark3d-chest-ring{position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.spark3d-body-rim-l,.spark3d-body-rim-r{position:absolute;top:26%;width:7px;height:40px;border-radius:4px;background:linear-gradient(180deg,rgba(165,210,255,.48),rgba(93,228,255,.1))}.spark3d-body-rim-l{left:11px}.spark3d-body-rim-r{right:11px}.spark3d-particle{pointer-events:none}.spark3d-particle,.spark3d-shadow{position:absolute;border-radius:50%}.spark3d-shadow{width:82px;height:12px;background:radial-gradient(ellipse,rgba(30,60,150,.3),transparent 70%);bottom:0;left:50%;transform:translateX(-50%)}:root[data-theme=dark] .spark3d-head-shell{background:radial-gradient(ellipse at 30% 22%,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 38%),radial-gradient(ellipse at 42% 34%,#c8dcf8 0,#6080a8 35%,#304878 60%,#1c3060 80%,#0e2040 100%);border-color:rgba(100,160,230,.5);box-shadow:0 0 0 2px rgba(80,140,220,.3),0 18px 48px rgba(0,0,0,.5),inset 0 3px 8px rgba(255,255,255,.25),inset 0 -18px 32px rgba(0,0,0,.35)}:root[data-theme=dark] .spark3d-body{background:radial-gradient(ellipse at 28% 22%,rgba(255,255,255,.6) 0,rgba(255,255,255,0) 38%),radial-gradient(ellipse at 40% 32%,#b8cce8 0,#5070a0 35%,#2a5080 62%,#18406a 82%,#0c2848 100%);border-color:rgba(80,140,220,.45)}:root[data-theme=dark] .spark3d-paddle{background:radial-gradient(ellipse at 28% 25%,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 40%),radial-gradient(ellipse at 40% 35%,#b8cce8 0,#4870a8 50%,#205088 100%)}:root[data-theme=dark] .spark3d-neck{background:radial-gradient(ellipse at 40% 34%,#a8bce0 0,#5070a0 100%)}.plan-spark-hero{flex:1;position:relative;min-height:0;z-index:0}.plan-spark-hero canvas,.plan-spark-hero>div{width:100%!important;height:100%!important}.plan-hero-text-area{position:absolute;bottom:0;left:0;right:0;padding:56px 36px 26px;background:linear-gradient(180deg,transparent 0,rgba(5,8,20,.78) 38%,rgba(5,8,20,.96));display:flex;flex-direction:column;gap:14px;z-index:2;pointer-events:none}.plan-hero-text-area>*{pointer-events:auto}.plan-hero-chips{display:flex;gap:8px;flex-wrap:wrap}.plan-hero-chip{display:flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:.74rem;font-weight:500;color:rgba(255,255,255,.68)}.plan-spark-subtitle{bottom:.7rem;left:0;right:0;padding:0 1.6rem;text-align:center;font-size:.83rem;font-weight:500;line-height:1.58;color:rgba(220,236,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.65),0 0 22px rgba(93,228,255,.18);letter-spacing:.008em;margin:0}.plan-spark-corner-mascot,.plan-spark-subtitle{position:absolute;pointer-events:none;z-index:10}.plan-spark-corner-mascot{bottom:10px;left:14px;filter:drop-shadow(0 0 14px rgba(93,228,255,.5))}.plan-spark-host-card{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background:rgba(93,228,255,.04);border:1px solid rgba(93,228,255,.13);border-radius:20px;backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(93,228,255,.04),0 8px 32px rgba(0,0,0,.25),0 0 60px rgba(93,228,255,.06)}.plan-spark-host-avatar{flex-shrink:0;display:flex;align-items:center;justify-content:center}.plan-spark-host-content{flex:1;min-width:0;padding-top:4px}.plan-spark-host-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.plan-spark-host-name{font-size:.9rem;font-weight:700;color:rgba(255,255,255,.92);letter-spacing:-.01em}.plan-spark-host-badge{font-size:.65rem;font-weight:600;color:#5de4ff;background:rgba(93,228,255,.1);border:1px solid rgba(93,228,255,.22);border-radius:6px;padding:1px 7px;letter-spacing:.05em;text-transform:uppercase}.plan-spark-host-speech{font-size:.79rem;line-height:1.52;color:rgba(255,255,255,.58);margin:0}.plan-music-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);cursor:pointer;transition:background .2s,color .2s}.plan-music-btn:hover{background:rgba(93,228,255,.15);color:#5de4ff}:root:not([data-theme=dark]) .plan-music-btn{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1);color:var(--muted)}.plan-shell-top-right{display:flex;align-items:center;gap:8px}.plan-hero-features,.plan-hero-text{position:relative}.spark2d-wrap{display:inline-flex;align-items:center;justify-content:center}.spark-pose-card{display:flex;align-items:flex-end;gap:16px;padding:16px 20px;background:var(--panel-strong);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-xl);max-width:400px}.spark-pose-bubble{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px 16px;font-size:.9rem;font-weight:500;color:var(--text);line-height:1.5;position:relative}.spark-pose-bubble:before{left:-9px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:9px solid var(--border)}.spark-pose-bubble:after,.spark-pose-bubble:before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:0;height:0}.spark-pose-bubble:after{left:-7px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:8px solid var(--panel)}.tour-bg{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(5,8,22,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tour-intro-modal{display:flex;gap:20px;align-items:flex-start;background:var(--panel-strong);border:1px solid var(--border);border-radius:24px;padding:28px 30px;max-width:560px;width:90vw;box-shadow:var(--shadow-xl)}.tour-intro-spark-wrap{flex-shrink:0;width:90px;display:flex;justify-content:center;align-items:center;padding-top:8px}.tour-intro-body{flex:1;display:flex;flex-direction:column;gap:8px}.tour-intro-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan)}.tour-intro-title{font-size:1.3rem;font-weight:800;color:var(--text);margin:0;line-height:1.25}.tour-intro-desc{font-size:.88rem;color:var(--muted);line-height:1.55;margin:0}.tour-intro-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.tour-step-overlay{position:fixed;inset:0;z-index:9990}.tour-step-dim{position:absolute;inset:0;background:rgba(5,8,22,.68);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.tour-spotlight-svg{position:fixed;inset:0;pointer-events:none;z-index:9991}.tour-click-cursor{position:fixed;z-index:9998;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px}.tour-click-label{font-size:.7rem;font-weight:700;color:white;text-shadow:0 1px 4px rgba(0,0,0,.5);letter-spacing:.08em;text-transform:uppercase}.tour-card{position:fixed;z-index:9995;background:var(--panel-strong);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-xl),0 0 0 1px rgba(93,228,255,.08)}.tour-card-close{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:rgba(95,114,144,.12);border:1px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.tour-card-close:hover{background:rgba(95,114,144,.22)}.tour-card-inner{display:flex;gap:14px;padding:18px 16px 14px;align-items:flex-start}.tour-card-spark{flex-shrink:0;width:70px;display:flex;justify-content:center;padding-top:4px}.tour-card-content{flex:1;display:flex;flex-direction:column;gap:8px;padding-right:16px}.tour-tutor-speech{font-size:.8rem;color:var(--cyan);font-weight:600;line-height:1.4;font-style:italic}.tour-card-header{display:flex;align-items:center;gap:8px}.tour-card-emoji{font-size:1.15rem;flex-shrink:0}.tour-card-title{font-size:1rem;font-weight:800;color:var(--text);margin:0;line-height:1.2}.tour-card-body{font-size:.84rem;color:var(--muted);line-height:1.55;margin:0}.tour-progress-dots{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all .2s;flex-shrink:0}.tour-dot.active{background:var(--cyan);width:18px;border-radius:3px;box-shadow:0 0 6px rgba(93,228,255,.5)}.tour-dot.done{background:rgba(93,228,255,.4)}.tour-card-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:4px}.tour-step-count{position:absolute;bottom:10px;right:14px;font-size:.68rem;font-weight:700;color:var(--muted-2)}.tour-btn-ghost{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:10px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.tour-btn-ghost:hover{background:rgba(95,114,144,.1);color:var(--text)}.tour-btn-primary{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:10px;background:linear-gradient(135deg,var(--cyan),var(--blue));border:none;color:white;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(93,228,255,.3);transition:box-shadow .15s,opacity .15s}.tour-btn-primary:hover{box-shadow:0 6px 20px rgba(93,228,255,.4);opacity:.92}.tour-spark-mini{position:relative;width:64px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center}.tour-spark-hand{position:absolute;width:16px;height:16px;border-radius:50%;top:60px}.tour-spark-hand--l{left:2px;background:radial-gradient(circle at 35% 30%,#90b8ff,#5060d8);box-shadow:0 0 6px rgba(80,96,216,.5)}.tour-spark-hand--r{right:2px;background:radial-gradient(circle at 35% 30%,#c480ff,#8830d8);box-shadow:0 0 6px rgba(136,48,216,.5)}.tour-spark-char{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1}.tour-spark-head{width:46px;height:40px;border-radius:50%;background:radial-gradient(ellipse at 36% 28%,#ffffff,#dde8ff 50%,#aac4f0 100%);border:1px solid rgba(190,215,250,.9);position:relative;box-shadow:0 6px 18px rgba(70,120,210,.2);overflow:hidden}.tour-spark-stripe{position:absolute;left:5px;right:5px;top:50%;transform:translateY(-50%);height:13px;background:#07101e;border-radius:4px}.tour-spark-eyes{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:8px;align-items:center;z-index:2}.tour-spark-eye{width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,#8ff5ff,#5de4ff);box-shadow:0 0 5px rgba(93,228,255,.9),0 0 10px rgba(93,228,255,.4)}.tour-spark-mouth{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:14px;height:3px;border-radius:2px;background:rgba(93,228,255,.75);box-shadow:0 0 4px rgba(93,228,255,.5)}.tour-spark-neck{width:12px;height:6px;background:radial-gradient(ellipse at 35% 30%,#e0ecff,#a8c8e8);border-radius:3px;margin-top:1px}.tour-spark-body{width:54px;height:40px;border-radius:50%;background:radial-gradient(ellipse at 34% 25%,#eaf4ff,#c8dcf8 50%,#88b4e4 100%);border:1px solid rgba(175,212,252,.8);position:relative;margin-top:1px;box-shadow:0 6px 18px rgba(60,110,200,.18);overflow:hidden}.tour-spark-body,.tour-spark-body-ring{display:flex;align-items:center;justify-content:center}.tour-spark-body-ring{position:absolute;inset:0;pointer-events:none}.tour-spark-body-orbit{width:62px;height:62px;border-radius:50%;border:1px dashed rgba(93,228,255,.35);position:absolute}.tour-spark-body-glow{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#5de4ff,#3bc8f0);box-shadow:0 0 8px rgba(93,228,255,.9);z-index:1;position:relative}.tour-spark-shadow{width:36px;height:6px;border-radius:50%;background:radial-gradient(ellipse,rgba(50,80,160,.26),transparent 70%);margin-top:3px}:root[data-theme=dark] .tour-card,:root[data-theme=dark] .tour-intro-modal{border-color:rgba(93,228,255,.14)}:root[data-theme=dark] .tour-spark-head{background:radial-gradient(ellipse at 36% 28%,#c0d8f8,#607090 50%,#30486a 100%)}:root[data-theme=dark] .tour-spark-body{background:radial-gradient(ellipse at 34% 25%,#b0cce8,#507090 50%,#264878 100%)}.difficulty-shell{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2rem 1rem;background:var(--bg)}.difficulty-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.difficulty-blob-a{top:-15%;left:-10%;background:radial-gradient(circle,rgba(245,158,11,.12),transparent 70%)}.difficulty-blob-a,.difficulty-blob-b{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;filter:blur(60px)}.difficulty-blob-b{bottom:-15%;right:-10%;background:radial-gradient(circle,rgba(139,92,246,.12),transparent 70%)}.difficulty-pick-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2.5rem;width:100%;max-width:960px}.difficulty-header{text-align:center}.difficulty-greeting{font-size:.95rem;color:var(--muted);margin-bottom:.4rem}.difficulty-name{color:var(--cyan);font-weight:700}.difficulty-title{font-size:2rem;font-weight:800;color:var(--fg);margin:0 0 .5rem}.difficulty-subtitle{font-size:.95rem;color:var(--muted);max-width:500px;margin:0 auto}.difficulty-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;width:100%}@media (max-width:700px){.difficulty-cards{grid-template-columns:1fr}}.difficulty-card{position:relative;background:var(--surface);border:1.5px solid var(--border);border-radius:18px;padding:1.75rem 1.5rem 1.25rem;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .18s;display:flex;flex-direction:column;gap:.35rem}.difficulty-card.hovered,.difficulty-card:hover{transform:translateY(-4px)}.difficulty-card-emoji{font-size:2.5rem;line-height:1;margin-bottom:.2rem}.difficulty-card-name{font-size:1.25rem;font-weight:800}.difficulty-card-age{font-size:.78rem;color:var(--muted);font-weight:500;margin-bottom:.2rem}.difficulty-card-tagline{font-size:.9rem;color:var(--muted);margin-bottom:.6rem}.difficulty-card-unlocks{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.3rem;font-size:.83rem;color:var(--muted)}.difficulty-check{font-weight:700;margin-right:4px}.difficulty-card-cta{display:block;width:100%;text-align:center;padding:.6rem 1rem;border-radius:10px;color:#fff;font-weight:700;font-size:.9rem;margin-top:auto}.difficulty-quiz-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:560px}.difficulty-quiz-header{text-align:center}.difficulty-quiz-title{font-size:1.4rem;font-weight:800;color:var(--fg);margin:0 0 .3rem}.difficulty-quiz-sub{font-size:.9rem;color:var(--muted);margin:0}.quiz-shell{width:100%;max-width:560px}.quiz-card{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:2rem 2rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.quiz-progress{display:flex;gap:6px;justify-content:center;margin-bottom:.25rem}.quiz-dot{width:10px;height:10px;border-radius:50%;background:var(--border);transition:background .2s}.quiz-dot.current{background:var(--cyan)}.quiz-dot.correct{background:#22c55e}.quiz-dot.wrong{background:#ef4444}.quiz-counter{font-size:.8rem;color:var(--muted);text-align:center;margin:0}.quiz-question{font-size:1.15rem;font-weight:700;color:var(--fg);margin:0;text-align:center}.quiz-options{display:flex;flex-direction:column;gap:.6rem}.quiz-option{display:flex;align-items:center;gap:.75rem;background:var(--bg);border:1.5px solid var(--border);border-radius:12px;padding:.7rem 1rem;font-size:.92rem;color:var(--fg);text-align:left;cursor:pointer;transition:border-color .15s,background .15s;font-family:inherit}.quiz-option:hover{border-color:var(--cyan);background:rgba(93,228,255,.06)}.quiz-option.selected{border-color:var(--cyan);background:rgba(93,228,255,.1)}.quiz-option.correct{border-color:#22c55e;background:rgba(34,197,94,.1)}.quiz-option.wrong{border-color:#ef4444;background:rgba(239,68,68,.1)}.quiz-option-letter{width:26px;height:26px;border-radius:8px;background:var(--border);color:var(--muted);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quiz-actions{display:flex;gap:.75rem;justify-content:space-between;margin-top:.5rem}.quiz-btn-primary{background:var(--cyan);color:#000;font-weight:700;border:none;border-radius:10px;padding:.6rem 1.4rem;font-size:.9rem;cursor:pointer;font-family:inherit;transition:opacity .15s,transform .12s}.quiz-btn-primary:disabled{opacity:.4;cursor:default}.quiz-btn-primary:not(:disabled):hover{opacity:.88;transform:translateY(-1px)}.quiz-btn-ghost{background:transparent;color:var(--muted);font-weight:600;border:1.5px solid var(--border);border-radius:10px;padding:.6rem 1rem;font-size:.9rem;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.quiz-btn-ghost:hover{border-color:var(--fg);color:var(--fg)}.quiz-result-emoji{font-size:3rem;text-align:center}.quiz-result-title{font-size:1.4rem;font-weight:800;color:var(--fg);text-align:center;margin:0}.quiz-result-body{font-size:.95rem;color:var(--muted);text-align:center;margin:0}.quiz-result-btns{display:flex;flex-direction:column;gap:.6rem}.quiz-retry{background:none;border:none;font-size:.82rem;color:var(--muted);cursor:pointer;text-decoration:underline;font-family:inherit;margin-top:.5rem;align-self:center}.quiz-retry:hover{color:var(--fg)}.rules-editor{gap:.75rem;padding:1rem;background:var(--bg);border-radius:14px}.rules-editor,.rules-header{display:flex;flex-direction:column}.rules-header{gap:2px}.rules-label{font-size:.92rem;font-weight:700;color:var(--fg)}.rules-hint{font-size:.78rem;color:var(--muted)}.rules-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0;margin:0}.rules-row{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:.5rem .75rem;cursor:default}.rules-index{font-size:.75rem;color:var(--muted);font-weight:700;min-width:16px;text-align:right}.rules-drag-handle{color:var(--muted);cursor:grab;font-size:.9rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rules-if-label,.rules-then-label{font-size:.8rem;font-weight:700;color:var(--muted);white-space:nowrap}.rules-arrow{font-size:1rem;color:var(--cyan);font-weight:700}.rules-select{flex:1;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:.3rem .5rem;font-size:.83rem;color:var(--fg);font-family:inherit;cursor:pointer;min-width:0}.rules-select:focus{outline:none;border-color:var(--cyan)}.rules-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:6px;line-height:1;transition:color .15s,background .15s;flex-shrink:0}.rules-remove:hover{color:#ef4444;background:rgba(239,68,68,.08)}.rules-footer{display:flex;gap:.75rem;justify-content:space-between;align-items:center}.rules-add-btn{background:var(--surface);border:1.5px solid var(--border);color:var(--fg);border-radius:10px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s}.rules-add-btn:hover{border-color:var(--cyan)}.rules-run-btn{background:var(--cyan);color:#000;font-weight:700;border:none;border-radius:10px;padding:.45rem 1.2rem;font-size:.88rem;cursor:pointer;font-family:inherit;transition:opacity .15s}.rules-run-btn:disabled{opacity:.5;cursor:default}.rules-run-btn:not(:disabled):hover{opacity:.85}.header-credits-pill{display:flex;align-items:center;gap:4px;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:700;color:var(--muted);cursor:default;transition:border-color .2s,color .2s;white-space:nowrap}.header-credits-pill.low{border-color:#f59e0b;color:#f59e0b}.header-credits-pill.depleted{border-color:#ef4444;color:#ef4444}.paywall-backdrop{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.paywall-card{background:var(--surface);border:1.5px solid var(--border);border-radius:22px;padding:2.5rem 2rem 2rem;max-width:420px;width:100%;display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.4)}.paywall-icon{font-size:3rem;line-height:1}.paywall-title{font-size:1.25rem;font-weight:800;color:var(--fg);margin:0}.paywall-body{font-size:.9rem;color:var(--muted);margin:0;max-width:340px}.paywall-usage{width:100%;background:var(--bg);border-radius:12px;padding:.9rem 1rem}.paywall-usage-row{display:flex;justify-content:space-between;font-size:.83rem;color:var(--muted);margin-bottom:6px}.paywall-usage-val{font-weight:700;color:var(--fg)}.paywall-usage-of{color:var(--muted);font-weight:400}.paywall-bar-track{height:6px;background:var(--border);border-radius:4px;overflow:hidden}.paywall-bar-fill{height:100%;background:#ef4444;border-radius:4px;transition:width .4s}.paywall-next{width:100%;background:var(--bg);border-radius:12px;padding:.9rem 1rem;text-align:left}.paywall-next-label{font-size:.8rem;font-weight:700;color:var(--muted);margin:0 0 6px;text-transform:uppercase;letter-spacing:.05em}.paywall-next-perks{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--fg)}.paywall-next-price{font-size:.82rem;color:var(--muted);margin:0}.paywall-actions{display:flex;flex-direction:column;gap:.6rem;width:100%}.paywall-btn-upgrade{display:block;width:100%;text-align:center;background:var(--cyan);color:#000;font-weight:700;border-radius:12px;padding:.7rem 1rem;font-size:.95rem;text-decoration:none;transition:opacity .15s}.paywall-btn-upgrade:hover{opacity:.85}.paywall-btn-dismiss{background:none;border:none;font-size:.85rem;color:var(--muted);cursor:pointer;font-family:inherit;text-decoration:underline;padding:4px}.paywall-btn-dismiss:hover{color:var(--fg)}.lesson-hud-root{position:absolute;inset:0;z-index:40;pointer-events:none;display:flex;flex-direction:column;overflow:hidden}.lesson-intro-backdrop{position:absolute;inset:0;background:rgba(5,8,22,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:10}.lesson-intro-card{width:360px;max-width:calc(100% - 32px);background:rgba(9,13,34,.96);border:1px solid rgba(93,228,255,.22);border-radius:24px;padding:32px 28px 24px;text-align:center;box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 0 1px rgba(93,228,255,.08)}.lesson-intro-bot{margin:0 auto 16px;width:-moz-fit-content;width:fit-content}.lesson-intro-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);opacity:.85;margin-bottom:8px}.lesson-intro-title{font-size:1.35rem;font-weight:800;color:var(--fg);margin:0 0 10px;line-height:1.25}.lesson-intro-desc{font-size:.88rem;color:var(--muted);line-height:1.65;margin:0 0 24px}.lesson-intro-actions{display:flex;align-items:center;justify-content:center;gap:10px}.lesson-intro-skip{padding:9px 16px;border-radius:10px;background:none;border:1px solid rgba(255,255,255,.1);color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.lesson-intro-skip:hover{border-color:rgba(255,255,255,.22);color:var(--fg)}.lesson-intro-begin{display:inline-flex;align-items:center;gap:5px;padding:9px 20px;border-radius:10px;background:var(--cyan);border:none;color:#050816;font-size:.88rem;font-weight:800;cursor:pointer;transition:opacity .15s}.lesson-intro-begin:hover{opacity:.87}.lesson-panel{position:absolute;right:0;top:0;bottom:0;width:264px;pointer-events:auto;display:flex;flex-direction:column;background:rgba(7,11,28,.92);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-left:1px solid rgba(93,228,255,.14);box-shadow:-6px 0 40px rgba(0,0,0,.45);z-index:10}.lesson-panel-accent-bar{height:3px;background:linear-gradient(90deg,var(--lesson-accent,var(--cyan)),var(--violet));flex-shrink:0}.lesson-panel-rail{display:flex;align-items:center;gap:5px;padding:10px 14px 0;flex-wrap:wrap;flex-shrink:0}.lesson-panel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.18);transition:background .25s,border-color .25s;flex-shrink:0}.lesson-panel-dot.done{background:rgba(77,255,184,.25);border-color:var(--green)}.lesson-panel-dot.active{background:rgba(93,228,255,.3);border-color:var(--cyan);box-shadow:0 0 6px rgba(93,228,255,.5)}.lesson-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 4px;flex-shrink:0}.lesson-panel-lesson-name{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.lesson-panel-close{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.lesson-panel-close:hover{background:rgba(255,255,255,.1);color:var(--fg)}.lesson-panel-bot-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px 8px;flex-shrink:0}.lesson-panel-step-num{font-size:.65rem;font-weight:700;color:var(--muted);opacity:.7;letter-spacing:.04em}.lesson-panel-body{flex:1;min-height:0;overflow-y:auto;padding:0 14px 8px;scrollbar-width:none}.lesson-panel-body::-webkit-scrollbar{display:none}.lesson-panel-type-tag{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lesson-accent,var(--cyan));margin-bottom:8px}.lesson-panel-speech{background:rgba(93,228,255,.06);border:1px solid rgba(93,228,255,.14);border-radius:14px;padding:12px 14px;margin-bottom:8px}.lesson-panel-speech-text{font-size:.88rem;line-height:1.65;color:var(--fg);margin:0}.lesson-panel-drawing-tag{background:rgba(93,228,255,.09);border:1px solid rgba(93,228,255,.2);border-radius:10px;padding:10px 12px;font-size:.82rem;color:var(--cyan);line-height:1.5}.lesson-panel-challenge{display:flex;flex-direction:column;gap:10px}.lesson-panel-challenge-q{font-size:.88rem;font-weight:600;color:var(--fg);line-height:1.5;margin:0}.lesson-panel-challenge-row{display:flex;gap:6px}.lesson-panel-challenge-input{flex:1;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--fg);font-size:.82rem;outline:none;min-width:0;transition:border-color .15s}.lesson-panel-challenge-input:focus{border-color:var(--cyan)}.lesson-panel-submit-btn{padding:8px 12px;border-radius:8px;background:var(--cyan);border:none;color:#050816;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:opacity .15s}.lesson-panel-submit-btn:hover{opacity:.85}.lesson-panel-done-msg{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:.84rem;font-weight:700}.lesson-panel-celebrate{text-align:center;font-size:1.05rem;font-weight:700;color:var(--green);line-height:1.5;padding:8px 0}.lesson-panel-progress-track{height:3px;background:rgba(255,255,255,.07);flex-shrink:0}.lesson-panel-progress-fill{height:100%;background:linear-gradient(90deg,var(--lesson-accent,var(--cyan)),var(--violet));border-radius:2px;transition:width .4s ease-out}.lesson-panel-controls{display:flex;align-items:center;gap:4px;padding:8px 10px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.lesson-panel-finish-btn{padding:6px 12px;border-radius:8px;background:var(--green);border:none;color:#050816;font-size:.76rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:opacity .15s;margin-left:auto}.lesson-panel-finish-btn:hover{opacity:.85}.lesson-fab{position:absolute;right:14px;bottom:14px;pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:12px;background:rgba(9,13,34,.92);border:1px solid rgba(93,228,255,.28);color:var(--cyan);font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.lesson-fab:hover{background:rgba(93,228,255,.1);border-color:rgba(93,228,255,.45)}.lesson-hud-rail-wrap{pointer-events:auto;padding:10px 16px 0}.lesson-hud-rail{display:flex;align-items:center;gap:0;background:rgba(9,13,32,.72);border:1px solid rgba(93,228,255,.14);border-radius:999px;padding:6px 14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);overflow-x:auto;scrollbar-width:none}.lesson-hud-rail::-webkit-scrollbar{display:none}.lesson-hud-rail-line{height:2px;width:28px;flex-shrink:0;background:rgba(93,228,255,.35);border-radius:2px;margin:0 2px}.lesson-hud-rail-node-col{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:2px 4px;flex-shrink:0}.lesson-hud-rail-node-col:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:8px}.lesson-hud-rail-dot{width:10px;height:10px;border-radius:50%;background:rgba(149,166,199,.25);border:1.5px solid rgba(149,166,199,.35);display:grid;place-items:center;transition:background .2s,border-color .2s;color:var(--green)}.lesson-hud-rail-dot.done{background:rgba(77,255,184,.2);border-color:var(--green)}.lesson-hud-rail-dot.active{background:rgba(93,228,255,.25);border-color:var(--cyan);width:12px;height:12px}.lesson-hud-rail-label{font-size:.6rem;font-weight:600;color:var(--muted);letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;transition:color .2s}.lesson-hud-rail-label.active{color:var(--cyan)}.lesson-hud-rail-label.done{color:var(--green)}.lesson-hud-card-wrap{pointer-events:auto;position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:520px}.lesson-hud-card{background:rgba(9,13,32,.82);border:1px solid rgba(93,228,255,.18);border-radius:var(--radius-xl);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.04);overflow:hidden;display:flex;flex-direction:column}.lesson-hud-card-progress{height:3px;background:rgba(255,255,255,.07);width:100%;overflow:hidden}.lesson-hud-card-progress-fill{height:100%;background:linear-gradient(90deg,var(--lesson-accent,var(--cyan)),var(--violet));border-radius:0 3px 3px 0;min-width:4px}.lesson-hud-card-body{display:flex;align-items:flex-start;gap:10px;padding:12px 14px 8px}.lesson-hud-card-avatar-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.lesson-hud-card-step-badge{font-size:.55rem;font-weight:700;color:var(--muted);letter-spacing:.05em;line-height:1;white-space:nowrap}.lesson-hud-card-content{flex:1;min-width:0}.lesson-hud-card-text{font-size:.86rem;line-height:1.6;color:var(--text,#e8edf8);margin:0}.lesson-hud-drawing-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,184,77,.3);background:rgba(255,184,77,.08);color:var(--amber);font-size:.78rem;font-weight:600}.lesson-hud-challenge{display:flex;flex-direction:column;gap:8px}.lesson-hud-challenge-instruction{font-size:.84rem;font-weight:600;color:var(--text,#e8edf8);line-height:1.5;margin:0}.lesson-hud-challenge-actions{display:flex;gap:6px}.lesson-hud-challenge-input{flex:1;padding:7px 11px;border-radius:var(--radius-md);border:1px solid rgba(93,228,255,.22);background:rgba(255,255,255,.05);color:var(--text,#e8edf8);font-size:.8rem;font-family:inherit;outline:none;transition:border-color .15s}.lesson-hud-challenge-input:focus{border-color:var(--cyan)}.lesson-hud-challenge-btn{padding:7px 14px;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:opacity .15s;white-space:nowrap}.lesson-hud-challenge-btn:hover{opacity:.85}.lesson-hud-challenge-done{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--green);padding:6px 0}.lesson-hud-celebrate{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:var(--cyan)}.lesson-hud-card-controls{display:flex;align-items:center;gap:4px;padding:6px 10px 10px;border-top:1px solid rgba(255,255,255,.05)}.lesson-hud-ctrl{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.05);color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.lesson-hud-ctrl:hover:not(:disabled){background:rgba(93,228,255,.1);border-color:rgba(93,228,255,.3);color:var(--cyan)}.lesson-hud-ctrl:disabled{opacity:.3;cursor:not-allowed}.lesson-hud-ctrl-play{background:rgba(93,228,255,.12);border-color:rgba(93,228,255,.28);color:var(--cyan);width:30px;height:30px;border-radius:10px}.lesson-hud-ctrl-play:hover{background:rgba(93,228,255,.22)}.lesson-hud-finish-btn{padding:6px 14px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--green),var(--cyan));color:#000;font-size:.76rem;font-weight:800;cursor:pointer;transition:opacity .15s;letter-spacing:.02em}.lesson-hud-finish-btn:hover{opacity:.85}.sandbox-hero{--sand-h:56px;position:relative;width:100%;max-width:640px;margin:0 auto 4px;height:168px;border-radius:18px;overflow:hidden;border:1px solid rgba(196,146,42,.28);background:linear-gradient(180deg,#060c1e,#091428 55%,#0e1e38 75%,transparent)}.sandbox-hero-sky{position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 35% 25%,rgba(93,228,255,.08) 0,transparent 70%),radial-gradient(ellipse 40% 30% at 75% 20%,rgba(168,85,247,.07) 0,transparent 65%);pointer-events:none}.sandbox-buried-wrap{z-index:1}.sandbox-buried-clip{overflow:hidden;height:26px;display:flex;align-items:flex-start;opacity:.82;filter:saturate(.7) brightness(.9)}.sandbox-main-bot{position:absolute;bottom:var(--sand-h);left:50%;transform:translateX(-50%);z-index:3}.save-status{display:flex;align-items:center}.save-status-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:600;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--muted-2);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap;min-width:0}.save-status-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(168,85,247,.4);color:var(--text)}.save-status-btn.flashing{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.45);color:rgb(110,231,183)}.save-status-icon{display:inline-flex;align-items:center;gap:6px}.save-status-spin{animation:save-status-spin .9s linear infinite}@keyframes save-status-spin{to{transform:rotate(1turn)}}.builder-rail{position:absolute;top:12px;left:12px;bottom:12px;z-index:10;display:flex;flex-direction:column;border-radius:14px;background:rgba(10,14,28,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(120,140,255,.22);box-shadow:0 12px 32px rgba(0,0,0,.5);overflow:hidden;pointer-events:auto}.builder-rail-toggle{position:absolute;top:8px;right:8px;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--muted);cursor:pointer;z-index:2;transition:background .14s ease,color .14s ease}.builder-rail-toggle:hover{background:rgba(255,255,255,.12);color:var(--text)}.builder-rail-content{display:flex;flex-direction:column;gap:10px;padding:14px 12px 12px;width:240px;height:100%;overflow-y:auto}.builder-rail-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:28px}.builder-rail-title{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}.builder-rail-count{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(168,85,247,.15);color:rgba(216,180,254,.9);border:1px solid rgba(168,85,247,.3)}.builder-grid-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 10px;font-size:.74rem;font-weight:600;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.builder-grid-toggle:hover{background:rgba(255,255,255,.08);color:var(--text)}.builder-grid-toggle.active{background:rgba(93,228,255,.12);border-color:rgba(93,228,255,.4);color:var(--cyan)}.builder-rail-categories{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}.builder-cat-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.builder-cat-tab span:first-child{font-size:1rem}.builder-cat-tab:hover{background:rgba(255,255,255,.08);color:var(--text)}.builder-cat-tab.active{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.12);color:var(--text)}.builder-rail-tools{display:flex;flex-direction:column;gap:4px;margin-top:2px}.builder-tool{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;border:1px solid transparent;background:rgba(255,255,255,.03);text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease}.builder-tool:hover{background:rgba(255,255,255,.08);border-color:rgba(168,85,247,.25)}.builder-tool.active{background:rgba(168,85,247,.16);border-color:rgba(168,85,247,.55)}.builder-tool--select.active{background:rgba(93,228,255,.15);border-color:rgba(93,228,255,.5)}.builder-tool-emoji{font-size:1.2rem;line-height:1;flex-shrink:0}.builder-tool-text{display:flex;flex-direction:column;gap:1px;min-width:0}.builder-tool-label{font-size:.86rem;font-weight:600;color:var(--text)}.builder-tool-sub{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-rail-actions{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.builder-actions-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.builder-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.builder-action-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 4px;font-size:.74rem;font-weight:600;color:var(--muted-2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:7px;cursor:pointer;transition:all .14s ease}.builder-action-btn:not(:disabled):hover{background:rgba(255,255,255,.1);color:var(--text)}.builder-action-btn:disabled{opacity:.35;cursor:not-allowed}.builder-action-btn.danger:not(:disabled):hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4);color:rgb(252,165,165)}.builder-clear-all{margin-top:4px;padding:7px 10px;font-size:.78rem;font-weight:600;color:rgb(252,165,165);background:rgba(239,68,68,.06);border:1px dashed rgba(239,68,68,.35);border-radius:8px;cursor:pointer;transition:background .14s ease}.builder-clear-all:hover{background:rgba(239,68,68,.14)}.builder-save-template{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:8px 10px;font-size:.82rem;font-weight:600;color:rgb(216,180,254);background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.4);border-radius:8px;cursor:pointer;transition:background .14s ease,border-color .14s ease}.builder-save-template:hover{background:rgba(168,85,247,.2);border-color:rgba(168,85,247,.6)}.user-course-tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;min-height:144px;height:100%;border-radius:14px;border:1px solid rgba(168,85,247,.3);background:linear-gradient(180deg,rgba(168,85,247,.08),rgba(20,16,38,.55));cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.user-course-tile:hover{border-color:rgba(168,85,247,.65);background:linear-gradient(180deg,rgba(168,85,247,.16),rgba(28,20,52,.7));transform:translateY(-1px);box-shadow:0 8px 24px rgba(168,85,247,.18)}.user-course-tile-emoji{font-size:1.6rem;line-height:1;margin-bottom:4px}.user-course-tile-title{font-size:.98rem;font-weight:700;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-course-tile-sub{font-size:.78rem;color:rgba(216,180,254,.85)}.user-course-tile-delete{position:absolute;top:8px;right:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(15,18,38,.82);color:var(--muted);font-size:1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease,background .15s ease}.user-course-tile:hover .user-course-tile-delete{opacity:1}.user-course-tile-delete:hover{color:rgb(252,165,165);border-color:rgba(239,68,68,.5);background:rgba(60,20,28,.6)}.builder-rail-help{margin-top:4px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--muted)}.builder-rail-help strong{color:var(--muted-2);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.sessions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sessions-header-left{display:flex;flex-direction:column;gap:2px;min-width:0}.sessions-header-left h2{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--text)}.sessions-header-sub{margin:0;font-size:.85rem;color:var(--muted)}.home-age-group-selector--inline{flex:0 0 auto;align-self:flex-end;flex-wrap:wrap}.home-age-group-selector--inline .home-age-pill{padding:6px 12px;font-size:.78rem;gap:6px}.home-age-group-selector--inline .home-age-pill-sub{display:none}.sessions-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}.session-tile--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:244px;padding:20px 16px;border-radius:var(--radius-sm);border:1.5px dashed rgba(168,85,247,.4);background:linear-gradient(180deg,rgba(168,85,247,.05),rgba(107,124,255,.04));color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease;text-align:center}.session-tile--new .session-tile-new-icon{width:56px;height:56px;font-size:1.8rem}.session-tile--new:hover{border-color:rgba(168,85,247,.75);background:linear-gradient(180deg,rgba(168,85,247,.12),rgba(107,124,255,.08));box-shadow:0 8px 24px rgba(168,85,247,.18);transform:translateY(-1px)}.session-tile-new-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(168,85,247,.15);border:1px solid rgba(168,85,247,.4);color:rgb(216,180,254);font-size:1.5rem;font-weight:600;line-height:1;margin-bottom:4px}.session-tile--new:hover .session-tile-new-icon{background:rgba(168,85,247,.28);border-color:rgba(168,85,247,.7);color:#fff}.session-tile-new-label{font-size:.98rem;font-weight:700;color:var(--text)}.session-tile-new-sub{font-size:.78rem;color:var(--muted)}.sessions-templates-header{margin-top:18px;display:flex;flex-direction:column;gap:2px}.sessions-templates-header h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.sessions-templates-header p{margin:0;font-size:.82rem;color:var(--muted)}@media (max-width:720px){.sessions-header{flex-direction:column}.home-age-group-selector--inline{align-self:flex-start}}.session-tile{position:relative;display:flex;flex-direction:column;min-height:244px;height:100%;border-radius:var(--radius-sm);border:1px solid rgba(120,140,255,.18);background:linear-gradient(180deg,rgba(20,24,50,.55),rgba(12,16,36,.55));cursor:pointer;overflow:hidden;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.session-tile:hover{border-color:rgba(168,85,247,.45);background:linear-gradient(180deg,rgba(28,32,64,.7),rgba(16,20,44,.7));box-shadow:0 8px 24px rgba(0,0,0,.35)}.session-tile--continue{border-color:rgba(93,228,255,.35);background:linear-gradient(180deg,rgba(11,30,50,.6),rgba(8,14,30,.6))}.session-tile--continue:hover{border-color:rgba(93,228,255,.55);box-shadow:0 8px 24px rgba(93,228,255,.12)}.session-tile-thumb{position:relative;width:100%;aspect-ratio:200/110;background:#0a0e1a;border-bottom:1px solid rgba(120,140,255,.12);overflow:hidden;flex-shrink:0}.session-tile-thumb-image,.session-tile-thumb-svg,.session-tile-thumb-svg svg{width:100%;height:100%;display:block}.session-tile-thumb-image{-o-object-fit:cover;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.session-tile-thumb-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted)}.session-tile-thumb-empty-icon{font-size:1.6rem;opacity:.55}.session-tile-thumb-empty-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.session-tile-thumb-eyebrow{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(11,14,28,.85);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.08);color:var(--muted)}.session-tile--continue .session-tile-thumb-eyebrow{color:var(--cyan);border-color:rgba(93,228,255,.35)}.session-tile--saved .session-tile-thumb-eyebrow{color:rgba(216,180,254,.95);border-color:rgba(168,85,247,.35)}.session-tile-pulse{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:session-tile-pulse 2.2s ease-in-out infinite}@keyframes session-tile-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}.session-tile-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;min-height:0;flex:1}.session-tile-title{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-tile-meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.74rem;color:var(--muted)}.session-tile-meta-time{display:inline-flex;align-items:center;gap:3px}.session-tile-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}.session-tile-stat{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;color:var(--muted-2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:999px}.session-tile-rename{display:flex;align-items:center;gap:6px}.session-tile-rename-input{flex:1;min-width:0;padding:4px 8px;font-size:.92rem;font-weight:600;color:var(--text);background:rgba(255,255,255,.08);border:1px solid rgba(168,85,247,.45);border-radius:6px;outline:none}.session-tile-rename-input:focus{border-color:rgba(168,85,247,.75);background:rgba(255,255,255,.12)}.session-tile-rename-btn{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(16,185,129,.4);border-radius:6px;background:rgba(16,185,129,.12);color:rgb(110,231,183);cursor:pointer;transition:background .14s ease}.session-tile-rename-btn:hover{background:rgba(16,185,129,.22)}.session-tile-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.session-tile:hover .session-tile-actions{opacity:1}.session-tile-action{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(15,18,38,.82);color:var(--muted);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.session-tile-action:hover{color:var(--text);background:rgba(30,36,70,.95);border-color:rgba(168,85,247,.45)}.session-tile-action.danger:hover{color:rgb(252,165,165);border-color:rgba(239,68,68,.5);background:rgba(60,20,28,.6)}.program-overlay-label{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:6px;background:rgba(8,14,30,.85);border:1px solid rgba(93,228,255,.3);text-shadow:0 1px 2px rgba(0,0,0,.5)}.program-overlay-arc-label,.program-overlay-label{letter-spacing:.02em;font-family:var(--font-mono);white-space:nowrap;pointer-events:none}.program-overlay-arc-label{font-size:.78rem;font-weight:800;text-shadow:0 0 4px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.65),0 1px 2px rgba(0,0,0,.9)}.program-overlay-step{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#0a0d18;background:rgba(255,255,255,.95);border:2px solid rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.3);pointer-events:none;font-family:Inter,system-ui,sans-serif}.program-overlay-step.is-active{background:#fff;box-shadow:0 0 0 2px rgba(93,228,255,.85),0 0 12px rgba(93,228,255,.65)}.program-overlay-step.is-rotation{width:auto;min-width:28px;padding:0 5px;border-radius:14px;gap:2px}.program-overlay-step-glyph{font-size:.95em;font-weight:700;line-height:1;color:rgba(245,158,11,.95);margin-right:1px}.program-overlay-step.is-rotation.is-active .program-overlay-step-glyph{color:rgba(245,158,11,1);text-shadow:0 0 6px rgba(245,158,11,.85)}.sim-controls{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:12;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(8,14,30,.86);backdrop-filter:blur(8px);border:1px solid rgba(93,228,255,.22);box-shadow:0 10px 28px rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sim-controls,.sim-controls-btn{display:inline-flex;align-items:center}.sim-controls-btn{justify-content:center;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(180,210,255,.2);color:rgba(220,240,255,.92);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.sim-controls-btn:hover:not(:disabled){background:rgba(93,228,255,.16);border-color:rgba(93,228,255,.45)}.sim-controls-btn:active:not(:disabled){transform:scale(.94)}.sim-controls-btn:disabled{opacity:.4;cursor:not-allowed}.sim-controls-btn-primary{width:44px;height:44px;background:linear-gradient(135deg,rgba(34,197,94,.4),rgba(34,197,94,.28));border-color:rgba(34,197,94,.6);color:#ffffff;box-shadow:0 4px 12px rgba(34,197,94,.3)}.sim-controls-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,rgba(34,197,94,.55),rgba(34,197,94,.4));border-color:rgba(34,197,94,.8)}.sim-controls-btn-primary.is-pause{background:linear-gradient(135deg,rgba(245,158,11,.45),rgba(245,158,11,.3));border-color:rgba(245,158,11,.65);box-shadow:0 4px 12px rgba(245,158,11,.3)}.sim-controls-btn-primary.is-pause:hover{background:linear-gradient(135deg,rgba(245,158,11,.6),rgba(245,158,11,.45));border-color:rgba(245,158,11,.85)}.sim-controls-sep{width:1px;height:22px;background:rgba(255,255,255,.12);margin:0 2px}.sim-controls-btn-robot{width:44px;height:44px;position:relative;background:linear-gradient(135deg,rgba(59,130,246,.4),rgba(59,130,246,.28));border-color:rgba(59,130,246,.6);color:#ffffff;box-shadow:0 4px 12px rgba(59,130,246,.3)}.sim-controls-btn-robot:hover:not(:disabled){background:linear-gradient(135deg,rgba(59,130,246,.55),rgba(59,130,246,.4));border-color:rgba(59,130,246,.8)}.sim-controls-btn-robot.is-on{background:linear-gradient(135deg,rgba(96,165,250,.7),rgba(37,99,235,.65));border-color:rgba(147,197,253,1);color:#ffffff;box-shadow:0 0 0 1px rgba(147,197,253,.7),0 0 18px rgba(59,130,246,.7);animation:sim-robot-glow 2.2s ease-in-out infinite}.sim-controls-btn-robot.is-on:hover:not(:disabled){background:linear-gradient(135deg,rgba(96,165,250,.85),rgba(37,99,235,.8));border-color:rgba(191,219,254,1)}@keyframes sim-robot-glow{0%,to{box-shadow:0 0 0 1px rgba(147,197,253,.7),0 0 18px rgba(59,130,246,.7)}50%{box-shadow:0 0 0 1px rgba(191,219,254,1),0 0 28px rgba(96,165,250,.95)}}.sim-controls-btn.is-step-ready{background:rgba(168,85,247,.3);border-color:rgba(168,85,247,.65);box-shadow:0 0 0 1px rgba(168,85,247,.45),0 0 12px rgba(168,85,247,.4);animation:sim-step-pulse 1.6s ease-in-out infinite}@keyframes sim-step-pulse{0%,to{box-shadow:0 0 0 1px rgba(168,85,247,.45),0 0 12px rgba(168,85,247,.4)}50%{box-shadow:0 0 0 1px rgba(168,85,247,.65),0 0 18px rgba(168,85,247,.65)}}.program-strip-floating{position:absolute;right:14px;top:14px;z-index:11;width:220px;max-height:calc(100% - 220px);overflow-y:auto;pointer-events:auto}.program-strip-floating .program-view{background:rgba(8,14,30,.86);backdrop-filter:blur(8px);border:1px solid rgba(93,228,255,.22);box-shadow:0 10px 28px rgba(0,0,0,.45);margin-bottom:0}.program-view{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:12px;border-radius:14px;background:linear-gradient(180deg,rgba(20,26,48,.85),rgba(14,18,36,.85));border:1px solid rgba(93,228,255,.16);box-shadow:0 6px 20px rgba(0,0,0,.3)}.program-view.compact{padding:10px;gap:8px}.program-view-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.program-view-title{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(180,220,255,.85)}.program-view-count{font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:999px;color:rgba(120,180,255,.85);background:rgba(93,228,255,.1);border:1px solid rgba(93,228,255,.22);text-transform:none}.program-view-actions{display:flex;gap:6px}.program-view-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:rgba(220,240,255,.95);background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.4);border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.program-view-btn:hover:not(:disabled){background:rgba(34,197,94,.26);border-color:rgba(34,197,94,.6)}.program-view-btn:active:not(:disabled){transform:scale(.97)}.program-view-btn:disabled{opacity:.45;cursor:not-allowed}.program-view-btn-stop{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4)}.program-view-btn-stop:hover:not(:disabled){background:rgba(239,68,68,.26);border-color:rgba(239,68,68,.6)}.program-view-btn-pause{background:rgba(245,158,11,.2);border-color:rgba(245,158,11,.45)}.program-view-btn-pause:hover:not(:disabled){background:rgba(245,158,11,.3);border-color:rgba(245,158,11,.65)}.program-view.program-view-hint{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:rgba(180,220,255,.78);background:rgba(8,14,30,.7);backdrop-filter:blur(6px);border:1px dashed rgba(93,228,255,.3);border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.program-view.program-view-hint svg{color:rgba(168,85,247,.85);flex-shrink:0}.program-view-btn-ghost{background:rgba(148,163,184,.1);border-color:rgba(148,163,184,.25);padding:5px 8px}.program-view-btn-ghost:hover:not(:disabled){background:rgba(148,163,184,.18);border-color:rgba(148,163,184,.4)}.program-view-btn-robot{background:rgba(148,163,184,.1);border-color:rgba(148,163,184,.25)}.program-view-btn-robot:hover:not(:disabled){background:rgba(148,163,184,.18);border-color:rgba(148,163,184,.4)}.program-view-btn-robot.on{background:rgba(93,228,255,.16);border-color:rgba(93,228,255,.55);color:#5de4ff;box-shadow:0 0 14px rgba(93,228,255,.18)}.program-view-btn-robot.on:hover{background:rgba(93,228,255,.22);border-color:rgba(93,228,255,.75)}.program-view-btn-robot.disabled,.program-view-btn-robot:disabled{opacity:.5;cursor:not-allowed;background:rgba(148,163,184,.06);border-color:rgba(148,163,184,.15)}.program-view-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;text-align:center;border-radius:12px;background:rgba(15,20,38,.5);border:1px dashed rgba(93,228,255,.2)}.program-view-empty-icon{color:rgba(93,228,255,.55);margin-bottom:2px}.program-view-empty-title{font-size:.94rem;font-weight:700;color:rgba(220,240,255,.95)}.program-view-empty-hint{font-size:.78rem;line-height:1.55;color:rgba(180,210,255,.65);max-width:380px}.program-view-empty-hint em{color:rgba(255,200,130,.95);font-style:italic}.program-view-blocks{display:flex;flex-direction:column;gap:6px}.program-block{position:relative;display:flex;gap:0;border-radius:9px;background:rgba(15,20,38,.55);border:1px solid rgba(93,228,255,.12);overflow:hidden;transition:border-color .2s ease,background .2s ease,transform .15s ease}.program-block.is-active{border-color:rgba(93,228,255,.85);background:rgba(93,228,255,.08);box-shadow:0 0 0 1px rgba(93,228,255,.4),0 0 14px rgba(93,228,255,.3)}.program-block-stripe{width:4px;flex-shrink:0}.program-block-body{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}.program-block-row{display:flex;align-items:center;gap:8px;font-size:.85rem;color:rgba(220,240,255,.95)}.program-block-index{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:5px;font-size:.65rem;font-weight:700;color:rgba(180,210,255,.75);background:rgba(93,228,255,.1);border:1px solid rgba(93,228,255,.22)}.program-block-icon{font-size:1rem;line-height:1;color:rgba(220,240,255,.85)}.program-block-label{font-weight:700}.program-block-detail{font-size:.74rem;color:rgba(180,210,255,.7);margin-left:28px;font-family:var(--font-mono);letter-spacing:0}.program-block-nested{margin-top:6px;margin-left:6px;padding-left:10px;border-left:1px dashed rgba(93,228,255,.2)}.program-block-nested-title{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(168,85,247,.85);margin-bottom:4px}.program-block-nested-body{display:flex;flex-direction:column;gap:4px}.cal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:90}.cal-positioner{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:91;padding:16px}.cal-modal{position:relative;pointer-events:auto;width:min(540px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:28px 28px 24px;border-radius:22px;background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 55%),linear-gradient(180deg,#161a26,#0f111a);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px -20px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.02)}.cal-close{position:absolute;top:12px;right:14px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;transition:background .15s,color .15s}.cal-close:hover{background:rgba(255,255,255,.06);color:var(--fg)}.cal-title{font-size:1.18rem;font-weight:700;margin:0 0 4px;color:var(--fg)}.cal-sub{font-size:.85rem;color:var(--muted);margin:0 0 16px;line-height:1.5}.cal-rail{list-style:none;padding:0;margin:0 0 16px;display:flex;gap:6px;flex-wrap:wrap;font-size:.75rem}.cal-rail-item{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--muted)}.cal-rail-item.is-active{background:color-mix(in srgb,var(--cyan) 18%,transparent);border-color:color-mix(in srgb,var(--cyan) 50%,transparent);color:var(--fg)}.cal-rail-item.is-done{background:color-mix(in srgb,var(--green) 14%,transparent);border-color:color-mix(in srgb,var(--green) 35%,transparent);color:var(--green)}.cal-rail-bullet{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);font-weight:600;font-size:.65rem}.cal-rail-item.is-active .cal-rail-bullet{background:var(--cyan);color:#06121a}.cal-rail-item.is-done .cal-rail-bullet{background:var(--green);color:#07211a}.cal-cam-status{display:flex;align-items:center;gap:8px;font-size:.78rem;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,#ef4444 12%,transparent);border:1px solid color-mix(in srgb,#ef4444 35%,transparent);color:#fca5a5;margin-bottom:10px}.cal-cam-status.is-ok{background:color-mix(in srgb,var(--green) 12%,transparent);border-color:color-mix(in srgb,var(--green) 35%,transparent);color:var(--green)}.cal-current{font-size:.74rem;color:var(--muted);margin-bottom:14px}.cal-current code{color:var(--fg);background:rgba(255,255,255,.05);padding:1px 5px;border-radius:4px;font-size:.72rem}.cal-current-defaults{color:var(--amber);margin-left:4px}.cal-auto{display:flex;flex-direction:column;gap:12px;margin:10px 0 4px}.cal-btn-big{padding:12px 18px!important;font-size:.92rem!important;width:100%;justify-content:center}.cal-spin{animation:spin .9s linear infinite}.cal-auto-bar{position:relative;height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.cal-auto-bar-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,color-mix(in srgb,var(--cyan) 80%,transparent),color-mix(in srgb,var(--cyan) 95%,transparent));transition:width .35s ease-out}.cal-auto-bar-label{position:absolute;right:0;top:12px;font-size:.7rem;color:var(--muted,#94a3b8);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.cal-auto-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.cal-auto-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);font-size:.82rem;color:var(--muted,#94a3b8)}.cal-auto-item.is-active{background:color-mix(in srgb,var(--cyan) 8%,transparent);border-color:color-mix(in srgb,var(--cyan) 30%,transparent);color:var(--fg,#e2e8f0)}.cal-auto-item.is-done{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07);color:var(--fg,#e2e8f0)}.cal-auto-bullet{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.07);font-size:.72rem;font-weight:700;color:var(--muted,#94a3b8)}.cal-auto-item.is-done .cal-auto-bullet{background:var(--green,#22c55e);color:#0c1228}.cal-auto-item.is-active .cal-auto-bullet{background:var(--cyan,#5de4ff);color:#0c1228}.cal-auto-label{font-weight:600}.cal-auto-hint{font-size:.72rem;color:var(--muted,#94a3b8);text-align:right;font-variant-numeric:tabular-nums}.cal-auto-item.is-done .cal-auto-hint{color:var(--green,#22c55e)}.cal-mode-toggle{align-self:center;margin-top:14px;background:transparent;border:none;color:var(--muted,#94a3b8);font-size:.74rem;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.cal-mode-toggle:hover{color:var(--fg,#e2e8f0)}.cp-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:80}.cp-positioner{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:81;padding:24px}.cp-modal{position:relative;pointer-events:auto;width:min(1100px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;padding:22px 22px 18px;border-radius:18px;background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 55%),linear-gradient(180deg,#161a26,#0f111a);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px -20px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.02);color:var(--fg,#e2e8f0)}.cp-close{position:absolute;top:14px;right:14px;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--fg,#e2e8f0);cursor:pointer}.cp-close:hover{background:rgba(255,255,255,.08)}.cp-head{margin-bottom:12px}.cp-title{margin:0 0 4px;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.cp-sub{margin:0;font-size:.78rem;color:var(--muted,#94a3b8);line-height:1.4}.cp-tabs{display:flex;gap:6px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:14px}.cp-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;background:transparent;color:var(--muted,#94a3b8);font-size:.78rem;font-weight:600;cursor:pointer}.cp-tab.is-active,.cp-tab:hover{color:var(--fg,#e2e8f0)}.cp-tab.is-active{background:color-mix(in srgb,var(--cyan) 10%,transparent);border-color:rgba(93,228,255,.22)}.cp-tab-content{flex:1;min-height:0;overflow:hidden}.cp-tab-body{display:grid;grid-template-columns:280px 1fr;gap:16px;height:100%;min-height:480px}@media (max-width:760px){.cp-tab-body{grid-template-columns:1fr}}.cp-controls{gap:14px;overflow-y:auto;padding-right:4px}.cp-controls,.cp-controls-section{display:flex;flex-direction:column}.cp-controls-section{gap:6px}.cp-section-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#94a3b8);margin-bottom:2px}.cp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem}.cp-row-label{flex:1;color:var(--fg,#e2e8f0)}.cp-row-check{flex-direction:row-reverse;justify-content:flex-end}.cp-row-check input{margin-right:8px}.cp-input{width:76px;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:var(--fg,#e2e8f0);font-size:.78rem;text-align:right;font-variant-numeric:tabular-nums}.cp-input:focus{outline:none;border-color:color-mix(in srgb,var(--cyan) 50%,transparent)}.cp-select{width:100%;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:var(--fg,#e2e8f0);font-size:.78rem}.cp-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--cyan) 50%,transparent);background:color-mix(in srgb,var(--cyan) 20%,transparent);color:var(--cyan,#5de4ff);font-size:.82rem;font-weight:600;cursor:pointer}.cp-btn-primary:disabled{opacity:.6;cursor:not-allowed}.cp-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--cyan) 28%,transparent)}.cp-spin{animation:spin .9s linear infinite}.cp-help{margin:6px 0 0;font-size:.72rem}.cp-help,.cp-help-inline{color:var(--muted,#94a3b8);line-height:1.5}.cp-help-inline{margin:4px 0 0;font-size:.7rem}.cp-help strong,.cp-help-inline strong{color:var(--fg,#e2e8f0)}.cp-preview{min-height:0;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:8px}.cp-preview>svg{max-width:100%;max-height:100%}.cp-preview-mount{background:#f3f5f7;position:relative}.cp-preview-3d{background:#0f1117;min-height:240px}.cp-preview-stack{display:grid;grid-template-rows:1.5fr 1fr;gap:10px;min-height:0;height:100%}.cp-preview-caption{position:absolute;left:8px;bottom:6px;font-size:.66rem;letter-spacing:.04em;color:rgba(180,210,255,.7);background:rgba(4,8,22,.55);border:1px solid rgba(255,255,255,.08);padding:2px 7px;border-radius:999px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cp-preview-mount:not(.cp-preview-3d) .cp-preview-caption{color:#5b6470;background:rgba(255,255,255,.7);border-color:rgba(0,0,0,.08)}.cal-heights{margin:6px 0 14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.02);overflow:hidden}.cal-heights[open]{background:rgba(255,255,255,.03)}.cal-heights-summary{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:600;color:var(--fg);cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-heights-summary::-webkit-details-marker{display:none}.cal-heights-summary:after{content:"▸";margin-left:auto;font-size:.7rem;color:var(--muted);transition:transform .15s ease-out}.cal-heights[open] .cal-heights-summary:after{transform:rotate(90deg)}.cal-heights-hint{font-weight:400;font-size:.72rem;color:var(--muted);margin-left:auto;margin-right:8px}.cal-heights-help{margin:0 12px 10px;font-size:.72rem;color:var(--muted);line-height:1.5}.cal-heights-grid{display:flex;flex-direction:column;gap:6px;padding:0 12px 10px}.cal-heights-row{display:flex;align-items:center;gap:10px;font-size:.76rem;color:var(--fg)}.cal-heights-label{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px}.cal-heights-id{font-family:var(--font-mono,ui-monospace,monospace);font-size:.7rem;color:var(--muted);background:rgba(255,255,255,.05);padding:1px 5px;border-radius:4px}.cal-heights-input-wrap{display:inline-flex;align-items:center;gap:4px}.cal-heights-input{width:64px;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:var(--fg);font-size:.78rem;text-align:right;font-variant-numeric:tabular-nums}.cal-heights-input:focus{outline:none;border-color:color-mix(in srgb,var(--cyan) 50%,transparent)}.cal-heights-unit{font-size:.7rem;color:var(--muted)}.cal-heights-actions{display:flex;justify-content:flex-end;padding:0 12px 12px}.cal-warn{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#fca5a5;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,#ef4444 12%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);margin:8px 0}.cal-step{padding-top:4px}.cal-step-heading{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--fg)}.cal-step-instructions{font-size:.85rem;color:var(--muted);line-height:1.55;margin:0 0 14px}.cal-result{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--green);padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);margin:12px 0 0}.cal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.cal-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--cyan),color-mix(in srgb,var(--cyan) 55%,var(--purple,#a855f7)));color:#06121a;font-weight:700;font-size:.85rem;cursor:pointer;transition:filter .15s,transform .08s,opacity .15s}.cal-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.cal-btn-primary:active:not(:disabled){transform:scale(.97)}.cal-btn-primary:disabled{opacity:.45;cursor:not-allowed}.cal-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer}.cal-btn-ghost:hover{border-color:rgba(255,255,255,.22);color:var(--fg)}.cal-review{padding-top:4px}.cal-review-heading{margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--fg)}.cal-review-list{margin:12px 0 14px;display:flex;flex-direction:column;gap:6px}.cal-review-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:.85rem}.cal-review-row dt{color:var(--muted);margin:0}.cal-review-row dd{margin:0;color:var(--fg);display:inline-flex;align-items:center}.cal-review-from{color:var(--muted)}.cal-review-to{color:var(--fg);font-weight:600}.cal-review-unit{color:var(--muted);font-size:.78rem}.cal-review-skip{color:var(--muted);font-style:italic}.cal-review-delta{margin-left:10px;font-size:.72rem;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted)}.cal-review-delta.is-big{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.cal-success{text-align:center;padding:20px 0 8px;color:var(--green)}.cal-success>svg{margin-bottom:8px}.cal-success p{color:var(--muted)}.cal-success button{margin-top:12px}.cal-drift-table{display:flex;flex-direction:column;gap:6px;margin:14px 0}.cal-drift-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.88rem}.cal-drift-label{color:var(--muted)}.cal-drift-pending{color:var(--muted);font-variant-numeric:tabular-nums}.cal-drift-value{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}.cal-drift-value.is-ok{color:var(--green)}.cal-drift-value.is-fail{color:#fca5a5}.cal-drift-delta{margin-left:6px;font-weight:400;font-size:.78rem;color:var(--muted)}.cal-drift-value.is-ok .cal-drift-delta{color:color-mix(in srgb,var(--green) 70%,var(--muted))}.cal-drift-value.is-fail .cal-drift-delta{color:#fca5a5}.surface-picker{display:flex;flex-direction:column;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid rgba(168,85,247,.18);background:rgba(168,85,247,.05);margin-bottom:12px}.surface-picker-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.surface-picker-pills{display:flex;gap:6px;flex-wrap:wrap}.surface-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--muted);font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.surface-pill:hover:not(:disabled){background:rgba(255,255,255,.08);color:var(--fg)}.surface-pill.is-active{background:color-mix(in srgb,var(--cyan) 20%,transparent);border-color:color-mix(in srgb,var(--cyan) 60%,transparent);color:var(--cyan);font-weight:600}.surface-pill.is-empty{border-style:dashed}.surface-pill-empty-dot{color:var(--amber);font-size:.9rem;line-height:.5;margin-left:2px}.surface-picker-warn{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#fca5a5}.cal-nudge{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;width:min(440px,calc(100vw - 32px));display:grid;grid-template-columns:32px 1fr auto 28px;align-items:center;gap:12px;padding:12px 14px 12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--cyan) 35%,transparent);background:linear-gradient(180deg,rgba(20,26,42,.94),rgba(12,17,32,.94));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 30px -10px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.03)}.cal-nudge-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--cyan) 18%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent)}.cal-nudge-body{min-width:0}.cal-nudge-title{font-size:.88rem;font-weight:600;color:var(--fg)}.cal-nudge-sub{font-size:.74rem;color:var(--muted);line-height:1.4;margin-top:1px}.cal-nudge-cta{padding:7px 14px;border-radius:10px;border:none;font-weight:700;font-size:.78rem;background:linear-gradient(135deg,var(--cyan),color-mix(in srgb,var(--cyan) 55%,var(--purple,#a855f7)));color:#06121a;cursor:pointer;transition:filter .15s,transform .08s}.cal-nudge-cta:hover{filter:brightness(1.08)}.cal-nudge-cta:active{transform:scale(.96)}.cal-nudge-dismiss{background:transparent;border:none;color:var(--muted);padding:4px;border-radius:6px;cursor:pointer;transition:color .15s,background .15s}.cal-nudge-dismiss:hover{color:var(--fg);background:rgba(255,255,255,.06)}@keyframes sb-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.pairing-card{position:relative;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;padding:18px 22px;margin:18px 24px 0;border-radius:20px;border:1px solid color-mix(in srgb,var(--cyan) 25%,transparent);background:radial-gradient(140% 100% at 0 0,color-mix(in srgb,var(--cyan) 14%,transparent),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));box-shadow:0 18px 40px -28px rgba(0,220,255,.55),inset 0 2px 0 rgba(255,255,255,.04);overflow:hidden}.pairing-card-close{position:absolute;top:10px;right:12px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;transition:background .15s,color .15s}.pairing-card-close:hover:not(:disabled){background:rgba(255,255,255,.06);color:var(--fg)}.pairing-card-close:disabled{opacity:.35;cursor:not-allowed}.pairing-card-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--cyan) 16%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent)}.pairing-card-body{min-width:0}.pairing-card-title{font-size:1.05rem;font-weight:700;color:var(--fg);margin-bottom:4px;letter-spacing:-.005em}.pairing-card-sub{font-size:.85rem;color:var(--muted);line-height:1.45;margin-bottom:12px}.pairing-card-serial{font-family:var(--font-mono,monospace);font-size:.78rem;letter-spacing:.06em;color:var(--fg);padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.06);margin:0 2px}.pairing-card-nickname-row{margin-bottom:12px}.pairing-card-input{width:100%;max-width:280px;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--fg);font-size:.85rem;outline:none;transition:border-color .15s}.pairing-card-input:focus{border-color:color-mix(in srgb,var(--cyan) 60%,transparent)}.pairing-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pairing-card-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--cyan),color-mix(in srgb,var(--cyan) 60%,var(--purple,#a855f7)));color:#06121a;font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .08s,filter .15s,opacity .15s}.pairing-card-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.pairing-card-btn-primary:active:not(:disabled){transform:scale(.97)}.pairing-card-btn-primary:disabled{opacity:.45;cursor:not-allowed}.pairing-card-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}.pairing-card-btn-ghost:hover{border-color:rgba(255,255,255,.22);color:var(--fg)}.pairing-card-hint{font-size:.75rem;color:var(--muted)}.pairing-card-steps{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:8px}.pairing-step{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--muted)}.pairing-step-bullet{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--muted);flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.pairing-step.is-active .pairing-step-bullet{background:color-mix(in srgb,var(--cyan) 18%,transparent);border-color:var(--cyan);color:var(--cyan)}.pairing-step.is-active .pairing-step-label{color:var(--fg)}.pairing-step.is-done .pairing-step-bullet{background:color-mix(in srgb,var(--green,#22c55e) 22%,transparent);border-color:var(--green,#22c55e);color:var(--green,#22c55e)}.pairing-step.is-done .pairing-step-label{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.2)}.pairing-card-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 0,color-mix(in srgb,var(--green,#22c55e) 28%,transparent),transparent 60%);border-radius:inherit;mix-blend-mode:screen}.pair-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:80}.pair-modal-positioner{position:fixed;inset:0;justify-content:center;pointer-events:none;padding:16px}.pair-modal,.pair-modal-positioner{display:flex;align-items:center;z-index:81}.pair-modal{position:relative;pointer-events:auto;width:min(440px,100%);max-height:calc(100vh - 64px);overflow-y:auto;padding:28px 26px;border-radius:22px;background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 55%),linear-gradient(180deg,#161a26,#0f111a);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px -20px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.02);flex-direction:column;text-align:center}.pair-modal-close{position:absolute;top:12px;right:14px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;transition:background .15s,color .15s}.pair-modal-close:hover:not(:disabled){background:rgba(255,255,255,.06);color:var(--fg)}.pair-modal-close:disabled{opacity:.35;cursor:not-allowed}.pair-modal-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;margin-bottom:16px}.pair-modal-icon--neutral{background:color-mix(in srgb,var(--cyan) 16%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 28%,transparent)}.pair-modal-icon--active{background:color-mix(in srgb,var(--cyan) 22%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 50%,transparent);box-shadow:0 0 24px -6px color-mix(in srgb,var(--cyan) 55%,transparent)}.pair-modal-icon--success{background:color-mix(in srgb,var(--green,#22c55e) 18%,transparent);color:var(--green,#22c55e);border:1px solid color-mix(in srgb,var(--green,#22c55e) 35%,transparent);box-shadow:0 0 28px -4px color-mix(in srgb,var(--green,#22c55e) 55%,transparent)}.pair-modal-icon--error{background:color-mix(in srgb,#ef4444 18%,transparent);color:#ef4444;border:1px solid color-mix(in srgb,#ef4444 35%,transparent)}.pair-modal-title{font-size:1.2rem;font-weight:700;margin:0 0 6px;color:var(--fg);letter-spacing:-.01em}.pair-modal-sub{font-size:.9rem;color:var(--muted);line-height:1.5;margin:0 0 16px}.pair-modal-serial-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);font-family:var(--font-mono,monospace);letter-spacing:.06em;font-size:.8rem;margin:0 0 18px}.pair-modal-input,.pair-modal-serial-chip{background:rgba(255,255,255,.04);color:var(--fg)}.pair-modal-input{width:100%;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);font-size:.9rem;outline:none;text-align:center;margin:0 0 16px;transition:border-color .15s}.pair-modal-input:focus{border-color:color-mix(in srgb,var(--cyan) 60%,transparent)}.pair-modal-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:100%}.pair-modal-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--cyan),color-mix(in srgb,var(--cyan) 55%,var(--purple,#a855f7)));color:#06121a;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .08s,filter .15s,opacity .15s}.pair-modal-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.pair-modal-btn-primary:active:not(:disabled){transform:scale(.97)}.pair-modal-btn-primary:disabled{opacity:.45;cursor:not-allowed}.pair-modal-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--muted);font-size:.88rem;cursor:pointer;transition:border-color .15s,color .15s}.pair-modal-btn-ghost:hover{border-color:rgba(255,255,255,.22);color:var(--fg)}.pair-modal-hint{font-size:.78rem;color:var(--muted)}.pair-modal-checklist{list-style:none;padding:0;margin:4px 0 22px;display:flex;flex-direction:column;gap:10px;width:100%;text-align:left}.pair-modal-checklist li{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--muted)}.pair-modal-checklist li svg{color:var(--cyan);flex-shrink:0}.pair-modal-steps{list-style:none;padding:0;margin:8px 0 4px;display:flex;flex-direction:column;gap:10px;width:100%;text-align:left}.pair-modal-step{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--muted)}.pair-modal-step-bullet{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--muted);flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.pair-modal-step.is-active .pair-modal-step-bullet{background:color-mix(in srgb,var(--cyan) 18%,transparent);border-color:var(--cyan);color:var(--cyan)}.pair-modal-step.is-active .pair-modal-step-label{color:var(--fg)}.pair-modal-step.is-done .pair-modal-step-bullet{background:color-mix(in srgb,var(--green,#22c55e) 22%,transparent);border-color:var(--green,#22c55e);color:var(--green,#22c55e)}.pair-modal-step.is-done .pair-modal-step-label{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.2)}.sandbox-live-hero{position:relative;display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:24px;width:100%;max-width:920px;margin:0 auto 24px;padding:20px;border-radius:20px;border:1px solid rgba(120,140,255,.18);background:radial-gradient(120% 140% at 100% 0,rgba(168,85,247,.08) 0,transparent 55%),linear-gradient(180deg,rgba(7,10,28,.55),rgba(5,8,22,.4));box-shadow:0 12px 32px rgba(5,8,22,.35);overflow:hidden}@media (max-width:720px){.sandbox-live-hero{grid-template-columns:1fr}}.sandbox-live-hero-preview{position:relative;aspect-ratio:4/3;border-radius:14px;border:1px solid rgba(120,140,255,.2);background:linear-gradient(180deg,rgba(15,23,42,.5),rgba(5,8,22,.6));overflow:hidden;padding:0;cursor:pointer;display:block}.sandbox-live-hero-preview-svg{width:100%;height:100%;display:grid;place-items:center}.sandbox-live-hero-preview-svg :is(svg){width:100%;height:100%}.sandbox-live-hero-preview-image{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sandbox-live-hero-preview-empty{height:100%;display:grid;place-items:center;gap:8px;color:var(--muted);font-size:.92rem}.sandbox-live-hero-preview-empty>span:first-child{font-size:2rem}.sandbox-live-hero-preview-empty-label{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.sandbox-live-hero-pulse{position:absolute;top:10px;left:10px;width:8px;height:8px;border-radius:50%;background:rgb(74,222,128);box-shadow:0 0 0 4px rgba(74,222,128,.18);animation:live-hero-pulse 1.8s ease-in-out infinite}@keyframes live-hero-pulse{0%,to{box-shadow:0 0 0 4px rgba(74,222,128,.18)}50%{box-shadow:0 0 0 7px rgba(74,222,128,.05)}}.sandbox-live-hero-body{display:flex;flex-direction:column;gap:10px;min-width:0}.sandbox-live-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(168,85,247,.15);border:1px solid rgba(168,85,247,.3);color:rgb(216,180,254);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sandbox-live-hero-title{margin:4px 0 0;font-size:1.55rem;font-weight:700;letter-spacing:-.01em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-live-hero-teaser{margin:0;color:var(--muted);font-size:.95rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sandbox-live-hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.sandbox-live-hero-meta-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:8px;background:rgba(120,140,255,.08);border:1px solid rgba(120,140,255,.15);color:var(--muted);font-size:.76rem}.sandbox-live-hero-actions{display:flex;gap:10px;margin-top:10px}.sandbox-live-hero-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-weight:600;font-size:.92rem;cursor:pointer;transition:transform .12s ease,box-shadow .15s ease,background .15s ease}.sandbox-live-hero-cta:hover{transform:translateY(-1px)}.sandbox-live-hero-cta:active{transform:translateY(0)}.sandbox-live-hero-cta--primary{background:linear-gradient(135deg,rgb(168,85,247),rgb(107,124,255));color:#fff;border:1px solid rgba(168,85,247,.6);box-shadow:0 6px 18px rgba(168,85,247,.3)}.sandbox-live-hero-cta--primary:hover{box-shadow:0 10px 28px rgba(168,85,247,.4)}.sandbox-live-hero-cta--ghost{background:rgba(120,140,255,.06);color:var(--text);border:1px solid rgba(120,140,255,.2)}.sandbox-live-hero-cta--ghost:hover{background:rgba(120,140,255,.12);border-color:rgba(120,140,255,.4)}.sandbox-live-hero-spark{position:absolute;top:16px;right:16px;pointer-events:none;opacity:.85}@media (max-width:720px){.sandbox-live-hero-spark{display:none}}.sandbox-live-hero--themed>.sandbox-live-hero-body,.sandbox-live-hero--themed>.sandbox-live-hero-empty-body,.sandbox-live-hero--themed>.sandbox-live-hero-preview{position:relative;z-index:2}.sandbox-live-hero-sparkles{position:absolute;inset:0;pointer-events:none;z-index:1}.sandbox-live-hero-floor{position:absolute;left:0;right:0;bottom:0;height:110px;pointer-events:none;z-index:1;--sand-h:24px}.sandbox-live-hero-floor:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,10,28,.55),rgba(7,10,28,.25) 40%,transparent 80%);z-index:1}.sandbox-live-hero-floor-sand{position:absolute;left:0;right:0;bottom:0;width:100%;height:60px;display:block;z-index:1}.sandbox-live-hero-floor-item{position:absolute;line-height:0;z-index:2;opacity:.85;filter:saturate(.85)}.sandbox-live-hero-floor-dig{bottom:0;width:240px;height:120px}.sandbox-live-hero-floor-bot,.sandbox-live-hero-floor-dig{position:absolute;left:50%;transform:translateX(-50%);z-index:3}.sandbox-live-hero-floor-bot{bottom:18px;display:inline-block}.sandbox-live-hero--themed{position:relative;padding-bottom:124px}@media (max-width:720px){.sandbox-live-hero-floor-dig,.sandbox-live-hero-floor-item{display:none}.sandbox-live-hero--themed{padding-bottom:72px}}.sandbox-live-hero--empty{grid-template-columns:1fr;min-height:180px}.sandbox-live-hero-empty-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:520px}.sandbox-live-hero-empty-copy{margin:0;color:var(--muted);font-size:.95rem}.sessions-gallery--strip{display:flex;flex-direction:row;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;grid-template-columns:none;scroll-snap-type:x proximity}.sessions-gallery--strip>*{flex:0 0 220px;scroll-snap-align:start}.sessions-gallery--strip::-webkit-scrollbar{height:8px}.sessions-gallery--strip::-webkit-scrollbar-thumb{background:rgba(120,140,255,.2);border-radius:4px}.session-tile--new-compact{flex:0 0 140px!important;min-height:180px;padding:16px 12px}.session-tile--new-compact .session-tile-new-icon{width:44px;height:44px;font-size:1.4rem}.session-tile--new-compact .session-tile-new-label{font-size:.92rem}.bts-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(120% 90% at 20% 10%,#101832 0,transparent 60%),radial-gradient(110% 90% at 85% 85%,#1a1030 0,transparent 55%),#0a0f1f;animation:bts-fade-in .45s ease-out both}:root[data-theme=light] .bts-overlay{background:radial-gradient(120% 90% at 20% 10%,#dbeeff 0,transparent 60%),radial-gradient(110% 90% at 85% 85%,#ecdcff 0,transparent 55%),#f2f6ff}@keyframes bts-fade-in{0%{opacity:0}to{opacity:1}}.bts-aurora{position:absolute;width:55vmax;height:55vmax;border-radius:50%;filter:blur(70px);opacity:.35;pointer-events:none}.bts-aurora-a{background:radial-gradient(circle,rgba(93,228,255,.5),transparent 65%);top:-18vmax;left:-12vmax;animation:bts-drift-a 16s ease-in-out infinite alternate}.bts-aurora-b{background:radial-gradient(circle,rgba(168,85,247,.45),transparent 65%);bottom:-20vmax;right:-10vmax;animation:bts-drift-b 19s ease-in-out infinite alternate}.bts-aurora-c{background:radial-gradient(circle,rgba(251,191,36,.22),transparent 65%);top:30%;left:55%;width:34vmax;height:34vmax;animation:bts-drift-c 23s ease-in-out infinite alternate}@keyframes bts-drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(9vmax,6vmax) scale(1.15)}}@keyframes bts-drift-b{0%{transform:translate(0) scale(1.1)}to{transform:translate(-8vmax,-5vmax) scale(.95)}}@keyframes bts-drift-c{0%{transform:translate(0)}to{transform:translate(-10vmax,7vmax)}}.bts-stars{position:absolute;inset:0;pointer-events:none}.bts-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#5de4ff;opacity:0;animation:bts-twinkle 4.2s ease-in-out infinite}:root[data-theme=light] .bts-star{background:#7c3aed}@keyframes bts-twinkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:.85;transform:scale(1.25)}}.bts-card{position:relative;z-index:1;max-width:480px;margin:24px;padding:40px 44px 30px;text-align:center;border-radius:26px;background:rgba(13,19,38,.78);border:1px solid rgba(93,228,255,.16);box-shadow:0 30px 80px rgba(0,0,0,.5);backdrop-filter:blur(14px);animation:bts-card-rise .6s cubic-bezier(.22,1.2,.36,1) both}:root[data-theme=light] .bts-card{background:rgba(255,255,255,.85);border-color:rgba(124,58,237,.18);box-shadow:0 30px 80px rgba(60,40,120,.18)}@keyframes bts-card-rise{0%{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.bts-bot-stage{position:relative;display:inline-block;margin-bottom:6px}.bts-bot{animation:bts-bob 3.2s ease-in-out infinite}@keyframes bts-bob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}.bts-bot-antenna{animation:bts-antenna-pulse 1.6s ease-in-out infinite}@keyframes bts-antenna-pulse{0%,to{opacity:.35}50%{opacity:1}}.bts-bot-eyes{transform-origin:60px 40px;animation:bts-blink 4.5s ease-in-out infinite}@keyframes bts-blink{0%,91%,to{transform:scaleY(1)}93%,96%{transform:scaleY(.08)}}.bts-bot-light{animation:bts-light-flicker 2.4s steps(1) infinite}@keyframes bts-light-flicker{0%,55%,to{opacity:1}60%,70%{opacity:.25}}.bts-bot-arm{transform-origin:38px 74px;animation:bts-wave 2.8s ease-in-out infinite}@keyframes bts-wave{0%,to{transform:rotate(0deg)}40%{transform:rotate(-14deg)}55%{transform:rotate(6deg)}}.bts-orbit{position:absolute;top:46%;left:50%;width:8px;height:8px;border-radius:50%;background:#fbbf24;box-shadow:0 0 12px #fbbf24;animation:bts-orbit 3.6s linear infinite;pointer-events:none}@keyframes bts-orbit{0%{transform:rotate(0deg) translateX(84px) scale(1)}50%{transform:rotate(180deg) translateX(84px) scale(.55)}to{transform:rotate(1turn) translateX(84px) scale(1)}}.bts-zzz{position:absolute;right:-14px;top:8px;font:700 1rem/1 var(--font-geist-sans,sans-serif);color:#5de4ff;opacity:0;animation:bts-zzz-float 3s ease-out infinite;pointer-events:none}.bts-zzz-2{animation-delay:1s;right:-26px;font-size:.8rem}.bts-zzz-3{animation-delay:2s;right:-6px;font-size:.65rem}@keyframes bts-zzz-float{0%{opacity:0;transform:translate(0) rotate(8deg)}25%{opacity:.9}to{opacity:0;transform:translate(14px,-34px) rotate(-6deg)}}.bts-title{margin:10px 0 12px;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;background:linear-gradient(92deg,#5de4ff,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}.bts-body{margin:0 0 10px;font-size:.95rem;line-height:1.55;color:#cdd6ee}.bts-body-dim{color:#8d99bd;font-size:.85rem}:root[data-theme=light] .bts-body{color:#3c4560}:root[data-theme=light] .bts-body-dim{color:#6b7594}.bts-actions{margin-top:18px}.bts-retry{border:0;border-radius:999px;padding:12px 30px;font-size:.95rem;font-weight:700;color:#0a0f1f;background:linear-gradient(92deg,#5de4ff,#a855f7);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s;box-shadow:0 8px 26px rgba(93,228,255,.28)}.bts-retry:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 12px 32px rgba(168,85,247,.36)}.bts-retry:active:not(:disabled){transform:translateY(0) scale(.98)}.bts-retry:disabled{opacity:.6;cursor:wait}.bts-pulse-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px}.bts-pulse-dot{width:6px;height:6px;border-radius:50%;background:#5de4ff;animation:bts-pulse 1.4s ease-in-out infinite}.bts-pulse-dot:nth-child(2){animation-delay:.2s}.bts-pulse-dot:nth-child(3){animation-delay:.4s}@keyframes bts-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.bts-pulse-label{margin-left:6px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8d99bd}@media (prefers-reduced-motion:reduce){.bts-overlay,.bts-overlay *{animation:none!important}}.program-predict{margin:8px 10px 4px;padding:10px 12px;border-radius:12px;background:rgba(93,228,255,.06);border:1px solid rgba(93,228,255,.18)}.program-predict-title{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:#5de4ff;margin-bottom:8px}.program-predict-input{width:100%;resize:none;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;font:inherit;font-size:.82rem;padding:8px 10px;outline:none}.program-predict-input:focus{border-color:rgba(93,228,255,.45)}:root[data-theme=light] .program-predict{background:rgba(0,150,199,.06);border-color:rgba(0,150,199,.2)}:root[data-theme=light] .program-predict-title{color:#0096c7}:root[data-theme=light] .program-predict-input{background:rgba(255,255,255,.75);border-color:rgba(20,33,50,.15)}.program-predict-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}.program-predict-conf{display:flex;gap:6px}.program-predict-chip{border:1px solid rgba(255,255,255,.14);background:transparent;color:inherit;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.program-predict-chip.on{background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.55);color:#d8b4fe}:root[data-theme=light] .program-predict-chip{border-color:rgba(20,33,50,.18)}:root[data-theme=light] .program-predict-chip.on{background:rgba(107,92,255,.12);border-color:rgba(107,92,255,.5);color:#6b5cff}.program-predict-actions{display:flex;gap:6px}.route-launch-overlay,.route-loading-screen{position:fixed;inset:0;z-index:50000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(120% 90% at 20% 10%,#101832 0,transparent 60%),radial-gradient(110% 90% at 85% 85%,#1a1030 0,transparent 55%),#0a0f1f}:root[data-theme=light] .route-launch-overlay,:root[data-theme=light] .route-loading-screen{background:radial-gradient(120% 90% at 20% 10%,#dbeeff 0,transparent 60%),radial-gradient(110% 90% at 85% 85%,#ecdcff 0,transparent 55%),#f2f6ff}.route-launch-emoji{font-size:3rem}.route-launch-label{font-size:1.05rem;font-weight:800;background:linear-gradient(92deg,#5de4ff,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}.route-launch-dots{display:flex;gap:7px}.route-launch-dots span{width:8px;height:8px;border-radius:50%;background:#5de4ff;animation:route-launch-pulse 1.2s ease-in-out infinite}.route-launch-dots span:nth-child(2){animation-delay:.18s}.route-launch-dots span:nth-child(3){animation-delay:.36s}@keyframes route-launch-pulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}:root:not([data-theme=dark]) .session-tile{border-color:rgba(95,111,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(243,247,254,.85))}:root:not([data-theme=dark]) .session-tile:hover{border-color:rgba(135,80,241,.45);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(240,244,253,.95));box-shadow:0 8px 24px rgba(79,93,150,.16)}:root:not([data-theme=dark]) .session-tile--continue{border-color:rgba(27,183,210,.4);background:linear-gradient(180deg,rgba(240,250,254,.88),rgba(248,252,255,.88))}:root:not([data-theme=dark]) .session-tile--continue:hover{border-color:rgba(27,183,210,.6);box-shadow:0 8px 24px rgba(27,183,210,.14)}:root:not([data-theme=dark]) .session-tile-stat{color:var(--muted);background:rgba(23,48,74,.05);border-color:rgba(23,48,74,.12)}:root:not([data-theme=dark]) .session-tile-rename-input{color:var(--text);background:rgba(23,48,74,.06);border-color:rgba(135,80,241,.45)}:root:not([data-theme=dark]) .session-tile-rename-input:focus{border-color:rgba(135,80,241,.7);background:rgba(23,48,74,.08)}:root:not([data-theme=dark]) .session-tile-rename-btn{color:#14754c;background:rgba(33,176,120,.14);border-color:rgba(26,143,92,.4)}:root:not([data-theme=dark]) .session-tile-action{color:var(--muted);background:rgba(255,255,255,.92);border-color:rgba(23,48,74,.15)}:root:not([data-theme=dark]) .session-tile-action:hover{color:var(--text);background:rgba(255,255,255,1);border-color:rgba(135,80,241,.45)}:root:not([data-theme=dark]) .session-tile-action.danger:hover{color:#c9364f;background:rgba(253,233,238,.95);border-color:rgba(216,95,118,.5)}:root:not([data-theme=dark]) .home-leaderboard--wide .home-leaderboard-row{background:rgba(23,48,74,.03);border-color:rgba(95,111,255,.12)}:root:not([data-theme=dark]) .home-leaderboard-row:first-child .home-lb-rank{color:#b8860b}:root:not([data-theme=dark]) .home-leaderboard-row:nth-child(2) .home-lb-rank{color:#7d8aa0}:root:not([data-theme=dark]) .home-leaderboard-row:nth-child(3) .home-lb-rank{color:#a05a24}:root:not([data-theme=dark]) .sim-view-tabs{background:rgba(23,48,74,.05);border-color:rgba(23,48,74,.1)}:root:not([data-theme=dark]) .sim-view-tab:hover{background:rgba(23,48,74,.06);color:var(--text)}:root:not([data-theme=dark]) .sim-view-options-btn{background:rgba(23,48,74,.05);border-color:rgba(23,48,74,.12)}:root:not([data-theme=dark]) .sim-view-options-btn:hover{background:rgba(23,48,74,.08);color:var(--text)}:root:not([data-theme=dark]) .sim-view-options-pop{background:rgba(255,255,255,.97);border-color:rgba(23,48,74,.12);box-shadow:0 12px 32px rgba(79,93,150,.2)}:root:not([data-theme=dark]) .sim-view-option:hover{background:rgba(23,48,74,.06);color:var(--text)}:root:not([data-theme=dark]) .bot-controller{background:rgba(255,255,255,.92);border-color:rgba(27,183,210,.3);box-shadow:0 10px 28px rgba(79,93,150,.2)}:root:not([data-theme=dark]) .bot-controller-header{background:linear-gradient(135deg,rgba(27,183,210,.12),rgba(135,80,241,.1));border-bottom-color:rgba(27,183,210,.25);color:#17304a}:root:not([data-theme=dark]) .bot-controller-header:hover{background:linear-gradient(135deg,rgba(27,183,210,.18),rgba(135,80,241,.16))}:root:not([data-theme=dark]) .bot-controller-select{background:rgba(23,48,74,.05);border-color:rgba(27,183,210,.3);color:#17304a}:root:not([data-theme=dark]) .bot-controller-btn{background:rgba(27,183,210,.08);border-color:rgba(27,183,210,.35);color:#0b6faf}:root:not([data-theme=dark]) .bot-controller-btn:hover{background:rgba(27,183,210,.16);border-color:rgba(27,183,210,.55)}:root:not([data-theme=dark]) .bot-controller-btn.is-pressed,:root:not([data-theme=dark]) .bot-controller-btn:active{background:rgba(27,183,210,.28);border-color:rgba(27,183,210,.7)}:root:not([data-theme=dark]) .bot-controller-key{color:rgba(23,48,74,.45)}:root:not([data-theme=dark]) .bot-controller-btn--stop{background:rgba(216,95,118,.08);border-color:rgba(216,95,118,.4);color:#c9364f}:root:not([data-theme=dark]) .bot-controller-btn--stop:hover{background:rgba(216,95,118,.16)}:root:not([data-theme=dark]) .bot-controller-btn--stop .bot-controller-key{color:rgba(201,61,51,.55)}:root:not([data-theme=dark]) .bot-controller-speed{color:#5f7290}:root:not([data-theme=dark]) .bot-controller-speed-slider{background:rgba(23,48,74,.15)}:root:not([data-theme=dark]) .bot-controller-speed-slider::-webkit-slider-thumb{border-color:rgba(255,255,255,.95)}:root:not([data-theme=dark]) .bot-controller-speed-slider::-moz-range-thumb{border-color:rgba(255,255,255,.95)}:root:not([data-theme=dark]) .bot-controller-speed-value{color:#17304a}:root:not([data-theme=dark]) .bot-controller-hint{color:rgba(95,114,144,.85)}:root:not([data-theme=dark]) .bot-controller-hint kbd{color:#17304a;background:rgba(27,183,210,.1);border-color:rgba(27,183,210,.4)}.academy-section-header{width:100%;margin:26px 0 16px}.academy-section-title-row{display:flex;align-items:center;gap:9px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 3px 0 -2px rgba(255,255,255,.05)}.academy-section-icon{display:inline-flex;align-items:center;color:var(--cyan)}.academy-section-title{margin:0;font-size:1.02rem;font-weight:800;letter-spacing:.01em;color:var(--text)}.academy-section-sub{margin:7px 0 0;font-size:.8rem;color:var(--muted)}.academy-course-code{position:absolute;top:10px;right:10px;z-index:1;padding:2px 8px;border-radius:7px;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.07em;white-space:nowrap;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 45%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 3px rgba(0,0,0,.25)}.academy-course-code--open{color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,transparent);border-color:color-mix(in srgb,var(--pink) 45%,transparent)}.academy-crest{position:relative;align-self:center;margin-left:auto;margin-right:auto;width:-moz-fit-content;width:fit-content;padding:8px 36px;border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.07)}.academy-crest:after,.academy-crest:before{content:"";position:absolute;top:50%;width:18px;height:46px;transform:translateY(-50%);border:1.5px solid color-mix(in srgb,var(--amber) 55%,transparent);opacity:.75;pointer-events:none}.academy-crest:before{left:4px;border-right:none;border-radius:22px 0 0 22px}.academy-crest:after{right:4px;border-left:none;border-radius:0 22px 22px 0}.academy-labs-section{width:100%}.academy-labs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}:root:not([data-theme=dark]) .academy-section-title-row{border-bottom-color:rgba(23,48,74,.18);box-shadow:0 3px 0 -2px rgba(23,48,74,.07)}:root:not([data-theme=dark]) .academy-course-code{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 3px rgba(23,48,74,.14)}:root:not([data-theme=dark]) .academy-crest{box-shadow:0 0 0 1px rgba(23,48,74,.1)}.entry-role-hint{margin:6px 0 0;font-size:11px;line-height:1.5;opacity:.7}.hover\:border-rose-300\/40:hover{border-color:rgb(253 164 175/.4)}.hover\:bg-\[rgba\(12\2c 17\2c 33\2c 0\.92\)\]:hover{background-color:rgba(12,17,33,.92)}.hover\:shadow-\[0_0_28px_rgba\(77\2c 226\2c 255\2c 0\.22\)\]:hover{--tw-shadow:0 0 28px rgba(77,226,255,0.22);--tw-shadow-colored:0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:768px){.md\:mb-5{margin-bottom:1.25rem}.md\:mb-6{margin-bottom:1.5rem}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:1.5rem}.md\:text-\[11px\]{font-size:11px}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:tracking-\[0\.32em\]{letter-spacing:.32em}}