:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#e8f3ff 0,#f4f7fb 34%,#f4f7fb 100%)}button,input,select{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px);background:#0b1220;color:white;box-shadow:0 1px 0 rgba(255,255,255,.08);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#7dd3fc,#38bdf8);color:#082f49;font-weight:900}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{font-size:12px;color:#94a3b8;letter-spacing:.08em;text-transform:uppercase}.user-badge{font-size:13px;color:#cbd5e1;background:#131e31;border:1px solid #24324a;padding:8px 11px;border-radius:999px}.main{width:min(1440px,100%);margin:0 auto;padding:clamp(24px,4vw,52px)}.login-wrap{min-height:calc(100vh - 176px);display:grid;place-items:center}.login-card{width:min(500px,100%);background:white;border:1px solid #e3e9f2;border-radius:26px;padding:42px;box-shadow:0 24px 60px rgba(15,23,42,.10)}.login-card h1,.page-head h1{font-size:clamp(34px,4vw,54px);line-height:1.02;margin:8px 0 12px;letter-spacing:-.04em}.login-card p,.page-head p{color:#64748b;line-height:1.65}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#0284c7}.micro{font-size:12px;margin-top:18px}.primary,.danger-ghost,.text-button,.icon-button,.program-card{border:0;cursor:pointer}.primary{background:#0f172a;color:white;border-radius:12px;padding:11px 18px;font-weight:750;box-shadow:0 7px 20px rgba(15,23,42,.16)}.primary:hover{background:#1e293b}.primary.large{padding:14px 21px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}.program-card{display:flex;text-align:left;gap:18px;padding:24px;border:1px solid #e1e8f1;border-radius:20px;background:white;box-shadow:0 10px 30px rgba(15,23,42,.06);transition:.18s transform,.18s box-shadow}.program-card.active:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.10)}.program-card.muted{opacity:.62}.program-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:#e0f2fe;color:#075985;font-weight:900}.program-copy strong,.program-copy small,.program-copy em{display:block}.program-copy strong{font-size:20px;margin-bottom:5px}.program-copy small{color:#64748b;line-height:1.45}.program-copy em{margin-top:24px;color:#0284c7;font-style:normal;font-weight:700;font-size:13px}.text-button{background:none;padding:0;color:#64748b}.text-button:hover{color:#0f172a}.back{margin-bottom:20px}.cs-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}.sidebar-card,.panel{background:white;border:1px solid #e1e8f1;border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.045)}.sidebar-card{padding:16px;height:max-content;position:sticky;top:94px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 13px}.icon-button{background:#f1f5f9;border-radius:9px;width:34px;height:34px}.company-library{display:grid;gap:8px}.company-list-item{border:1px solid #e7edf4;background:#fafcff;border-radius:12px;padding:11px 12px;cursor:pointer}.company-list-item:hover{border-color:#bae6fd;background:#f0f9ff}.company-list-item strong,.company-list-item span{display:block}.company-list-item strong{font-size:13px}.company-list-item span{font-size:11px;color:#64748b;margin-top:3px}.empty-mini{font-size:12px;color:#94a3b8;padding:20px 6px}.workspace{display:grid;gap:18px}.panel{padding:24px}.panel-head,.progress-top,.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel h2{margin:4px 0 0;font-size:24px;letter-spacing:-.025em}.research-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}.field{display:grid;gap:7px}.field.wide,.form-actions.wide{grid-column:1/-1}.field span{font-size:12px;font-weight:750;color:#475569}.field input,.field select{width:100%;border:1px solid #dce4ed;background:#fff;border-radius:11px;padding:12px 13px;color:#172033;outline:none}.field input:focus,.field select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}.form-actions{padding-top:4px}.progress-card{border-color:#bae6fd}.progress-actions{display:flex;align-items:center;gap:12px}.elapsed{font-variant-numeric:tabular-nums;color:#64748b;font-size:13px}.danger-ghost{padding:8px 11px;border-radius:9px;color:#b91c1c;background:#fff1f2}.progress-track{height:9px;background:#eaf0f6;border-radius:999px;margin:22px 0 10px;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#0ea5e9,#38bdf8);transition:width .4s ease}.progress-meta{font-size:13px}.progress-message{color:#64748b;margin-bottom:0}.live-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.count-chip,.status-chip{border-radius:999px;padding:6px 9px;background:#f1f5f9;font-size:11px;color:#475569}.result-card{padding:0;overflow:hidden}.result-hero{padding:25px;border-bottom:1px solid #e7edf4;background:linear-gradient(135deg,#f8fbff,#eff8ff)}.result-hero-row{display:flex;justify-content:space-between;gap:20px}.result-hero h2{font-size:28px;margin:4px 0}.result-hero p{color:#64748b;margin:4px 0;line-height:1.55}.fit-badge{min-width:76px;height:76px;border-radius:18px;background:#0f172a;color:white;display:grid;place-items:center;text-align:center}.fit-badge strong{font-size:26px;line-height:1}.fit-badge span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#cbd5e1}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e7edf4;border-bottom:1px solid #e7edf4}.metric{background:white;padding:16px}.metric small,.metric strong{display:block}.metric small{color:#64748b;font-size:11px;margin-bottom:5px}.metric strong{font-size:14px}.result-section{padding:22px 25px;border-bottom:1px solid #e7edf4}.result-section:last-child{border-bottom:0}.result-section h3{font-size:14px;margin:0 0 13px}.contacts-table{width:100%;border-collapse:collapse}.contacts-table th,.contacts-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #edf1f5;font-size:12px;vertical-align:top}.contacts-table th{color:#64748b;font-weight:700}.contacts-table a{color:#0284c7;text-decoration:none}.error-box{padding:14px;border-radius:11px;background:#fff1f2;color:#9f1239;font-size:13px}.source-list{display:grid;gap:9px}.source-list a{font-size:12px;color:#0369a1;text-decoration:none}.source-list small{display:block;color:#64748b;margin-top:2px}.status-chip.good{background:#ecfdf5;color:#047857}.status-chip.warn{background:#fffbeb;color:#a16207}@media(max-width:900px){.cs-layout{grid-template-columns:1fr}.sidebar-card{position:static}.result-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.main{padding:22px 14px}.topbar{padding:0 16px}.research-form{grid-template-columns:1fr}.field.wide,.form-actions.wide{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.result-grid{grid-template-columns:1fr}.contacts-table{display:block;overflow-x:auto}.login-card{padding:30px 24px}}

