:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#111827;--muted:#5b6574;--line:#dbe2ea;--paper:#fff;--wash:#edf2f7;--dark:#07111f;--dark-soft:#0f1c2f;--accent:#24d3a5;--accent-strong:#0d8f73;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.site-header,.brand,.nav-links,.hero-actions,.card-topline,.card-links,.tags,.site-footer{align-items:center;display:flex}.site-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f8fbe6;border-bottom:1px solid #11182714;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);position:sticky;top:0}.brand{gap:.65rem;font-weight:800;text-decoration:none}.brand-mark{width:2rem;height:2rem;color:var(--dark);background:var(--accent);border-radius:6px;place-items:center;font-size:.78rem;display:grid}.nav-links{color:var(--muted);gap:1rem;font-size:.95rem}.nav-links a,.card-links a,.text-link,.site-footer a{text-decoration:none}.nav-links a:hover,.card-links a:hover,.text-link:hover,.site-footer a:hover{color:var(--accent-strong)}.hero{color:#fff;background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px), radial-gradient(circle at 70% 20%, #24d3a538, transparent 32rem), var(--dark);background-size:36px 36px,36px 36px,auto,auto;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(2rem,6vw,5rem);min-height:min(760px,100vh - 65px);padding:clamp(3.5rem,8vw,7rem) clamp(1rem,4vw,3rem);display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;max-width:820px;position:relative}.eyebrow{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .8rem;font-size:.76rem;font-weight:800}.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{max-width:11ch;margin-bottom:1.25rem;font-size:clamp(3.5rem,10vw,7.5rem);line-height:.92}h2{margin-bottom:0;font-size:clamp(2rem,5vw,3.2rem)}h3{margin-bottom:.5rem;font-size:1.15rem}.lede{color:#ffffffc7;max-width:680px;margin-bottom:2rem;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.8rem}.button{border-radius:8px;justify-content:center;align-items:center;min-height:2.8rem;padding:.75rem 1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{color:var(--dark);background:var(--accent)}.button.secondary{color:#fff;background:#ffffff0a;border:1px solid #ffffff3d}.hero-visual{z-index:1;position:relative}.terminal-card{color:#b7c5d8;background:#0f1c2fd6;border:1px solid #ffffff24;border-radius:8px;grid-template-columns:repeat(3,.65rem) 1fr;gap:.8rem;padding:1rem;display:grid;box-shadow:0 24px 80px #00000059}.terminal-dot{aspect-ratio:1;background:var(--accent);border-radius:999px;width:.65rem}.terminal-card code{border-top:1px solid #ffffff14;grid-column:1/-1;padding-top:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem}.terminal-card code:first-of-type{color:#fff}.flagship{color:#fff;background:var(--dark-soft);grid-template-columns:minmax(0,.7fr) minmax(0,1fr) auto;align-items:end;gap:1.5rem;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem);display:grid}.flagship p{color:#ffffffbd;margin-bottom:0;line-height:1.6}.text-link{color:var(--accent);font-weight:800}.section-band{background:var(--wash);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}.section-heading,.project-grid,.state{max-width:1120px;margin-left:auto;margin-right:auto}.section-heading{margin-bottom:1.5rem}.state{border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:8px;padding:1rem}.state.error{color:#8f2020;border-color:#c74646}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-direction:column;min-height:240px;padding:1rem;display:flex}.card-topline{justify-content:space-between;gap:1rem}.project-card p{color:var(--muted);line-height:1.55}.status,.tag{border-radius:999px;padding:.28rem .55rem;font-size:.78rem;font-weight:800}.status{color:var(--accent-strong);background:#dff8f0}.tags{flex-wrap:wrap;gap:.4rem;margin-top:auto}.tag{color:var(--muted);background:#eef2f7}.card-links{min-height:1.5rem;color:var(--accent-strong);gap:.8rem;margin-top:1rem;font-weight:800}.card-links span{color:var(--muted);font-weight:600}.site-footer{color:var(--muted);background:var(--paper);justify-content:space-between;gap:1rem;padding:1.2rem clamp(1rem,4vw,3rem)}.site-footer span:last-child{gap:1rem;display:flex}.house-puzzle-header{background:#ffffffeb}.house-puzzle-tools{color:var(--muted);align-items:center;gap:.6rem;font-size:.9rem;font-weight:800;display:flex}.house-puzzle-tools select{border:1px solid var(--line);max-width:min(52vw,28rem);min-height:2.4rem;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:.45rem .6rem}.small-button{border:1px solid var(--line);min-height:2.4rem;color:var(--ink);background:var(--paper);font:inherit;cursor:pointer;border-radius:8px;padding:.45rem .72rem;font-weight:800}.small-button:hover:not(:disabled){border-color:var(--accent-strong)}.small-button:disabled{cursor:not-allowed;opacity:.45}.small-button.primary{border-color:var(--accent);background:var(--accent)}.small-button.danger{color:#991b1b}.house-puzzle-dialog{border:1px solid var(--line);width:min(92vw,34rem);color:var(--ink);border-radius:8px;padding:0}.house-puzzle-dialog::backdrop{background:#07111f59}.house-puzzle-dialog form{gap:1rem;padding:1.2rem;display:grid}.house-puzzle-dialog h2{margin:0;font-size:1.2rem}.house-puzzle-dialog label{color:var(--muted);gap:.35rem;font-size:.9rem;font-weight:800;display:grid}.house-puzzle-dialog input{border:1px solid var(--line);min-height:2.6rem;color:var(--ink);font:inherit;border-radius:8px;padding:.55rem .7rem;font-weight:600}.folder-picker-row{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;display:grid}.dialog-actions{justify-content:flex-end;gap:.6rem;display:flex}.house-puzzle-shell{padding:clamp(1.25rem,3vw,2rem) clamp(1rem,3vw,2rem) 3rem}.house-puzzle-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;max-width:1440px;margin:0 auto 1rem;padding-bottom:1rem;display:flex}.house-puzzle-top h1{max-width:none;color:var(--ink);margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.house-puzzle-summary{max-width:42rem;color:var(--muted);text-align:right;margin-bottom:.2rem;line-height:1.5}.house-puzzle-rows{gap:1rem;max-width:1440px;margin:0 auto;display:grid}.house-row{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:180px minmax(0,1fr);gap:1rem;padding:.8rem;display:grid}.house-block{align-content:start;gap:.6rem;display:grid}.house-block img,.wave-thumb img{object-fit:contain;background:#f8fafc;width:100%;display:block}.house-block img{border:1px solid var(--line);border-radius:6px;height:300px}.house-block h2{margin:0;font-size:1rem}.house-block span{color:var(--muted);font-size:.88rem}.wave-strip{gap:.75rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.wave-thumb{border:1px solid var(--line);background:#fff;border-radius:8px;flex:0 0 150px;overflow:hidden}.wave-thumb img{border-bottom:1px solid var(--line);height:220px}.wave-meta{gap:.16rem;padding:.55rem;display:grid}.wave-meta strong{font-size:.92rem}.wave-meta span{color:var(--muted);font-size:.8rem}@media (width<=820px){.hero,.flagship{grid-template-columns:1fr}.hero{min-height:760px}.site-footer{flex-direction:column;align-items:flex-start}}@media (width<=640px){.site-header{flex-direction:column;align-items:flex-start}.house-puzzle-tools{flex-wrap:wrap;align-items:stretch}.house-puzzle-tools select{max-width:none}.folder-picker-row{grid-template-columns:1fr}.house-puzzle-top{flex-direction:column;align-items:flex-start}.house-puzzle-summary{text-align:left}.house-row{grid-template-columns:1fr}.house-block{grid-template-columns:120px 1fr;align-items:end}.house-block img{height:180px}}
