@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_788ee534-module__xcRMiq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_788ee534-module__xcRMiq__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--bg:#0c1118;--bg-elevated:#131a23;--bg-muted:#1a222d;--border:#232d3a;--border-strong:#2f3b4a;--text:#e6eaef;--text-secondary:#94a2b1;--text-tertiary:#7e8b99;--accent:#b87333;--accent-hover:#d08a45;--accent-muted:#b8733321;--accent-subtle:#b8733314;--accent-ring:#b873334d;--info:#4f7da8;--warn:#c99a2e;--radius:4px;--radius-lg:8px;--maxw:1080px;--shadow-focus:0 0 0 3px var(--accent-ring);--shadow-raised:0 1px 2px #0006;--font-display:"IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--ink:var(--text);--muted:var(--text-secondary);--muted-light:var(--text-tertiary);--line:var(--border);--paper:var(--bg);--paper-shade:var(--bg-muted);--accent-deep:var(--accent-hover);--accent-bright:var(--accent-hover);--tint:#b8733321;--card:var(--bg-elevated)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}body:before{content:"";pointer-events:none;z-index:9999;opacity:.04;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0006 2px 4px);position:fixed;inset:0}a{color:inherit;text-decoration:none}ul{margin:0}.app-frame{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.topbar-inner{max-width:var(--maxw);width:100%;margin:0 auto;padding:0 24px}.topbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0c1118e6;position:sticky;top:0}.topbar-inner{align-items:center;gap:20px;min-height:58px;display:flex}.topbar-brand{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.topbar-mark{width:32px;height:32px;color:var(--accent);background:0 0;border:none;border-radius:50%;place-items:center;display:grid}.topbar-name{font-family:var(--font-body);letter-spacing:-.01em;color:var(--text);font-size:13px;font-weight:600}.topbar-nav{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.topbar-nav::-webkit-scrollbar{display:none}.topbar-link{font-family:var(--font-display);color:var(--text-secondary);white-space:nowrap;padding:6px 10px;font-size:14px;transition:color .12s}.topbar-link:hover{color:var(--accent-hover)}.topbar-link.muted{color:var(--text-tertiary)}.topbar-divider{background:var(--accent);width:2px;height:18px;margin:0 8px}.topbar-actions{flex-shrink:0}.btn{border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);height:34px;color:var(--bg);font-family:var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-secondary,.btn.ghost{background:var(--bg-elevated);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover,.btn.ghost:hover{background:var(--bg-muted);border-color:var(--border-strong)}.btn-sm{height:30px;padding:0 10px;font-size:12px}.btn svg{width:14px;height:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.block{width:100%}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:500}.promo-hero{padding:24px 0 40px;position:relative;overflow:hidden}.promo-hero:before{content:"";pointer-events:none;background:conic-gradient(#0000 0deg 20deg,#b8733314 20deg 40deg,#0000 40deg 60deg,#b8733314 60deg 80deg,#0000 80deg 100deg,#b8733314 100deg 120deg,#0000 120deg 360deg);animation:120s linear infinite starburst-spin;position:absolute;inset:-50%}@keyframes starburst-spin{to{transform:rotate(360deg)}}.promo-hero-inner{max-width:var(--maxw);grid-template-columns:1fr 1fr;align-items:center;gap:28px;margin:0 auto;padding:0 24px;display:grid;position:relative}@media (max-width:800px){.promo-hero-inner{grid-template-columns:1fr}}.promo-title-block{z-index:1}.promo-kicker{font-family:var(--font-display);color:var(--accent);margin:0 0 8px;font-size:18px}.promo-title{font-family:var(--font-display);color:var(--accent-hover);letter-spacing:.02em;margin:0;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.promo-subtitle{font-family:var(--font-display);color:var(--accent-hover);margin:12px 0 0;font-size:clamp(1.1rem,2.5vw,1.35rem);line-height:1.35}.promo-headline-roast{font-family:var(--font-display);letter-spacing:.08em;color:var(--accent);margin:16px 0 0;font-size:clamp(1rem,2.2vw,1.25rem)}.promo-body-line{color:var(--text-secondary);max-width:36rem;margin:10px 0 0;font-size:14px;line-height:1.55}.promo-quote{border:2px dashed var(--accent-hover);border-radius:var(--radius-lg);color:var(--text-secondary);background:#00000040;margin:20px 0 0;padding:14px 16px;font-size:13px;font-style:italic}.promo-quote strong{font-style:normal;font-family:var(--font-display);letter-spacing:.1em;color:var(--accent);margin-bottom:6px;font-size:10px;display:block}.promo-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.promo-poster{z-index:1;border:1px solid var(--accent-hover);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);position:relative;overflow:hidden}.promo-poster img{width:100%;height:auto;display:block}.promo-pitch{padding-top:8px}.pitch-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px;display:grid}.pitch-card{border:1px solid var(--accent-hover);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);background:#00000047;padding:18px}.pitch-card h3{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);margin:0;font-size:13px}.pitch-card p{color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.5}.saas-roast{border:2px dashed var(--accent);border-radius:var(--radius-lg);background:#b8733314;flex-wrap:wrap;justify-content:center;gap:10px;padding:14px 16px;display:flex}.saas-roast-loser{font-family:var(--font-display);color:var(--text-tertiary);opacity:.85;font-size:15px;text-decoration:line-through}.saas-roast-winner{font-family:var(--font-display);letter-spacing:.08em;color:var(--accent-hover);border:1px solid var(--accent-hover);background:#b873331f;border-radius:4px;padding:4px 10px;font-size:12px}.promo-section{max-width:var(--maxw);margin:0 auto;padding:0 24px 40px}.case-picker{gap:8px;display:grid}.case-picker input[type=search]{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);width:100%;height:34px;color:var(--text);font:inherit;padding:0 11px;font-size:13px}.case-picker input[type=search]:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.case-picker-results{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);max-height:232px;margin:0;padding:0;list-style:none;overflow-y:auto}.case-picker-results li+li{border-top:1px solid var(--border)}.case-picker-results button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 12px;font-size:13px;display:grid}.case-picker-results button:hover{background:var(--accent-subtle)}.case-picker-results button strong{font-family:var(--font-mono);color:var(--accent);grid-column:1;font-size:11px;font-weight:500}.case-picker-results button span{color:var(--text-tertiary);grid-area:1/2/span 2;align-self:center;font-size:11px}.case-picker-empty{color:var(--text-tertiary);padding:10px 12px;font-size:13px}.case-picker-selected{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-subtle);align-items:center;gap:8px;margin:0;padding:9px 12px;font-size:13px;display:flex}.case-picker-selected strong{font-family:var(--font-mono);color:var(--accent);font-size:11px}.case-picker-selected button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px}.page-foot-link{margin:18px 0 0;font-size:13px}.page-foot-link a{color:var(--accent)}.page-foot-link a:hover{color:var(--accent-hover)}.dashboard{padding:clamp(2rem,5vw,3.5rem) 0 clamp(2.5rem,6vw,4rem)}.dashboard-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px}.dashboard-head{gap:6px;margin-bottom:1.75rem;display:grid}.dashboard-head h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.5rem,3.4vw,1.9rem);font-weight:600}.dashboard-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin:0;font-size:11px;font-weight:500}.dashboard-lede{color:var(--text-secondary);max-width:620px;margin:0}.dashboard-groups{gap:20px;display:grid}.promo-section-head{text-align:center;margin-bottom:20px}.promo-section-head h2{font-family:var(--font-display);color:var(--accent-hover);margin:0;font-size:22px}.promo-section-head p{font-family:var(--font-display);color:var(--text-secondary);margin:8px 0 0;font-size:16px}.operative-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.operative-card{background:linear-gradient(145deg, var(--bg-elevated), var(--bg-muted));border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);gap:8px;padding:18px;transition:transform .12s,box-shadow .12s;display:grid;position:relative}.operative-card:hover{box-shadow:var(--shadow-raised);border-color:var(--accent);transform:translateY(-3px)rotate(-.5deg)}.operative-badge{font-family:var(--font-display);letter-spacing:.14em;color:var(--accent);font-size:9px}.operative-codename{font-family:var(--font-display);color:var(--accent-hover);font-size:22px;line-height:1.1}.operative-role{color:var(--text);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.operative-tagline{color:var(--text-secondary);font-size:13px;font-style:italic}.operative-go{font-family:var(--font-display);letter-spacing:.08em;color:var(--info);margin-top:4px;font-size:10px}.panel-group{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);overflow:hidden}.panel-group-head{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#b8733326,#b873331a);padding:14px 18px}.panel-group-head h2{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent-hover);margin:0;font-size:13px}.panel-group-head p{font-family:var(--font-display);color:var(--text-secondary);margin:4px 0 0;font-size:14px}.module-rows{flex-direction:column;display:flex}.module-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 18px;transition:background .1s;display:flex}.module-row:last-child{border-bottom:none}.module-row:hover{background:#b8733314}.module-row-icon{background:var(--bg-muted);border:1px solid var(--accent-hover);width:32px;height:32px;color:var(--accent-hover);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.module-row-icon svg{width:16px;height:16px}.module-row-main{flex:1;gap:2px;min-width:0;display:grid}.module-row-title{font-family:var(--font-display);color:var(--text);font-size:15px}.module-row-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.module-row-arrow{width:14px;height:14px;color:var(--accent);flex-shrink:0}.module-row-locked{cursor:default;opacity:.5}.module-row-locked:hover{background:0 0}.module-row-locked .module-row-icon{border-color:var(--border);color:var(--text-secondary)}.module-row-badge{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:9px}.app-footer{border-top:1px solid var(--border);background:var(--bg)}.app-footer-inner{min-height:48px;font-family:var(--font-display);color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:14px;display:flex}.app-footer-muted{font-family:var(--font-display);letter-spacing:.1em;color:var(--accent);font-size:10px}.error-panel{color:#fecaca;border-radius:var(--radius-lg);background:#7f1d1d66;border:1px solid #ff6b6b;margin:24px;padding:16px 20px}.error-panel ul{margin:8px 0 0;padding-left:18px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);flex-direction:column;gap:8px;padding:20px;display:flex}.card .ic{background:var(--bg-muted);border:1px solid var(--accent-hover);width:36px;height:36px;color:var(--accent-hover);border-radius:50%;place-items:center;display:grid}.card .ic svg{width:18px;height:18px}.card h3{color:var(--text);margin:4px 0 0;font-size:14px;font-weight:600}.card p{color:var(--text-secondary);margin:0;font-size:13px}.page{padding:clamp(2rem,5vw,3.5rem) 0 clamp(2.5rem,6vw,4rem)}.page-head{margin-bottom:1.75rem}.page-head h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.5rem,3.4vw,1.9rem);font-weight:600}.page-head .lede{color:var(--text-secondary);max-width:620px;margin:.65rem 0 0}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.panel.pad{padding:1.5rem}.form{gap:1rem;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field>.label,.label{color:var(--text);font-size:.85rem;font-weight:600}.input,input.input,textarea.input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;color:var(--text);background:var(--bg-muted);padding:.65rem .75rem;transition:border-color .15s,box-shadow .15s}.input:focus,input.input:focus,textarea.input:focus{border-color:var(--accent-hover);box-shadow:var(--shadow-focus);outline:none}textarea.input{resize:vertical}.honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}.form-msg{margin:0;font-size:.9rem;font-weight:600}.form-msg.error{color:#fca5a5}.form-msg.success{color:var(--info)}.callout{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);margin:0;padding:.85rem 1rem;font-size:.92rem;line-height:1.55}.callout.tint{border-color:var(--accent);color:var(--text);background:#b873331f}.callout.success{color:#bbf7d0;background:#1665344d;border-color:#4ade80}.callout code{font-family:var(--font-mono);font-size:.85em}.empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);padding:1.5rem}.empty h2{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.empty p{color:var(--text-secondary);margin:.5rem 0 0;line-height:1.55}.badge{border:1px solid var(--border);width:fit-content;color:var(--text-secondary);background:var(--bg-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge.in-stock{color:#bbf7d0;background:#16653466;border-color:#4ade80}.badge.low-stock{color:var(--accent-hover);border-color:var(--accent-hover);background:#b8733326}.badge.out-stock{color:var(--text-tertiary);background:var(--bg-muted);border-color:var(--border)}.catalog-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(1rem,3vw,2rem);margin-top:1.75rem;display:grid}.catalog-aside{align-self:start}.cat-nav{gap:.25rem;display:grid}.cat-link{border-radius:var(--radius);color:var(--text-secondary);padding:.5rem .65rem;font-size:.92rem;font-weight:500;transition:background .15s,color .15s;display:block}.cat-link:hover{background:var(--bg-muted);color:var(--text)}.cat-link.active{color:var(--accent-hover);background:#b8733326;font-weight:600}.product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;margin-top:1rem;display:grid}.product-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);color:inherit;grid-template-rows:auto 1fr auto;gap:.75rem;min-height:300px;padding:.9rem;transition:border-color .15s,box-shadow .15s;display:grid}.product-card:hover{border-color:var(--accent);box-shadow:var(--shadow-raised)}.product-thumb{aspect-ratio:1;border-radius:var(--radius);background:var(--bg-muted);color:var(--accent-hover);font-weight:700;font-family:var(--font-mono);place-items:center;display:grid}.product-card h3{color:var(--text);margin:0;font-size:1rem;font-weight:600;line-height:1.3}.price{color:var(--accent-hover);font-size:1.25rem;font-weight:700}.price-note{color:var(--text-secondary);margin-left:.35rem;font-size:.82rem}.product-detail{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;gap:clamp(1.5rem,4vw,3rem);margin-top:1.5rem;display:grid}.product-hero{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-muted);color:var(--accent-hover);font-size:3rem;font-weight:700;font-family:var(--font-mono);place-items:center;display:grid}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:1.5rem 0 0;display:grid}.spec dt{color:var(--text-secondary);margin:0;font-size:.8rem}.spec dd{color:var(--text);margin:.2rem 0 0;font-weight:600}.back-link{color:var(--text-secondary);font-size:.9rem;font-weight:600}.back-link:hover{color:var(--accent-hover)}.inline-link{color:var(--accent);font-weight:600}.inline-link:hover{color:var(--accent-hover)}.order-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);overflow:hidden}.order-row{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem;display:flex}.order-row:last-child{border-bottom:none}.order-total{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.icon-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-size:1rem;line-height:1}.icon-btn:hover{color:var(--text)}.tabs{gap:.4rem;display:flex}.tab{border-radius:var(--radius);font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.3rem .8rem;font-weight:500}.tab.active{color:var(--accent-hover);background:#b873331f;font-weight:600}.detail-dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:.75rem;margin:0;font-size:.9rem;display:grid}.detail-dl dt{color:var(--text-secondary)}.detail-dl dd{color:var(--text);margin:0;font-weight:600}.admin-bare{background:var(--bg);min-height:100vh}.admin-shell{background:var(--bg);min-height:100vh;display:flex}.admin-sidebar{background:var(--bg);color:#fff;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:14rem;padding:1rem .75rem;display:none}.admin-brand{color:var(--accent-hover);padding:.5rem .75rem 1rem;font-size:.95rem;font-weight:700;display:block}.admin-brand-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:.25rem;font-size:.65rem;display:block}.admin-brand.compact{padding:0}.admin-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.admin-nav-link{border-radius:var(--radius);color:#ffffffd1;padding:.45rem .75rem;font-size:.88rem;display:block}.admin-nav-link:hover,.admin-nav-link.active{color:var(--accent-hover);background:#b873331f}.admin-sidebar-foot{border-top:1px solid #ffffff1a;padding:1rem .75rem;font-size:.85rem}.admin-user{color:#ffffffbf;margin-bottom:.75rem;display:block}.admin-role{color:var(--accent)}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-mobile-bar,.admin-mobile-nav{background:var(--bg);color:#fff;display:flex}.admin-mobile-bar{justify-content:space-between;align-items:center;padding:.75rem 1rem}.admin-mobile-nav{border-top:1px solid #ffffff1a;gap:.75rem;padding:.5rem 1rem;overflow-x:auto}.admin-content{flex:1;width:100%;max-width:72rem;margin:0 auto;padding:2rem 1.25rem}.admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin-top:1.5rem;display:grid}.admin-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);padding:1.25rem}.admin-card-value{color:var(--accent-hover);font-size:2rem;font-weight:700}.admin-card-label{color:var(--text-secondary);margin-top:.35rem;font-size:.9rem}.admin-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);margin-top:1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;color:var(--text);padding:.75rem 1rem}.admin-table th{color:var(--text-secondary);font-size:.8rem;font-weight:600}.admin-table tr:last-child td{border-bottom:none}@media (min-width:768px){.admin-sidebar{display:flex}.admin-mobile-bar,.admin-mobile-nav{display:none}}
