:root{
  --bg:#f4fbf9;--surface:#ffffff;--surface-2:#e8f5f1;--surface-3:#d8eee7;--text:#102521;--muted:#4c665f;--line:#c8ded8;
  --accent:#087f68;--accent-2:#0a6959;--accent-soft:#d9f4ec;--accent-text:#ffffff;--danger:#a32020;--warning:#8a5b00;--shadow:0 12px 35px rgba(8,55,46,.10);
  --focus:#7a3ff2;--radius:18px;--radius-sm:12px;--max:1480px;
}
html[data-theme="dark"]{
  --bg:#061b18;--surface:#0b2e28;--surface-2:#103a33;--surface-3:#12443a;--text:#f1fbf8;--muted:#b8d8d1;--line:#28594f;
  --accent:#27d3a2;--accent-2:#5de6bd;--accent-soft:#123f37;--accent-text:#04221b;--danger:#ff8b8b;--warning:#ffd166;--shadow:0 14px 38px rgba(0,0,0,.25);--focus:#c7a7ff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--focus)!important;border-radius:8px}.skip-link{position:fixed;top:-100px;left:16px;background:var(--surface);padding:10px 14px;z-index:9999}.skip-link:focus{top:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.public-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--surface),var(--surface-2));border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:24px;z-index:20}.brand,.public-brand{display:flex;align-items:center;gap:11px;color:var(--text)}.brand-mark{font-size:2rem}.brand strong{display:block;font-size:1.18rem;letter-spacing:.04em}.brand small{display:block;color:var(--muted);line-height:1.1;font-size:.74rem}.side-nav{display:grid;gap:5px}.side-nav a{color:var(--muted);padding:10px 12px;border-radius:11px;font-weight:650}.side-nav a:hover,.side-nav a.active{background:var(--surface-3);color:var(--text)}.sidebar-note{margin-top:auto;padding:14px;background:var(--surface-3);border:1px solid var(--line);border-radius:14px;font-size:.78rem}.sidebar-note strong,.sidebar-note span{display:block}.sidebar-note span{color:var(--muted);margin-top:5px}.main-column{min-width:0;display:flex;min-height:100vh;flex-direction:column}.topbar{height:68px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 28px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.public-brand{font-size:1.05rem}.topbar-actions{display:flex;align-items:center;gap:10px}.theme-button,.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 11px;cursor:pointer}.theme-button{display:flex;gap:7px;align-items:center;font-weight:650}.icon-button{font-size:1.25rem}.mobile-menu{display:none}.user-chip{padding:7px 10px;background:var(--surface-2);border-radius:999px;font-size:.88rem}.page-wrap{width:100%;max-width:var(--max);margin:0 auto;padding:32px 32px 48px;flex:1}.footer{border-top:1px solid var(--line);padding:18px 32px;color:var(--muted);font-size:.82rem;display:flex;justify-content:space-between;gap:20px}.footer a{color:var(--muted);text-decoration:underline}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.page-heading h1,.hero-copy h1{margin:.25rem 0 .5rem;line-height:1.04;letter-spacing:-.035em}.page-heading h1{font-size:clamp(2rem,3.5vw,3.1rem)}.page-heading p{margin:0;color:var(--muted);max-width:780px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.lead{font-size:1.12rem;color:var(--muted);max-width:740px}.primary-button,.secondary-button,.ghost-button,.danger-button{border-radius:11px;padding:11px 15px;font-weight:760;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;border:1px solid transparent;transition:.18s ease}.primary-button{background:var(--accent);color:var(--accent-text)}.primary-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.secondary-button{background:var(--surface-3);color:var(--text);border-color:var(--line)}.ghost-button{background:transparent;color:var(--text);border-color:var(--line)}.danger-button{background:transparent;color:var(--danger);border-color:var(--danger)}.small{padding:8px 11px;font-size:.86rem}.full{width:100%}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button-row.compact{gap:7px}.inline-form{display:inline}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;min-height:610px;padding:28px 0 48px}.hero-copy h1{font-size:clamp(3rem,6vw,5.4rem);max-width:780px}.hero-copy .button-row{margin:28px 0 20px}.trust-row{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.87rem}.frame-visual{background:radial-gradient(circle at top right,var(--surface-3),var(--surface));border:1px solid var(--line);border-radius:28px;padding:17px;box-shadow:var(--shadow);overflow:hidden}.frame-visual svg{width:100%;height:auto;display:block}.visual-toolbar{display:flex;justify-content:space-between;color:var(--muted);font-size:.84rem;padding:4px 5px 10px}.status-dot{color:var(--accent)}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-strip div{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:12px}.metric-strip strong,.metric-strip span{display:block}.metric-strip strong{font-size:1.35rem}.metric-strip span{font-size:.75rem;color:var(--muted)}.section-block{padding:46px 0}.compact-section{padding:24px 0}.section-heading{margin-bottom:18px}.section-heading h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:.2rem 0}.section-heading.inline{display:flex;justify-content:space-between;align-items:end;gap:20px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-card,.tool-card,.stat-card,.case-card,.project-card,.panel,.legal-card,.auth-card,.auth-aside{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}.feature-card{padding:22px}.feature-icon{font-size:2rem}.feature-card h3{margin:10px 0 6px}.feature-card p,.tool-card p{margin:0;color:var(--muted)}.disclaimer-band{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1px solid var(--line);background:var(--surface-2);border-radius:14px}.disclaimer-band p{margin:0;flex:1}.auth-layout{max-width:1020px;margin:42px auto;display:grid;grid-template-columns:1fr .82fr;gap:18px;align-items:stretch}.auth-layout.solo{max-width:560px;grid-template-columns:1fr}.auth-card,.auth-aside{padding:34px}.auth-card h1{font-size:2.4rem;margin:.3rem 0}.auth-card>p,.auth-aside p{color:var(--muted)}.title-icon{font-size:2.6rem}.title-icon.small-icon{font-size:2rem;display:block}.auth-aside{background:linear-gradient(145deg,var(--surface-2),var(--surface-3));display:flex;flex-direction:column;justify-content:center}.auth-aside>span{font-size:4rem}.stack-form{display:grid;gap:15px;margin-top:22px}.stack-form label,.input-grid label,.filter-bar label,.save-case-form label,.save-bar label{font-weight:700;font-size:.87rem;color:var(--text);display:grid;gap:6px}.stack-form small,.input-grid small{color:var(--muted);font-weight:500}.stack-form input,.input-grid input,.input-grid select,.input-grid textarea,.filter-bar input,.filter-bar select,.save-case-form input,.save-bar input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 11px}.input-grid textarea{resize:vertical;min-height:110px}.check-row{grid-template-columns:auto 1fr!important;align-items:flex-start}.check-row input{width:18px;height:18px;margin-top:3px}.form-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.88rem}.legal-scroll{white-space:pre-line;max-height:240px;overflow:auto;margin-top:10px;padding:12px;background:var(--surface);border-radius:10px;font-size:.78rem}.flash{max-width:900px;margin:0 auto 20px;padding:12px 15px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line);font-weight:650}.flash.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{padding:18px;display:grid;grid-template-columns:auto 1fr;column-gap:11px}.stat-card>span{font-size:1.8rem;grid-row:1/3}.stat-card strong{font-size:1.65rem;line-height:1}.stat-card small{color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tool-card{padding:18px;color:var(--text);display:block;transition:.18s ease}.tool-card:hover{transform:translateY(-2px);border-color:var(--accent)}.tool-card>span{font-size:2rem}.tool-card h3{margin:7px 0 4px}.tool-card.large{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;min-height:170px}.tool-card.large b{align-self:center;color:var(--accent)}.feature-grid.four .tool-card{min-height:140px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:660px;background:var(--surface)}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2)}tr:last-child td{border-bottom:0}.table-link{font-weight:700}.empty-state{padding:38px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;background:var(--surface)}.empty-state>span{font-size:3rem}.workspace-grid,.content-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px}.panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.panel-heading h2{margin:0;font-size:1.17rem}.pill,.count-badge,.difficulty{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--surface-3);color:var(--text);font-size:.73rem;font-weight:760;border:1px solid var(--line)}.pill.good{background:var(--accent-soft);color:var(--text)}.difficulty.advanced,.difficulty.expert{background:color-mix(in srgb,var(--warning) 15%,var(--surface))}.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.span-2{grid-column:span 2}.form-actions{display:flex;gap:9px;margin-top:4px}.results-panel{min-width:0}.results-placeholder{min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);padding:30px}.results-placeholder>span{font-size:3rem}.results-placeholder h3{color:var(--text);margin:8px 0}.result-summary{padding:13px 14px;background:var(--accent-soft);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;font-weight:750}.result-map{display:grid;gap:8px}.result-row{display:grid;grid-template-columns:minmax(145px,.42fr) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.result-row:last-child{border-bottom:0}.result-key{color:var(--muted);font-size:.82rem;font-weight:700}.result-value{min-width:0}.result-map.depth-1{background:var(--surface-2);padding:10px;border-radius:10px}.result-table{margin:5px 0}.raw-details{margin-top:15px}.raw-details summary{cursor:pointer;color:var(--accent);font-weight:700}.raw-details pre{white-space:pre-wrap;overflow:auto;background:#051512;color:#dffaf2;padding:13px;border-radius:10px;font-size:.76rem}.save-bar{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.engineering-note,.disclaimer-mini{margin-top:15px;padding:11px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:.78rem}.filter-bar{display:grid;grid-template-columns:1.3fr repeat(3,1fr) auto auto;gap:9px;align-items:end;background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:14px;margin-bottom:16px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.case-card{padding:17px;display:flex;flex-direction:column}.case-card h3{margin:9px 0 4px}.case-card>p{color:var(--muted);font-size:.88rem}.case-card .location{margin:.2rem 0}.case-meta{display:flex;justify-content:space-between;gap:8px}.case-facts{display:flex;gap:7px;flex-wrap:wrap;margin:auto 0 13px}.case-facts span{font-size:.73rem;background:var(--surface-2);padding:5px 7px;border-radius:7px}.pagination{display:flex;justify-content:center;gap:18px;align-items:center;margin-top:22px}.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.fact-grid div{padding:12px;background:var(--surface-2);border-radius:10px}.fact-grid small,.fact-grid strong{display:block}.body-copy{white-space:pre-line;color:var(--muted)}.learning-list{padding-left:20px}.learning-list li{margin-bottom:8px}.fact-list{display:grid}.fact-list>div{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.fact-list span{color:var(--muted)}.action-panel{margin-top:16px;display:grid;grid-template-columns:1fr .8fr;gap:20px;align-items:center}.save-case-form{display:grid;gap:9px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.project-card{padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.project-card>span{font-size:1.8rem}.project-card h3{margin:0}.project-card p{margin:2px 0;color:var(--muted)}.danger-zone{margin-top:18px;border:1px solid color-mix(in srgb,var(--danger) 60%,var(--line));border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;color:var(--danger)}.guide-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.guide-nav{position:sticky;top:92px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;display:grid}.guide-nav a{padding:9px 10px;border-radius:8px;color:var(--muted)}.guide-nav a:hover{background:var(--surface-2);color:var(--text)}.guide-article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.guide-article section{scroll-margin-top:90px;padding:10px 0 28px;border-bottom:1px solid var(--line)}.guide-article section:last-child{border-bottom:0}.guide-article h2{font-size:1.7rem}.guide-article h3{margin-top:22px}.callout{padding:13px 14px;background:var(--accent-soft);border-radius:11px;border:1px solid var(--line);margin:14px 0}.legal-card{max-width:1000px;margin:auto;padding:32px}.legal-card p{white-space:pre-line;color:var(--muted)}.muted{color:var(--muted)}
@media (max-width:1180px){.feature-grid{grid-template-columns:repeat(2,1fr)}.tool-grid,.case-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{grid-template-columns:repeat(2,1fr)}.filter-bar button,.filter-bar>a{align-self:end}.workspace-grid,.content-grid{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy h1{max-width:950px}.frame-visual{max-width:800px}.action-panel{grid-template-columns:1fr}}
@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:left .2s}.sidebar.open{left:0;box-shadow:10px 0 30px rgba(0,0,0,.3)}.mobile-menu{display:inline-flex}.page-wrap{padding:24px 16px 40px}.topbar{padding:0 16px}.page-heading{flex-direction:column}.stat-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.project-card{grid-template-columns:auto 1fr}.project-card .button-row{grid-column:1/-1}.guide-layout{grid-template-columns:1fr}.guide-nav{position:static;grid-template-columns:repeat(2,1fr)}.footer{padding:18px 16px}.theme-label,.user-chip{display:none}}
@media (max-width:560px){.feature-grid,.tool-grid,.case-grid,.stat-grid,.input-grid,.fact-grid,.filter-bar{grid-template-columns:1fr}.span-2{grid-column:span 1}.tool-card.large{grid-template-columns:auto 1fr}.tool-card.large b{grid-column:2}.hero-copy h1{font-size:3rem}.auth-layout{grid-template-columns:1fr;margin:18px auto}.auth-card,.auth-aside{padding:22px}.topbar-actions{gap:5px}.public-brand strong{display:none}.save-bar{grid-template-columns:1fr}.action-panel{padding:16px}.fact-list>div{grid-template-columns:1fr}.footer{flex-direction:column}.guide-nav{grid-template-columns:1fr}.section-heading.inline{align-items:flex-start;flex-direction:column}}
