:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:"Sora","Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;--bg:#050916;--bg-soft:#0a1228;--card:#0d1732;--card-2:#111f40;--line:#94a3b840;--text:#e8eefc;--muted:#a4b4da;--accent:#38bdf8;--body-bg:radial-gradient(circle at 12% 10%,#38bdf824,transparent 38%),radial-gradient(circle at 82% 24%,#0ea5e91f,transparent 42%),linear-gradient(160deg,#040816 0%,#09122a 52%,#0b1732 100%);--topbar-bg:#080e22d6;--topbar-border:#94a3b847;--panel-bg:#0a1228b3;--panel-border:#94a3b840;--button-bg:linear-gradient(180deg,#1a2b55,#122040);--button-border:#94a3b873;--button-border-hover:#7dd3fc8c;--button-text:#e8eefc;--input-bg:#0d1732;--input-border:#94a3b866;--input-placeholder:#8ba0ce;--search-bg:#070d1ef5;--search-item-hover:#38bdf81f;--switch-bg:#091025bf;--switch-border:#94a3b861;--switch-separator:#94a3b847;--switch-active:linear-gradient(180deg,#1b3263,#16305f);--stage-bg:linear-gradient(160deg,#0d1732e6,#0a132cc7);--stage-border:#94a3b838;--node-bg:linear-gradient(165deg,#122046ed,#0e1934f2);--node-bg-visited:linear-gradient(165deg,#183160ed,#101f42f2);--node-border:#94a3b847;--node-subtitle:#b8c6eb;--modal-bg:linear-gradient(160deg,#07122d,#0d1b3a);--modal-border:#94a3b852;--modal-header-border:#94a3b833}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{color:var(--text);background:var(--body-bg);font-family:Avenir Next,Nunito Sans,Trebuchet MS,sans-serif;transition:background .28s,color .28s}a{color:#7dd3fc}.pageShell{flex-direction:column;min-height:100vh;animation:.62s cubic-bezier(.2,.8,.2,1) both pageFadeIn;display:flex;overflow-x:hidden}.topBar{z-index:35;border:1px solid var(--topbar-border);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.95rem;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin:.85rem;padding:.85rem;transition:transform .22s,opacity .22s,background-color .25s,border-color .25s;display:flex;position:sticky;top:0}.topBar.isHidden{opacity:0;pointer-events:none;transform:translateY(calc(-100% - .95rem))}.titleBlock h1{letter-spacing:.01em;font-size:clamp(1rem,1.6vw,1.45rem);font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;margin:0;font-weight:800}.titleBlock p{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.topBarActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.authBox{border:1px solid var(--panel-border);background:#070d1eb8;border-radius:.6rem;align-items:center;gap:.45rem;padding:.28rem .5rem;display:inline-flex}.authEmail{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--muted);margin-right:auto;font-size:.78rem;overflow:hidden}.authLink{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);border-radius:.5rem;justify-content:center;align-items:center;padding:.34rem .6rem;font-size:.76rem;text-decoration:none;display:inline-flex}.topBarControlRow{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.zoomControls{align-items:center;gap:.35rem;margin-left:.12rem;padding:.12rem .22rem;display:inline-flex}.zoomControls button{min-width:2.5rem;padding:.44rem .52rem;font-size:.82rem;line-height:1}.topBar button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:.65rem;padding:.5rem .85rem}.topBar button:hover{border-color:var(--button-border-hover)}.legend{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.8rem;margin:0 .9rem .6rem;padding:.55rem .75rem;display:inline-flex}.legend span{color:#d8e2fb;align-items:center;gap:.4rem;font-size:.84rem;display:inline-flex}.bannerSwitch{border:1px solid var(--switch-border);background:var(--switch-bg);border-radius:.65rem;align-items:center;display:flex;overflow:hidden}.resetButton{white-space:nowrap}.bannerSwitch button{color:#d9e6ff;cursor:pointer;background:0 0;border:0;padding:.5rem .7rem;font-size:.82rem}.viewSwitchGroup{align-items:stretch;display:flex}.viewSwitchGroup button{min-width:5.3rem}.viewSwitchGroup button+button{border-left:1px solid var(--switch-separator)}.viewSwitchGroup button.active{background:var(--switch-active);color:var(--button-text)}.dot{border-radius:999px;width:11px;height:11px;display:inline-block}.dot.base{background:#5b6b94}.dot.visited{background:#38bdf8}.dot.read{background:#10b981;border:2px solid #e2e8f0}.searchBox{width:clamp(12.5rem,22vw,16rem);position:relative}.searchBox input{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);border-radius:.65rem;padding:.58rem .74rem}.searchBox input::placeholder{color:var(--input-placeholder)}.searchResults{z-index:55;border:1px solid var(--input-border);background:var(--search-bg);border-radius:.65rem;max-height:20rem;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + .34rem);left:0;right:0;overflow-y:auto;box-shadow:0 14px 28px #02061773}.searchResults li+li{border-top:1px solid var(--switch-separator)}.searchResults button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;padding:.64rem .74rem}.searchResults button:hover{background:var(--search-item-hover)}.searchResults button strong{display:block}.searchResults button span{color:var(--muted);margin-top:.12rem;font-size:.8rem;display:block}.levelSelector{border:1px solid var(--panel-border);background:#070d1ec7;border-radius:.65rem;align-items:center;gap:.45rem;padding:.42rem .52rem;display:inline-flex}.levelSelector label{color:var(--muted);white-space:nowrap;font-size:.75rem}.levelSelector select{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:.55rem;min-width:9rem;padding:.34rem .5rem;font-size:.78rem}.boardWrap{flex:1;min-height:0}.diagramWrap{flex:1;width:100%;min-height:0;position:relative}.diagramScroller{cursor:grab;height:100%;padding:.45rem .85rem 1.5rem;overflow:auto}.diagramScroller.isDragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.diagramCanvas{background:radial-gradient(circle at 14% 16%,#38bdf82e,#0000 32%),radial-gradient(circle at 82% 20%,#2dd4bf1f,#0000 30%),linear-gradient(135deg,#ffffff09 1px,#0000 1px) 0 0/44px 44px,linear-gradient(45deg,#ffffff05 1px,#0000 1px) 22px 22px/44px 44px,linear-gradient(165deg,#070f23,#0a1430 50%,#081027);border:1px solid #4755698c;border-radius:1.2rem;margin:0;animation:.86s cubic-bezier(.2,.8,.2,1) .12s both diagramReveal;position:relative;overflow:hidden;box-shadow:0 22px 50px #02061780,inset 0 1px #ffffff0d}.diagramZoomLayer,.diagramContentLayer{position:relative}.diagramSvg{pointer-events:none;position:absolute;inset:0}.diagramPath{fill:none;stroke-linecap:round}.diagramPath.backbone{stroke:#749cff94;stroke-width:2.8px}.diagramPath.stageToNode{stroke:#7d9cda6b;stroke-width:1.8px;stroke-dasharray:1 9}.diagramPath.primary{stroke:#6694ffad;stroke-width:2.4px}.diagramPath.selected{stroke:#38bdf8;stroke-width:3.3px;filter:drop-shadow(0 0 8px #38bdf86b)}.diagramSection{border:1px solid color-mix(in srgb,var(--cluster-color)42%,#94a3b83d);background:radial-gradient(circle at 12% 10%,color-mix(in srgb,var(--cluster-color)16%,transparent),transparent 44%),linear-gradient(165deg,#080f22b8,#060c1cc7);pointer-events:none;border-radius:1rem;position:absolute;box-shadow:inset 0 1px #ffffff0a}.diagramStage{color:#fff;letter-spacing:.01em;font-size:.95rem;font-weight:800;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;cursor:pointer;pointer-events:auto;background:linear-gradient(#1e40afdb,#3b82f6c7);border:1px solid #ffffff94;border-radius:.85rem;justify-content:center;align-items:center;gap:.55rem;padding:0;transition:transform .12s,box-shadow .12s;display:inline-flex;position:absolute;box-shadow:0 10px 20px #1e40af33}.diagramStage:hover{transform:translateY(-1px);box-shadow:0 14px 24px #1e40af3d}.stageBadge{text-align:center;background:var(--cluster-color);min-width:1.95rem;font-size:.74rem;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;border-radius:.44rem;padding:.16rem .34rem;font-weight:800}.diagramNode{isolation:isolate;border:1px solid #94a3b847;border-left:4px solid var(--cluster-color);color:#e8efff;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(16px)saturate(155%);background:linear-gradient(155deg,#ffffff08,#fff0 50%),linear-gradient(165deg,#081021e6,#060c19f7);border-radius:.82rem;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.32rem;padding:.72rem .75rem .68rem;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;position:absolute;overflow:hidden;box-shadow:0 14px 34px #02061785,inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0a}.diagramNode:before,.roadNode:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 14% 10%,#ffffff0f,#0000 26%),radial-gradient(circle at 86% 84%,#7dd3fc08,#0000 34%),linear-gradient(145deg,#ffffff08,#fff0 50%);position:absolute;inset:0}.diagramNode>*,.roadNode>*{z-index:1;position:relative}.diagramNode:hover{box-shadow:0 18px 36px #02061799,inset 0 1px 0 #ffffff14,0 0 0 1px color-mix(in srgb,var(--cluster-color)38%,transparent),0 0 24px color-mix(in srgb,var(--cluster-color)28%,transparent);transform:translateY(-1px)scale(1.01)}.diagramNode.selected{z-index:3;outline:3px solid #0ea5e9d1}.diagramNode.locked,.roadNode.locked{border-color:#f472b68c}.diagramNode.visited{background:linear-gradient(165deg,#0e2038f0,#091428fa)}.diagramNode.read{background:linear-gradient(155deg,#ffffff0a,#fff0 48%),linear-gradient(165deg,#0e4835f0,#0a3527fa);border-color:#10b981e0;box-shadow:0 12px 28px #10b98138,inset 0 1px #ffffff1a}.diagramNodeTitle{font-size:.98rem;font-weight:750;line-height:1.2;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif}.diagramNodeMeta{color:#9eb4dc;opacity:.96;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;min-height:1.976rem;font-size:.76rem;line-height:1.3;display:-webkit-box;overflow:hidden}.diagramNodeCluster{color:#eaf4ff;background:color-mix(in srgb,var(--cluster-color)50%,#070c1ce6);border-radius:.35rem;margin-top:0;padding:.14rem .42rem;font-size:.69rem}.diagramNodeBadges{flex-wrap:wrap;align-items:center;gap:.34rem;margin-top:auto;display:inline-flex}.diagramNodeBadges .nodeTierBadge{margin-top:0}.diagramTick{color:#fff;background:#0ea5e9;border:1px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;top:-.56rem;right:-.5rem;box-shadow:0 4px 10px #0ea5e959}.diagramTick.read{background:#16a34a}.boardScroller{height:100%;padding:.4rem .9rem 1.1rem;overflow:auto}.boardInner{max-width:1280px;margin:0 auto;padding:.1rem .2rem 1.6rem;position:relative}.boardLinks{pointer-events:none;z-index:0;position:absolute;inset:0}.boardPath{stroke:#93c5fd40;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-dasharray:5 5}.boardPath.emphasized{stroke:#38bdf8e0;stroke-width:2.5px;stroke-dasharray:none}.boardStages{z-index:1;flex-direction:column;gap:1rem;display:flex;position:relative}.stageSection{--cluster-color:var(--accent);border:1px solid var(--stage-border);border-left:3px solid var(--cluster-color);background:radial-gradient(circle at 12% 8%,#38bdf814,#0000 34%),radial-gradient(circle at 96% 92%,#3b82f60f,#0000 34%),linear-gradient(165deg,#070e1fe6,#050b19f5);border-radius:1rem;padding:.8rem;box-shadow:inset 0 1px #ffffff08}.stageHeader{align-items:center;gap:.75rem;margin-bottom:.72rem;display:flex}.stageNumber{text-align:center;color:#081122;background:var(--cluster-color);letter-spacing:.04em;border-radius:.5rem;min-width:2.35rem;padding:.32rem .45rem;font-weight:700}.stageHeader h2{font-size:1rem;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;margin:0;font-weight:800}.stageHeader p{color:var(--muted);font-size:.81rem;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;margin:.16rem 0 0;font-weight:600}.stageGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;display:grid}.roadNode{isolation:isolate;border:1px solid var(--node-border);border-left:3px solid var(--cluster-color);text-align:left;width:100%;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(16px)saturate(155%);background:linear-gradient(155deg,#ffffff08,#fff0 50%),linear-gradient(165deg,#081021e0,#060c19f5);border-radius:.78rem;flex-direction:column;gap:.32rem;padding:.62rem .66rem;transition:transform .13s,border-color .13s,box-shadow .13s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 26px #0206175c,inset 0 1px #ffffff14,inset 0 0 0 1px #ffffff08}.roadNode:hover{border-color:color-mix(in srgb,var(--cluster-color)52%,#7dd3fc8c);box-shadow:0 15px 30px #02061770,0 0 0 1px color-mix(in srgb,var(--cluster-color)34%,transparent),0 0 20px color-mix(in srgb,var(--cluster-color)22%,transparent);transform:translateY(-1px)}.roadNode.selected{border-color:#38bdf8eb;box-shadow:0 0 0 1px #38bdf8ad,0 12px 30px #0206176b}.roadNode.visited{background:linear-gradient(155deg,#ffffff08,#fff0 48%),linear-gradient(165deg,#0c1c34d1,#081224f2)}.roadNode.read{background:linear-gradient(155deg,#ffffff0a,#fff0 48%),linear-gradient(165deg,#0e4835eb,#0a3527fa);border-color:#10b981e0;border-right-style:solid;border-right-width:3px;box-shadow:0 10px 24px #10b98133}.nodeLockOverlay{text-shadow:0 6px 14px #0206179e;color:#f8fafc;z-index:2;pointer-events:none;justify-content:center;align-items:center;font-size:1.48rem;display:inline-flex;position:absolute;inset:0}.nodeTitle{font-size:.94rem;font-weight:700;line-height:1.26;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif}.nodeSubtitle{color:var(--node-subtitle);font-size:.78rem;line-height:1.32;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;font-weight:600}.nodeMeta{color:#9eb1de;align-items:center;gap:.34rem;margin-top:.2rem;font-size:.72rem;display:inline-flex}.nodeMeta i{background:var(--cluster-color);border-radius:999px;width:.5rem;height:.5rem}.nodeTierBadge{color:#dbe7ff;background:#0f172adb;border:1px solid #94a3b866;border-radius:.35rem;align-self:flex-start;align-items:center;margin-top:auto;padding:.14rem .42rem;font-size:.69rem;font-weight:700;line-height:1.2;display:inline-flex}.nodeTierBadge.tier-basic{color:#bbf7d0;background:#14532d75;border-color:#22c55e8c}.nodeTierBadge.tier-intermediate{color:#fde68a;background:#78350f70;border-color:#f59e0b94}.nodeTierBadge.tier-advanced{color:#fbcfe8;background:#8318436b;border-color:#f472b699}.modalOverlay{z-index:60;background:#020617cc;justify-content:center;align-items:center;padding:1rem;animation:.26s both overlayFadeIn;display:flex;position:fixed;inset:0}.modalCard{border:1px solid var(--modal-border);background:var(--modal-bg);border-radius:1rem;flex-direction:column;width:min(1120px,96vw);height:min(90vh,900px);animation:.32s cubic-bezier(.2,.8,.2,1) both modalRiseIn;display:flex;position:relative;overflow:hidden}.modalHeader{border-bottom:1px solid var(--modal-header-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.65rem;display:flex}.modalHeaderContent{min-width:0}.modalTitleRow{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.modalTitleBadges{flex-wrap:wrap;align-items:center;gap:.36rem;display:inline-flex}.modalSectionBadge{color:#bfdbfe;background:#0c4a6e7a;border:1px solid #7dd3fc75;border-radius:.35rem;align-items:center;padding:.14rem .42rem;font-size:.69rem;font-weight:700;line-height:1.2;display:inline-flex}.modalTitleBadges .nodeTierBadge{margin-top:0}.modalHeader h2{margin:0;font-size:clamp(1.05rem,2vw,1.4rem)}.modalHeader p{color:var(--muted);margin:.35rem 0 0}.modalHeader button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:.6rem;padding:.5rem .85rem}.badges{flex-wrap:wrap;gap:.45rem;margin-top:.46rem;display:flex}.badges span{background:#0f172ab8;border:1px solid #94a3b857;border-radius:.45rem;padding:.3rem .52rem;font-size:.75rem}.modalBody{padding:1.35rem 1.65rem 1.95rem;overflow-y:auto}.nodeSupportCta{text-align:center;color:#bfd4ffcc;margin:.9rem 0 0;font-size:.78rem;line-height:1.45}.nodeSupportCta a{color:#81c3fff2;text-underline-offset:2px;font-weight:600;text-decoration:underline}.nodeSupportCta a:hover{color:#a4d9ff}.premiumModal{width:min(760px,96vw);height:auto;max-height:min(90vh,920px)}.welcomeModal{width:min(760px,96vw);height:auto;max-height:min(90vh,780px)}.authChoiceModal{width:min(640px,96vw);height:auto;max-height:min(90vh,420px)}.welcomeBody p{color:#d9e6ff;margin:.28rem 0}.premiumBody h3{margin-top:0;margin-bottom:.4rem}.premiumBody p{color:#d9e6ff;margin:.28rem 0}.premiumActions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.9rem;display:flex}.primaryAction,.secondaryAction{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;min-height:40px;padding:.52rem .82rem;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.premiumActions .primaryAction,.premiumActions .secondaryAction{white-space:nowrap}.authError{color:#fda4af}.authSuccess{color:#86efac}.mdxContent h2{border-bottom:1px solid #94a3b833;margin-top:1.2rem;margin-bottom:.48rem;padding-bottom:.25rem}.mdxContent ul{padding-left:1.12rem}.mdxContent li{margin-bottom:.34rem}.nodeMediaSection{border-top:1px solid var(--panel-border);margin-top:1.3rem;padding-top:.95rem}.mediaGroup+.mediaGroup{margin-top:.8rem}.mediaGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;display:grid}.mediaList{grid-template-columns:1fr;gap:.5rem;display:grid}.mediaCard{border:1px solid var(--panel-border);background:#070d1eb8;border-radius:.7rem;padding:.55rem}.mediaCard img{border-radius:.55rem;width:100%;height:auto;display:block}.mediaCard figcaption{color:var(--muted);margin-top:.4rem;font-size:.78rem}.mediaFileList{padding-left:1rem}.mediaFileList li{margin-bottom:.35rem}.mediaFileList span{color:var(--muted);margin-left:.35rem}.nodeJump{color:#7dd3fc;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scrollTopButton{border:1px solid var(--button-border);background:var(--button-bg);width:2.7rem;height:2.7rem;color:var(--button-text);cursor:pointer;opacity:0;pointer-events:none;z-index:40;border-radius:999px;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;transition:opacity .18s,transform .18s,border-color .18s;display:inline-flex;position:fixed;bottom:1.1rem;right:1.05rem;transform:translateY(10px)scale(.95);box-shadow:0 10px 22px #02061770}.scrollTopButton.isVisible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scrollTopButton:hover{border-color:var(--button-border-hover)}.scrollTopButton:focus-visible{outline-offset:2px;outline:2px solid #7dd3fc}.scrollTopButton.scrollTopButtonInModal{z-index:3;position:absolute;bottom:1rem;right:1rem}.scrollTopButton.scrollTopButtonInDiagram{z-index:12;position:absolute;bottom:1rem;right:1rem}.helpFloatButton{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;z-index:40;border-radius:999px;justify-content:center;align-items:center;min-height:2.7rem;padding:.64rem .95rem;font-size:.82rem;font-weight:700;line-height:1;transition:border-color .18s,transform .18s;display:inline-flex;position:fixed;bottom:1.1rem;left:1.05rem;box-shadow:0 10px 22px #02061770}.helpFloatButton:hover{border-color:var(--button-border-hover)}.helpFloatButton:focus-visible{outline-offset:2px;outline:2px solid #7dd3fc}.helpModal{width:min(720px,96vw);height:auto;max-height:min(90vh,520px)}.helpBody p{color:#d9e6ff;margin:.28rem 0}.authPage,.adminPage{justify-content:center;align-items:flex-start;min-height:100vh;padding:1.2rem;display:flex}.authCard,.adminCard{border:1px solid var(--panel-border);background:#080e22db;border-radius:.95rem;width:min(1100px,96vw);padding:1rem}.authCard{width:min(520px,96vw)}.authForm{gap:.55rem;margin-top:.55rem;display:grid}.authForm input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:.55rem;padding:.55rem .65rem}.authForm button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);border-radius:.6rem;margin-top:.4rem;padding:.5rem .85rem}.authModeSwitch{border:1px solid var(--switch-border);background:var(--switch-bg);border-radius:.75rem;align-self:flex-start;width:fit-content;margin-top:.75rem;display:inline-flex;overflow:hidden}.authModeSwitch button{color:#d9e6ff;cursor:pointer;background:0 0;border:0;padding:.66rem .7rem .5rem;font-size:.82rem}.authBackLink{margin-top:.8rem;display:inline-block}.authInlineActions{margin-top:.8rem}.adminHeader{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.adminHeaderActions{align-items:center;gap:.5rem;display:inline-flex}.adminHeaderActions button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);border-radius:.55rem;padding:.4rem .7rem}.adminGrid{gap:.8rem;margin-top:.8rem;display:grid}.adminSection{border:1px solid var(--panel-border);background:#070d1eb8;border-radius:.85rem;padding:.7rem}.adminTableWrap{overflow-x:auto}.adminTable{border-collapse:collapse;width:100%;font-size:.82rem}.adminTable th,.adminTable td{vertical-align:top;border-bottom:1px solid #94a3b833;padding:.4rem .3rem}.adminActionsInline{gap:.35rem;display:inline-flex}.adminActionsInline button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);border-radius:.5rem;padding:.34rem .55rem}.monoText{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem}.adminForm{gap:.45rem;display:grid}.adminForm input,.adminForm select,.adminForm textarea{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:.5rem;padding:.44rem .55rem}.checkboxLabel{align-items:center;gap:.4rem;display:inline-flex}.adminForm button{border:1px solid var(--button-border);background:var(--button-bg);width:fit-content;color:var(--button-text);border-radius:.55rem;padding:.4rem .68rem}.adminList{margin:0;padding-left:1rem}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalRiseIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes diagramReveal{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.pageShell,.modalOverlay,.modalCard,.diagramCanvas{animation:none!important}.scrollTopButton{transition:none!important}}@media (max-width:960px){.topBar{gap:.65rem;margin:.65rem;padding:.7rem}.topBar.isHidden{transform:translateY(calc(-100% - .75rem))}.topBarActions{flex-direction:column;align-items:stretch;width:100%}.authBox{justify-content:flex-start;width:100%}.topBarControlRow{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%}.searchBox{width:100%}.levelSelector{justify-content:flex-start;width:auto;max-width:100%}.legend{margin:0 .65rem .55rem}.boardScroller{padding:.3rem .65rem .9rem}.bannerSwitch{flex:1;width:auto;min-width:0}.viewSwitchGroup{width:100%}.viewSwitchGroup button{flex:1;min-width:0}.resetButton{margin-left:auto}.zoomControls{display:none}.stageGrid{grid-template-columns:1fr}.boardLinks{display:none}.diagramScroller{padding:.3rem .65rem 1.1rem}.diagramCanvas{border-radius:.75rem}.modalCard{border-radius:.55rem;width:100%;height:100%}.welcomeModal{border-radius:.75rem;width:min(760px,96vw);height:auto;max-height:min(88vh,760px)}.modalHeader{flex-direction:column;align-items:stretch;padding:1.05rem 1.1rem}.modalBody{padding:1rem 1.1rem 1.35rem}.premiumActions{flex-direction:column;align-items:stretch}.primaryAction,.secondaryAction{text-align:center;width:100%}.scrollTopButton{width:2.55rem;height:2.55rem;bottom:.8rem;right:.75rem}.scrollTopButton.scrollTopButtonInModal,.scrollTopButton.scrollTopButtonInDiagram{bottom:.75rem;right:.75rem}.helpFloatButton{min-height:2.55rem;padding:.58rem .85rem;font-size:.78rem;bottom:.8rem;left:.75rem}.helpModal{border-radius:.75rem;width:min(760px,96vw);height:auto;max-height:min(88vh,620px)}}
