/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-purple-500:oklch(62.7% .265 303.9);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-900:oklch(41% .159 10.272);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-lg:0 4px 4px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-text-primary:#1c1917;--color-text-body:#57534e;--color-text-muted:#78716c;--color-text-faint:#a8a29e;--color-bg-page:#fff;--color-bg-card:#fff;--color-bg-subtle:#fafaf9;--color-bg-input:#f5f5f4;--color-border:#e7e5e4;--color-border-strong:#d6d3d1;--color-accent:#1c1917;--color-accent-hover:#292524;--color-accent-text:#fff;--font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Noto Sans KR", system-ui, sans-serif;--font-heading:var(--font-body);--radius-card:12px;--radius-card-workspace:12px;--radius-card-landing:24px;--radius-btn-workspace:10px;--radius-btn-landing:9999px;--ease-smooth:cubic-bezier(.2, .8, .2, 1);--type-hero-size:clamp(48px, 7vw, 88px);--type-hero-tracking:-.025em;--type-body-landing-size:18px;--type-body-landing-leading:1.55;--type-label-en-size:13px;--type-label-en-weight:700;--type-label-en-tracking:.08em;--color-surface:var(--color-bg-card);--color-surface-alt:var(--color-bg-subtle);--color-surface-hover:var(--color-bg-input);--color-border-hover:var(--color-border-strong);--color-text-quaternary:var(--color-text-faint);--color-btn-primary:var(--color-accent);--color-btn-primary-hover:var(--color-accent-hover);--color-accent-mint:#c9e0d4;--color-accent-mint-text:#2d4a3e;--color-accent-sage:#7baa8e;--color-icon-stone:#57534e;--color-success:#10b981;--color-success-bg:#ecfdf5;--color-success-text:#059669;--color-success-border:#d1fae5;--color-info-bg:#f0f9ff;--color-info-text:#0284c7;--color-focus-ring:#0ea5e9;--color-warning-bg:#fef3c7;--color-warning-text:#92400e;--color-danger:#f43f5e;--color-danger-bg:#fee2e2;--color-danger-text:#991b1b;--color-progress-bg:#eff6ff;--color-progress-text:#2563eb;--color-play-danger-bg:#fef2f2f5;--color-play-danger-border:#dc26263d;--color-play-danger-title:#b91c1c;--color-play-danger-body:#991b1b;--color-prompt-cat-chart-bg:#eff6ff;--color-prompt-cat-chart-text:#1d4ed8;--color-prompt-cat-chart-border:#bfdbfe;--color-prompt-cat-vision-bg:#ecfeff;--color-prompt-cat-vision-text:#0f766e;--color-prompt-cat-vision-border:#a5f3fc;--color-prompt-cat-data-bg:#fefce8;--color-prompt-cat-data-text:#a16207;--color-prompt-cat-data-border:#fde68a;--color-prompt-cat-game-bg:#f5f3ff;--color-prompt-cat-game-text:#6d28d9;--color-prompt-cat-game-border:#ddd6fe;--color-avatar-1-from:#fef3c7;--color-avatar-1-to:#fde68a;--color-avatar-1-fg:#92400e;--color-avatar-2-from:#dbeafe;--color-avatar-2-to:#bfdbfe;--color-avatar-2-fg:#1e40af;--color-avatar-3-from:#dcfce7;--color-avatar-3-to:#bbf7d0;--color-avatar-3-fg:#166534;--color-avatar-4-from:#fce7f3;--color-avatar-4-to:#fbcfe8;--color-avatar-4-fg:#9f1239}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.step-card.current .step-text:before{content:"🧩 ";opacity:.8}.tutorial-builder-shell[data-tutorial-category=iot] .step-card.current .step-text:before,.tutorial-builder-shell[data-tutorial-category=sensor] .step-card.current .step-text:before{content:"🔌 "}.tutorial-builder-shell[data-tutorial-category=ai] .step-card.current .step-text:before{content:"🤖 "}.tutorial-builder-shell[data-tutorial-category=voice] .step-card.current .step-text:before{content:"🎙️ "}.tutorial-builder-shell[data-tutorial-category=image] .step-card.current .step-text:before,.tutorial-builder-shell[data-tutorial-category=ai-vision] .step-card.current .step-text:before{content:"🖼️ "}.tutorial-builder-shell[data-tutorial-category=api] .step-card.current .step-text:before{content:"🌐 "}.tutorial-builder-shell[data-tutorial-category=data] .step-card.current .step-text:before{content:"📊 "}.reference-design-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);gap:12px;min-width:min(360px,100%);margin-top:4px;padding:0;display:grid;overflow:hidden}.reference-design-card-head{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;display:flex}.reference-design-card-head strong{color:var(--color-text-primary);letter-spacing:-.02em;font-size:14px;font-weight:800}.reference-design-card-head span{color:var(--color-text-muted);font-size:11px;font-weight:700}.reference-design-rows{background:var(--color-border);gap:1px;display:grid}.reference-design-row{background:var(--color-surface);grid-template-columns:72px 1fr;gap:10px;padding:11px 14px;display:grid}.reference-design-row span{color:var(--color-text-primary);font-size:12px;font-weight:800}.reference-design-row p{color:var(--color-text-body);word-break:keep-all;margin:0;font-size:13px;line-height:1.58}.reference-design-swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0 14px;display:grid}.reference-design-swatch{border:1px solid #1c19171f;border-radius:10px;min-height:34px}.reference-design-apply-btn{border-radius:var(--radius-btn-workspace);background:var(--color-text-primary);min-height:46px;color:var(--color-surface);font:inherit;cursor:pointer;border:0;margin:0 14px 14px;font-size:13px;font-weight:800;transition:transform .2s,background .2s}.reference-design-apply-btn:hover{background:var(--color-text-body)}.reference-design-apply-btn:active{transform:translateY(1px)}.reference-design-apply-btn:disabled{background:var(--color-text-faint);cursor:not-allowed}@media (width<=520px){.reference-design-row{grid-template-columns:1fr;gap:4px}.reference-design-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-1{top:calc(var(--spacing) * -1)}.-top-2{top:calc(var(--spacing) * -2)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-14{top:calc(var(--spacing) * 14)}.top-16{top:calc(var(--spacing) * 16)}.top-\[62px\]{top:62px}.-right-1{right:calc(var(--spacing) * -1)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[180px\]{bottom:180px}.bottom-\[248px\]{bottom:248px}.bottom-\[316px\]{bottom:316px}.bottom-\[376px\]{bottom:376px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.-mt-6{margin-top:calc(var(--spacing) * -6)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-\[2px\]{height:2px}.h-\[6px\]{height:6px}.h-\[18px\]{height:18px}.h-\[50px\]{height:50px}.h-\[60px\]{height:60px}.h-\[72px\]{height:72px}.h-\[80px\]{height:80px}.h-\[86px\]{height:86px}.h-\[88px\]{height:88px}.h-\[110px\]{height:110px}.h-\[112px\]{height:112px}.h-\[120px\]{height:120px}.h-\[128px\]{height:128px}.h-\[136px\]{height:136px}.h-\[140px\]{height:140px}.h-\[144px\]{height:144px}.h-\[150px\]{height:150px}.h-\[160px\]{height:160px}.h-\[170px\]{height:170px}.h-\[180px\]{height:180px}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[248px\]{height:248px}.h-\[316px\]{height:316px}.h-\[360px\]{height:360px}.h-\[376px\]{height:376px}.h-\[812px\]{height:812px}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.max-h-\[92vh\]{max-height:92vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[320px\]{min-height:320px}.min-h-\[812px\]{min-height:812px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-\[6px\]{width:6px}.w-\[38\%\]{width:38%}.w-\[40\%\]{width:40%}.w-\[72px\]{width:72px}.w-\[86px\]{width:86px}.w-\[88px\]{width:88px}.w-\[110px\]{width:110px}.w-\[112px\]{width:112px}.w-\[120px\]{width:120px}.w-\[128px\]{width:128px}.w-\[136px\]{width:136px}.w-\[140px\]{width:140px}.w-\[144px\]{width:144px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[170px\]{width:170px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[300px\]{width:300px}.w-\[375px\]{width:375px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-\[75\%\]{max-width:75%}.max-w-\[78\%\]{max-width:78%}.max-w-\[360px\]{max-width:360px}.max-w-\[420px\]{max-width:420px}.max-w-\[860px\]{max-width:860px}.max-w-\[960px\]{max-width:960px}.max-w-\[1040px\]{max-width:1040px}.max-w-\[1184px\]{max-width:1184px}.max-w-\[1280px\]{max-width:1280px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-\[18px\]{min-width:18px}.min-w-\[56px\]{min-width:56px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-24>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 24) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 24) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-stone-100>:not(:last-child)){border-color:var(--color-stone-100)}:where(.divide-stone-200>:not(:last-child)){border-color:var(--color-stone-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[10px\]{border-radius:10px}.rounded-\[20px\]{border-radius:20px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-\[5px\]{border-style:var(--tw-border-style);border-width:5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-400{border-color:var(--color-amber-400)}.border-amber-400\/30{border-color:#fcbb004d}@supports (color:color-mix(in lab, red, red)){.border-amber-400\/30{border-color:color-mix(in oklab, var(--color-amber-400) 30%, transparent)}}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-500\/60{border-color:#f99c0099}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/60{border-color:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-emerald-700{border-color:var(--color-emerald-700)}.border-green-200{border-color:var(--color-green-200)}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab, red, red)){.border-green-500\/60{border-color:color-mix(in oklab, var(--color-green-500) 60%, transparent)}}.border-indigo-600{border-color:var(--color-indigo-600)}.border-orange-200{border-color:var(--color-orange-200)}.border-red-200{border-color:var(--color-red-200)}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab, red, red)){.border-red-500\/60{border-color:color-mix(in oklab, var(--color-red-500) 60%, transparent)}}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-600{border-color:var(--color-rose-600)}.border-sky-500{border-color:var(--color-sky-500)}.border-sky-600{border-color:var(--color-sky-600)}.border-stone-100{border-color:var(--color-stone-100)}.border-stone-200{border-color:var(--color-stone-200)}.border-stone-300{border-color:var(--color-stone-300)}.border-stone-400{border-color:var(--color-stone-400)}.border-stone-600{border-color:var(--color-stone-600)}.border-stone-700{border-color:var(--color-stone-700)}.border-stone-900{border-color:var(--color-stone-900)}.border-teal-100{border-color:var(--color-teal-100)}.border-teal-400{border-color:var(--color-teal-400)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.border-white\/30{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--color-surface-alt\)\]{background-color:var(--color-surface-alt)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-300\/20{background-color:#ffd23633}@supports (color:color-mix(in lab, red, red)){.bg-amber-300\/20{background-color:color-mix(in oklab, var(--color-amber-300) 20%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/20{background-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.bg-amber-700{background-color:var(--color-amber-700)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-300{background-color:var(--color-emerald-300)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-700{background-color:var(--color-emerald-700)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-stone-50{background-color:var(--color-stone-50)}.bg-stone-100{background-color:var(--color-stone-100)}.bg-stone-200{background-color:var(--color-stone-200)}.bg-stone-200\/60{background-color:#e7e5e499}@supports (color:color-mix(in lab, red, red)){.bg-stone-200\/60{background-color:color-mix(in oklab, var(--color-stone-200) 60%, transparent)}}.bg-stone-200\/70{background-color:#e7e5e4b3}@supports (color:color-mix(in lab, red, red)){.bg-stone-200\/70{background-color:color-mix(in oklab, var(--color-stone-200) 70%, transparent)}}.bg-stone-200\/80{background-color:#e7e5e4cc}@supports (color:color-mix(in lab, red, red)){.bg-stone-200\/80{background-color:color-mix(in oklab, var(--color-stone-200) 80%, transparent)}}.bg-stone-300{background-color:var(--color-stone-300)}.bg-stone-400{background-color:var(--color-stone-400)}.bg-stone-500{background-color:var(--color-stone-500)}.bg-stone-600{background-color:var(--color-stone-600)}.bg-stone-700{background-color:var(--color-stone-700)}.bg-stone-800{background-color:var(--color-stone-800)}.bg-stone-800\/40{background-color:#29252466}@supports (color:color-mix(in lab, red, red)){.bg-stone-800\/40{background-color:color-mix(in oklab, var(--color-stone-800) 40%, transparent)}}.bg-stone-800\/80{background-color:#292524cc}@supports (color:color-mix(in lab, red, red)){.bg-stone-800\/80{background-color:color-mix(in oklab, var(--color-stone-800) 80%, transparent)}}.bg-stone-900{background-color:var(--color-stone-900)}.bg-stone-900\/5{background-color:#1c19170d}@supports (color:color-mix(in lab, red, red)){.bg-stone-900\/5{background-color:color-mix(in oklab, var(--color-stone-900) 5%, transparent)}}.bg-stone-900\/30{background-color:#1c19174d}@supports (color:color-mix(in lab, red, red)){.bg-stone-900\/30{background-color:color-mix(in oklab, var(--color-stone-900) 30%, transparent)}}.bg-stone-900\/40{background-color:#1c191766}@supports (color:color-mix(in lab, red, red)){.bg-stone-900\/40{background-color:color-mix(in oklab, var(--color-stone-900) 40%, transparent)}}.bg-stone-900\/60{background-color:#1c191799}@supports (color:color-mix(in lab, red, red)){.bg-stone-900\/60{background-color:color-mix(in oklab, var(--color-stone-900) 60%, transparent)}}.bg-stone-900\/70{background-color:#1c1917b3}@supports (color:color-mix(in lab, red, red)){.bg-stone-900\/70{background-color:color-mix(in oklab, var(--color-stone-900) 70%, transparent)}}.bg-stone-950\/35{background-color:#0c0a0959}@supports (color:color-mix(in lab, red, red)){.bg-stone-950\/35{background-color:color-mix(in oklab, var(--color-stone-950) 35%, transparent)}}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-50\/50{background-color:#f0fdfa80}@supports (color:color-mix(in lab, red, red)){.bg-teal-50\/50{background-color:color-mix(in oklab, var(--color-teal-50) 50%, transparent)}}.bg-teal-50\/70{background-color:#f0fdfab3}@supports (color:color-mix(in lab, red, red)){.bg-teal-50\/70{background-color:color-mix(in oklab, var(--color-teal-50) 70%, transparent)}}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-400{background-color:var(--color-teal-400)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-400\/30{background-color:#a685ff4d}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/30{background-color:color-mix(in oklab, var(--color-violet-400) 30%, transparent)}}.bg-violet-400\/40{background-color:#a685ff66}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/40{background-color:color-mix(in oklab, var(--color-violet-400) 40%, transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-violet-700{background-color:var(--color-violet-700)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.bg-white\/25{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.bg-white\/70{background-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900\/60{background-color:#18181b99}@supports (color:color-mix(in lab, red, red)){.bg-zinc-900\/60{background-color:color-mix(in oklab, var(--color-zinc-900) 60%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-200\/20{--tw-gradient-from:#fee68533}@supports (color:color-mix(in lab, red, red)){.from-amber-200\/20{--tw-gradient-from:color-mix(in oklab, var(--color-amber-200) 20%, transparent)}}.from-amber-200\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-amber-900\/40{--tw-gradient-from:#7b330666}@supports (color:color-mix(in lab, red, red)){.from-amber-900\/40{--tw-gradient-from:color-mix(in oklab, var(--color-amber-900) 40%, transparent)}}.from-amber-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-sky-300{--tw-gradient-from:var(--color-sky-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-stone-50{--tw-gradient-from:var(--color-stone-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-stone-500{--tw-gradient-from:var(--color-stone-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-stone-600{--tw-gradient-from:var(--color-stone-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-stone-900\/70{--tw-gradient-from:#1c1917b3}@supports (color:color-mix(in lab, red, red)){.from-stone-900\/70{--tw-gradient-from:color-mix(in oklab, var(--color-stone-900) 70%, transparent)}}.from-stone-900\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-400{--tw-gradient-from:var(--color-violet-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-amber-100\/10{--tw-gradient-via:#fef3c61a}@supports (color:color-mix(in lab, red, red)){.via-amber-100\/10{--tw-gradient-via:color-mix(in oklab, var(--color-amber-100) 10%, transparent)}}.via-amber-100\/10{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-500{--tw-gradient-via:var(--color-purple-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-400{--tw-gradient-via:var(--color-sky-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-stone-50{--tw-gradient-via:var(--color-stone-50);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-stone-600{--tw-gradient-via:var(--color-stone-600);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-stone-700{--tw-gradient-via:var(--color-stone-700);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-700{--tw-gradient-to:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-stone-600{--tw-gradient-to:var(--color-stone-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-stone-800{--tw-gradient-to:var(--color-stone-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[44px\]{font-size:44px}.text-\[48px\]{font-size:48px}.text-\[52px\]{font-size:52px}.text-\[56px\]{font-size:56px}.text-\[64px\]{font-size:64px}.text-\[72px\]{font-size:72px}.text-\[76px\]{font-size:76px}.text-\[88px\]{font-size:88px}.text-\[96px\]{font-size:96px}.text-\[clamp\(24px\,3vw\,32px\)\]{font-size:clamp(24px,3vw,32px)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.9\]{--tw-leading:1.9;line-height:1.9}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.\[word-break\:break-all\]{word-break:break-all}.\[word-break\:keep-all\]{word-break:keep-all}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--color-text-faint\)\]{color:var(--color-text-faint)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900\/70{color:#7b3306b3}@supports (color:color-mix(in lab, red, red)){.text-amber-900\/70{color:color-mix(in oklab, var(--color-amber-900) 70%, transparent)}}.text-amber-900\/80{color:#7b3306cc}@supports (color:color-mix(in lab, red, red)){.text-amber-900\/80{color:color-mix(in oklab, var(--color-amber-900) 80%, transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900\/80{color:#004e3bcc}@supports (color:color-mix(in lab, red, red)){.text-emerald-900\/80{color:color-mix(in oklab, var(--color-emerald-900) 80%, transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900\/80{color:#7e2a0ccc}@supports (color:color-mix(in lab, red, red)){.text-orange-900\/80{color:color-mix(in oklab, var(--color-orange-900) 80%, transparent)}}.text-red-100{color:var(--color-red-100)}.text-red-200{color:var(--color-red-200)}.text-red-300\/80{color:#ffa3a3cc}@supports (color:color-mix(in lab, red, red)){.text-red-300\/80{color:color-mix(in oklab, var(--color-red-300) 80%, transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-rose-200{color:var(--color-rose-200)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-900{color:var(--color-rose-900)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-stone-300{color:var(--color-stone-300)}.text-stone-400{color:var(--color-stone-400)}.text-stone-500{color:var(--color-stone-500)}.text-stone-600{color:var(--color-stone-600)}.text-stone-700{color:var(--color-stone-700)}.text-stone-800{color:var(--color-stone-800)}.text-stone-900{color:var(--color-stone-900)}.text-teal-600\/70{color:#009588b3}@supports (color:color-mix(in lab, red, red)){.text-teal-600\/70{color:color-mix(in oklab, var(--color-teal-600) 70%, transparent)}}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.text-white\/95{color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.placeholder-stone-400::placeholder{color:var(--color-stone-400)}.accent-indigo-600{accent-color:var(--color-indigo-600)}.accent-stone-800{accent-color:var(--color-stone-800)}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.mix-blend-multiply{mix-blend-mode:multiply}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-amber-500\/30{--tw-shadow-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.shadow-amber-500\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-violet-600\/30{--tw-shadow-color:#7f22fe4d}@supports (color:color-mix(in lab, red, red)){.shadow-violet-600\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-violet-600) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-violet-700\/40{--tw-shadow-color:#7008e766}@supports (color:color-mix(in lab, red, red)){.shadow-violet-700\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-violet-700) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-amber-200{--tw-ring-color:var(--color-amber-200)}.ring-amber-500{--tw-ring-color:var(--color-amber-500)}.ring-indigo-500{--tw-ring-color:var(--color-indigo-500)}.ring-white\/60{--tw-ring-color:#fff9}@supports (color:color-mix(in lab, red, red)){.ring-white\/60{--tw-ring-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-stone-900{--tw-ring-offset-color:var(--color-stone-900)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));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-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));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,)}.filter{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{--tw-backdrop-blur:blur(8px);-webkit-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-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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-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-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-filter{-webkit-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-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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-stone-400::placeholder{color:var(--color-stone-400)}@media (hover:hover){.hover\:border-stone-300:hover{border-color:var(--color-stone-300)}.hover\:bg-\[var\(--color-surface-hover\)\]:hover{background-color:var(--color-surface-hover)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-sky-600:hover{background-color:var(--color-sky-600)}.hover\:bg-stone-50:hover{background-color:var(--color-stone-50)}.hover\:bg-stone-100:hover{background-color:var(--color-stone-100)}.hover\:bg-stone-200:hover{background-color:var(--color-stone-200)}.hover\:bg-stone-700:hover{background-color:var(--color-stone-700)}.hover\:bg-stone-800:hover{background-color:var(--color-stone-800)}.hover\:bg-violet-700:hover{background-color:var(--color-violet-700)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-rose-500:hover{color:var(--color-rose-500)}.hover\:text-stone-600:hover{color:var(--color-stone-600)}.hover\:text-stone-700:hover{color:var(--color-stone-700)}.hover\:text-stone-900:hover{color:var(--color-stone-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_4px_14px_rgba\(0\,0\,0\,0\.05\)\]:hover{--tw-shadow:0 4px 14px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:border-sky-500:focus{border-color:var(--color-sky-500)}.focus\:text-stone-700:focus{color:var(--color-stone-700)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-amber-400:focus{--tw-ring-color:var(--color-amber-400)}.focus\:ring-amber-500\/40:focus{--tw-ring-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.focus\:ring-amber-500\/40:focus{--tw-ring-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.focus\:ring-emerald-500:focus{--tw-ring-color:var(--color-emerald-500)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-rose-400:focus{--tw-ring-color:var(--color-rose-400)}.focus\:ring-sky-400:focus{--tw-ring-color:var(--color-sky-400)}.focus\:ring-sky-500:focus{--tw-ring-color:var(--color-sky-500)}.focus\:ring-stone-400:focus{--tw-ring-color:var(--color-stone-400)}.focus\:ring-violet-300:focus{--tw-ring-color:var(--color-violet-300)}.focus\:ring-white\/60:focus{--tw-ring-color:#fff9}@supports (color:color-mix(in lab, red, red)){.focus\:ring-white\/60:focus{--tw-ring-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-teal-400:focus-visible{--tw-ring-color:var(--color-teal-400)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:bg-rose-700:active{background-color:var(--color-rose-700)}.active\:bg-sky-700:active{background-color:var(--color-sky-700)}.active\:bg-stone-50:active{background-color:var(--color-stone-50)}.active\:bg-stone-100:active{background-color:var(--color-stone-100)}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}.sm\:justify-center{justify-content:center}.sm\:justify-end{justify-content:flex-end}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=48rem){.md\:min-h-\[520px\]{min-height:520px}.md\:w-\[280px\]{width:280px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}html{font-family:var(--font-body);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}body{background:var(--color-bg-page);margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.builder-layout{height:calc(100vh - var(--nav-height,56px));flex-direction:column;display:flex;overflow:hidden}.btn-primary{background:var(--color-accent);height:56px;color:var(--color-accent-text);font-family:var(--font-heading);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;padding:0 32px;font-size:16px;font-weight:500;transition:background .2s;display:inline-flex}.btn-primary:hover{background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{height:56px;color:var(--color-text-primary);font-family:var(--font-heading);border:1.5px solid var(--color-border-strong);cursor:pointer;background:0 0;border-radius:16px;justify-content:center;align-items:center;padding:0 32px;font-size:16px;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-text-muted)}.btn-sm{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;height:36px;padding:0 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.guide-btn-primary{background:var(--color-accent);height:36px;color:var(--color-accent-text);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.guide-btn-primary:hover{background:var(--color-accent-hover)}.guide-btn-primary:disabled{cursor:not-allowed}.guide-btn-secondary{height:36px;color:var(--color-text-body);font-family:var(--font-body);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.guide-btn-secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.guide-btn-secondary:disabled{cursor:not-allowed}.toolbar-btn{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-btn:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.bmc-dots{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rewrite-chip{border:1px solid var(--color-warning-text);background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.sidebar-scroll{flex:auto;min-height:0;overflow-y:auto}.btn-replay.pulse{animation:btn-replay-pulse 1.6s var(--ease-smooth)}@keyframes btn-replay-pulse{0%{transform:translateY(0);box-shadow:0 0 #1c191742}45%{transform:translateY(-1px);box-shadow:0 0 0 10px #1c191700}to{transform:translateY(0);box-shadow:0 0 #1c191700}}.card{border:1px solid var(--color-border);background:var(--color-bg-card);transition:all .3s var(--ease-smooth);border-radius:12px;box-shadow:0 1px 2px #0000000d}.card:hover{border-color:var(--color-border-strong);box-shadow:0 10px 15px #0000001a}.chip{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-body);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;transition:all .2s;display:inline-block}.chip:hover{border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.bubble-user{background:var(--color-accent);color:var(--color-accent-text);border-radius:18px 18px 4px;max-width:80%;padding:12px 16px;font-size:14px;line-height:1.6}.bubble-ai{background:var(--color-bg-input);color:var(--color-text-primary);border-radius:18px 18px 18px 4px;max-width:85%;padding:12px 16px;font-size:14px;line-height:1.6}.phone-frame-responsive{aspect-ratio:375/812;background:#000;border:5px solid #1c1917;border-radius:36px;flex-shrink:0;align-self:center;width:auto;max-width:100%;height:100%;max-height:100%;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000001f}.phone-frame-lg{aspect-ratio:375/812;background:#000;border:7px solid #1c1917;border-radius:44px;flex-shrink:0;width:auto;height:85vh;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000040}.phone-frame{background:#000;border:6px solid #1c1917;border-radius:36px;flex-shrink:0;width:280px;height:605px;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000026}.phone-notch{z-index:2;background:#1c1917;border-radius:0 0 14px 14px;width:90px;height:22px;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone-screen{box-sizing:border-box;background:#fff;border-radius:31px;width:100%;height:100%;padding-top:22px;overflow:hidden}.hero-shell{background:radial-gradient(circle at 0 0,#e7e5e4d9,#0000 32%),radial-gradient(circle at 100% 100%,#f5f5f4e6,#0000 28%),linear-gradient(#fff 0%,#fafaf9 100%);position:relative;overflow:hidden}.hero-shell:before{content:"";pointer-events:none;background-image:linear-gradient(#1c191708 1px,#0000 1px),linear-gradient(90deg,#1c191708 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 90%);mask-image:linear-gradient(#0000008c,#0000 90%)}.hero-panel{border:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border-radius:28px;position:relative;box-shadow:0 18px 50px #1c191714}.hero-kicker{border:1px solid var(--color-border);color:var(--color-text-body);letter-spacing:.04em;background:#ffffffe6;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.hero-feature{border:1px solid var(--color-border);background:#ffffffeb;border-radius:20px;padding:18px 18px 16px}.hero-entry{border:1px solid var(--color-border);text-align:left;cursor:pointer;background:#fffffff0;border-radius:24px;flex-direction:column;gap:14px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.hero-entry:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:0 16px 36px #1c191714}.hero-entry-icon{background:var(--color-bg-input);width:46px;height:46px;color:var(--color-text-primary);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.hero-entry-arrow{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.join-page{flex:1;justify-content:center;align-items:center;padding:64px 24px;display:flex}.join-card{text-align:center;flex-direction:column;align-items:stretch;width:100%;max-width:384px;display:flex}.join-card.is-tutorial{max-width:760px}.join-icon-badge{background:var(--color-accent-mint);width:48px;height:48px;color:var(--color-accent-mint-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0 auto 20px;display:inline-flex}.join-icon-badge.is-neutral{background:var(--color-bg-subtle);color:var(--color-text-muted)}.join-title{letter-spacing:-.015em;color:var(--color-text-primary);margin-bottom:8px;font-size:24px;font-weight:600;line-height:1.3}@media (width>=768px){.join-title{font-size:32px}}.join-subtitle{color:var(--color-text-muted);word-break:keep-all;margin-bottom:32px;font-size:14px;line-height:1.6}.code-input{border:1px solid var(--color-border);background:var(--color-bg-card);text-align:center;width:100%;height:56px;min-height:56px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.25em;color:var(--color-text-primary);transition:border-color .15s var(--ease-smooth);border-radius:10px;outline:none;margin-bottom:16px;font-size:32px;font-weight:700}.code-input::placeholder{color:var(--color-text-faint)}.code-input:focus{box-shadow:0 0 0 2px var(--color-info-text);border-color:#0000}.name-input{border:1px solid var(--color-border);background:var(--color-bg-card);width:100%;max-width:320px;height:48px;font-family:var(--font-body);color:var(--color-text-primary);transition:border-color .15s var(--ease-smooth);text-align:center;border-radius:10px;outline:none;margin:0 auto 12px;padding:0 16px;font-size:16px}.name-input:focus{box-shadow:0 0 0 2px var(--color-info-text);border-color:#0000}.join-session-summary{flex-wrap:wrap;justify-content:center;gap:8px;margin:-16px 0 20px;display:flex}.join-session-summary span{background:var(--color-bg-subtle);min-height:30px;color:var(--color-text-muted);word-break:keep-all;border-radius:9999px;align-items:center;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.join-session-summary .join-session-code{color:var(--color-text-primary);font-family:var(--font-mono);letter-spacing:.06em;font-weight:700}.helper{color:var(--color-text-faint);word-break:keep-all;margin-top:8px;margin-bottom:24px;font-size:12px;line-height:1.6}.helper.is-error{color:var(--color-danger)}.ghost-link{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;margin-top:16px;padding:8px;font-family:inherit;font-size:13px;text-decoration:none}.ghost-link:hover{color:var(--color-text-primary)}.option-list{text-align:left;flex-direction:column;gap:6px;max-height:320px;margin-bottom:16px;display:flex;overflow-y:auto}.join-card.is-tutorial .option-list{gap:10px;max-height:min(520px,100vh - 360px)}.option-list::-webkit-scrollbar{width:4px}.option-list::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.option-card{border:1px solid var(--color-border);background:var(--color-bg-card);text-align:left;cursor:pointer;width:100%;font-family:inherit;font-size:inherit;color:inherit;transition:border-color .15s var(--ease-smooth), background .15s var(--ease-smooth);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.join-card.is-tutorial .option-card{border-radius:14px;padding:14px 16px}.option-card:hover{border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.option-card.is-free{background:var(--color-bg-subtle);border-style:dashed}.icon-box{background:var(--color-bg-subtle);width:32px;height:32px;transition:background .15s var(--ease-smooth);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.join-card.is-tutorial .icon-box{border-radius:12px;width:42px;height:42px}.option-card:hover .icon-box{background:#7baa8e29}.option-card.is-free:hover .icon-box{background:#c9e0d480}svg .stone{stroke:var(--color-icon-stone)}svg .sage{stroke:var(--color-accent-sage)}svg .sage[fill]{fill:var(--color-accent-sage);stroke:none}.tutorial-index-page{width:100%}.tutorial-index-header{margin-bottom:32px}.tutorial-index-toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:14px 18px;display:flex;box-shadow:0 1px 2px #00000008}.tutorial-search-bar{flex:1;min-width:0;position:relative}.tutorial-search-bar-input{border:1px solid var(--color-border);background:var(--color-surface-alt);width:100%;height:44px;color:var(--color-text-primary);font:inherit;transition:border-color .16s var(--ease-smooth), box-shadow .16s var(--ease-smooth), background .16s var(--ease-smooth);border-radius:12px;padding:0 44px 0 14px;font-size:14px}.tutorial-search-bar-input::placeholder{color:var(--color-text-quaternary)}.tutorial-search-bar-input:focus{background:var(--color-surface);border-color:#7baa8eb8;outline:none;box-shadow:0 0 0 4px #7baa8e1f}.tutorial-search-bar-clear{width:28px;height:28px;color:var(--color-text-muted);font:inherit;cursor:pointer;transition:background .16s var(--ease-smooth), color .16s var(--ease-smooth);background:0 0;border:0;border-radius:999px;font-size:18px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tutorial-search-bar-clear:hover{color:var(--color-text-primary);background:#7baa8e1f}.tutorial-index-toolbar-meta{color:var(--color-text-muted);white-space:nowrap;font-size:13px;font-weight:600}.tutorial-filter-toggle{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:10px;padding:3px;display:inline-flex}.tutorial-filter-toggle-btn{color:var(--color-text-muted);font:inherit;cursor:pointer;transition:background .16s var(--ease-smooth), color .16s var(--ease-smooth), box-shadow .16s var(--ease-smooth);background:0 0;border:0;border-radius:7px;padding:8px 16px;font-size:13px;font-weight:600}.tutorial-filter-toggle-btn.is-active{background:var(--color-text-primary);color:var(--color-surface);box-shadow:0 1px 3px #00000024}.tutorial-index-page-title{letter-spacing:-.015em;color:var(--color-text-primary);margin:0 0 8px;font-size:28px;font-weight:500;line-height:1.3}.tutorial-index-page-subtitle{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}.tutorial-index-free-card,.tutorial-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);cursor:pointer;text-align:left;width:100%;color:inherit;transition:border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth), background .2s var(--ease-smooth), transform .2s var(--ease-smooth);font-family:inherit}.tutorial-index-free-card:hover,.tutorial-card:hover{border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:0 4px 14px #0000000d}.tutorial-index-free-card{background:var(--color-surface-alt);border-style:dashed;align-items:center;gap:14px;margin-bottom:40px;padding:18px 20px;display:flex}.tutorial-index-free-copy{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.tutorial-index-link{color:var(--color-accent-sage);letter-spacing:.02em;flex-shrink:0;font-size:12px;font-weight:600}.tutorial-empty-state{border:1.5px dashed var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);text-align:center;margin-bottom:40px;padding:48px 24px}.tutorial-empty-state-icon{background:var(--color-surface-alt);width:42px;height:42px;color:var(--color-text-muted);border-radius:999px;justify-content:center;align-items:center;font-size:24px;line-height:1;display:inline-flex}.tutorial-empty-state-title{color:var(--color-text-primary);margin:14px 0 6px;font-size:18px;font-weight:600}.tutorial-empty-state-description{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.7}.tutorial-empty-state-action{color:var(--color-accent-sage);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;padding:0;font-weight:600}.category-section{margin-bottom:40px}.category-header{align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.category-num{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-quaternary);font-size:13px;font-weight:700}.category-title{letter-spacing:-.01em;color:var(--color-text-primary);margin:0;font-size:20px;font-weight:600;line-height:1.4}.category-progress{color:var(--color-text-muted);margin-left:auto;font-size:13px}.tutorial-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}@media (width<=720px){.tutorial-index-toolbar{flex-direction:column;align-items:stretch}.tutorial-index-toolbar-meta{white-space:normal}.tutorial-filter-toggle{width:100%}.tutorial-search-bar{flex:none;width:100%}.tutorial-filter-toggle-btn{flex:1}}.tutorial-card{flex-direction:column;gap:10px;min-height:212px;padding:18px 20px;display:flex}.tutorial-index-icon-box{background:var(--color-surface-alt);width:32px;height:32px;transition:background .2s var(--ease-smooth);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorial-index-free-card:hover .tutorial-index-icon-box,.tutorial-card:hover .tutorial-index-icon-box{background:#c9e0d46b}.tutorial-index-icon-svg{display:block}.tutorial-num{letter-spacing:.05em;color:var(--color-text-quaternary);font-size:11.5px;font-weight:600}.tutorial-title{letter-spacing:-.01em;color:var(--color-text-primary);word-break:keep-all;font-size:16px;font-weight:600;line-height:1.4}.tutorial-desc{color:var(--color-text-muted);word-break:keep-all;font-size:13px;line-height:1.6}.tutorial-meta{color:var(--color-text-quaternary);align-items:center;gap:8px;margin-top:auto;font-size:11.5px;display:flex}.tutorial-status{align-items:center;gap:4px;display:inline-flex}.tutorial-status .dot{background:var(--color-text-quaternary);border-radius:999px;width:6px;height:6px}.tutorial-status.done{color:var(--color-success-text);font-weight:500}.tutorial-status.done .dot{background:var(--color-success)}.join-card .btn-primary{border-radius:10px;width:100%;height:48px;padding:0 16px;font-size:15px;font-weight:500}.join-card .btn-primary.is-narrow{max-width:320px;margin:8px auto 0}.complete-icon-badge{background:var(--color-success-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:inline-flex}.complete-greeting{color:var(--color-text-primary);letter-spacing:-.015em;margin-bottom:8px;font-size:24px;font-weight:600;line-height:1.3}.complete-subtitle{color:var(--color-text-muted);font-size:14px;line-height:1.6}.dashboard-shell,.sessions-shell{position:relative}.dashboard-shell:before,.sessions-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#e7e5e4e6,#0000 38%),linear-gradient(#fafaf9f2,#fff0);height:240px;position:absolute;inset:0 0 auto}.dashboard-stage,.sessions-stage{border:1px solid var(--color-border);background:#fffffff0;border-radius:32px;padding:28px;position:relative;box-shadow:0 22px 60px #1c191714}.dashboard-topbar{border:1px solid var(--color-border);background:radial-gradient(circle at 100% 0,#f5f5f4e6,#0000 32%),linear-gradient(#fffffffa,#fafaf9eb);border-radius:28px;padding:24px}.dashboard-code-pill{border:1px solid var(--color-border);color:var(--color-text-primary);font-family:var(--font-heading);letter-spacing:.1em;-webkit-user-select:all;user-select:all;background:#ffffffe0;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:inline-flex}.dashboard-tabbar{border:1px solid var(--color-border);background:var(--color-bg-subtle);border-radius:18px;align-items:center;gap:6px;padding:6px;display:inline-flex}.dashboard-tab{height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.dashboard-tab.is-active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 8px 22px #1c191714}.dashboard-tab-count{background:var(--color-bg-input);min-width:22px;height:20px;color:var(--color-text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.dashboard-tab.is-active .dashboard-tab-count{background:var(--color-accent);color:var(--color-accent-text)}.dashboard-panel{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:24px;box-shadow:0 14px 36px #1c19170d}.dashboard-free-mode-panel{background:linear-gradient(135deg, var(--color-bg-card), var(--color-bg-subtle));box-shadow:none;border-radius:22px;justify-content:space-between;gap:16px;padding:18px 20px}.dashboard-section-title{color:var(--color-text-primary);font-size:15px;font-weight:600}.session-detail-stage{padding:32px}.session-detail-back-link{color:var(--color-text-muted);cursor:pointer;transition:color .15s var(--ease-smooth);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:20px;padding:0;font-size:14px;display:inline-flex}.session-detail-back-link:hover{color:var(--color-text-primary)}.session-header{border:1px solid var(--color-border);background:var(--color-surface);border-radius:28px;flex-direction:column;gap:12px;margin-bottom:18px;padding:24px;display:flex;box-shadow:0 12px 32px #1c19170a}.session-header-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.session-title-line{min-width:0;color:var(--color-text-primary);letter-spacing:-.025em;word-break:keep-all;flex:1;align-items:center;gap:10px;font-size:28px;font-weight:700;line-height:1.2;display:flex}.status-pill{background:var(--color-success-bg);color:var(--color-success-text);border-radius:9999px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-dot{background:var(--color-success);border-radius:50%;width:6px;height:6px}.session-meta-row{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.code-badge{background:var(--color-surface-hover);color:var(--color-text-primary);font-family:var(--font-mono);letter-spacing:.05em;border-radius:10px;padding:4px 10px;font-size:14px;font-weight:700}.session-meta-icon{align-items:center;gap:4px;display:inline-flex}.session-actions-row{flex-shrink:0;align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-btn-workspace);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-body);cursor:pointer;transition:all .15s var(--ease-smooth);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.qr-label-btn{border:1px solid var(--color-border);background:var(--color-text-primary);min-width:92px;height:40px;color:var(--color-surface);cursor:pointer;transition:all .15s var(--ease-smooth);border-radius:13px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.qr-label-btn:hover{background:var(--color-text-body);border-color:var(--color-text-body)}.ghost-btn{border-radius:var(--radius-btn-workspace);height:36px;color:var(--color-text-muted);cursor:pointer;transition:all .15s var(--ease-smooth);background:0 0;border:none;padding:0 12px;font-size:14px}.ghost-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.ghost-btn-danger:hover{color:var(--color-danger)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--color-border);background:linear-gradient(180deg, var(--color-surface), var(--color-bg-subtle));text-align:left;border-radius:20px;padding:20px}.stat-num{color:var(--color-text-primary);letter-spacing:-.03em;margin-bottom:8px;font-size:34px;font-weight:700;line-height:1}.stat-label{color:var(--color-text-muted);font-size:13px;font-weight:600}.session-detail-tabbar{margin-bottom:18px}.student-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.student-section-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.student-section-subtitle{color:var(--color-text-muted);word-break:keep-all;margin:3px 0 0;font-size:12.5px;line-height:1.55}.student-section-live{background:var(--color-bg-subtle);height:28px;color:var(--color-text-body);border-radius:9999px;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.student-section-live:before{content:"";background:var(--color-success-text);border-radius:9999px;width:7px;height:7px}.student-list{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;overflow:hidden}.student-row{border-bottom:1px solid var(--color-surface-hover);transition:background .15s var(--ease-smooth);align-items:center;gap:12px;padding:16px 18px;display:flex}.student-row:hover{background:var(--color-surface-alt)}.student-row-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.student-delete-btn{color:var(--color-danger-text)}.student-delete-btn:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger-text)}.student-name{min-width:80px;color:var(--color-text-primary);font-size:14px;font-weight:500}.student-tutorial-pill{background:var(--color-surface-hover);max-width:168px;color:var(--color-text-body);white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.student-tutorial-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.student-status-pill{white-space:nowrap;border-radius:9999px;padding:3px 10px;font-size:12px;font-weight:500}.ssp-done{background:var(--color-success-bg);color:var(--color-success-text)}.ssp-progress{background:var(--color-progress-bg);color:var(--color-progress-text)}.ssp-wait{background:var(--color-surface-hover);color:var(--color-text-quaternary)}.student-progress-text{text-align:right;min-width:0;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.secondary-btn{border:1px solid var(--color-border);border-radius:var(--radius-btn-workspace);background:var(--color-surface);height:32px;color:var(--color-text-body);cursor:pointer;transition:all .15s var(--ease-smooth);flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.secondary-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.sessions-header{border:1px solid var(--color-border);background:radial-gradient(circle at 100% 0,#f5f5f4e6,#0000 34%),linear-gradient(#fffffffa,#fafaf9eb);border-radius:28px;margin-bottom:28px;padding:24px}.sessions-section{margin-top:28px}.sessions-section-label{background:var(--color-bg-subtle);color:var(--color-text-muted);letter-spacing:.04em;border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.session-card{position:relative;overflow:hidden}.teacher-session-card{border-radius:22px;gap:18px;padding:22px 22px 20px;display:grid;box-shadow:0 10px 28px #1c19170a}.teacher-session-main{grid-template-columns:112px minmax(0,1fr) auto;align-items:start;gap:20px;padding-left:2px;display:grid}.teacher-session-code-tile{background:var(--color-bg-subtle);min-height:74px;font-family:var(--font-mono);letter-spacing:.07em;border-radius:18px;place-items:center;font-size:18px;font-weight:800;display:grid}.teacher-session-copy{min-width:0;padding-top:4px}.teacher-session-title-row{align-items:center;gap:10px;min-width:0;margin-bottom:8px;display:flex}.teacher-session-title-row h3{letter-spacing:-.02em;word-break:keep-all;font-size:21px;font-weight:700;line-height:1.25}.teacher-session-time{color:var(--color-text-muted);font-size:13px}.teacher-session-actions{align-items:center;gap:8px;display:flex}.teacher-session-stats{border-top:1px solid var(--color-bg-subtle);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:18px;display:grid}.teacher-session-stats>div{border-left:1px solid var(--color-bg-subtle);padding:0 18px}.teacher-session-stats>div:first-child{border-left:0;padding-left:2px}.teacher-session-activity,.teacher-session-empty-hint{align-items:center;gap:12px;min-width:0;padding-left:2px;display:flex}.session-card:before{content:"";opacity:.92;background:linear-gradient(#292524,#78716c);width:6px;position:absolute;inset:0 auto 0 0}.session-card.is-closed:before{background:linear-gradient(#d6d3d1,#a8a29e)}.builder-shell{background:radial-gradient(circle at 0 0,#e7e5e4b3,#0000 24%),linear-gradient(#fcfcfb 0%,#f7f6f4 100%)}.build-banner{background:var(--color-success-bg);border-bottom:1px solid var(--color-success-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.build-banner-copy{align-items:center;gap:8px;min-width:0;display:flex}.build-banner-badge{background:var(--color-success);color:var(--color-surface);border-radius:9999px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.build-banner-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-success-text);font-size:12px;overflow:hidden}.build-banner-link{border-radius:var(--radius-btn-workspace);color:var(--color-success-text);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:600}.build-banner-link:hover{background:#ffffff85}.build-topbar{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;justify-content:space-between;align-items:center;gap:16px;padding:8px 20px;display:flex}.builder-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:12px;padding:12px 20px;display:flex}.builder-header-breadcrumb{min-width:0;color:var(--color-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.builder-header-breadcrumb strong{min-width:0;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.builder-header-drawer-btn{border:1px solid var(--color-border);background:var(--color-bg-subtle);height:32px;color:var(--color-text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:12px;font-weight:700;transition:background .16s,border-color .16s;display:inline-flex}.builder-header-drawer-btn:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.build-topbar-copy{align-items:baseline;gap:10px;min-width:0;display:flex}.build-topbar-kicker{color:var(--color-text-muted);letter-spacing:.04em;white-space:nowrap;margin:0;font-size:11px;font-weight:600}.build-topbar-title{color:var(--color-text-primary);font-family:var(--font-heading);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden}.build-topbar-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.build-save-notice{color:var(--color-text-muted);font-size:12px;font-weight:500}.build-save-button{border:1px solid var(--color-border);background:var(--color-surface);height:30px;color:var(--color-text-primary);cursor:pointer;transition:background .15s var(--ease-smooth), opacity .15s var(--ease-smooth);border-radius:6px;padding:0 12px;font-size:12px;font-weight:500}.build-save-button:hover:not(:disabled){background:var(--color-btn-primary-hover)}.build-save-button:disabled{opacity:.45;cursor:not-allowed}.build-layout-frame{flex:1;min-height:0;display:block}.build-column{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;min-height:0;position:relative}.chat-collapse-toggle{border:2px solid var(--color-bg-card);background:var(--color-accent);width:28px;height:28px;color:var(--color-accent-text);cursor:pointer;z-index:30;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,transform .15s;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 2px 8px #1c19172e}.chat-collapse-toggle:hover{background:var(--color-accent-hover);transform:translateY(-50%)scale(1.08)}.chat-expand-toggle{border:2px solid var(--color-bg-card);background:var(--color-accent);width:32px;height:32px;color:var(--color-accent-text);cursor:pointer;z-index:30;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,transform .15s;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 2px 10px #1c191738}.chat-expand-toggle:hover{background:var(--color-accent-hover);transform:translateY(-50%)scale(1.08)}@media (width>=1024px){.build-column{flex-direction:column;display:flex}}@media (width<=1023px){.build-layout-frame{flex-direction:column;display:flex}.build-column{flex-direction:column;flex:auto;width:100%;min-width:0;display:flex}.build-layout-frame .build-column.hidden{display:none}.build-layout-frame.free-mode-three-pane .builder-mobile-tabbar{flex-wrap:nowrap;width:auto;overflow-x:auto}.build-layout-frame.free-mode-three-pane .builder-mobile-tab{flex:none;min-width:max-content}}.build-column-guide,.build-column-chat{border-right:1px solid var(--color-border)}.free-canvas-loading{width:100%;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.builder-mobile-tabs{border-bottom:1px solid var(--color-border);background:#ffffffeb;padding:0 8px}.builder-mobile-tabbar{background:0 0;border:none;border-radius:0;gap:0;width:100%;padding:0;display:flex}.builder-mobile-tab{height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:0 4px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.builder-mobile-tab.is-active{color:var(--color-text-primary);border-bottom-color:var(--color-accent);box-shadow:none;background:0 0;font-weight:600}.builder-mobile-tab:disabled{opacity:.5;cursor:not-allowed}.chat-panel{background:var(--color-surface-alt);flex:auto;width:100%;min-width:0;overflow:hidden}.chat-model-selector{border-bottom:1px solid var(--color-border);background:#ffffffd1;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.chat-model-selector-label{color:var(--color-text-muted);letter-spacing:-.01em;flex:none;font-size:12px;font-weight:700}.chat-model-selector-options{border:1px solid var(--color-border);background:var(--color-bg-input);border-radius:9999px;min-height:50px;padding:3px;display:inline-flex}.chat-model-option{min-width:86px;min-height:44px;color:var(--color-text-muted);word-break:keep-all;cursor:pointer;transition:background .2s var(--ease-smooth), color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);background:0 0;border:0;border-radius:9999px;padding:0 14px;font-size:13px;font-weight:700}.chat-model-option.is-active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 3px #1c191714}.chat-model-option:disabled{cursor:not-allowed;opacity:.6}.plan-gate-panel{background:var(--color-bg-subtle);flex-direction:column;flex:auto;width:100%;min-width:0;display:flex;overflow:hidden}.plan-gate-header{border-bottom:1px solid var(--color-border);background:#ffffffdb;padding:24px 24px 18px}.plan-gate-header-slim{background:#ffffffeb;padding:8px 14px}.plan-gate-strip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-gate-strip .plan-gate-step{height:22px;padding:0 8px;font-size:11px;font-weight:600}.plan-gate-strip-bar{flex:1;align-items:center;min-width:80px;display:flex}.plan-gate-strip-progress{gap:3px;width:100%;display:flex}.plan-gate-strip-seg{background:var(--color-border);border-radius:999px;flex:1;height:4px;transition:background .15s}.plan-gate-strip-seg.is-filled{background:var(--color-accent-sage)}.plan-gate-strip-seg.is-warn.is-filled{background:var(--color-warning-text)}.plan-gate-strip-meta{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.plan-gate-strip-info{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-body);cursor:pointer;border-radius:6px;padding:3px 9px;font-size:11px;transition:background .15s,color .15s,border-color .15s}.plan-gate-strip-info:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.plan-gate-strip-info.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.plan-gate-detail{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin-top:10px;padding:12px}.plan-gate-detail-lead{color:var(--color-text-body);word-break:keep-all;margin:0 0 10px;font-size:13px;line-height:1.55}.plan-gate-bmc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}@media (width<=640px){.plan-gate-bmc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plan-gate-bmc-slot{border:1px solid var(--color-border);background:var(--color-bg-subtle);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:6px 8px;display:flex}.plan-gate-bmc-slot.is-filled{background:var(--color-surface);border-color:var(--color-accent-mint)}.plan-gate-bmc-key{color:var(--color-text-muted);letter-spacing:.02em;font-size:10px;font-weight:600}.plan-gate-bmc-val{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.plan-gate-bmc-slot:not(.is-filled) .plan-gate-bmc-val{color:var(--color-text-faint);font-style:italic}.plan-gate-header-slim .plan-gate-soft-open{margin-top:10px}.plan-gate-step{background:var(--color-accent-mint);height:26px;color:var(--color-accent-mint-text);border-radius:9999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.plan-gate-header h2{color:var(--color-text-primary);letter-spacing:-.02em;margin-top:12px;font-size:20px;font-weight:700}.plan-gate-header p{color:var(--color-text-muted);word-break:keep-all;margin-top:6px;font-size:14px;line-height:1.65}.plan-gate-header .plan-gate-soft-open{border:1px solid var(--color-warning-bg);background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:10px;margin-top:10px;padding:10px 12px;font-size:12.5px;font-weight:600}.plan-gate-messages{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:22px 24px;display:flex;overflow-y:auto}.plan-gate-row{align-items:flex-start;gap:10px;max-width:88%;display:flex}.plan-gate-row.user{flex-direction:row-reverse;align-self:flex-end}.plan-gate-avatar{background:var(--color-accent-mint);width:30px;height:30px;color:var(--color-accent-mint-text);border-radius:9999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.plan-gate-row.user .plan-gate-avatar{background:var(--color-bg-input);color:var(--color-text-body)}.plan-gate-row p{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary);word-break:keep-all;border-radius:4px 12px 12px;margin:0;padding:13px 16px;font-size:14px;line-height:1.65}.plan-gate-row.user p{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text);border-top-left-radius:12px;border-top-right-radius:4px}.plan-gate-compose{border-top:1px solid var(--color-border);background:var(--color-bg-card);padding:14px 20px 18px}.plan-gate-meta{color:var(--color-text-muted);justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.plan-gate-meta .is-ready{color:var(--color-accent-mint-text);font-weight:700}.plan-gate-compose textarea{border:1px solid var(--color-border);resize:vertical;background:var(--color-bg-input);width:100%;min-height:52px;max-height:140px;color:var(--color-text-primary);font:inherit;border-radius:10px;outline:none;padding:13px 14px;font-size:14px;line-height:1.55}.plan-gate-compose textarea:focus{border-color:var(--color-accent);background:var(--color-bg-card)}.plan-gate-error{color:var(--color-danger-text);margin:8px 0 0;font-size:12px;line-height:1.5}.plan-gate-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.plan-gate-reset,.plan-gate-send,.plan-gate-finish{border:1px solid var(--color-border-strong);cursor:pointer;height:40px;transition:all .2s var(--ease-smooth);border-radius:10px;padding:0 16px;font-size:13px;font-weight:700}.plan-gate-reset{color:var(--color-text-muted);background:0 0;margin-right:auto}.plan-gate-send{background:var(--color-bg-card);color:var(--color-text-body)}.plan-gate-finish{border-color:var(--color-accent-mint);background:var(--color-accent-mint);color:var(--color-accent-mint-text)}.plan-gate-reset:disabled,.plan-gate-send:disabled,.plan-gate-finish:disabled{opacity:.42;cursor:not-allowed}.plan-gate-preview-lock{background:var(--color-bg-subtle);justify-content:center;align-items:center;width:100%;min-height:100%;padding:28px;display:flex;position:relative;overflow:hidden}.plan-gate-preview-frame{border:1.5px dashed var(--color-border-strong);opacity:.55;border-radius:18px;position:absolute;inset:32px}.plan-gate-lock-card{z-index:1;border:1px solid var(--color-border);background:var(--color-bg-card);text-align:center;border-radius:12px;max-width:280px;padding:24px;position:relative;box-shadow:0 8px 24px #1c19170f}.plan-gate-lock-card span{background:var(--color-bg-subtle);height:24px;color:var(--color-text-muted);border-radius:8px;align-items:center;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.plan-gate-lock-card h2{color:var(--color-text-primary);margin:12px 0 6px;font-size:16px;font-weight:700}.plan-gate-lock-card p{color:var(--color-text-muted);word-break:keep-all;margin:0;font-size:13px;line-height:1.65}.plan-gate-mode-options{border:1px solid var(--color-border);background:var(--color-bg-input);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding:4px;display:grid}.plan-gate-mode-option{height:38px;color:var(--color-text-muted);cursor:pointer;transition:all .2s var(--ease-smooth);background:0 0;border:0;border-radius:9px;font-size:13px;font-weight:700}.plan-gate-mode-option.is-active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 3px #1c191714}.chat-empty-state{border:1px solid var(--color-border);background:#ffffffeb;border-radius:28px;max-width:360px;padding:28px;box-shadow:0 18px 42px #1c19170f}@media (width<=1023px){.chat-empty-state{box-shadow:none;background:0 0;border:none;max-width:100%;padding:16px}.builder-mobile-tab{padding:0 8px;font-size:13px}.chat-model-selector{padding:10px 12px}.chat-model-selector-options{flex:auto}.chat-model-option{flex:1 1 0;min-width:0}}.chat-history{flex:1;padding:24px 32px;overflow-y:auto}.free-canvas-shell{background:var(--color-bg-card);flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.free-canvas-topbar{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 0;display:flex}.free-canvas-tabs{border:1px solid var(--color-border);background:var(--color-bg-subtle);border-radius:9999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.free-canvas-tab{height:36px;color:var(--color-text-muted);cursor:pointer;transition:all .16s var(--ease-smooth);background:0 0;border:none;border-radius:9999px;padding:0 14px;font-size:13px;font-weight:600}.free-canvas-tab.is-active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 6px 16px #1c191714}.free-canvas-tab:disabled{opacity:.42;cursor:not-allowed}.free-canvas-status{color:var(--color-text-muted);padding:10px 18px 0;font-size:12px;font-weight:500}.free-canvas-layout{flex:1;min-height:0;padding:16px 18px 18px}.free-sp-wrapper{background:var(--color-bg-card)!important;flex-direction:column!important;flex:1!important;min-height:0!important;display:flex!important}.free-sp-layout,.free-sp-preview-container{height:100%;background:var(--color-bg-card)!important;flex:1!important;min-height:0!important}.free-sp-layout{overflow:hidden;border:1px solid var(--color-border)!important;border-radius:24px!important}.free-sp-preview-container{box-shadow:none!important;border:0!important}.free-sp-preview-iframe{box-shadow:none!important;background:var(--color-bg-card)!important;border:0!important;flex:1!important;height:100%!important;min-height:0!important}.free-sp-code-editor{min-width:0}.play-result-viewport{background:var(--color-bg-card);min-height:calc(100dvh - 48px);padding:0}.play-result-canvas{background:var(--color-bg-card);min-height:calc(100dvh - 48px)}.play-result-canvas .free-canvas-shell{min-height:inherit;background:var(--color-bg-card)}.play-result-canvas .free-canvas-topbar{display:none}.play-result-canvas .free-canvas-layout{min-height:inherit;padding:0}.play-result-canvas .free-sp-wrapper,.play-result-canvas .free-sp-layout,.play-result-canvas .sp-preview,.play-result-canvas .free-sp-preview-container,.play-result-canvas .free-sp-preview-iframe{height:auto!important;min-height:inherit!important}.play-result-canvas .sp-preview{flex:1!important}.play-result-canvas .free-sp-layout{border:0!important;border-radius:0!important}.free-canvas-empty{text-align:center;background:var(--color-bg-card);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;padding:32px;display:flex}.free-canvas-empty-window{justify-content:center;align-items:center;width:120px;height:120px;display:flex}.free-canvas-kicker{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.free-canvas-title{max-width:440px;color:var(--color-text-primary);margin:0;font-size:26px;font-weight:600;line-height:1.35}.free-canvas-description,.free-canvas-code-hint{max-width:440px;color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}@media (width<=1023px){.free-canvas-tabs{display:none}}.free-canvas-chip-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.free-canvas-chip{border:1px solid var(--color-border);background:var(--color-bg-subtle);min-height:36px;color:var(--color-text-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.prompt-gallery{flex:1;padding:18px;overflow-y:auto}.prompt-gallery-header{gap:12px;margin-bottom:18px;display:grid}.prompt-gallery-title{color:var(--color-text-primary);margin:0 0 6px;font-size:22px;font-weight:600;line-height:1.35}.prompt-gallery-copy{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}.prompt-gallery-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:18px;display:grid}.prompt-card{border:1px solid var(--color-border);background:linear-gradient(#fafaf9f5 0%,#fff 100%);border-radius:24px;gap:18px;padding:18px;display:grid;box-shadow:0 16px 36px #1c19170d}.prompt-card-header{align-items:flex-start;gap:12px;display:flex}.prompt-card-emoji{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:inline-flex;box-shadow:0 8px 20px #1c19170f}.prompt-card-copy{flex:1;min-width:0}.prompt-card-meta{align-items:center;gap:9px;margin-bottom:9px;display:flex}.prompt-card-category,.prompt-package-badge{border-radius:9999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.prompt-card-category{border:1px solid #0000}.prompt-card-category.is-chart{background:var(--color-prompt-cat-chart-bg);color:var(--color-prompt-cat-chart-text);border-color:var(--color-prompt-cat-chart-border)}.prompt-card-category.is-vision{background:var(--color-prompt-cat-vision-bg);color:var(--color-prompt-cat-vision-text);border-color:var(--color-prompt-cat-vision-border)}.prompt-card-category.is-data{background:var(--color-prompt-cat-data-bg);color:var(--color-prompt-cat-data-text);border-color:var(--color-prompt-cat-data-border)}.prompt-card-category.is-game{background:var(--color-prompt-cat-game-bg);color:var(--color-prompt-cat-game-text);border-color:var(--color-prompt-cat-game-border)}.prompt-card-title{color:var(--color-text-primary);margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.4}.prompt-card-description{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}.prompt-card-packages{flex-wrap:wrap;gap:9px;display:flex}.prompt-package-badge{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-body)}.prompt-card-button{border-radius:var(--radius-btn-workspace);background:var(--color-accent);min-width:108px;height:40px;color:var(--color-accent-text);cursor:pointer;transition:opacity .16s var(--ease-smooth);border:none;justify-content:center;justify-self:flex-start;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.prompt-card-button:hover{opacity:.92}.suggestion-row{flex-wrap:wrap;gap:10px;display:flex}.chat-locked-notice{border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-faint);justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:12px;display:flex}.msg{border-radius:var(--radius-card-workspace);word-break:keep-all;max-width:min(85%,520px);padding:14px 18px;font-size:14px;line-height:1.6;box-shadow:0 10px 24px #1c19170f}.msg-meta{letter-spacing:-.005em;color:var(--color-text-faint);margin-bottom:4px;font-size:11.5px;font-weight:600}.msg-student{background:var(--color-text-primary);color:var(--color-surface);align-self:flex-end}.msg-student .msg-meta{color:#ffffffb3}.msg-ai{background:var(--color-surface);color:var(--color-text-body);border:1px solid var(--color-border);align-self:flex-start}.msg-ai .msg-meta{color:var(--color-text-muted)}.msg-error{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-warning-bg);border-left:4px solid var(--color-danger);align-self:flex-start}.msg-error .msg-meta{color:var(--color-warning-text)}.msg-error-body{flex-direction:column;gap:12px;display:flex}.msg-error-copy{align-items:flex-start;gap:10px;display:flex}.msg-error-icon{width:20px;height:20px;color:var(--color-danger);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.msg-error-action{border-radius:var(--radius-btn-workspace);border:1px solid var(--color-danger);background:var(--color-bg-card);min-width:44px;min-height:44px;color:var(--color-danger-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.msg-error-action:hover{background:var(--color-warning-bg)}.msg-error-action:active{transform:translateY(1px)}.ai-status-block{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);margin-bottom:16px;padding:14px 16px}.ai-status{border-radius:var(--radius-card-workspace);background:var(--color-accent-mint);color:var(--color-accent-mint-text);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:500;display:inline-flex}.ai-status-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite blink}.chat-composer-shell{flex-direction:column;gap:10px;display:flex}.chat-input-area{border-top:1px solid var(--color-border);background:var(--color-surface);padding:16px 24px 10px}.chat-input-row{align-items:flex-end;gap:10px;display:flex}.chat-input{border:1px solid var(--color-border);background:var(--color-surface);min-height:96px;max-height:360px;color:var(--color-text-primary);font-family:var(--font-body);resize:none;border-radius:10px;outline:none;flex:1;padding:12px 16px;font-size:14px;line-height:1.6}.chat-input:focus{box-shadow:0 0 0 2px var(--color-focus-ring);border-color:#0000}.chat-attachment-preview{display:inline-block;position:relative}.chat-attachment-image{object-fit:cover;border:1px solid var(--color-border);border-radius:10px;height:64px}.chat-attachment-remove{background:var(--color-text-muted);width:20px;height:20px;color:var(--color-surface);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:12px;display:inline-flex;position:absolute;top:-6px;right:-6px}.chat-composer-input{overflow-y:auto}.chat-composer-fullscreen,.chat-composer-expand-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;z-index:1;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;bottom:8px}.chat-composer-fullscreen{right:8px}.chat-composer-expand-toggle{display:inline-flex;right:40px}.chat-composer-fullscreen:hover:not(:disabled),.chat-composer-expand-toggle:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-text-primary)}.chat-composer-expand-toggle.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}[data-composer-expanded] .chat-composer-input{min-height:60%!important;max-height:none!important}[data-composer-expanded].chat-input-area{flex:auto!important}@media (width>=1024px){.chat-composer-fullscreen{display:none}.chat-composer-expand-toggle{right:8px}}.chat-composer-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.chat-composer-hint{color:var(--color-text-muted);font-size:11px}.chat-composer-hint.is-build{color:#6d28d9;font-weight:700}.chat-composer-footer-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chat-composer-send-toggle{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-items:stretch;display:inline-flex;overflow:hidden}.chat-composer-send-toggle button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:12px;font-weight:700;transition:background .15s,color .15s}.chat-composer-send-toggle button.is-active.is-chat{background:var(--color-accent);color:var(--color-accent-text)}.chat-composer-send-toggle button.is-active.is-build{color:#fff;background:#7c3aed}.chat-composer-send-toggle button:disabled{opacity:.5;cursor:not-allowed}.chat-composer-send-toggle-divider{background:var(--color-border);width:1px}.chat-composer-action-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.chat-composer-action-btn:hover:not(:disabled){background:var(--color-bg-input);color:var(--color-text-primary)}.chat-composer-action-btn:disabled{opacity:.45;cursor:not-allowed}.chat-composer-sheet-overlay{z-index:1000;background:#1c191773;justify-content:center;align-items:flex-end;animation:.18s both chatComposerFadeIn;display:flex;position:fixed;inset:0}@keyframes chatComposerFadeIn{0%{opacity:0}to{opacity:1}}.chat-composer-sheet{background:var(--color-surface);border-top-left-radius:18px;border-top-right-radius:18px;flex-direction:column;width:100%;max-width:720px;height:82vh;padding:14px 16px;animation:.22s cubic-bezier(.2,.8,.2,1) both chatComposerSlideUp;display:flex;box-shadow:0 -8px 28px #1c19172e}@keyframes chatComposerSlideUp{0%{opacity:.4;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width>=720px){.chat-composer-sheet-overlay{align-items:center}.chat-composer-sheet{border-radius:16px;height:auto;min-height:360px;max-height:80vh}}.chat-composer-sheet-handle{background:var(--color-border-strong);border-radius:999px;width:40px;height:4px;margin:0 auto 10px}.chat-composer-sheet-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.chat-composer-sheet-head h4{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600}.chat-composer-sheet-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px}.chat-composer-sheet-close:hover{color:var(--color-text-primary)}.chat-composer-sheet-textarea{border:1px solid var(--color-border);width:100%;font-size:15px;font-family:var(--font-body);resize:none;color:var(--color-text-primary);background:var(--color-surface);border-radius:10px;outline:none;flex:1;margin-bottom:12px;padding:12px 14px;line-height:1.55}.chat-composer-sheet-textarea:focus{box-shadow:0 0 0 2px var(--color-focus-ring);border-color:#0000}.chat-composer-sheet-foot{gap:8px;display:flex}.chat-composer-sheet-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-body);text-align:center;cursor:pointer;border-radius:10px;flex:1;padding:11px;font-size:13px;font-weight:500;transition:background .15s}.chat-composer-sheet-btn:hover:not(:disabled){background:var(--color-bg-input)}.chat-composer-sheet-btn-primary{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.chat-composer-sheet-btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.chat-composer-sheet-btn:disabled{opacity:.5;cursor:not-allowed}.preview-panel{background:var(--color-surface);min-height:0;overflow:hidden}.preview-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.preview-tabs-group,.preview-tab-actions{align-items:center;gap:8px;display:flex}.preview-tab{height:44px;color:var(--color-text-muted);cursor:pointer;transition:all .15s var(--ease-smooth);background:0 0;border:none;border-bottom:2px solid #0000;padding:0 16px;font-size:14px;font-weight:500}.preview-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-btn-primary)}.preview-version-row,.preview-screen-row{align-items:center;gap:8px;display:flex}.preview-version-pill,.preview-screen-pill{border:1px solid var(--color-border);background:var(--color-surface);height:28px;color:var(--color-text-muted);cursor:pointer;border-radius:9999px;padding:0 10px;font-size:11px;font-weight:600}.preview-version-pill.is-active,.preview-screen-pill.is-active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-surface)}.preview-screen-row{border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:10px 16px;overflow-x:auto}.preview-frame-wrap{background:var(--color-surface-hover);flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;position:relative;overflow:hidden}.preview-frame-wrap-code{justify-content:stretch;align-items:stretch;padding:0}.preview-frame-wrap-quiz{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;word-break:keep-all;justify-content:center;align-items:flex-start;max-height:100%;overflow:hidden auto}.preview-frame-wrap-quiz>*{flex-shrink:0}.preview-empty-state{box-shadow:none;text-align:center;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0;display:flex}.preview-empty-wrap{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:24px 16px;display:flex}.preview-empty-icon{background:var(--color-bg-input);width:44px;height:44px;color:var(--color-text-faint);border-radius:14px;justify-content:center;align-items:center;display:flex}.preview-empty-label{color:var(--color-text-muted);letter-spacing:.02em;word-break:keep-all;font-size:12px;font-weight:500}.tutorial-builder-shell{height:calc(100vh - var(--nav-height,56px));background:var(--color-surface);flex-direction:column;display:flex}.tutorial-builder-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:16px;height:56px;padding:0 20px;display:flex}.tutorial-builder-topbar-back{color:var(--color-text-muted);cursor:pointer;transition:background .15s var(--ease-smooth), color .15s var(--ease-smooth);background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.tutorial-builder-topbar-back:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.tutorial-builder-topbar-title{text-align:center;color:var(--color-text-body);flex:1;font-size:13px;font-weight:600}.tutorial-builder-mobile-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex}.tutorial-builder-mobile-tab{height:46px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.tutorial-builder-mobile-tab.is-active{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary)}.tutorial-builder-layout{flex:1;grid-template-columns:1fr;min-height:0;display:grid}.tutorial-builder-guide-panel,.tutorial-builder-chat-panel,.tutorial-builder-preview-panel{min-height:0}.tutorial-builder-guide-panel{border-right:1px solid var(--color-border);background:var(--color-surface-alt);flex-direction:column}.tutorial-builder-chat-panel{border-right:1px solid var(--color-border);background:var(--color-surface-alt);min-width:0}.tutorial-builder-preview-panel{background:var(--color-surface-hover);min-width:0}.tutorial-builder-sidebar-scroll{padding:24px 20px 28px;overflow-y:auto}.guide-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:12px;font-size:13px;font-weight:700}.tutorial-title-block{margin-bottom:24px}.tutorial-title{letter-spacing:-.015em;color:var(--color-text-primary);margin:0 0 6px;font-size:18px;font-weight:600}.tutorial-subtitle{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.65}.step-list{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}.step-card{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;width:100%;transition:border-color .15s var(--ease-smooth), opacity .15s var(--ease-smooth), box-shadow .15s var(--ease-smooth);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.step-card:hover{border-color:var(--color-border-hover);box-shadow:0 8px 20px #1c19170d}.step-card.current{border-color:var(--color-info-text)}.step-card.done{opacity:.65}.step-row{color:var(--color-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.step-num{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px;font-weight:700}.step-status{border:1.5px solid var(--color-border-hover);width:16px;height:16px;color:var(--color-surface);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.step-status.done{border-color:var(--color-success);background:var(--color-success)}.step-status.current{border-color:var(--color-info-text);background:var(--color-info-text)}.step-status svg{width:10px;height:10px}.step-text{color:var(--color-text-primary);word-break:keep-all;font-size:14px;font-weight:500;line-height:1.6}.step-hint{color:var(--color-text-muted);word-break:keep-all;font-size:12.5px;line-height:1.6}.tutorial-builder-current-card,.tutorial-builder-completion{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-top:20px;padding:16px}.tutorial-builder-current-principle,.tutorial-builder-completion-body{color:var(--color-text-body);margin:0;font-size:13px;line-height:1.7}.tutorial-builder-completion-title{color:var(--color-text-primary);margin:0 0 8px;font-size:16px;font-weight:600}.tutorial-builder-keywords{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tutorial-builder-keyword{background:var(--color-bg-subtle);height:28px;color:var(--color-text-muted);border-radius:9999px;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.tutorial-builder-sample-data-btn{border:1.5px solid var(--color-border);width:100%;color:var(--color-text-body);text-align:left;border-radius:16px;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;transition:transform .16s,box-shadow .16s;display:flex}.tutorial-builder-sample-data-btn:hover{transform:translateY(-1px)}.tutorial-builder-sample-data-emoji,.guide-sample-data-emoji{background:#ffffffe0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:inline-flex}.tutorial-builder-sample-data-copy,.guide-sample-data-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tutorial-builder-sample-data-title,.guide-sample-data-title{font-size:13px;font-weight:700}.tutorial-builder-sample-data-description,.guide-sample-data-description{color:var(--color-text-muted);font-size:11px;line-height:1.55}.tutorial-builder-action-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.preview-frame-wrap-simulator{justify-content:stretch;align-items:stretch}.preview-mock{aspect-ratio:9/16;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;width:100%;max-width:280px;display:flex;overflow:hidden;box-shadow:0 8px 30px #00000014}.preview-mock-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);height:36px;color:var(--color-text-muted);align-items:center;padding:0 14px;font-size:11px;display:flex}.preview-mock-body{background:linear-gradient(#fef3c7eb 0%,#fef9c3f5 100%);flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.preview-mock-card{background:var(--color-surface);color:var(--color-text-body);border-radius:12px;padding:12px;font-size:12px;line-height:1.6;box-shadow:0 2px 6px #0000000a}.preview-mock-canvas,.preview-mock-empty{background:#ffffffa8;border-radius:12px;flex:1;min-height:0;overflow:hidden}.preview-mock-empty{justify-content:center;align-items:center;display:flex}.guide-surface{background:radial-gradient(circle at 100% 0,#f5f5f4e6,#0000 28%),linear-gradient(#fffffff5,#fafaf9f0)}.guide-header-card,.guide-step-card,.guide-footer-card,.guide-completion-card,.modal-card,.drawer-card{border:1px solid var(--color-border);background:#fffffff0;box-shadow:0 18px 42px #1c191714}.guide-header-card{border-radius:22px;margin:12px 12px 0;padding:14px}.guide-step-card{border-radius:24px;margin:12px;padding:18px}.guide-footer-card{border-radius:22px;margin:0 12px 12px;padding:12px}.guide-sample-data-card{margin:0 12px 12px}.guide-sample-data-btn{border:1.5px solid var(--color-border);width:100%;color:var(--color-text-body);text-align:left;border-radius:20px;align-items:center;gap:12px;padding:12px 14px;transition:transform .16s,box-shadow .16s;display:flex}.guide-sample-data-btn:hover{transform:translateY(-1px)}.guide-completion-card{border-radius:28px;width:min(100%,360px);padding:28px}.teacher-lesson-card{background:linear-gradient(#f0f9fff5,#f8fafcf5);border:1px solid #0e74902e;border-radius:20px;padding:14px}.teacher-lesson-kicker,.teacher-lesson-label{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;font-size:10px;font-weight:700}.teacher-lesson-title{color:#0f172a;margin-top:4px;font-size:15px;font-weight:600}.teacher-lesson-badge{color:#115e59;background:#0f766e1f;border-radius:999px;flex-shrink:0;padding:5px 8px;font-size:10px;font-weight:700}.teacher-lesson-flow{flex-wrap:wrap;gap:6px;display:flex}.teacher-lesson-flow span{color:#475569;background:#ffffffdb;border:1px solid #0f172a14;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:600}.teacher-lesson-flow span.is-active{color:#134e4a;background:#0f766e24;border-color:#0f766e38}.teacher-lesson-grid{gap:10px;display:grid}.teacher-lesson-section{background:#ffffffdb;border:1px solid #94a3b82e;border-radius:16px;padding:12px}.teacher-lesson-highlight{background:#f0fdfae6;border-color:#0f766e33}.teacher-lesson-body,.teacher-lesson-list{color:#334155;word-break:keep-all;margin-top:6px;font-size:12px;line-height:1.7}.teacher-lesson-list{padding-left:16px}@media (width>=1280px){.teacher-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c191785}.modal-card{border-radius:28px}.modal-sheet{width:min(100%,520px);padding:24px}.drawer-card{background:radial-gradient(circle at 100% 0,#f5f5f4e6,#0000 28%),linear-gradient(#fffffffa,#fafaf9f0)}.qr-stage{border:1px solid var(--color-border);background:#fffffff0;border-radius:32px;box-shadow:0 22px 60px #1c191714}@media (width<=768px){.dashboard-stage,.sessions-stage{border-radius:24px;padding:18px}.session-detail-stage{padding:24px 16px 20px}.dashboard-topbar,.sessions-header{border-radius:22px;padding:18px}.session-header,.stat-card{padding:16px}.session-header-row{flex-direction:column;align-items:flex-start}.session-title-line{flex-wrap:wrap;width:100%;font-size:20px}.session-actions-row{justify-content:flex-end;width:100%}.teacher-session-card{border-radius:20px;padding:18px}.teacher-session-main{grid-template-columns:1fr;gap:14px}.teacher-session-code-tile{width:112px;min-height:56px}.teacher-session-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.teacher-session-stats{grid-template-columns:1fr;gap:12px}.teacher-session-stats>div{border-left:0;border-top:1px solid var(--color-bg-subtle);padding:12px 0 0}.teacher-session-stats>div:first-child{border-top:0;padding-top:0}.stat-grid{grid-template-columns:1fr}.student-row{flex-wrap:wrap}.student-progress-text{text-align:left;width:100%}.build-banner{padding:10px 14px}.build-topbar{flex-direction:row;align-items:center;gap:8px;padding:6px 12px}.build-topbar-copy{flex:1;gap:6px;min-width:0}.build-topbar-kicker{font-size:10px}.build-topbar-title{font-size:13px}.build-topbar-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px;width:auto}.build-save-button{min-width:0;height:28px;padding:0 10px;font-size:11px}.build-banner-copy{flex:1;min-width:0}.build-banner-link{padding-left:10px;padding-right:10px}.chat-history{padding:20px 18px}.chat-input-area{padding:8px 12px 10px}.chat-input{min-height:120px;max-height:280px}.preview-tabs{flex-direction:column;align-items:flex-start;padding:0 14px 12px}.preview-tabs-group,.preview-tab-actions{flex-wrap:wrap;width:100%}.free-canvas-topbar{flex-direction:column;align-items:stretch;padding:12px 14px 0}.free-canvas-tabs{justify-content:center}.free-canvas-empty{justify-content:flex-start;min-height:0;padding:32px 20px 24px}.free-canvas-empty-window,.free-canvas-empty-window svg{width:72px;height:72px}.free-canvas-title{font-size:20px;line-height:1.35}.free-canvas-description,.free-canvas-code-hint{font-size:13px;line-height:1.65}.prompt-gallery{padding:16px}.prompt-gallery-title{font-size:20px}.preview-frame-wrap{padding:16px}.tutorial-builder-topbar{padding:0 14px}.tutorial-builder-topbar-title,.tutorial-builder-mobile-tab{font-size:12px}.tutorial-builder-sidebar-scroll{padding:18px 16px 20px}.preview-mock{max-width:100%}.guide-header-card,.guide-step-card,.guide-footer-card{margin-left:10px;margin-right:10px}.modal-sheet{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%}}@media (width>=1024px){.tutorial-builder-mobile-tabs{display:none}.tutorial-builder-layout{grid-template-columns:320px 320px minmax(0,1fr)}.tutorial-builder-guide-panel,.tutorial-builder-chat-panel,.tutorial-builder-preview-panel{display:flex!important}.build-layout-frame.no-guide{grid-template-columns:minmax(320px,480px) minmax(0,1fr);display:grid}.prompt-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.build-layout-frame.has-guide{grid-template-columns:minmax(320px,480px) 320px minmax(0,1fr);display:grid}.build-layout-frame.free-mode-three-pane{grid-template-columns:minmax(320px,480px) minmax(0,1fr) 360px;display:grid}.build-layout-frame.chat-collapsed.no-guide{grid-template-columns:minmax(0,1fr)}.build-layout-frame.chat-collapsed.free-mode-three-pane{grid-template-columns:minmax(0,1fr) 360px}.build-layout-frame.chat-collapsed .build-column-chat{display:none}.build-column-preview.mobile-active{display:flex}}@media (width>=1280px){.prompt-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.build-layout-frame.no-guide{grid-template-columns:minmax(360px,560px) minmax(0,1fr)}.build-layout-frame.has-guide{grid-template-columns:minmax(360px,560px) 360px minmax(0,1fr)}.build-layout-frame.free-mode-three-pane{grid-template-columns:minmax(360px,560px) minmax(0,1fr) 380px}.build-layout-frame.chat-collapsed.no-guide{grid-template-columns:minmax(0,1fr)}.build-layout-frame.chat-collapsed.free-mode-three-pane{grid-template-columns:minmax(0,1fr) 380px}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.hero-page{text-align:center;background:var(--color-surface);justify-content:center;align-items:center;min-height:100vh;padding:64px 32px;display:flex}.hero-inner{flex-direction:column;align-items:center;width:100%;max-width:880px;display:flex}.hero-label{font-size:var(--type-label-en-size);font-weight:var(--type-label-en-weight);letter-spacing:var(--type-label-en-tracking);text-transform:uppercase;color:var(--color-text-muted);word-break:keep-all;margin-bottom:24px}.hero-title{font-family:var(--font-heading);font-size:var(--type-hero-size);letter-spacing:var(--type-hero-tracking);color:var(--color-text-primary);word-break:keep-all;margin-bottom:28px;font-weight:600;line-height:1.05}.hero-caption{font-size:var(--type-body-landing-size);font-weight:400;line-height:var(--type-body-landing-leading);color:var(--color-text-body);word-break:keep-all;max-width:640px;margin-bottom:56px}.hero-cta-cluster{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.cta{border-radius:var(--radius-btn-landing);height:56px;font-family:var(--font-body);letter-spacing:-.005em;cursor:pointer;transition:all .2s var(--ease-smooth);word-break:keep-all;border:none;justify-content:center;align-items:center;padding:0 32px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.cta-primary{background:var(--color-btn-primary);color:var(--color-surface)}.cta-primary:hover{background:var(--color-btn-primary-hover)}.gallery-page.container{max-width:1184px;margin:0 auto;padding:40px 24px 80px}.gallery-page-header{margin-bottom:32px}.gallery-page-title{letter-spacing:-.015em;color:var(--color-text-primary);margin:0;font-size:28px;font-weight:500;line-height:1.3}.gallery-page-subtitle{color:var(--color-text-muted);margin:8px 0 0;font-size:14px}.gallery-loading{min-height:calc(100vh - 56px);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.filter-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;margin-bottom:28px;padding-bottom:16px;display:flex}.filter-pill{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text-body);cursor:pointer;transition:background .15s var(--ease-smooth), border-color .15s var(--ease-smooth), color .15s var(--ease-smooth);border-radius:9999px;padding:0 16px;font-size:13px}.filter-pill:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.filter-pill.active{background:var(--color-text-primary);color:var(--color-surface);border-color:var(--color-text-primary)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.gallery-page .app-card{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:100%;transition:border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth), transform .2s var(--ease-smooth);border-radius:12px;flex-direction:column;padding:0;display:flex;overflow:hidden}.gallery-page .app-card:hover,.gallery-page .app-card:focus-visible{border-color:var(--color-border-hover);outline:none;box-shadow:0 4px 14px #0000000d}.gallery-page .app-thumb{aspect-ratio:16/9;background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);color:var(--color-text-quaternary);justify-content:center;align-items:center;font-size:13px;display:flex;position:relative;overflow:hidden}.gallery-preview-frame{background:var(--color-surface);pointer-events:none;border:0;width:100%;height:100%}.gallery-thumb-label{text-align:center;color:var(--color-text-quaternary);padding:0 16px}.gallery-app-info{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.gallery-app-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;color:var(--color-text-primary);font-size:16px;font-weight:600;overflow:hidden}.gallery-app-meta{color:var(--color-text-muted);font-size:12.5px}.gallery-app-time{color:var(--color-text-quaternary);font-size:12px}.gallery-empty-state{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);text-align:center;padding:80px 24px}.gallery-empty-icon{background:var(--color-surface-hover);width:48px;height:48px;color:var(--color-text-muted);border-radius:9999px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.gallery-empty-title{color:var(--color-text-primary);margin:0 0 6px;font-size:20px;font-weight:600}.gallery-empty-copy{color:var(--color-text-muted);margin:0;font-size:14px}.gallery-modal-card{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:minmax(0,1fr) 320px;width:min(100%,1120px);max-height:min(92vh,860px);display:grid;position:relative;overflow:hidden}.gallery-modal-preview{background:var(--color-surface-alt);min-height:320px}.gallery-modal-frame{background:var(--color-surface);border:0;width:100%;height:100%;min-height:320px}.gallery-modal-fallback{height:100%;min-height:320px;color:var(--color-text-quaternary);justify-content:center;align-items:center;font-size:13px;display:flex}.gallery-modal-info{border-left:1px solid var(--color-border);background:radial-gradient(circle at 100% 0,#f5f5f4d9,#0000 34%),linear-gradient(#fffffffa,#fafaf9f0);flex-direction:column;gap:10px;padding:28px 24px 24px;display:flex;position:relative}.gallery-modal-close{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;z-index:1;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.gallery-modal-label{color:var(--color-text-quaternary);margin:0;font-size:12px}.gallery-modal-title{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600;line-height:1.3}.gallery-modal-meta,.gallery-modal-time,.gallery-modal-description{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}.gallery-modal-time{color:var(--color-text-quaternary);font-size:13px}.gallery-modal-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.gallery-modal-link,.gallery-modal-delete{border-radius:var(--radius-btn-workspace);justify-content:center;align-items:center;height:40px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.gallery-modal-link{background:var(--color-btn-primary);color:var(--color-surface)}.gallery-modal-link:hover{background:var(--color-btn-primary-hover)}.gallery-modal-link-secondary{color:var(--color-text-primary);border:1px solid var(--color-border);background:0 0}.gallery-modal-link-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.gallery-modal-delete{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0}.gallery-modal-delete:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}@media (width<=767px){.gallery-page.container{padding:24px 16px 64px}.gallery-page-header{margin-bottom:24px}.gallery-empty-state{padding:56px 20px}.gallery-modal-card{grid-template-columns:1fr;max-height:92vh}.gallery-modal-preview{min-height:240px}.gallery-modal-info{border-left:0;border-top:1px solid var(--color-border);padding-top:24px}.gallery-modal-actions>*{flex:calc(50% - 4px)}}.cta-secondary{background:var(--color-surface);color:var(--color-text-body);border:1px solid var(--color-border)}.cta-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.cta-ghost-row{margin-top:20px}.cta-ghost{color:var(--color-text-quaternary);letter-spacing:-.005em;cursor:pointer;transition:color .15s var(--ease-smooth);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.cta-ghost:hover{color:var(--color-text-body)}.cta-ghost:disabled{opacity:.5;pointer-events:none}.hero-ghost-badge{background:var(--color-bg-input);min-height:24px;color:var(--color-text-muted);letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}@media (width<=640px){.hero-cta-cluster{flex-direction:column;gap:12px;width:100%;max-width:320px}.cta{width:100%}.hero-page{padding:64px 20px}}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.qr-pulse-dot{background:var(--color-success);border-radius:9999px;flex-shrink:0;width:12px;height:12px;position:relative}.qr-pulse-dot:after{content:"";background:var(--color-success);animation:qr-pulse-ring 2s var(--ease-smooth) infinite;border-radius:9999px;position:absolute;inset:0}@keyframes qr-pulse-ring{0%{opacity:.6;transform:scale(1)}70%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(1)}}.system-notice-banner{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:12px;align-items:flex-start;gap:10px;margin:8px 0;padding:12px 14px;display:flex}.system-notice-icon{flex-shrink:0;font-size:16px;line-height:1.4}.system-notice-content{color:var(--color-text-body);margin:0;font-size:13px;line-height:1.55}.iterate-chips{flex-wrap:wrap;gap:6px;padding:4px 0 2px;display:flex}.iterate-chip{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-body);cursor:pointer;border-radius:999px;align-items:center;padding:5px 11px;font-size:12px;transition:background .16s,border-color .16s,opacity .16s;display:inline-flex}.iterate-chip:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.iterate-chip:disabled{opacity:.5;cursor:not-allowed}.chat-panel-iterate-header{border-top:1px solid var(--color-border);background:var(--color-bg-subtle);justify-content:space-between;align-items:center;gap:12px;padding:4px 14px;display:flex}.chat-panel-iterate-header-label{color:var(--color-text-muted);letter-spacing:.2px;font-size:11px}.chat-panel-model-controls{align-items:center;gap:8px;display:inline-flex}.chat-panel-model-select-shell{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-items:center;gap:6px;height:34px;padding:0 10px;display:inline-flex}.chat-panel-model-select-shell.is-locked{background:var(--color-bg-subtle)}.chat-panel-model-lock{font-size:10px}.chat-panel-model-select{color:var(--color-text-primary);background:0 0;border:none;outline:none;font-size:12px;font-weight:700}.chat-panel-model-select:disabled{color:var(--color-text-muted)}.chat-panel-stop-btn{background:var(--color-danger-bg);height:34px;color:var(--color-danger-text);cursor:pointer;border:1px solid #fecaca;border-radius:10px;padding:0 12px;font-size:12px;font-weight:700}.chat-panel-stop-btn.is-disabled,.chat-panel-stop-btn:disabled{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-faint);cursor:not-allowed}@media (width<=719px){.builder-header{padding:10px 14px}.builder-header-breadcrumb{font-size:11px}.builder-header-drawer-btn{height:30px;padding:0 10px;font-size:11px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
