:root{--bg: #2e4d72;--surface: #385878;--surface-hover: #426282;--border: #4a6e90;--border-accent: #6090b8;--blue-50: #f5faff;--blue-100: #daeeff;--blue-200: #b0d8f8;--blue-400: #e8f4ff;--blue-500: #c0e0ff;--blue-600: #90c0e8;--blue-700: #5898c8;--text: #f5faff;--text-muted: #b0cee8;--text-dim: #7aaaca;--accent-cf: #f6821f;--accent-astro: #bc52ee;--accent-gh: #58a6ff;--accent-tailwind: #38bdf8;--accent-node: #68a063;--accent-preact: #673ab8;--accent-supabase: #3ecf8e;--accent-resend: #818cf8;--accent-google: #ea4335;--mono: "JetBrains Mono", monospace;--sans: "IBM Plex Sans JP", sans-serif;--zen: "Zen Maru Gothic", sans-serif}.ts-page{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7;overflow-x:hidden;position:relative}.ts-page:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}.hero{padding:80px 40px 60px;text-align:center;position:relative}.hero:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent)}.hero-domain{font-family:var(--zen);font-size:3rem;font-weight:500;color:var(--blue-100);letter-spacing:-.02em;margin-bottom:12px}.hero-sub{font-size:.95rem;color:var(--text-muted);font-weight:300;letter-spacing:.08em;text-transform:uppercase}.hero-date{margin-top:16px;font-family:var(--mono);font-size:.8rem;color:var(--text-dim)}.container{max-width:1100px;margin:0 auto;padding:0 32px}section{padding:64px 0;position:relative}section+section:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.section-label{font-family:var(--mono);font-size:.7rem;color:var(--blue-500);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.section-title{font-size:1.6rem;font-weight:600;color:var(--blue-50);margin-bottom:32px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.overview-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;transition:border-color .3s}.overview-card:hover{border-color:var(--border-accent)}.overview-card h3{font-size:.85rem;color:var(--text-muted);font-weight:400;margin-bottom:6px}.overview-card .value{font-family:var(--mono);font-size:1.05rem;color:var(--blue-100)}.overview-card .value a{color:var(--blue-200);text-decoration:none;border-bottom:1px solid var(--blue-700);transition:border-color .2s}.overview-card .value a:hover{border-color:var(--blue-200)}.stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stack-pill{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:14px;transition:all .3s;position:relative;overflow:hidden}.stack-pill:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.stack-pill .icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0}.stack-pill .info h4{font-size:.95rem;font-weight:600;color:var(--blue-50);margin-bottom:4px}.stack-pill .info p{font-size:.78rem;color:var(--text-muted);line-height:1.5}.stack-pill .tag{position:absolute;top:8px;right:10px;font-family:var(--mono);font-size:.6rem;color:var(--text-dim);letter-spacing:.05em}.icon-astro{background:#bc52ee26;color:var(--accent-astro)}.icon-preact{background:#673ab826;color:var(--accent-preact)}.icon-cf{background:#f6821f26;color:var(--accent-cf)}.icon-gh{background:#58a6ff26;color:var(--accent-gh)}.icon-tw{background:#38bdf826;color:var(--accent-tailwind)}.icon-node{background:#68a06326;color:var(--accent-node)}.icon-supabase{background:#3ecf8e26;color:var(--accent-supabase)}.icon-resend{background:#818cf826;color:var(--accent-resend)}.icon-google{background:#ea433526;color:var(--accent-google)}.icon-cursor{background:#c8c8c81f;color:#ccc}.icon-ts{background:#3178c626;color:#3178c6}.arch-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px 24px;overflow-x:auto}.arch-wrapper svg{display:block;margin:0 auto;max-width:100%;height:auto}.pages-table{width:100%;border-collapse:collapse}.pages-table th{text-align:left;font-family:var(--mono);font-size:.7rem;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;border-bottom:1px solid var(--border)}.pages-table td{padding:14px 16px;font-size:.88rem;border-bottom:1px solid var(--border);color:var(--text-muted)}.pages-table tr:hover td{color:var(--text);background:var(--surface-hover)}.pages-table .path{font-family:var(--mono);font-size:.82rem;color:var(--blue-200)}.pages-table .status{display:inline-block;font-family:var(--mono);font-size:.7rem;padding:2px 8px;border-radius:6px;letter-spacing:.03em}.status-live{background:#3f689033;color:var(--blue-200)}.status-wip{background:#f6821f26;color:var(--accent-cf)}.file-tree{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px 32px;font-family:var(--mono);font-size:.82rem;line-height:2;color:var(--text-muted);overflow-x:auto;white-space:pre}.file-tree .dir{color:var(--blue-200)}.file-tree .file{color:var(--text-dim)}.file-tree .note{color:var(--blue-500);font-style:italic}.env-table{width:100%;border-collapse:collapse;margin-top:8px}.env-table th{text-align:left;font-family:var(--mono);font-size:.7rem;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;border-bottom:1px solid var(--border)}.env-table td{padding:12px 16px;font-size:.85rem;border-bottom:1px solid var(--border);color:var(--text-muted)}.env-table .key{font-family:var(--mono);font-size:.8rem;color:var(--accent-supabase)}.env-table tr:hover td{background:var(--surface-hover)}footer{padding:40px 0;text-align:center;font-size:.75rem;color:var(--text-dim);font-family:var(--mono)}@media(max-width:700px){.hero{padding:48px 24px 40px}.hero-domain{font-size:2rem}.overview-grid{grid-template-columns:1fr}.stack-grid{grid-template-columns:1fr 1fr}.container{padding:0 20px}.arch-wrapper{padding:20px 12px}}