/* Public RamBlock home — approved centered layout */
body:has(.public-home){background:radial-gradient(circle at 50% 7%,rgba(224,242,254,.88) 0,rgba(244,247,251,.25) 34%,rgba(244,247,251,0) 54%),#f4f7fb}
body:has(.public-home) .topbar{height:auto;padding:clamp(46px,6vh,72px) 20px 0;background:transparent;color:#172033;box-shadow:none;position:static;justify-content:center}
body:has(.public-home) .topbar .brand{gap:0;pointer-events:none}
body:has(.public-home) .topbar .brand-mark{width:150px;height:150px;border-radius:30px;background:linear-gradient(135deg,#7dd3fc,#38bdf8);color:#082f49;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:64px;font-weight:950;letter-spacing:-.11em;padding-right:.11em;box-shadow:0 14px 30px rgba(14,165,233,.22)}
body:has(.public-home) .topbar .brand>span:last-child,body:has(.public-home) .public-top-signin{display:none!important}
body:has(.public-home) .main.public-home{width:100%;min-height:0;padding:0 20px 54px;margin:0;display:block}
body:has(.public-home) .public-hero{width:min(760px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}
body:has(.public-home) .public-copy{display:contents}
body:has(.public-home) .public-accent,body:has(.public-home) .public-copy>.eyebrow{display:none!important}
body:has(.public-home) .public-copy h1{order:1;margin:30px 0 12px;line-height:1;font-size:0!important;color:#172033;letter-spacing:0;font-weight:850}
body:has(.public-home) .public-copy h1::after{content:"RamBlock Tools";font-size:clamp(42px,6vw,64px);line-height:1;letter-spacing:-.045em;color:#172033;font-weight:850}
body:has(.public-home) .public-copy p{order:2;max-width:650px;margin:0!important;font-size:0!important;line-height:1.55;color:#64748b}
body:has(.public-home) .public-copy p::after{content:"One man's attempt at making shockingly mediocre programming projects and potentially useful tools.";font-size:clamp(17px,2vw,21px);line-height:1.55;font-weight:400;color:#64748b}
body:has(.public-home) .public-ram-wrap{order:3;display:flex;justify-content:center;align-items:center;margin:28px 0 26px}
body:has(.public-home) .public-ram{display:block;width:min(320px,72vw);height:auto}
body:has(.public-home) .public-actions{order:4;display:flex;justify-content:center;align-items:center;margin:0;gap:0}
body:has(.public-home) .public-actions .primary{min-width:310px;min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:0 26px;border-radius:13px;color:#fff;background:linear-gradient(180deg,#2f8df5,#1473e6);box-shadow:0 10px 24px rgba(2,132,199,.23);text-decoration:none;font-size:17px;font-weight:800}
body:has(.public-home) .public-actions .primary::before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 1 1 4 0v2h-4V7Zm3 9.73V18h-2v-1.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
body:has(.public-home) .public-actions .primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(2,132,199,.28);filter:brightness(1.03);background:linear-gradient(180deg,#2f8df5,#1473e6)}
body:has(.public-home) .public-note{display:none!important}
body:has(.public-home)::after{content:"© 2017 - 2026 RamBlock Tools";position:fixed;left:0;right:0;bottom:10px;text-align:center;color:#94a3b8;font-size:11px;line-height:1.2;pointer-events:none}
@media(max-width:620px){body:has(.public-home) .topbar{padding-top:34px}body:has(.public-home) .topbar .brand-mark{width:124px;height:124px;border-radius:25px;font-size:53px}body:has(.public-home) .public-copy h1{margin-top:24px}body:has(.public-home) .public-ram-wrap{margin-top:24px}body:has(.public-home) .public-ram{width:min(290px,78vw)}body:has(.public-home) .public-actions .primary{min-width:min(310px,88vw)}}