body{color:#fff;background:#111;margin:0;font-family:Arial,sans-serif}.scrollTopFab{color:#eff6ff;cursor:pointer;z-index:80;background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border:1px solid #1e40af;border-radius:999px;width:46px;height:46px;font-size:1.15rem;font-weight:700;line-height:1;transition:transform .14s,box-shadow .14s,filter .14s;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 24px #1e40af59}.scrollTopFab:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 12px 28px #1e40af6b}.scrollTopFab:active{transform:translateY(1px)}.scrollTopFab:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.page{max-width:900px;margin:auto;padding:40px}.lessonLibraryPage,.lessonPage{max-width:980px}.lessonLibraryHeader{margin-bottom:18px}.lessonLibraryIntro{color:#cfd6df;margin:8px 0 0;line-height:1.5}.lessonFilterRow{grid-template-columns:minmax(220px,1.5fr) minmax(150px,220px);gap:12px;margin:16px 0 10px;display:grid}.lessonFilterLabel{color:#cbd5e1;flex-direction:column;gap:6px;font-size:.86rem;display:flex}.lessonFilterLabel input,.lessonFilterLabel select{color:#e2e8f0;font:inherit;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:8px 10px}.lessonLibraryCount{color:#9fb0c6;margin:0 0 14px}.lessonProgressSummaryRow{margin:0 0 16px}.lessonProgressSummaryText{color:#cbd5e1;margin:0 0 8px;font-size:.9rem}.lessonProgressBar{background:#0f172a;border:1px solid #334155;border-radius:999px;width:100%;height:8px;overflow:hidden}.lessonProgressBar span{background:linear-gradient(90deg,#22c55e,#86efac);height:100%;display:block}.lessonGrid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.lessonCard{color:#fff;background:linear-gradient(#1a1f2b,#141a25);border:1px solid #2f3b4f;border-radius:12px;padding:20px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}.lessonCard:hover{border-color:#67e8f9;transform:translateY(-4px);box-shadow:0 10px 28px #0ea5e933}.lessonCard h2{margin:0 0 8px;font-size:1.1rem}.lessonCard p{color:#cbd5e1;margin:0;line-height:1.45}.lessonCardMeta{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.lessonBadge{color:#bfdbfe;letter-spacing:.04em;background:#1d4ed833;border:1px solid #1d4ed8;border-radius:999px;align-items:center;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.lessonBadgeBeginner{color:#bbf7d0;background:#16a34a3d;border-color:#16a34a}.lessonBadgeIntermediate{color:#fde68a;background:#f59e0b3d;border-color:#f59e0b}.lessonBadgeAdvanced{color:#fbcfe8;background:#ec489938;border-color:#ec4899}.lessonDuration{color:#94a3b8;font-size:.8rem}.lessonCommand{color:#86efac;letter-spacing:.03em;margin-top:12px;font-size:.86rem}.lessonStatusPill{border:1px solid #0000;border-radius:999px;align-items:center;width:fit-content;margin-top:12px;padding:3px 10px;font-size:.74rem;display:inline-flex}.lessonStatusDone{color:#bbf7d0;background:#22c55e29;border-color:#22c55e}.lessonStatusWorking{color:#bfdbfe;background:#3b82f629;border-color:#60a5fa}.lessonStatusIdle{color:#cbd5e1;background:#47556933;border-color:#475569}.lessonEmptyState{color:#fbbf24;margin-top:18px}.codeBox{color:#86efac;background:#070b12;border:1px solid #1f2937;border-radius:8px;padding:15px;line-height:1.45;overflow-x:auto}.lessonPageTopNav{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.lessonPageHeader{margin-bottom:16px}.lessonPageHeader h1{margin:6px 0 10px}.lessonPageHeader p{color:#cbd5e1;margin:0;line-height:1.5}.lessonPageMeta{color:#86efac;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.83rem}.lessonStatusRow{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;display:flex}.lessonSectionCard{background:#131a26;border:1px solid #334155;border-radius:10px;margin-bottom:14px;padding:14px}.lessonSectionCard h2{color:#e2e8f0;margin:0 0 10px;font-size:1rem}.lessonSectionCard ul{color:#d1dae7;margin:0;padding-left:18px;line-height:1.55}.creatorProfile{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:14px;display:grid}.creatorPhoto{aspect-ratio:1;object-fit:cover;background:#0f172a;border:1px solid #3b4f68;border-radius:10px;width:100%}.creatorBody p{margin-top:0}.creatorBody ul{margin-bottom:12px}.lessonPreviewLayout{grid-template-columns:minmax(320px,1.1fr) minmax(280px,.9fr);align-items:start;gap:14px;display:grid}.lessonPreviewPanel{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:12px}.lessonPreviewPanel h3{color:#e2e8f0;margin:0 0 10px;font-size:.98rem}.lessonPreviewCanvasHost{background:#0b1220;border:1px solid #1f2937;border-radius:10px;overflow:hidden}.lessonPreviewCanvas{width:100%;height:auto;display:block}.lessonPreviewControlRow{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.lessonPreviewControlButton{align-items:center;gap:6px;display:inline-flex}.lessonPreviewPlayButton{color:#dcfce7;background:#14532d;border-color:#22c55e}.lessonPreviewPlayButton:hover{background:#166534}.lessonPreviewStopButton,.lessonPreviewRewindButton{color:#fee2e2;background:#7f1d1d;border-color:#ef4444}.lessonPreviewStopButton:hover,.lessonPreviewRewindButton:hover{background:#991b1b}.lessonPreviewResetButton,.lessonPreviewForwardButton{color:#dbeafe;background:#1e3a8a;border-color:#3b82f6}.lessonPreviewResetButton:hover,.lessonPreviewForwardButton:hover{background:#1e40af}.lessonControlIcon{color:currentColor;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.lessonControlIcon svg{width:100%;height:100%;display:block}.lessonPreviewControlButton:disabled{opacity:.55;cursor:not-allowed}.lessonPreviewControlButton:disabled:hover{transform:none}.lessonPreviewStatus{color:#cbd5e1;margin:0;font-size:.84rem}.lessonPreviewLegend{flex-wrap:wrap;gap:8px;margin:10px 0 12px;display:flex}.lessonPreviewLegendItem{cursor:pointer;color:inherit;background:#111827;border:1px solid #334155;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:.78rem;transition:opacity .15s,border-color .15s;display:inline-flex}.lessonPreviewLegendItem:hover{border-color:#4b5563}.lessonPreviewLegendOff{opacity:.35}.lessonPreviewLegendOff:before{background:#4b5563!important}.lessonPreviewLegendItem:before{content:"";border-radius:999px;width:12px;height:3px;display:inline-block}.lessonPreviewRapid:before{background:#f59e0b}.lessonPreviewLinear:before{background:#22c55e}.lessonPreviewArc:before{background:#60a5fa}.lessonPreviewDrill:before{background:#f472b6}.lessonPreviewBounds:before{background:#7dd3fc}.lessonPreviewCode{margin:0}.lessonEditorShell{background:#000;border:1px solid #1f2937;border-radius:10px;margin-top:2px;overflow:hidden}.lessonCodeList{gap:0;margin-top:0;display:grid}.lessonCodeLine{background:#000;grid-template-columns:42px 1fr;align-items:center;gap:10px;min-height:32px;padding:6px 10px;display:grid}.lessonCodeLineActive{background:#14532d61;box-shadow:inset 3px 0 #22c55e}.lessonCodeLineNumber{color:#64748b;-webkit-user-select:none;user-select:none;font-size:.77rem;font-weight:700}.lessonCodeLineText{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;font-size:.84rem}.lessonTokPlain{color:#e2e8f0}.lessonTokCommand{color:#93c5fd}.lessonTokAxis{color:#fcd34d}.lessonTokFeed{color:#86efac}.lessonTokTool{color:#f9a8d4}.lessonTokBlock{color:#c4b5fd}.lessonExplanationList{gap:10px;max-height:680px;padding-right:2px;display:grid;overflow-y:auto}.lessonExplanationItem{background:#111827;border:1px solid #334155;border-radius:10px;padding:10px}.lessonExplanationItemActive{background:#14532d42;border-color:#22c55e7a;box-shadow:inset 3px 0 #22c55e,0 0 16px #22c55e1a}.lessonExplanationHeading{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lessonExplanationLineNumber{color:#bbf7d0;background:#22c55e2e;border:1px solid #22c55e57;border-radius:999px;justify-content:center;align-items:center;min-width:34px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.lessonExplanationCode{color:#93c5fd;font-family:Consolas,monospace;font-size:.84rem}.lessonExplanationText{color:#d1dae7;margin:0;font-size:.9rem;line-height:1.5}.lessonActionRow{flex-wrap:wrap;gap:10px;margin:16px 0 14px;display:flex}.lessonActionButton{color:#dbeafe;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:8px 12px;font-size:.88rem;text-decoration:none}.lessonActionButton:hover{background:#273449}.lessonProgressButton{color:#dbeafe;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:8px 12px;font-size:.88rem}.lessonProgressButton:hover{background:#273449}.lessonProgressButton.lessonPreviewPlayButton{color:#dcfce7;background:#14532d;border-color:#22c55e}.lessonProgressButton.lessonPreviewPlayButton:hover{background:#166534}.lessonProgressButton.lessonPreviewStopButton,.lessonProgressButton.lessonPreviewRewindButton{color:#fee2e2;background:#7f1d1d;border-color:#ef4444}.lessonProgressButton.lessonPreviewStopButton:hover,.lessonProgressButton.lessonPreviewRewindButton:hover{background:#991b1b}.lessonProgressButton.lessonPreviewResetButton,.lessonProgressButton.lessonPreviewForwardButton{color:#dbeafe;background:#1e3a8a;border-color:#3b82f6}.lessonProgressButton.lessonPreviewResetButton:hover,.lessonProgressButton.lessonPreviewForwardButton:hover{background:#1e40af}.lessonActionPrimary{color:#062313;background:#86efac;border-color:#86efac;font-weight:700}.lessonActionPrimary:hover{background:#4ade80}.lessonPagerRow{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.lessonPagerLink{color:#7dd3fc;font-size:.9rem;text-decoration:none}.lessonPagerLink:hover{color:#bae6fd}.lessonPagerDisabled{color:#64748b;font-size:.9rem}.lessonQuizCard{background:linear-gradient(#131a26,#101723);border-color:#475569}.lessonQuizPrompt{color:#d8e2ef;margin:0 0 10px}.lessonQuizOptions{gap:8px;display:grid}.lessonQuizOption{color:#dbeafe;background:#0f172a;border:1px solid #334155;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.lessonQuizOptionSelected{background:#14532d4d;border-color:#86efac}.lessonQuizActionRow{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.lessonQuizButton:disabled{opacity:.55;cursor:not-allowed}.lessonQuizFeedback{margin:0;font-size:.86rem}.lessonQuizGood{color:#86efac}.lessonQuizTry{color:#fca5a5}.lessonQuizExplain{color:#cbd5e1;margin:10px 0 0;font-size:.88rem}.quizPage{max-width:1040px}.quizHeader{margin-bottom:14px}.quizIntro{color:#cbd5e1;margin:8px 0 0;line-height:1.5}.quizProgressRow{margin:0 0 14px}.quizProgressText{color:#cbd5e1;margin:0 0 8px}.quizTabs{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px;display:grid}.quizTab{color:#dbeafe;text-align:left;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.quizTab:hover{background:#152236}.quizTabActive{background:#13253a;border-color:#22d3ee;box-shadow:0 0 0 1px #22d3ee33}.quizTabMeta{color:#94a3b8;font-size:.76rem}.quizCard{margin-bottom:0}.quizDescription{color:#cbd5e1;margin:0 0 12px}.quizQuestionList{gap:12px;display:grid}.quizQuestionCard{background:#0f172a;border:1px solid #334155;border-radius:9px;padding:12px}.quizQuestionCard h3{color:#e2e8f0;margin:0 0 10px;font-size:.98rem}.quizChoices{gap:8px;display:grid}.quizChoiceCorrect{background:#22c55e33;border-color:#22c55e}.quizChoiceWrong{background:#ef444433;border-color:#f87171}.quizSubmitRow{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.quizSubmitHint{color:#cbd5e1;margin:0;font-size:.88rem}.quizScoreText{color:#86efac;margin:12px 0 0;font-size:1rem}.fundamentalsPage{max-width:1040px}.fundamentalsHeader{margin-bottom:14px}.fundamentalsIntro{color:#cbd5e1;margin:8px 0 0;line-height:1.5}.fundamentalsSection{margin-bottom:16px}.fundamentalsGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.fundamentalsItem{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:10px}.fundamentalsItem h3{color:#dbeafe;margin:0 0 6px;font-size:.95rem}.fundamentalsGlowWord{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;display:inline-flex}.fundamentalsGlowCyan{color:#cffafe;background:#082f498c;border-color:#22d3ee73;box-shadow:0 0 10px #22d3ee47,inset 0 0 12px #22d3ee1f}.fundamentalsGlowAmber{color:#fde68a;background:#451a038c;border-color:#f59e0b73;box-shadow:0 0 10px #f59e0b47,inset 0 0 12px #f59e0b1f}.fundamentalsGlowGreen{color:#bbf7d0;background:#14532d80;border-color:#22c55e73;box-shadow:0 0 10px #22c55e42,inset 0 0 12px #22c55e1f}.fundamentalsGlowPink{color:#fbcfe8;background:#50072480;border-color:#ec489973;box-shadow:0 0 10px #ec489942,inset 0 0 12px #ec48991f}.fundamentalsGlowWhite{color:#f8fafc;background:#33415561;border-color:#e2e8f080;box-shadow:0 0 12px #f1f5f94d,inset 0 0 14px #f8fafc1f}.fundamentalsItem p{color:#cbd5e1;margin:0;font-size:.87rem;line-height:1.45}.flashCardMeta{color:#cbd5e1;margin:0 0 10px;font-size:.88rem}.flashCardButton{cursor:pointer;width:100%;text-align:inherit;background:0 0;border:0;padding:0}.flashCard{min-height:190px;transform-style:preserve-3d;background:#0f172a;border:1px solid #334155;border-radius:12px;transition:transform .35s;position:relative}.flashCardFlipped{transform:rotateY(180deg)}.flashCardFace{box-sizing:border-box;backface-visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;gap:8px;padding:14px;display:flex;position:absolute;inset:0}.flashCardFront{background:linear-gradient(#112136,#0f172a)}.flashCardBack{background:linear-gradient(#123023,#101c17);transform:rotateY(180deg)}.flashCardLabel{text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;margin:0;font-size:.72rem}.flashCardFace h3{color:#e2e8f0;margin:0;font-size:1.05rem;line-height:1.35}.flashCardControls{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.homePage{max-width:860px;margin:0 auto;padding:48px 40px 72px}.homeHero{text-align:center;padding:56px 0 48px;position:relative}.homeMenuWrap{z-index:30;position:absolute;top:0;right:0}.homeMenuButton{color:#dbeafe;cursor:pointer;background:linear-gradient(140deg,#172233,#111827);border:1px solid #334155;border-radius:999px;padding:10px 18px;font-weight:700}.homeMenuButton:hover{color:#e0f2fe;border-color:#38bdf8}.homeMenuPanel{background:#0f172a;border:1px solid #334155;border-radius:12px;gap:4px;min-width:190px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 36px #02061773}.homeMenuItem{text-align:left;color:#e2e8f0;background:0 0;border:0;border-radius:8px;width:100%;padding:9px 10px;font-size:.9rem;text-decoration:none;display:block}.homeMenuItem:hover{background:#38bdf824}.homeMenuItemButton{cursor:pointer;font-family:inherit}.homeEyebrow{letter-spacing:.2em;text-transform:uppercase;color:#38bdf8;margin:0 0 16px;font-size:.75rem;font-weight:700}.homeTitle{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 20%,#93c5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 18px;font-size:3rem;font-weight:800}.homeSubtitle{color:#94a3b8;max-width:520px;margin:0 auto 36px;font-size:1.05rem;line-height:1.7}.homeHeroCta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.homeCtaPrimary{color:#060d17;background:linear-gradient(140deg,#38bdf8,#0ea5e9);border-radius:999px;align-items:center;gap:10px;padding:12px 30px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px #0ea5e947}.homeCtaPrimary:hover{background:linear-gradient(140deg,#7dd3fc,#38bdf8);transform:translateY(-2px);box-shadow:0 14px 30px #38bdf861}.homeCtaPrimary:focus-visible{outline-offset:2px;outline:2px solid #bae6fd}.homeCtaPrimaryIcon{background:linear-gradient(145deg,#0369a1,#0c4a6e);border:1px solid #bae6fd73;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;box-shadow:inset 0 1px #fff3,0 5px 14px #0369a173}.homeCtaPrimaryIconSvg{color:#f0f9ff;width:20px;height:20px}.homeCtaPrimary:hover .homeCtaPrimaryIcon{background:linear-gradient(145deg,#0284c7,#075985);transform:scale(1.08);box-shadow:inset 0 1px #ffffff3d,0 8px 18px #0284c780}.homeCtaSecondary{color:#dbeafe;background:linear-gradient(140deg,#172233,#111827);border:1px solid #334155;border-radius:999px;justify-content:center;align-items:center;padding:12px 30px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 22px #0f172a52}.homeCtaSecondary:hover{color:#e0f2fe;background:linear-gradient(140deg,#1d2f47,#16263a);border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 12px 28px #0ea5e947}.homeCtaSecondary:focus-visible{outline-offset:2px;outline:2px solid #bae6fd}.homeAuthBtn{cursor:pointer;font-family:inherit}.homeAccessStatus{color:#7dd3fc;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 4px;font-size:.86rem;font-weight:700}.homeAccessUser{color:#94a3b8;margin:0;font-size:.86rem}.homeAuthCard{background:#111827;border:1px solid #1f2937;border-radius:14px;max-width:520px;margin:0 auto 28px;padding:22px;box-shadow:0 14px 36px #02061747}.homeAuthTitle{color:#f1f5f9;margin:0;font-size:1.2rem}.homeAuthSubtitle{color:#dbeafe;background:linear-gradient(140deg,#0ea5e92e,#38bdf814);border:1px solid #38bdf861;border-radius:10px;margin:8px 0 16px;padding:12px 14px;font-size:.9rem;box-shadow:0 0 0 1px #38bdf814,0 0 18px #38bdf83d,inset 0 0 18px #0ea5e914}.homeAuthTabs{gap:8px;margin-bottom:14px;display:flex}.homeAuthTab{color:#cbd5e1;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;flex:1;padding:9px 10px;font-family:inherit;font-size:.88rem;font-weight:600}.homeAuthTabActive{color:#e0f2fe;background:#11213a;border-color:#38bdf8}.homeAuthForm{gap:12px;display:grid}.homeAuthForm label{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;gap:6px;font-size:.84rem;display:grid}.homeAuthForm input{color:#e2e8f0;font:inherit;background:#0b1220;border:1px solid #334155;border-radius:8px;padding:10px 11px}.homeAuthError{color:#fda4af;margin:0;font-size:.85rem}.homeAuthSubmit{color:#060d17;cursor:pointer;background:linear-gradient(140deg,#38bdf8,#0ea5e9);border:1px solid #0ea5e9;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:700}.homeAuthSubmit:hover{background:linear-gradient(140deg,#7dd3fc,#38bdf8)}.homeAuthDivider{text-align:center;margin:4px 0;position:relative}.homeAuthDivider:before{content:"";background:#1f2937;height:1px;position:absolute;top:50%;left:0;right:0}.homeAuthDivider span{color:#64748b;text-transform:uppercase;letter-spacing:.1em;background:#111827;padding:0 10px;font-size:.8rem;display:inline-block;position:relative}.homeGoogleButton{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #334155;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:700;display:inline-flex}.homeGoogleButton:hover:not(:disabled){background:#f8fafc}.homeGoogleButton:disabled{opacity:.55;cursor:not-allowed}.homeGoogleButton svg{flex:none;width:18px;height:18px}.homeFolderIconLink{color:#dbeafe;background:#111827;border:1px solid #334155;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:700;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.homeFolderIconLink svg{width:18px;height:18px}.homeFolderIconLink:hover{border-color:#38bdf8;transform:translateY(-1px);box-shadow:0 10px 22px #0ea5e933}.blueprintPage{max-width:900px}.blueprintHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.blueprintHeaderLeft{align-items:center;gap:10px;display:inline-flex}.blueprintHeaderLeft h1{margin:0}.blueprintFolderBadge{color:#7dd3fc;background:#13253a;border:1px solid #27415f;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.blueprintFolderBadge svg{width:20px;height:20px}.blueprintHeaderActions{flex-wrap:wrap;gap:8px;display:inline-flex}.blueprintBackButton,.blueprintRefreshButton{color:#dbeafe;font:inherit;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:8px 12px;font-size:.88rem;text-decoration:none}.blueprintBackButton:hover,.blueprintRefreshButton:hover{background:#102131;border-color:#38bdf8}.blueprintInfoText{color:#cbd5e1;margin:0 0 12px}.blueprintErrorText{color:#fbbf24;margin:0 0 12px}.blueprintList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.blueprintListItem{background:#111827;border:1px solid #2d3748;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.blueprintListMeta{min-width:240px}.blueprintFileName{color:#e2e8f0;word-break:break-word;margin:0;font-weight:600}.blueprintFileDetails{color:#94a3b8;margin:6px 0 0;font-size:.82rem}.blueprintListActions{align-items:center;gap:8px;display:inline-flex}.blueprintViewButton{color:#ecfeff;background:#0f766e;border:1px solid #0d9488;border-radius:8px;padding:7px 12px;font-size:.84rem;font-weight:700;text-decoration:none}.blueprintViewButton:hover{filter:brightness(1.08)}.blueprintDownloadIconButton{color:#eff6ff;background:#1d4ed8;border:1px solid #2563eb;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;display:inline-flex}.blueprintDownloadIconButton svg{width:18px;height:18px}.blueprintDownloadIconButton:hover{filter:brightness(1.08)}.homeDivider{background:linear-gradient(90deg,#0000,#1e293b 30% 70%,#0000);height:1px;margin:0 0 44px}.homeCardGrid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}@media (width<=580px){.homeCardGrid{grid-template-columns:1fr}.homeTitle{font-size:2.2rem}.homePage{padding:32px 20px 56px}.homeFolderIconLink{justify-content:center;width:100%}.blueprintListMeta{width:100%;min-width:0}.blueprintListActions{width:100%}.homeBlueprintPanel{margin-top:24px;padding:16px}.homeBlueprintItemActions{width:100%}.homeBlueprintActionButton{text-align:center;flex:1}}.homeFeatureCard{color:inherit;background:#131820;border:1px solid #1e293b;border-radius:14px;flex-direction:column;gap:14px;padding:26px 24px 20px;text-decoration:none;transition:border-color .22s,transform .2s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.homeFeatureCard:before{content:"";background:var(--card-accent,#38bdf8);opacity:0;height:3px;transition:opacity .22s;position:absolute;top:0;left:0;right:0}.homeFeatureCard:hover{border-color:var(--card-accent,#38bdf8);transform:translateY(-5px);box-shadow:0 16px 40px #00000073}.homeFeatureCard:hover:before{opacity:1}.homeFeatureCardDisabled{cursor:default;opacity:.65;pointer-events:none}.homeFeatureCardDisabled:hover{box-shadow:none;border-color:#1e293b;transform:none}.homeFeatureComingSoon{letter-spacing:.1em;text-transform:uppercase;color:#fb923c;background:#f9731626;border:1px solid #f9731666;border-radius:20px;padding:3px 9px;font-size:.66rem;font-weight:700;position:absolute;top:14px;right:14px}.homeFeatureIcon{background:#1e293b;border-radius:10px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.45rem;display:flex}.homeFeatureIconCode{background:linear-gradient(160deg,#10231d,#1b2f29);border:1px solid #34d3993d;border-radius:10px;justify-content:stretch;align-items:stretch;width:46px;height:46px;padding:4px}.homeFeatureIconImage{background:linear-gradient(160deg,#1e293b,#111827);border:1px solid #94a3b847;padding:0;overflow:hidden}.homeFeatureIconImageAsset{object-fit:cover;width:100%;height:100%;display:block}.homeFeatureCodeStack{flex-direction:column;justify-content:center;gap:2px;width:100%;display:flex}.homeFeatureCodeLine{color:#86efac;letter-spacing:.08em;text-align:center;background:#0f172ae0;border-radius:6px;padding:3px 5px;font-family:Consolas,Courier New,monospace;font-size:.52rem;font-weight:700;line-height:1;display:block}.homeFeatureBody{flex:1}.homeFeatureTitle{color:#f1f5f9;margin:0 0 7px;font-size:1.05rem;font-weight:700}.homeFeatureDesc{color:#94a3b8;margin:0;font-size:.875rem;line-height:1.6}.homeFeatureCta{color:var(--card-accent,#38bdf8);letter-spacing:.02em;font-size:.82rem;font-weight:600}.homeBlueprintPanel{background:linear-gradient(165deg,#131d2d,#0f1726 55%,#111b2d);border:1px solid #223044;border-radius:14px;margin-top:34px;padding:22px;box-shadow:0 16px 36px #02061761}.homeBlueprintPanelHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.homeBlueprintEyebrow{letter-spacing:.12em;text-transform:uppercase;color:#7dd3fc;margin:0 0 8px;font-size:.72rem;font-weight:700}.homeBlueprintTitle{color:#e2e8f0;margin:0;font-size:1.2rem}.homeBlueprintSubtext{color:#9fb2cb;max-width:560px;margin:8px 0 0;font-size:.9rem;line-height:1.6}.homeBlueprintUploadButton{color:#ecfeff;cursor:pointer;background:linear-gradient(145deg,#0891b2,#0e7490);border:1px solid #0891b2;border-radius:10px;padding:10px 16px;font-weight:700;transition:transform .15s,filter .15s,box-shadow .15s;box-shadow:0 10px 22px #0e749057}.homeBlueprintUploadButton:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 12px 26px #0e749073}.homeBlueprintInput{display:none}.homeBlueprintMessage{color:#fbbf24;margin:14px 0 0;font-size:.88rem}.homeBlueprintList{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.homeBlueprintItem{background:#0f172ab8;border:1px solid #2b3f5d;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.homeBlueprintItemMeta{min-width:220px}.homeBlueprintItemName{color:#e2e8f0;word-break:break-word;margin:0;font-weight:600}.homeBlueprintItemSize{color:#94a3b8;margin:6px 0 0;font-size:.82rem}.homeBlueprintItemActions{flex-wrap:wrap;gap:8px;display:inline-flex}.homeBlueprintActionButton{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:7px 10px;font-size:.8rem;font-weight:700;text-decoration:none}.homeBlueprintDownloadButton{color:#eff6ff;background:#1d4ed8;border-color:#2563eb}.homeBlueprintPrintButton{color:#ecfeff;background:#0f766e;border-color:#0d9488}.homeBlueprintRemoveButton{color:#fee2e2;background:#991b1b;border-color:#ef4444}.homeBlueprintDownloadButton:hover,.homeBlueprintPrintButton:hover,.homeBlueprintRemoveButton:hover{filter:brightness(1.08)}.homeBlueprintEmpty{color:#cbd5e1;margin:16px 0 0}.homeBlueprintNote{color:#94a3b8;margin:14px 0 0;font-size:.8rem}.visualizerPage{max-width:none;margin:0;padding:20px 16px 24px}.visualizerHeader{text-align:center;flex-direction:column;align-items:center;margin-bottom:14px;display:flex}.visualizerLayout{--stock-panel-open-width:280px;grid-template-columns:auto minmax(360px,420px) minmax(760px,1fr);align-items:start;gap:10px;display:grid;position:relative;overflow:visible}.visualizerMainSplit{display:contents}.stockPanelSlot{width:var(--stock-panel-open-width);min-width:24px;transition:width .28s;overflow:visible}.stockPanelSlotClosed{width:24px}.stockPanel,.editorPanel,.canvasPanel{box-sizing:border-box;background:#161c28;border-radius:12px;min-width:0;padding:16px;box-shadow:0 10px 30px #00000047}.canvasPanel{overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex}.stockPanel{width:var(--stock-panel-open-width);z-index:2;min-width:0;transition:transform .28s,box-shadow .28s;position:sticky;top:12px;overflow:hidden}.stockPanelBody{transition:opacity .22s;overflow:hidden}.stockPanelClosed{transform:translate(calc(24px - 100%));box-shadow:0 8px 20px #00000038}.stockPanelClosed .stockPanelBody{opacity:0;pointer-events:none}.stockPanelToggle{color:#dbeafe;cursor:pointer;width:20px;height:28px;font:inherit;background:#0f172a;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:6px}.stockPanelToggle:hover{background:#172554}.stockPanelToggleGlyph{font-size:.72rem;line-height:1}.stockPanelClosed .stockPanelToggle{right:2px}.visualizerPageNav{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;display:flex}.visualizerMobileQuickActions{display:none}.visualizerMobileQuickButton{color:#dbeafe;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:600}.visualizerMobileQuickButton:hover{background:#172554}.visualizerMobilePresetRow{display:none}.visualizerMobilePresetButton{color:#dbeafe;cursor:pointer;white-space:nowrap;background:#0f172a;border:1px solid #334155;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:600}.visualizerMobilePresetButton:hover{background:#172554}.visualizerMobilePresetButtonActive{background:#122238;border-color:#38bdf8}.visualizerDesktopHomeButton{z-index:20;color:#dbeafe;background:#0f172aeb;border:1px solid #334155;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:600;line-height:1;text-decoration:none;position:fixed;top:16px;left:16px;box-shadow:0 10px 24px #02061747}.visualizerDesktopHomeButton:hover{background:#172554}.visualizerTopIcon{justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.visualizerTopIcon svg{width:100%;height:100%;display:block}.visualizerTopIconLegend{color:#f59e0b}.visualizerTitle{color:#86efac;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 14px #86efac73,0 1px #00000080;background:linear-gradient(#081220eb,#081a27b8);border:1px solid #86efac59;border-radius:12px;margin:0;padding:8px 18px 10px;font-size:clamp(1.45rem,2vw,2.05rem);position:relative;box-shadow:inset 0 0 0 1px #67e8f929,0 10px 22px #064e3b47}.visualizerTitle:after{content:"";background:linear-gradient(90deg,#0000,#86eface0,#0000);height:2px;position:absolute;bottom:5px;left:14px;right:14px}.visualizerNavLink{color:#dbeafe;background:#1e293b;border:1px solid #334155;border-radius:999px;padding:6px 12px;font-size:.9rem;text-decoration:none}.visualizerNavLink:hover{background:#273449}.stockPanel h2{margin:0 0 12px;font-size:1.05rem}.unitToggleRow{gap:6px;margin-bottom:12px;display:inline-flex}.unitButton{color:#dbeafe;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:6px 12px}.unitButtonActive{color:#031525;background:#0ea5e9;border-color:#0ea5e9;font-weight:700}.stockGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stockGrid label{color:#cbd5e1;flex-direction:column;gap:5px;min-width:0;font-size:.88rem;display:flex}.stockGrid input,.stockGrid select{box-sizing:border-box;color:#e2e8f0;width:100%;min-width:0;font:inherit;background:#0b1220;border:1px solid #334155;border-radius:7px;padding:7px 8px}.stockFullWidth{grid-column:1/-1}.simInfoBox{background:#0f172a;border:1px solid #334155;border-radius:10px;margin-top:10px;padding:5px 7px}.simInfoBox p{color:#dbeafe;margin:0 0 3px;font-size:.79rem}.simInfoBox p:last-child{margin-bottom:0}.simInfoLegend{gap:4px;margin-top:3px;margin-bottom:3px}.simInfoLegend .legendItem{gap:4px;padding:2px 6px}.simInfoLegend .legendSwitch{padding:1px 6px;font-size:.68rem}.simInfoMeta{margin-top:0}.editorActionPanel{box-sizing:border-box;border-top:1px solid #263244;border-bottom:1px solid #263244;width:100%;min-height:90px;margin-top:10px;margin-bottom:10px;padding:12px 0;overflow:hidden}.editorActionScroller{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:100%;display:grid}.sampleRow{display:contents}.samplePresetButton{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.82rem}.samplePresetButton:hover{background:#18263b}.samplePresetButtonActive{color:#dbeafe;background:#122238;border-color:#38bdf8}.sampleRow:last-child{margin-bottom:0}.sampleRow select,.editorActionScroller select,.sampleRow button,.editorActionScroller button,.playbackControls button,.toolButton{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.82rem}.editorActionScroller button{text-align:center;white-space:normal;width:100%;min-width:0;line-height:1.2}.sampleRow button:hover,.editorActionScroller button:hover,.playbackControls button:hover,.toolButton:hover{background:#18263b}.playbackControls .playbackButtonPlay{color:#f0fdf4;background:linear-gradient(#22c55e,#16a34a);border-color:#15803d;box-shadow:0 0 0 1px #22c55e2e,0 0 14px #22c55e73}.playbackControls .playbackButtonPlay:hover{background:linear-gradient(#16a34a,#15803d);border-color:#166534;box-shadow:0 0 0 1px #22c55e3d,0 0 18px #22c55e8c}.playbackControls .playbackButtonPause{color:#fff7ed;background:linear-gradient(#fb923c,#ea580c);border-color:#c2410c;box-shadow:0 0 0 1px #fb923c33,0 0 14px #ea580c73}.playbackControls .playbackButtonPause:hover{background:linear-gradient(#f97316,#c2410c);border-color:#9a3412;box-shadow:0 0 0 1px #f973163d,0 0 18px #f9731694}.playbackControls .playbackButtonReset{color:#fef2f2;background:linear-gradient(#ef4444,#dc2626);border-color:#b91c1c;box-shadow:0 0 0 1px #ef444438,0 0 14px #dc26267a}.playbackControls .playbackButtonReset:hover{background:linear-gradient(#dc2626,#b91c1c);border-color:#991b1b;box-shadow:0 0 0 1px #ef444447,0 0 18px #dc262699}.playbackControls .playbackButton:focus-visible{outline:none}.playbackControls .playbackButtonPlay:focus-visible{box-shadow:0 0 0 2px #bbf7d080,0 0 20px #22c55e9e}.playbackControls .playbackButtonPause:focus-visible{box-shadow:0 0 0 2px #fed7aa80,0 0 20px #f97316a6}.playbackControls .playbackButtonReset:focus-visible{box-shadow:0 0 0 2px #fecaca80,0 0 20px #ef4444a8}.editorShell{overscroll-behavior:contain;background:#0b0f14;border:1px solid #2d3748;border-radius:8px;height:420px;position:relative;overflow:hidden}.editorOverlay{box-sizing:border-box;pointer-events:none;margin:0;padding:12px 12px 12px 10px;position:absolute;inset:0;overflow:hidden}.editorOverlayContent{color:#0000;font-family:Consolas,monospace;font-size:14px;line-height:1.5;display:block;transform:translateY(0)}.editorOverlayLine{white-space:pre;grid-template-columns:58px 1fr 16px;align-items:center;column-gap:8px;min-height:1.55em;display:grid}.editorOverlayLineActiveBlock{background:#22c55e2e;box-shadow:inset 3px 0 #22c55e}.editorOverlayLineWarning{background:#ef444429;box-shadow:inset 3px 0 #f87171}.editorOverlayLineCurrent{background:#38bdf829}.editorLineNumber{color:#64748b;-webkit-user-select:none;user-select:none;text-align:right;padding-right:4px}.editorOverlayText{color:#dbe1eb;white-space:pre}.syntaxToken.tokG{color:#93c5fd}.syntaxToken.tokAxis{color:#fcd34d}.syntaxToken.tokArc{color:#67e8f9}.syntaxToken.tokFeed{color:#86efac}.lineWarningBadge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.lineSpacer{width:16px;height:16px}.gcodeInput{color:#0000;box-sizing:border-box;resize:none;overscroll-behavior:contain;white-space:pre;caret-color:#e5e7eb;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:12px 12px 12px 74px;font-family:Consolas,monospace;font-size:14px;line-height:1.55;position:relative;overflow:auto}.gcodeInput:focus{outline:none}.warningPanel{border-top:1px solid #2d3748;margin-top:14px;padding-top:14px}.warningTitle{color:#e2e8f0;margin:0 0 10px;font-size:.95rem;font-weight:700}.warningList{color:#fca5a5;margin:0;padding-left:18px}.warningItem{margin-bottom:8px;line-height:1.45}.warningItem:last-child{margin-bottom:0}.warningClear{color:#86efac;margin:0}.visualizerToolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.canvasControlStack{box-sizing:border-box;flex-direction:column;justify-content:flex-start;min-height:90px;margin-top:10px;margin-bottom:10px;padding:8px 0;display:flex}.visualizerToolGroup{flex-wrap:wrap;gap:8px;display:inline-flex}.toolHint{color:#94a3b8;margin:0;font-size:.92rem}.playbackControls{flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:10px;display:flex}.speedControl{color:#cbd5e1;background:#0f172a;border:1px solid #334155;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.82rem;display:inline-flex}.speedControl input{width:120px}.toolCanvas{cursor:default;touch-action:none;background:#0d1117;border-radius:8px;width:100%;height:100%;display:block}.toolCanvasHost{overscroll-behavior:none;flex:none;width:100%;height:clamp(360px,56vh,620px);min-height:360px;position:relative}.canvasUnitSummary{color:#cbd5e1;pointer-events:none;background:#0f172ab8;border:1px solid #334155cc;border-radius:999px;margin:0;padding:2px 6px;font-size:.68rem;line-height:1.2;position:absolute;bottom:8px;right:10px}.canvasSelectionSummary{color:#e2e8f0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:#0f172acc;border:1px solid #38bdf873;border-radius:999px;max-width:min(72%,780px);margin:0;padding:2px 8px;font-size:.68rem;line-height:1.2;position:absolute;bottom:8px;left:10px;overflow:hidden}.toolCanvasPanning{cursor:grabbing}.toolCanvasMeasuring{cursor:crosshair}.sketchInputOverlay{cursor:default;z-index:1;position:absolute;inset:0}.sketchInputOverlayPanning{cursor:grabbing}.toolButtonActive{color:#93c5fd!important;background:#1e3a5f!important;border-color:#3b82f6!important}.iconToolButton{justify-content:center;align-items:center;width:34px;min-width:34px;height:32px;padding:0;display:inline-flex}.iconToolButton svg{width:18px;height:18px}.sketchToolGroup{border-top:1px solid #1e293b;width:100%;margin-top:6px;padding-top:6px}.sketchToolLabel{color:#94a3b8;white-space:nowrap;align-self:center;margin-right:4px;font-size:.82rem}.sketchShapeSelect{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.82rem}.sketchShapeSelect:hover{background:#18263b}.sketchSnapStepControl{color:#cbd5e1;background:#0f172a;border:1px solid #334155;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.78rem;display:inline-flex}.sketchSnapStepControl input{color:#e2e8f0;background:#020617;border:1px solid #334155;border-radius:4px;width:72px;padding:2px 6px;font-size:.78rem}.sketchSnapStepControl input:disabled{opacity:.7;cursor:not-allowed}.statusRow{color:#cbd5e1;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:.9rem;display:flex}.statusRow p{margin:0}.visualizerLegend{color:#dbeafe;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:.88rem;display:flex}.legendItem{background:#0f172a;border:1px solid #334155;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;display:inline-flex}.legendToggle{color:inherit;font:inherit;cursor:pointer}.legendItemOn{background:#122238;border-color:#38bdf8}.legendSwitch{color:#cbd5e1;background:#0b1220;border:1px solid #475569;border-radius:999px;padding:2px 7px;font-size:.72rem}.legendSwatch{border-radius:999px;width:20px;height:4px;display:inline-block}.rapidSwatch{background:repeating-linear-gradient(90deg,#f59e0b 0 8px,#f59e0b26 8px 12px)}.linearSwatch{background:#22c55e}.facingSwatch{background:#ff0}.arcSwatch{background:#60a5fa}.drillSwatch{background:#f43f5e}.toolSwatch{background:#f8fafc}.startSwatch{background:linear-gradient(90deg,#10b981 50%,#ef4444 50%)}.visualizerMeta{color:#94a3b8;margin:14px 0 0;line-height:1.5}.actionMessage{color:#a7f3d0;margin:8px 0 0;font-size:.9rem}.mobileBottomActionBar,.mobileWarningPanel{display:none}.mobileBottomActionBar button{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.82rem}.mobileBottomActionBar button:hover{background:#18263b}.mobileBottomActionBar button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.mobileActionButton{justify-content:center;align-items:center;gap:6px;display:inline-flex}.mobileActionIcon{justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.mobileActionIcon svg{width:100%;height:100%;display:block}.visualizerMobileDrawerBackdrop{z-index:40;background:#0206179e;justify-content:flex-end;display:flex;position:fixed;inset:0}.visualizerMobileDrawer{box-sizing:border-box;background:#0f172a;border-left:1px solid #334155;width:min(86vw,360px);height:100%;padding:12px;overflow-y:auto}.visualizerMobileDrawerHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.visualizerMobileDrawerHeader h2{color:#e2e8f0;margin:0;font-size:.95rem}.visualizerMobileDrawerHeader button{color:#dbeafe;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:8px;padding:4px 9px}@media (width<=1500px){.visualizerLayout{--stock-panel-open-width:260px;grid-template-columns:auto minmax(320px,380px) minmax(620px,1fr)}}@media (width<=1280px){.visualizerLayout{--stock-panel-open-width:250px;grid-template-columns:auto minmax(0,1fr)}.canvasPanel{grid-column:1/-1}.stockPanel{position:relative;top:auto}.visualizerToolbar{flex-direction:column;align-items:flex-start}.toolCanvasHost{height:min(52vh,520px);min-height:320px}}.visualizerMobileTopBar,.visualizerMobileTabs{display:none}@media (width<=900px){.scrollTopFab{width:42px;height:42px;font-size:1.05rem;bottom:14px;right:14px}.page{padding:14px 12px 22px}.visualizerPage{color:#1f2937;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;min-height:100dvh;padding-bottom:calc(20px + var(--mobile-keyboard-inset,0px));background:#f6f5ef;overflow-y:auto}.visualizerLayout{grid-template-columns:1fr}.stockPanelSlot,.stockPanelSlotOpen,.stockPanelSlotClosed{width:100%;min-width:0}.stockPanelSlot{display:none}.visualizerHeader{margin-bottom:10px;display:block}.visualizerMobileTopBar{grid-template-columns:34px 1fr auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.visualizerMobileBackButton{color:#1f2937;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;text-decoration:none;display:inline-flex}.visualizerMobileBackButton svg{width:20px;height:20px}.visualizerMobileTitle{color:#1f2937;letter-spacing:-.01em;margin:0;font-size:1.02rem;font-weight:500}.visualizerMobileTopIcons{align-items:center;gap:6px;display:inline-flex}.visualizerMobileIconButton{color:#334155;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.visualizerMobileIconButton svg{width:17px;height:17px}.visualizerMobileTabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #d7d5cc;gap:18px;margin-bottom:10px;padding-bottom:2px;display:flex;overflow-x:auto}.visualizerMobileTab{color:#4b5563;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 0 10px;font-size:.9rem;font-weight:500;position:relative}.visualizerMobileTabActive{color:#2f5d4d}.visualizerMobileTabActive:after{content:"";background:#5d7f6f;border-radius:999px;height:3px;position:absolute;bottom:-1px;left:0;right:0}.visualizerPageNav,.visualizerMobileQuickActions,.visualizerMobilePresetRow,.visualizerTitle,.visualizerDesktopHomeButton{display:none!important}.visualizerMainSplit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.visualizerMainSplit .editorPanel,.visualizerMainSplit .canvasPanel{grid-column:auto}.editorPanel,.canvasPanel{box-shadow:none;background:0 0;border-radius:0;padding:0}.editorActionPanel{display:none}.editorShell{background:#fbfaf5;border:1px solid #d5d2c8;border-radius:10px;height:clamp(360px,64dvh,760px);overflow:hidden}.editorOverlay{padding:8px 8px 8px 6px}.editorOverlayContent{font-size:12px;line-height:1.45}.editorOverlayLine{grid-template-columns:40px 1fr 12px;column-gap:4px;min-height:1.45em}.editorLineNumber{color:#6b7280;padding-right:2px;font-size:.72rem}.editorOverlayText{color:#1f2937}.syntaxToken.tokG{color:#1e40af}.syntaxToken.tokAxis{color:#9a5d22}.syntaxToken.tokArc{color:#0f766e}.syntaxToken.tokFeed{color:#166534}.editorOverlayLineActiveBlock{background:#3974571f;box-shadow:inset 3px 0 #4d7b67}.editorOverlayLineWarning{background:#dc262614;box-shadow:inset 3px 0 #e05b5b}.editorOverlayLineCurrent{background:#3341550d}.lineWarningBadge,.lineSpacer{width:12px;height:12px}.lineWarningBadge{font-size:9px}.gcodeInput{color:#0000;caret-color:#1f2937;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:auto;padding:8px 8px 8px 50px;font-size:12px;line-height:1.45;overflow:auto}@supports (-webkit-touch-callout:none){.editorOverlayContent,.gcodeInput{font-size:16px;line-height:1.45}}.canvasControlStack{min-height:0;margin:0;padding:0;display:none}.playbackControls{display:none}.toolCanvasHost{background:#06090f;border:1px solid #d5d2c8;border-radius:10px;height:clamp(360px,64dvh,760px);min-height:360px;overflow:hidden}.toolCanvas{border-radius:0}.canvasPanel .actionMessage{display:none}.canvasUnitSummary{color:#f8fafc;text-shadow:0 1px 2px #020617d9;max-width:calc(100% - 20px);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:.72rem;display:inline-flex;top:10px;bottom:auto;right:10px}.editorPanel .warningPanel{display:none}.mobileWarningPanel{box-shadow:none;min-height:unset;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;background:#efeee7;border:1px solid #d8d5ca;border-radius:12px;height:96px;margin-top:10px;margin-bottom:10px;padding:10px 12px;display:block;overflow-y:auto}.mobileWarningPanel .warningTitle{color:#2b302d;margin:0 0 6px}.mobileWarningPanel .warningList{min-height:unset;scroll-snap-type:none;color:#8b2f2f;max-height:none;padding-left:16px;list-style:outside;overflow:visible}.mobileWarningPanel .warningItem{color:#8b2f2f;min-height:unset;scroll-snap-align:none;background:0 0;border:none;border-radius:0;max-height:none;margin-bottom:6px;padding:0;line-height:1.4;overflow-y:visible}.mobileWarningPanel .warningItem:last-child{margin-bottom:0}.mobileWarningPanel .warningClear{color:#4c5f53;min-height:unset;display:block}.mobileBottomActionBar{background:0 0;border-top:0;justify-content:flex-start;align-items:center;gap:14px;margin-top:12px;margin-bottom:8px;padding:0;display:flex;position:static}.mobileBottomActionBar button{min-height:0;box-shadow:none;flex:none}.mobileBottomActionBar .mobileActionButtonPlay,.mobileBottomActionBar .mobileActionButtonPause{border:0;border-radius:12px;justify-content:center;min-width:132px;padding:14px 22px;font-size:1rem;font-weight:700}.mobileBottomActionBar .mobileActionButtonPlay{color:#fff;background:#12b886}.mobileBottomActionBar .mobileActionButtonPause{color:#fff;background:#f59e0b}.mobileBottomActionBar .mobileActionButtonReset,.mobileBottomActionBar .mobileActionButtonUndo{color:#8b3a45;background:0 0;border:0;padding:0;font-size:1rem;font-weight:500}.mobileBottomActionBar .mobileActionButtonReset .mobileActionIcon,.mobileBottomActionBar .mobileActionButtonUndo .mobileActionIcon,.visualizerToolbar{display:none}.stockGrid{grid-template-columns:1fr}.visualizerMobileDrawerBackdrop{background:#0f172a3d}.visualizerMobileDrawer{color:#1f2937;background:#fbfaf5;border-left:1px solid #d8d5ca}.visualizerMobileDrawerHeader h2{color:#1f2937}.visualizerMobileDrawerHeader button,.visualizerMobileDrawer .unitButton,.visualizerMobileDrawer .stockGrid input,.visualizerMobileDrawer .stockGrid select{color:#1f2937;box-shadow:none;background:#fff;border:1px solid #d3d0c5}.legendItem{color:#2b302d;background:#f7f5ee;border:1px solid #d8d5ca}.legendItemOn{background:#edf4ef;border-color:#9fb7a7}.legendSwitch{color:#5b645f;background:#fff;border:1px solid #d8d5ca}}.pricingPage{max-width:860px;margin:0 auto;padding:48px 40px 80px}.pricingBackLink{color:#64748b;margin-bottom:32px;font-size:.85rem;text-decoration:none;display:inline-block}.pricingBackLink:hover{color:#94a3b8}.pricingHero{text-align:center;padding:32px 0 48px}.pricingTitle{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 20%,#93c5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:2.6rem;font-weight:800}.pricingSubtitle{color:#94a3b8;max-width:480px;margin:0 auto;font-size:1rem;line-height:1.7}.pricingPlanPreview{color:#7dd3fc;margin:12px 0 0;font-size:.92rem;font-weight:700}.pricingCards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:700px;margin:0 auto 40px;display:grid}.pricingCard{background:#131820;border:1px solid #1e293b;border-radius:16px;flex-direction:column;gap:20px;padding:32px 28px 28px;display:flex;position:relative}.pricingCardHighlight{border-color:#38bdf8;box-shadow:0 0 32px #38bdf81f}.pricingBadge{color:#060d17;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(140deg,#38bdf8,#0ea5e9);border-radius:999px;padding:4px 14px;font-size:.7rem;font-weight:800;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricingCardHeader{flex-direction:column;gap:6px;display:flex}.pricingPlanLabel{letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-size:.8rem;font-weight:700}.pricingPrice{align-items:baseline;gap:4px;display:flex}.pricingPriceAmount{color:#f1f5f9;font-size:2.8rem;font-weight:800;line-height:1}.pricingPricePer{color:#64748b;font-size:1rem}.pricingPriceSub{color:#38bdf8;margin:2px 0 0;font-size:.8rem}.pricingFeatureList{flex-direction:column;flex:1;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pricingFeatureList li{color:#cbd5e1;padding-left:20px;font-size:.9rem;position:relative}.pricingFeatureList li:before{content:"✓";color:#34d399;font-weight:700;position:absolute;left:0}.pricingCta{color:#e2e8f0;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.92rem;font-weight:600;transition:background .18s,border-color .18s;display:block}.pricingCta:hover:not(:disabled){background:#263548;border-color:#475569}.pricingCta:disabled{opacity:.55;cursor:not-allowed}.pricingCtaHighlight{color:#060d17;background:linear-gradient(140deg,#38bdf8,#0ea5e9);border-color:#0000}.pricingCtaHighlight:hover:not(:disabled){background:linear-gradient(140deg,#7dd3fc,#38bdf8)}.pricingSecureNote{text-align:center;color:#475569;margin:0;font-size:.82rem}.pricingPortalRow{justify-content:center;margin-top:14px;display:flex}.pricingPortalButton{color:#cbd5e1;letter-spacing:.01em;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:999px;padding:10px 16px;font-family:inherit;font-size:.84rem;font-weight:700;transition:background .18s,border-color .18s,color .18s}.pricingPortalButton:hover:not(:disabled){color:#e2e8f0;background:#1e293b;border-color:#475569}.pricingPortalButton:disabled{opacity:.55;cursor:not-allowed}.successPage{justify-content:center;align-items:center;min-height:80vh;padding:48px 24px;display:flex}.successCard{text-align:center;background:#131820;border:1px solid #1e293b;border-radius:20px;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:480px;padding:52px 40px 44px;display:flex}.successIcon{color:#fff;background:linear-gradient(140deg,#34d399,#059669);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;font-weight:700;display:flex;box-shadow:0 0 32px #34d39959}.successTitle{color:#f1f5f9;margin:0;font-size:2rem;font-weight:800}.successSubtitle{color:#94a3b8;margin:0;font-size:1rem;line-height:1.7}.successActions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.successCtaPrimary{color:#060d17;background:linear-gradient(140deg,#38bdf8,#0ea5e9);border-radius:10px;padding:12px 28px;font-size:.92rem;font-weight:700;text-decoration:none}.successCtaPrimary:hover{background:linear-gradient(140deg,#7dd3fc,#38bdf8)}.successCtaSecondary{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:12px 28px;font-size:.92rem;font-weight:600;text-decoration:none}.successCtaSecondary:hover{background:#263548}.successHomeLink{color:#475569;font-size:.82rem;text-decoration:none}.successHomeLink:hover{color:#94a3b8}
