@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-Book.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-BookItalic.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-MedItalic.otf)format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-BoldItalic.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-ExtraBold.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:P22 Mackinac Pro;src:url(/fonts/P22MackinacPro-ExBoldItalic.otf)format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Fira Code;src:url(/fonts/FiraCode-VariableFont_wght.ttf)format("truetype-variations");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Charter;src:url(/fonts/CharterRoman.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Charter;src:url(/fonts/CharterItalic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Charter;src:url(/fonts/CharterBold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Charter;src:url(/fonts/CharterBoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1e6;--bg-deep:#ece7d6;--panel:#fdfcf8;--panel-2:#e9e4d2;--border:#d9d3bd;--border-soft:#e2ddc9;--text:#2b271e;--muted:#726c5c;--faint:#9d977f;--accent:#c96442;--accent-strong:#b4542f;--accent-soft:#c964422e;--on-accent:#fff;--danger:#c94a3f;--danger-soft:#c94a3f1f;--success:#3fa860;--blue:#007bff;--blue-soft:#5c9bd624;--hover:#483e260f;--hover-strong:#483e261a;--shadow:0 8px 30px #5a503724;--shadow-soft:0 2px 14px #5a503717;--overlay:#3c362866;--contrast-bg:#37332a;--contrast-fg:#faf9f4;--font-ui:"P22 Mackinac Pro", Charter, serif;--font-mono:"Fira Code", "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--radius:14px;--ease-pop:cubic-bezier(.2, .9, .3, 1.2);--ease-soft:cubic-bezier(.25, .8, .25, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#262624;--bg-deep:#1f1e1b;--panel:#30302e;--panel-2:#393937;--border:#3e3e3b;--border-soft:#34342f;--text:#e8e6e0;--muted:#9d9a92;--faint:#6f6c64;--accent:#d97757;--accent-strong:#e18a6d;--accent-soft:#d9775729;--on-accent:#2a1a12;--danger:#e0655a;--danger-soft:#e0655a24;--success:#4ade80;--blue:#007bff;--blue-soft:#82b4eb2b;--hover:#fff1;--hover-strong:#ffffff1a;--shadow:0 8px 30px #00000059;--shadow-soft:0 2px 16px #00000047;--overlay:#0f0e0c99;--contrast-bg:#e8e6e0;--contrast-fg:#262624}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;transition:background .3s var(--ease-soft), color .3s var(--ease-soft);line-height:1.55}h1,h2,h3,h4{font-family:var(--font-ui);letter-spacing:-.01em;font-weight:700}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-strong);text-decoration:underline}.muted{color:var(--muted)}.site-wrap{max-width:1080px;margin:0 auto;padding:0 24px}a,button,.btn,.shell-tab,.nav-link,.nav-cta,.nx-btn,.appbar-btn,.dash-tile,.app-card,.price-card,.auth-input,.auth-btn,.dropdown-item,.pill-btn{transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s var(--ease-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.demo-layout{flex-direction:column;height:100vh;display:flex}.demo-appwrap{flex:1;min-height:0}.demo-approot,.demo-approot .app,.demo-approot .cm-root{height:100%}.demo-approot .lx-app{height:100%;overflow:auto}.nav-outer{justify-content:center;padding:22px 16px 0;display:flex}.nav-pill{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:999px;flex-wrap:wrap;align-items:center;gap:2px;max-width:calc(100vw - 24px);padding:7px 9px 7px 18px;display:flex}.nav-brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:6px;margin-right:12px;font-size:17px;font-weight:800;display:inline-flex}:root{--brand-mark:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%2050%20240%20240'%3E%3Cdefs%3E%3CradialGradient%20id='d'%3E%3Cstop%20offset='0'%20stop-color='%238A4308'/%3E%3Cstop%20offset='0.55'%20stop-color='%23C96A1E'/%3E%3Cstop%20offset='1'%20stop-color='%23F49B4C'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle%20cx='120'%20cy='170'%20r='120'%20fill='url(%23d)'/%3E%3Cg%20transform='translate(-1.317216292,-4.736591291)'%3E%3Cpath%20d='M171.75089485943323,236.44429734349228%20C172.59639016228454,242.46030872767346%20154.66075806494877,249.95426267793826%20131.69054085016256,253.1825163364408%20C108.72032363537636,256.4107699949434%2089.4138738258435,254.15084957783597%2088.56837852299219,248.1348381936548%20C87.72288322014089,242.1188268094736%20105.65851531747666,234.6248728592088%20128.62873253226286,231.39661920070625%20C151.59894974704906,228.1683655422037%20170.90539955658193,230.4282859593111%20171.75089485943323,236.44429734349228%20Z'%20fill='%23141c30'/%3E%3Cpath%20d='M84.39318536221987,218.42679664492584%20L167.5757016986609,206.73625579476334%20L171.75089485943323,236.44429734349228%20L88.56837852299219,248.1348381936548%20Z'%20fill='%23141c30'/%3E%3Cpath%20d='M88.77177688479424,220.84090837836266%20L164.0321488082409,210.26375237107277%20C168.40742809783956,209.6488469375915%20172.4527726306266,212.69723265159587%20173.0676780641079,217.07251194119453%20C173.68258349758918,221.4477912307932%20170.6341977835848,225.49313576358026%20166.25891849398613,226.10804119706154%20L90.99854657053947,236.68519720435143%20C86.62326728094081,237.3001026378327%2082.57792274815375,234.25171692382833%2081.96301731467247,229.87643763422966%20C81.34811188119119,225.501158344631%2084.39649759519557,221.45581381184394%2088.77177688479424,220.84090837836266%20Z'%20fill='%23f28c28'/%3E%3Cpath%20d='M86.11676529049873,144.46715161204338%20L145.53284838795662,136.11676529049873%20C154.28340696715395,134.88695442353617%20162.37409603272806,140.98372585154493%20163.60390689969063,149.73428443074226%20L171.1192545890808,203.20875921845436%20C172.34906545604338,211.9593177976517%20166.2522940280346,220.0500068632258%20157.50173544883728,221.27981773018837%20L98.0856523513794,229.63020405173302%20C89.33509377218206,230.86001491869558%2081.24440470660795,224.76324349068682%2080.01459383964539,216.0126849114895%20L72.4992461502552,162.5382101237774%20C71.26943528329264,153.78765154458006%2077.3662067113014,145.69696247900595%2086.11676529049873,144.46715161204338%20Z'%20fill='%238e96a5'/%3E%3Cpath%20d='M86.11676529049873,144.46715161204338%20L88.09730139374733,144.18880540132523%20C96.84785997294466,142.95899453436266%20104.93854903851877,149.05576596237142%20106.16835990548134,157.80632454156876%20L113.68370759487152,211.28079932928085%20C114.91351846183409,220.03135790847818%20108.81674703382532,228.1220469740523%20100.06618845462799,229.35185784101486%20L98.0856523513794,229.63020405173302%20C89.33509377218206,230.86001491869558%2081.24440470660795,224.76324349068682%2080.01459383964539,216.0126849114895%20L72.4992461502552,162.5382101237774%20C71.26943528329264,153.78765154458006%2077.3662067113014,145.69696247900595%2086.11676529049873,144.46715161204338%20Z'%20fill='%23aeb6c4'/%3E%3Cpath%20d='M77.23646545410156,131.57761062681675%20L150.51630127429962,121.27880083024502%20C155.43849000290152,120.58703228394148%20159.98950314084647,124.01646661803011%20160.68127168715,128.938655346632%20C161.37304023345354,133.8608440752339%20157.9436058993649,138.41185721317885%20153.02141717076302,139.10362575948238%20L79.74158135056496,149.40243555605412%20C74.81939262196306,150.09420410235765%2070.26837948401811,146.66476976826903%2069.57661093771458,141.74258103966713%20C68.88484239141104,136.82039231106523%2072.31427672549967,132.26937917312029%2077.23646545410156,131.57761062681675%20Z'%20fill='%23f28c28'/%3E%3Cpath%20d='M83.3654158115387,110.51969164609909%20L138.8204267024994,102.72599774599075%20C146.47716640369026,101.64991310467269%20153.55651825894859,106.98458729251297%20154.63260290026665,114.64132699370384%20L155.4676415324211,120.58293530344963%20C156.54372617373917,128.2396750046405%20151.2090519858989,135.31902685989883%20143.55231228470802,136.3951115012169%20L88.09730139374733,144.18880540132523%20C80.44056169255646,145.2648900426433%2073.36120983729813,139.930215854803%2072.28512519598007,132.27347615361214%20L71.45008656382561,126.33186784386635%20C70.37400192250755,118.67512814267548%2075.70867611034782,111.59577628741715%2083.3654158115387,110.51969164609909%20Z'%20fill='%231e2a44'/%3E%3Cpath%20d='M144.76203501224518,101.89095911383629%20C145.68439342791874,108.4538799370207%20131.3579364465155,115.89271309051523%20112.76299852132797,118.5060613155365%20C94.16806059614044,121.11940954055777%2078.34616591746646,117.91765110143797%2077.42380750179291,111.35473027825356%20C76.50144908611935,104.79180945506914%2090.82790606752258,97.35297630157461%20109.42284399271011,94.73962807655334%20C128.01778191789765,92.12627985153208%20143.83967659657162,95.32803829065188%20144.76203501224518,101.89095911383629%20Z'%20fill='%231e2a44'/%3E%3Cpath%20d='M140.800962805748,102.4476515352726%20C141.56959499577704,107.91675348045055%20128.89195059099802,114.21962970400727%20112.48465231060982,116.5255252122879%20C96.07735403022161,118.83142072056853%2082.15351189831915,116.2671398019952%2081.3848797082901,110.79803785681725%20C80.61624751826105,105.32893591163929%2093.29389192304006,99.02605968808257%20109.70119020342827,96.72016417980194%20C126.10848848381647,94.41426867152131%20140.03233061571893,96.97854959009464%20140.800962805748,102.4476515352726%20Z'%20fill='%2328c4d8'/%3E%3Cpath%20d='M132.8788183927536,103.56103637814522%20C133.41686018250937,107.38940245116783%20124.09915198532212,111.86373098261566%20112.06713299453259,113.55472105741501%20C100.03511400374305,115.24571113221435%2089.84506591104025,113.51301908696723%2089.30702412128448,109.68465301394463%20C88.76898233152872,105.85628694092202%2098.08669052871596,101.38195840947418%20110.1187095195055,99.69096833467484%20C122.15072851029504,97.99997825987549%20132.34077660299783,99.73267030512261%20132.8788183927536,103.56103637814522%20Z'%20fill='%23141c30'/%3E%3C/g%3E%3C/svg%3E")}.nav-brand:before{content:"";background:var(--brand-mark) no-repeat center / contain;width:26px;height:26px;display:inline-block}.nav-brand:hover{color:var(--text);text-decoration:none}.nav-link{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 13px;font-family:inherit;font-size:14.5px}.nav-link:hover{background:var(--hover);color:var(--text);text-decoration:none}.nav-cta{background:var(--contrast-bg);color:var(--contrast-fg);border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:9px 18px;font-size:14.5px;font-weight:500;display:inline-flex}.nav-cta:hover{color:var(--contrast-fg);filter:brightness(1.1);text-decoration:none}.nav-cta:active{transform:scale(.97)}.nav-cta .arrow{color:var(--accent)}.theme-btn{color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:8px;line-height:0;display:inline-flex}.theme-btn:hover{background:var(--accent-soft);color:var(--accent)}.tt{width:20px;height:20px;display:block}.tt-core{fill:currentColor}.tt-cut{transition:cx .5s cubic-bezier(.34,1.2,.64,1),cy .5s cubic-bezier(.34,1.2,.64,1)}.tt-rays{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;transition:transform .5s cubic-bezier(.34,1.2,.64,1),opacity .35s}:root[data-theme=dark] .tt-cut{cx:15px;cy:8px}:root[data-theme=dark] .tt-rays{opacity:0;transform:rotate(45deg)scale(.45)}@media (prefers-reduced-motion:reduce){.tt-cut,.tt-rays{transition:none}}.dropdown{position:relative}.dropdown-menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);z-index:50;width:320px;animation:menu-pop .28s var(--ease-pop) both;transform-origin:top;padding:8px;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%)}@keyframes menu-pop{0%{opacity:0;transform:translate(-50%)translateY(-10px)scale(.92)}}.nav-caret{transition:transform .25s var(--ease-pop);font-size:11px;display:inline-block}.dd-toggle.open .nav-caret{transform:rotate(-180deg)}.dropdown-item{border-radius:var(--r-md);color:var(--text);animation:dd-item-in .3s var(--ease-soft) both;padding:10px 12px;display:block}.dropdown-item:first-child{animation-delay:30ms}.dropdown-item:nth-child(2){animation-delay:70ms}.dropdown-item:nth-child(3){animation-delay:.11s}.dropdown-item:nth-child(4){animation-delay:.15s}.dropdown-item:nth-child(5){animation-delay:.19s}.dropdown-item:nth-child(6){animation-delay:.23s}.dropdown-item:nth-child(7){animation-delay:.27s}.dropdown-item:nth-child(8){animation-delay:.31s}.dropdown-item:nth-child(9){animation-delay:.35s}.dropdown-item:nth-child(10){animation-delay:.39s}.dropdown-item:nth-child(11){animation-delay:.43s}.dropdown-item:nth-child(12){animation-delay:.47s}@keyframes dd-item-in{0%{opacity:0;transform:translateY(-5px)}}.dropdown-item:hover{background:var(--hover);color:var(--text);text-decoration:none}.dropdown-item .di-name{font-weight:700}.dropdown-item .di-desc{color:var(--muted);font-size:13px;display:block}@media (max-width:720px){.dropdown-menu{width:auto;max-height:calc(100vh - 148px);position:fixed;top:128px;left:16px;right:16px;overflow-y:auto;transform:none}.nav-pill{border-radius:22px;justify-content:center;gap:4px 0;width:100%;padding:8px 10px}.nav-link{padding:7px 10px;font-size:14px}.nav-brand{margin-right:6px}.nav-cta{margin-left:0}.site-wrap{padding:0 16px}.dash-center .dash-grid .dash-tile{width:100%;max-width:280px}.shell-side{display:none}}.demo-mobile{flex-direction:column;display:flex}.demo-mobile-banner{z-index:300;background:var(--blue);color:#fff;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.demo-mobile .sb-mobile-fab{top:60px!important}.demo-mobile .sidebar.mobile-open,.demo-mobile .rail.mobile-open{top:52px!important}.demo-mobile .std-app,.demo-mobile .meridian-app,.demo-mobile .cm-root,.demo-mobile .lx-app,.demo-mobile .groups-panel,.demo-mobile .docket{top:46px!important}.demo-mobile-banner a{color:var(--blue);white-space:nowrap;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.demo-mobile-banner a:hover{text-decoration:none}.demo-mobile-body{flex:1;min-height:0}.demo-mobile-body .app,.demo-mobile-body .cm-root,.demo-mobile-body .lx-app{height:100%}.hero{text-align:center;animation:rise-in .7s var(--ease-soft) both;padding:96px 0 44px;position:relative}.hero-glow{pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center, var(--accent-soft), transparent 68%);filter:blur(6px);max-width:620px;height:380px;margin:0 auto;position:absolute;inset:-10% 0 auto}.site-mark{background:var(--brand-mark) no-repeat center / contain;width:104px;height:104px;animation:site-mark-in .9s var(--ease-pop) both;margin-bottom:14px;line-height:1;display:inline-block}@keyframes site-mark-in{0%{opacity:0;transform:translateY(14px)scale(0)}}.hero h1{letter-spacing:-.035em;margin:0 0 14px;font-size:clamp(48px,9vw,76px);font-weight:800;line-height:1.02}.hero h1 .dot{color:var(--accent)}.hero p.sub{color:var(--muted);max-width:620px;margin:0 auto;font-size:clamp(17px,2.6vw,21px);line-height:1.5}.hero-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}.app-cards{grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:20px;padding:44px 0 84px;display:grid}.app-card{--aa:var(--accent);--aa-soft:var(--accent-soft);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);border-color:color-mix(in srgb, var(--aa) 42%, var(--border));background-image:linear-gradient(155deg, var(--aa-soft), color-mix(in srgb, var(--aa) 6%, transparent) 100%);padding:24px;display:block;position:relative;overflow:hidden}.app-card:hover{border-color:var(--aa);color:var(--text);box-shadow:0 8px 30px var(--aa-soft);text-decoration:none;transform:translateY(-3px)}.app-card h3{margin:0 0 6px;font-size:20px}.app-card p{color:var(--muted);margin:0 0 16px;font-size:14px}.app-card .card-actions{flex-wrap:wrap;gap:10px;display:flex}.card-logo{border-radius:var(--r-md);background:var(--aa-soft);width:46px;height:46px;color:var(--aa);border:1px solid color-mix(in srgb, var(--aa) 40%, transparent);transition:transform .25s var(--ease-pop);justify-content:center;align-items:center;margin-bottom:14px;display:flex}:is(.app-card,.dash-tile):hover .card-logo{transform:translateY(-2px)scale(1.05)}.app-card .card-actions .btn.primary{background:var(--aa);border-color:var(--aa);color:#fff}.app-card .card-actions .btn.primary:hover{filter:brightness(1.08)}.aa-planner{--aa:#3c6db5;--aa-soft:#4c7dc438}.aa-coursemap{--aa:#a87c24;--aa-soft:#d9a03f3d}.aa-memory{--aa:#b0486b;--aa-soft:#d1698c38}.aa-equose,.aa-lubben{--aa:#c96442;--aa-soft:#c9644238}.aa-calc{--aa:#4a96be;--aa-soft:#4a96be38}.aa-canopy{--aa:#2f8f50;--aa-soft:#2f8f5038}.aa-meridian{--aa:#1f93a8;--aa-soft:#1f93a838}.aa-tempo{--aa:#7c5cc4;--aa-soft:#7c5cc438}.aa-campus{--aa:#1f7d4c;--aa-soft:#2f9e6338}:root[data-theme=dark] .aa-planner{--aa:#5c8fd6;--aa-soft:#5c8fd629}:root[data-theme=dark] .aa-coursemap{--aa:#d9a03f;--aa-soft:#d9a03f29}:root[data-theme=dark] .aa-memory{--aa:#d1698c;--aa-soft:#d1698c29}:root[data-theme=dark] .aa-equose,:root[data-theme=dark] .aa-lubben{--aa:#d97757;--aa-soft:#d9775729}:root[data-theme=dark] .aa-calc{--aa:#8fc6e4;--aa-soft:#8fc6e429}:root[data-theme=dark] .aa-canopy{--aa:#3fa860;--aa-soft:#3fa86029}:root[data-theme=dark] .aa-meridian{--aa:#4aafc2;--aa-soft:#4aafc229}:root[data-theme=dark] .aa-tempo{--aa:#8f6fd8;--aa-soft:#8f6fd829}:root[data-theme=dark] .aa-campus{--aa:#2f9e63;--aa-soft:#2f9e6329}.al{display:block}.al *{transform-box:fill-box;transform-origin:50%}@keyframes al-pop{0%{transform:scale(1)}45%{transform:scale(1.45)}to{transform:scale(1)}}@keyframes al-sway{0%,to{transform:rotate(0)}30%{transform:rotate(-6deg)}70%{transform:rotate(5deg)}}@keyframes al-eq{0%,to{transform:scaleY(1)}50%{transform:scaleY(.45)}}@keyframes al-draw{0%{stroke-dashoffset:46px}to{stroke-dashoffset:0}}@keyframes al-twinkle{0%,to{opacity:1;transform:scale(1)}25%{opacity:.65;transform:scale(1.3)}55%{opacity:1;transform:scale(.88)}80%{opacity:.85;transform:scale(1.12)}}@keyframes al-tilt{0%,to{transform:rotate(0)}40%{transform:rotate(-7deg)}75%{transform:rotate(4deg)}}:is(.app-card,.dash-tile):hover .al-planner .al-dot{animation:al-pop .55s var(--ease-pop)}:is(.app-card,.dash-tile):hover .al-coursemap .al-node{animation:al-pop .45s var(--ease-pop) both}:is(.app-card,.dash-tile):hover .al-coursemap .al-n2{animation-delay:.1s}:is(.app-card,.dash-tile):hover .al-coursemap .al-n3{animation-delay:.2s}.al-memory .al-cardf,.al-memory .al-cardb{transition:transform .3s var(--ease-pop)}:is(.app-card,.dash-tile):hover .al-memory .al-cardf{transform:translate(-1px,1px)rotate(-3deg)}:is(.app-card,.dash-tile):hover .al-memory .al-cardb{transform:translate(1.5px,-1px)rotate(4deg)}:is(.app-card,.dash-tile):hover .al-equose .al-star{animation:al-twinkle .6s var(--ease-pop)}.al-lubben .al-pageFlip{transform-origin:0;transition:transform .55s var(--ease-soft);transform:perspective(60px)rotateY(-176deg)}:is(.app-card,.dash-tile):hover .al-lubben .al-pageFlip{transform:perspective(60px)rotateY(0)}.al-calc .al-sqrt{stroke-dasharray:46}:is(.app-card,.dash-tile):hover .al-calc .al-sqrt{animation:al-draw .7s var(--ease-soft) both}:is(.app-card,.dash-tile):hover .al-calc .al-x{animation:al-pop .5s var(--ease-pop) .35s both}.al-canopy .al-crown{transform-origin:12px 14px}:is(.app-card,.dash-tile):hover .al-canopy .al-crown{animation:al-sway .9s var(--ease-soft)}.al-meridian .al-meridian-line,.al-meridian .al-equator-line{stroke-dasharray:40}:is(.app-card,.dash-tile):hover .al-meridian .al-globe{animation:al-tilt .6s var(--ease-soft)}:is(.app-card,.dash-tile):hover .al-meridian .al-meridian-line{animation:al-draw .6s var(--ease-soft) both}:is(.app-card,.dash-tile):hover .al-meridian .al-equator-line{animation:al-draw .6s var(--ease-soft) 80ms both}.al-tempo .al-bar{transform-origin:bottom}:is(.app-card,.dash-tile):hover .al-tempo .al-bar{animation:al-eq .55s var(--ease-soft) 2}:is(.app-card,.dash-tile):hover .al-tempo .al-b2{animation-delay:90ms}:is(.app-card,.dash-tile):hover .al-tempo .al-b3{animation-delay:.18s}.al-campus .al-pulse{stroke-dasharray:46}:is(.app-card,.dash-tile):hover .al-campus .al-pulse{animation:al-draw .8s var(--ease-soft) both}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--faint);color:var(--text);text-decoration:none}.btn:active{transform:scale(.97)}.btn.primary,.btn.orange{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover,.btn.orange:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);filter:brightness(1.03)}.pill-btn{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;display:inline-flex}.pill-btn:hover{background:var(--panel-2)}.pill-btn:active{transform:scale(.96)}.pill-btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pill-btn.accent:hover{filter:brightness(1.06)}.page{animation:rise-in .5s var(--ease-soft) both;padding:52px 0 84px}.page h1{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(32px,6vw,42px)}.app-detail-hero{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);border-color:color-mix(in srgb, var(--aa) 42%, var(--border));background-image:linear-gradient(155deg, var(--aa-soft), color-mix(in srgb, var(--aa) 6%, transparent) 100%);padding:32px;position:relative;overflow:hidden}.app-detail-hero .card-logo{width:64px;height:64px;margin-bottom:18px}.app-detail-cta .btn.primary{background:var(--aa);border-color:var(--aa);color:#fff}.app-detail-cta .btn.primary:hover{filter:brightness(1.08)}.app-detail-features{max-width:560px;margin-top:32px}.app-detail-features h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 14px;font-size:15px}.app-detail-features ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.app-detail-features li{align-items:flex-start;gap:10px;line-height:1.5;display:flex}.app-detail-features li:before{content:"";background:var(--aa);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.price-grid{grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:20px;margin-top:32px;display:grid}.price-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px}.price-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}.price-card h3{margin:0 0 8px;font-size:19px}.price-card.featured{border-color:var(--accent);box-shadow:0 6px 28px var(--accent-soft)}.price-card .amount{letter-spacing:-.02em;font-size:42px;font-weight:800}.price-card .amount small{color:var(--muted);font-size:15px;font-weight:400}.price-card ul{color:var(--muted);margin:14px 0 18px;padding-left:18px;font-size:14px;line-height:1.7}.price-card .amount .was{color:var(--muted);margin-right:8px;font-size:20px;font-weight:600;text-decoration:line-through}.price-card .edu-note{color:var(--muted);margin:2px 0 0;font-size:13px}.price-card .amount.contact{font-size:30px;line-height:1.5}.tour-tip{z-index:1000;background:var(--blue);color:#fff;border-radius:var(--radius);width:320px;animation:menu-pop-plain .2s var(--ease-pop);padding:15px 17px;font-size:14px;line-height:1.5;position:fixed;box-shadow:0 12px 38px #3c6eaa73}@keyframes menu-pop-plain{0%{opacity:0;transform:translateY(6px)scale(.97)}}.tour-tip p{margin:8px 0 12px}.tour-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tour-head b{font-family:var(--font-ui);letter-spacing:-.01em;font-size:15.5px;font-weight:700}.tour-tip .x{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.tour-tip .x:hover{opacity:1}.tour-foot{justify-content:space-between;align-items:center;display:flex}.tour-count{opacity:.82;font-size:12px}.tour-next{color:var(--blue);cursor:pointer;transition:transform .15s var(--ease-pop);background:#fff;border:none;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:14px;font-weight:700}.tour-next:hover{transform:scale(1.04)}.tour-next:active{transform:scale(.96)}.tour-arrow{border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;position:absolute}.tour-arrow.up{border-bottom:9px solid var(--blue);animation:1s ease-in-out infinite tour-bounce-up;top:-9px}.tour-arrow.down{border-top:9px solid var(--blue);animation:1s ease-in-out infinite tour-bounce-down;bottom:-9px}@keyframes tour-bounce-up{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes tour-bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.tour-ring{z-index:999;pointer-events:none;border-radius:var(--r-md);border:2px solid var(--blue);animation:1.4s ease-in-out infinite tour-pulse;position:fixed}@keyframes tour-pulse{0%,to{box-shadow:0 0 #d9775773}50%{box-shadow:0 0 0 7px #d977571f}}.overlay-paywall{background:var(--overlay);z-index:1100;animation:fade-in .18s var(--ease-soft);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.paywall{background:var(--panel);color:var(--text);border-radius:var(--r-lg);border:1px solid var(--border);width:100%;max-width:720px;box-shadow:var(--shadow);animation:modal-pop .22s var(--ease-pop);padding:30px}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}.paywall h2{margin-top:0;font-size:24px}.shell{flex-direction:column;height:100vh;display:flex}.shell-bar{border-bottom:1px solid var(--border);background:var(--panel);flex:none;align-items:center;gap:4px;padding:9px 14px;display:flex}.shell-tab{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:14px;font-weight:500}.shell-tab:hover{background:var(--hover);color:var(--text);text-decoration:none}.shell-tab.home{font-weight:700}.shell-tab.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.shell-tab.active:hover{background:var(--accent-strong);color:var(--on-accent)}.shell-div{background:var(--border);align-self:stretch;width:1px;margin:5px 8px}.shell-tab.add{color:var(--muted);font-size:16px;font-weight:700}.shell-spacer{flex:1}.shell-actions{align-items:center;gap:8px;display:flex}.shell-bar-centered{grid-template-columns:1fr auto 1fr;display:grid}.shell-bar-center{justify-content:center;align-items:center;gap:4px;display:flex}.shell-bar-side{align-items:center;gap:4px;min-width:0;display:flex}.shell-bar-side.right{justify-content:flex-end}.shell-body{flex:1;min-height:0;display:flex}.shell-side{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex:none;align-items:center;gap:8px;padding:12px 8px;display:flex;overflow-y:auto}.shell-side-app{width:40px;height:40px;color:var(--aa,var(--text));background:var(--aa-soft,transparent);border:1px solid #0000;border-radius:12px;place-items:center;transition:transform .15s,border-color .15s;display:grid}.shell-side-app:hover{border-color:var(--aa,var(--border));text-decoration:none;transform:translateY(-1px)}.shell-side-app.active{border-color:var(--aa);box-shadow:0 0 0 3px var(--aa-soft)}.shell-side-app.add{color:var(--muted);border:1px dashed var(--border);background:0 0;font-size:18px;font-weight:700}.shell-side-app.add:hover{color:var(--text);border-color:var(--faint)}.shell-icon{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:999px;padding:7px 11px;font-size:17px}.shell-icon:hover{background:var(--hover);color:var(--text);text-decoration:none}.shell-main{flex:1;min-height:0;overflow:auto}.app.embedded,.cm-root.embedded{height:100%}.lx-app.embedded{height:100%;overflow:auto}.appbar-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:14px;line-height:1.2;display:inline-flex}.appbar-btn:hover{border-color:var(--faint)}.appbar-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.appbar-btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.appbar-ic{flex:none}.cm-topbar-actions .cm-btn{align-items:center;gap:6px;display:inline-flex}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);background-clip:content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.dash{max-width:1080px;margin:0 auto;padding:48px 40px}.dash h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(30px,5vw,40px)}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:26px;display:grid}.dash-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:left;padding:22px;display:block}.dash-tile:hover{border-color:var(--accent);color:var(--text);box-shadow:var(--shadow-soft);text-decoration:none;transform:translateY(-3px)}.dash-tile h3{margin:10px 0 4px;font-size:18px}.dash-tile.locked{opacity:.72}.dash-tile.locked:hover{opacity:1}.dash-section{margin-top:40px}.dash-section:first-of-type{margin-top:26px}.dash-section .dash-grid{margin-top:14px}.dash-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin:0;padding-bottom:8px;font-size:13px;font-weight:600}.dash-center{text-align:center}.dash-center .dash-grid{flex-wrap:wrap;justify-content:center;display:flex}.dash-center .dash-grid .dash-tile{width:280px}.dash-center .dash-tile{text-align:center}.dash-wide{max-width:578px;margin:18px auto 0;display:block}.badge{background:var(--blue-soft);color:var(--blue);letter-spacing:.02em;border-radius:999px;padding:2px 11px;font-size:11.5px;font-weight:600;display:inline-block}.badge.orange{background:var(--accent-soft);color:var(--accent)}:where(.dash-tile){--aa:var(--accent);--aa-soft:var(--accent-soft)}.dash-tile .tile-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dash-tile h3{margin-top:12px}.dash-tile:not(.locked){border-color:color-mix(in srgb, var(--aa) 42%, var(--border));background-image:linear-gradient(155deg, var(--aa-soft), color-mix(in srgb, var(--aa) 6%, transparent) 100%)}.dash-tile:not(.locked):hover{border-color:var(--aa);box-shadow:0 8px 30px var(--aa-soft)}.dash-tile.locked{filter:grayscale();opacity:.55;transition:filter .25s,opacity .25s}.dash-tile.locked:hover{filter:grayscale(.35);opacity:.9}.shell-tab.appt{color:var(--aa);font-weight:600}.shell-tab.appt:hover{background:var(--aa-soft);color:var(--aa)}.shell-tab.appt.active{background:var(--aa);border-color:var(--aa);color:#fff}.shell-tab.appt.active:hover{background:var(--aa);color:#fff;filter:brightness(1.08)}.auth-wrap{max-width:420px;animation:rise-in .5s var(--ease-soft) both;margin:max(14vh,56px) auto 72px;padding:0 20px}.auth-wrap h1{text-align:center;letter-spacing:-.025em;margin-bottom:26px;font-size:34px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form label{font-size:13.5px;font-weight:600}.auth-input{border-radius:var(--r-md);border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);outline:none;padding:12px 14px;font-family:inherit;font-size:15px}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-btn{cursor:pointer;background:var(--accent);width:100%;color:var(--on-accent);border:none;border-radius:999px;padding:13px;font-family:inherit;font-size:16px;font-weight:600}.auth-btn:hover{background:var(--accent-strong)}.auth-btn:active{transform:scale(.99)}.auth-btn.google{background:var(--contrast-bg);color:var(--contrast-fg)}.auth-google-btn{cursor:pointer;border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.auth-google-btn:hover{border-color:var(--faint);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.auth-google-btn:active{transform:none}.auth-btn.google:hover{filter:brightness(1.1)}.auth-divider{color:var(--muted);align-items:center;gap:10px;font-size:14px;font-style:italic;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--border);flex:1}.auth-error{color:var(--danger);font-size:14px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px;display:grid}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.stat .n{letter-spacing:-.02em;font-size:36px;font-weight:800}.stat .l{color:var(--muted);font-size:14px}table.admin-table{border-collapse:collapse;width:100%;margin-top:20px;font-size:14px}table.admin-table th,table.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:9px 10px}table.admin-table th{color:var(--muted);font-weight:600}footer.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:48px;padding:30px 0;font-size:14px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--text)}.legal{max-width:760px}.legal h2{margin:32px 0 8px;font-size:20px}.legal p,.legal li{line-height:1.65}.legal ul{margin:8px 0;padding-left:22px}.legal li{margin:4px 0}.legal a{color:var(--text)}.connection{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.connection>div:first-child{flex:1;min-width:220px}.connection strong{font-size:15px}.connection p{margin:6px 0 0;font-size:13.5px}.nx{border-top:1px solid var(--border);max-width:1080px;margin-top:8px;padding-top:32px}.nx-head{text-align:center;margin-bottom:8px}.nx-head h2{letter-spacing:-.02em;margin:0 0 4px;font-size:28px}.nx-locked-note{padding-top:0}.nx-h2{margin:34px 0 6px;font-size:20px}.nx-card{cursor:default}.nx-card:hover{box-shadow:none;border-color:var(--border);transform:none}.nx-card h3{margin-top:0}.nx-kv{justify-content:space-between;padding:2px 0;font-size:14px;display:flex}.nx-kv span{color:var(--muted)}.nx-line{margin:4px 0;font-size:14px}.nx-chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.nx-chip{border:1px solid var(--border);border-radius:999px;padding:1px 10px;font-size:12px}.nx-transfers{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin-top:14px;display:grid}.nx-transfer{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.nx-transfer-head{margin-bottom:6px;font-size:14px}.nx-arrow{color:var(--accent);padding:0 4px;font-weight:700}.nx-warn{background:var(--accent-soft);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);margin:10px 0 18px;padding:11px 15px;font-size:14px}.nx-keys{margin-bottom:22px}.nx-keys h3{margin:14px 0 8px;font-size:16px}.nx-key{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:11px 15px}.nx-key-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nx-key-row code,.nx-editor textarea{font-family:var(--font-mono)}.nx-key-row code{background:var(--panel-2);border:1px solid var(--border);color:var(--accent);border-radius:6px;padding:1px 7px;font-size:13px}.nx-key-label{flex:1;min-width:160px;font-size:13px}.nx-key-size{font-size:12px}.nx-btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:5px 14px;font-size:13px}.nx-btn:hover:not(:disabled){border-color:var(--faint)}.nx-btn:disabled{opacity:.45;cursor:default}.nx-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.nx-btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.nx-editor{margin-top:10px}.nx-editor textarea{background:var(--panel-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);resize:vertical;outline:none;margin-bottom:8px;padding:10px;font-size:12.5px}.nx-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.nx-msg{color:var(--muted);font-size:13px}.nx-msg.err{color:var(--danger)}.sg-board{text-align:left;margin-top:18px}.sg-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.sg-tab{border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:13px;font-family:var(--font-ui);cursor:pointer;border-radius:999px;padding:5px 13px;text-decoration:none}.sg-tab:hover{background:var(--hover);color:var(--text);text-decoration:none}.sg-tab.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.sg-actions{margin:10px 0}.sg-add-btn{border:1px dashed var(--border);color:var(--accent);border-radius:var(--r-md);font-size:14px;font-family:var(--font-ui);cursor:pointer;background:0 0;padding:8px 16px}.sg-add-btn:hover{background:var(--accent-soft)}.sg-form{flex-direction:column;gap:10px;max-width:560px;margin:12px 0 20px;display:flex}.sg-textarea{resize:vertical}.sg-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.sg-row{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.sg-body{min-width:0}.sg-title{color:var(--text);font-size:16px;font-weight:700}.sg-title:hover{color:var(--accent)}.sg-desc{color:var(--muted);margin:4px 0 0;font-size:14px}.sg-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:flex}.sg-chip{background:var(--panel-2);border:1px solid var(--border-soft);color:var(--muted);border-radius:999px;padding:1px 9px;font-size:11.5px}.sg-chip.bug{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.sg-delete{cursor:pointer;font:inherit;color:var(--danger);opacity:.75;background:0 0;border:none;padding:0}.sg-delete:hover{opacity:1;text-decoration:underline}.ui-select{position:relative}.ui-select-btn{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.ui-select-menu{width:100%;min-width:220px;max-height:320px;position:absolute;top:calc(100% + 6px);left:0;right:auto;overflow-y:auto;transform:none}.ui-select-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none}.ui-select-item.selected{color:var(--accent);font-weight:700}.ui-confirm{max-width:400px}.ui-confirm p{margin:0 0 18px;font-size:15.5px}.ui-confirm-btns{justify-content:flex-end;gap:10px;display:flex}.sg-votes{flex-direction:column;align-items:center;gap:2px;min-width:34px;display:flex}.sg-arrow{cursor:pointer;color:var(--faint);background:0 0;border:none;border-radius:6px;padding:1px 6px;font-size:15px;line-height:1}.sg-arrow:hover:not(:disabled){background:var(--hover);color:var(--text)}.sg-arrow:disabled{cursor:not-allowed;opacity:.45}.sg-arrow.up.voted{color:#e0431f}.sg-arrow.down.voted{color:var(--blue)}.sg-score{color:var(--muted);font-size:14px;font-weight:700}.sg-score.up{color:#e0431f}.sg-score.down{color:var(--blue)}.sg-vote-err{color:var(--danger);text-align:center;font-size:11px}.sg-post-head{align-items:flex-start;gap:18px;display:flex}.sg-post-head h1{margin:0 0 8px}.sg-post-body{white-space:pre-wrap;margin-top:18px;font-size:16px}.blog-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.blog-item{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-md);color:var(--text);justify-content:space-between;align-items:baseline;gap:14px;padding:13px 16px;display:flex}.blog-item:hover{border-color:var(--accent);color:var(--text);text-decoration:none}.blog-item-title{font-size:16px;font-weight:700}.blog-item-date{color:var(--faint);white-space:nowrap;font-size:13px}.blog-prose{margin-top:18px;font-size:16px;line-height:1.7}.blog-prose h1,.blog-prose h2,.blog-prose h3{margin:26px 0 8px}.blog-prose pre{background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--r-md);font-family:var(--font-mono);padding:12px 14px;font-size:13.5px;overflow-x:auto}.blog-prose code{font-family:var(--font-mono);background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:.92em}.blog-prose pre code{background:0 0;padding:0}.blog-prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:12px 0;padding:2px 16px}.blog-prose img{border-radius:var(--r-md);max-width:100%}.blog-prose hr{border:none;border-top:1px solid var(--border-soft);margin:24px 0}.nav-stack{flex-direction:column;align-items:center;display:flex}.nav-stack .nav-pill{z-index:2;position:relative}.blog-notice{background:var(--blue);color:#fff;animation:notice-drop .4s var(--ease-soft) both;border-radius:0 0 20px 20px;justify-content:center;align-self:stretch;align-items:center;gap:14px;margin:-20px 26px 0;padding:26px 44px 9px;font-size:14px;font-weight:600;display:flex;position:relative}@keyframes notice-drop{0%{opacity:0;transform:translateY(-14px)}}.blog-notice-link,.blog-notice-link:hover{color:#fff}.blog-notice-x{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:13px;transition:color .16s;position:absolute;bottom:7px;right:14px}.blog-notice-x:hover{color:var(--danger)}.adm-tabs{gap:6px;margin:6px 0 22px;display:flex}.adm-editor{flex-direction:column;gap:10px;max-width:720px;display:flex}.adm-md{font-family:var(--font-mono);resize:vertical;font-size:13.5px}.adm-editor-btns{align-items:center;gap:10px;display:flex}.adm-row{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-md);align-items:center;gap:12px;margin-bottom:8px;padding:11px 14px;display:flex}.adm-row-main{flex:1;min-width:0}.adm-desc{margin-top:3px;font-size:13px}.pill-btn.danger{color:var(--danger);border-color:var(--danger-soft)}.pill-btn.danger:hover{background:var(--danger-soft)}
