@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap";:root{--bg: #081110;--bg-deep: #030606;--panel: rgba(9, 22, 20, .78);--panel-strong: rgba(15, 32, 29, .94);--text: #f2f4ea;--subtext: #9fb0a9;--muted: #64746e;--line: rgba(154, 255, 209, .18);--line-strong: rgba(154, 255, 209, .42);--accent: #8dffba;--accent-2: #96f4ff;--accent-warm: #f1e7a0;--danger: #ff9b84;--radius: 6px;--mono: "IBM Plex Mono", "Courier New", monospace;--sans: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;--grid-size: 80px;--fs-xs: clamp(.75rem, .7rem + .2vw, .82rem);--fs-sm: clamp(.85rem, .8rem + .2vw, .94rem);--fs-base: clamp(1rem, .95rem + .25vw, 1.12rem);--fs-md: clamp(1.1rem, 1rem + .4vw, 1.3rem);--fs-lg: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem);--fs-xl: clamp(2rem, 1.6rem + 2vw, 3.6rem);--fs-hero: clamp(2.6rem, 2rem + 3.5vw, 5.6rem);--space-section: clamp(64px, 8vw, 120px);--space-block: clamp(32px, 4vw, 56px);--space-element: clamp(16px, 2vw, 28px)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{background:var(--bg-deep);scroll-padding-top:90px}body{min-height:100vh;color:var(--text);font-family:var(--sans);font-size:var(--fs-base);line-height:1.7;letter-spacing:0;background:linear-gradient(rgba(150,244,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(150,244,255,.04) 1px,transparent 1px),radial-gradient(circle at 18% 12%,rgba(141,255,186,.13),transparent 30%),radial-gradient(circle at 88% 20%,rgba(150,244,255,.1),transparent 32%),linear-gradient(160deg,#07120f,#0c1b1b 48%,#030606);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto,auto,auto;overflow-x:hidden}body:before,body:after{position:fixed;inset:0;pointer-events:none;content:"";z-index:-1}body:before{background:linear-gradient(22deg,transparent 0 18%,rgba(150,244,255,.13) 18.1%,transparent 18.5% 100%),linear-gradient(148deg,transparent 0 35%,rgba(141,255,186,.11) 35.2%,transparent 35.7% 100%),linear-gradient(116deg,transparent 0 67%,rgba(255,255,255,.09) 67.2%,transparent 67.6% 100%);opacity:.45}body:after{background:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 3px);mix-blend-mode:soft-light;opacity:.28}main{width:min(1180px,92vw);margin:0 auto;padding:var(--space-block) 0 var(--space-section)}a{color:inherit}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.site-header{position:sticky;top:14px;z-index:20;width:min(1180px,92vw);margin:14px auto 0;border:1px solid var(--line);border-radius:999px;background:#070f0ed6;box-shadow:inset 0 1px #ffffff0a,0 0 0 1px #ffffff08,0 18px 55px #00000052;backdrop-filter:blur(14px)}.site-header__inner{display:flex;align-items:center;gap:18px;min-height:56px;padding:8px 14px 8px 18px}.brand{position:relative;color:var(--text);font-family:var(--mono);font-size:.95rem;font-weight:700;text-decoration:none;text-transform:uppercase}.brand:before{display:inline-block;width:8px;height:8px;margin-right:9px;border:1px solid var(--accent);background:var(--accent);box-shadow:0 0 18px #8dffbad9;content:""}nav{display:flex;gap:6px;margin-left:auto}nav a,.contact,.site-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--subtext);font-family:var(--mono);font-size:var(--fs-sm);text-decoration:none;text-transform:uppercase;border:1px solid transparent;border-radius:999px;padding:9px 14px;transition:border-color .2s ease,color .2s ease,background .2s ease}nav a:hover,nav a:focus-visible,.contact:hover,.contact:focus-visible,.site-footer a:hover,.site-footer a:focus-visible{color:var(--text);border-color:var(--line-strong);background:#8dffba14}.contact{margin-left:0;color:var(--accent);border-color:#8dffba52}.header-status{margin-left:8px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);opacity:.6;white-space:nowrap}.hero{position:relative;display:grid;gap:28px;min-height:360px;margin-top:var(--space-block);padding:clamp(36px,6vw,80px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(115deg,rgba(141,255,186,.08),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.045),transparent 60%),#050b0ac2;box-shadow:inset 0 0 0 1px #ffffff06,0 30px 80px #00000057;scroll-margin-top:80px}.hero:before,.hero:after,.section:before{position:absolute;pointer-events:none;content:""}.hero:before{inset:18px;border:1px solid rgba(141,255,186,.12)}.hero:after{right:6%;bottom:10%;width:42%;min-width:260px;aspect-ratio:1;border:1px solid rgba(150,244,255,.24);border-radius:50%;background:radial-gradient(circle,transparent 0 48%,rgba(150,244,255,.12) 49% 50%,transparent 51%),conic-gradient(from 130deg,transparent 0 32%,rgba(141,255,186,.24) 34% 38%,transparent 40% 100%);opacity:.35}.hero--home{grid-template-columns:1fr;grid-template-rows:auto auto;align-items:stretch;min-height:auto}.hero__headline{grid-column:1 / -1;position:relative;z-index:1}.hero__body{display:grid;grid-template-columns:1fr minmax(280px,.6fr);align-items:start;gap:28px}.hero__copy,.hero-panel{position:relative;z-index:1}.kicker{margin:0 0 16px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;font-size:var(--fs-hero);font-weight:900;line-height:1.08;letter-spacing:0}.hero-br{display:block}@media(min-width:1400px){.hero-br{display:inline}}.hero:not(.hero--home) h1{font-size:var(--fs-xl)}.lead,.hero p,.section p,.content p{color:var(--subtext);line-height:1.9}.hero .lead{max-width:650px;margin-top:22px;font-size:var(--fs-md)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 17px;color:#02120d;font-family:var(--mono);font-size:var(--fs-sm);font-weight:700;text-decoration:none;text-transform:uppercase;border:1px solid var(--accent);border-radius:2px;background:var(--accent);box-shadow:0 0 24px #8dffba33;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.btn:before{margin-right:12px;content:">"}.btn:hover,.btn:focus-visible{transform:translateY(-1px);box-shadow:0 0 32px #8dffba59}.btn--ghost{color:var(--text);background:transparent}.btn--ghost:hover,.btn--ghost:focus-visible{background:#8dffba1a;border-color:var(--accent)}.hero-panel{min-height:280px;align-self:stretch;border:1px solid rgba(150,244,255,.22);background:linear-gradient(rgba(150,244,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(150,244,255,.055) 1px,transparent 1px),#0308088f;background-size:36px 36px;box-shadow:inset 0 0 38px #8dffba0e;backdrop-filter:blur(6px)}.hero-panel__bar{display:flex;justify-content:space-between;border-bottom:1px solid rgba(150,244,255,.2);padding:12px 14px;color:var(--accent-warm);font-family:var(--mono);font-size:var(--fs-xs)}.hero-panel__grid{display:flex;flex-direction:column}.hero-panel__row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(150,244,255,.12);padding:13px 14px;font-family:var(--mono);font-size:var(--fs-xs)}.hero-panel__row:last-child{border-bottom:0}.hero-panel__row span:first-child{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.status-dock{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(150,244,255,.2)}.status-dock span{padding:16px 12px;color:var(--text);font-family:var(--mono);font-weight:700;font-size:var(--fs-xs);text-align:center;border-right:1px solid rgba(150,244,255,.16)}.status-dock span:last-child{border-right:0}.status-dock span small{display:block;margin-top:4px;color:var(--accent);font-size:var(--fs-lg)}.section{position:relative;display:grid;gap:18px;margin-top:var(--space-section);padding:var(--space-block) 0 0;border-top:1px solid var(--line);scroll-margin-top:80px}.section:before{top:-1px;left:0;width:92px;height:1px;background:var(--accent);box-shadow:0 0 20px #8dffba9e}.section>h2{margin:0;color:var(--text);font-size:var(--fs-lg);font-weight:800;letter-spacing:0}.section__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;border:1px solid var(--line);background:var(--line);box-shadow:0 0 0 1px #96f4ff14,0 8px 32px #00000026}.card{position:relative;min-height:240px;padding:clamp(24px,3vw,36px);overflow:hidden;border:1px solid rgba(150,244,255,.1);border-radius:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),#081210d9;backdrop-filter:blur(8px);transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.card:hover,.card:focus-within{border-color:var(--line-strong);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#0c1816e6;transform:translateY(-1px);box-shadow:inset 0 1px #96f4ff26,0 8px 32px #00000040}.card:after{position:absolute;right:18px;bottom:16px;width:44px;height:44px;border:1px solid rgba(150,244,255,.17);border-radius:50%;opacity:.4;content:""}.card--project[data-status=seed]{border-left:3px solid var(--accent-warm)}.card--project[data-status=prototype]{border-left:3px solid #dccbff}.card--project[data-status=testing]{border-left:3px solid var(--accent-2)}.card--project[data-status=live]{border-left:3px solid var(--accent)}.card--project[data-status=paused]{border-left:3px solid #ffc59c}.card--project[data-status=archived]{border-left:3px solid #b9c0bc}.card__index{display:block;margin-bottom:clamp(20px,2vw,32px);color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);text-transform:uppercase}.card__head{display:grid;gap:16px}.card__head h3,.card--log h3,.card h3{margin:0;font-size:clamp(1.15rem,1rem + .8vw,1.65rem);line-height:1.1}.card h3 a,.card--log a{color:var(--text);text-decoration:none}.card h3 a:hover,.card--log a:hover{color:var(--accent)}.summary,.card p{margin:var(--space-element) 0 0;color:var(--subtext);font-size:var(--fs-base);line-height:1.75}.meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);text-transform:uppercase}.meta span,.detail-meta span{border:1px solid rgba(150,244,255,.12);padding:5px 8px;background:#96f4ff09}.badge{width:fit-content;border:1px solid var(--line-strong);border-radius:999px;padding:6px 10px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-xs);background:#8dffba14;transition:box-shadow .2s ease}.badge:hover{box-shadow:0 0 8px currentColor}.badge.seed{color:var(--accent-warm);border-color:#f1e7a06b}.badge.prototype{color:#dccbff;border-color:#dccbff6b}.badge.testing{color:var(--accent-2);border-color:#96f4ff6b}.badge.live{color:var(--accent);border-color:#8dffba75}.badge.paused{color:#ffc59c;border-color:#ffc59c6b}.badge.archived{color:#b9c0bc;border-color:#b9c0bc52}.tag-list,.stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag{border:1px solid rgba(141,255,186,.24);border-radius:999px;padding:6px 10px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-xs);background:#8dffba0f}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;color:var(--subtext);font-family:var(--mono);font-size:var(--fs-sm)}.content{max-width:820px}.content h2{margin:2rem 0 .6rem;color:var(--text);font-size:clamp(1.3rem,1.1rem + 1vw,1.8rem);scroll-margin-top:80px}.content ul,.content ol{color:var(--subtext);line-height:1.85}.content li+li{margin-top:.45rem}.content pre{overflow:auto;padding:16px;color:var(--accent);border:1px solid var(--line);border-radius:var(--radius);background:#00000073}.prose-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--line);background:var(--line);counter-reset:flow}.prose-list li{min-height:138px;padding:clamp(24px,3vw,36px);color:var(--text);background:#050c0beb;counter-increment:flow}.prose-list li:before{display:block;margin-bottom:22px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;content:"0" counter(flow)}.step-note{display:block;margin-top:8px;color:var(--subtext);font-family:var(--mono);font-size:var(--fs-xs)}.back{display:inline-flex;width:fit-content;margin-top:22px;color:var(--accent);font-family:var(--mono);text-decoration:none;border-bottom:1px solid var(--accent)}.site-footer{width:min(1180px,92vw);margin:0 auto 18px;overflow:hidden;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--radius);background:#030706e0;backdrop-filter:blur(10px);box-shadow:0 -1px #8dffba14}.site-footer:before{display:block;padding:24px 18px 0;color:#8dffba0f;font-size:clamp(4.2rem,16vw,13rem);font-weight:900;line-height:.75;letter-spacing:0;content:"ProtoPlant"}.site-footer__inner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:clamp(30px,4vw,48px) clamp(18px,3vw,32px) clamp(18px,2vw,24px)}.site-footer span{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:var(--fs-sm)}@media(max-width:860px){main,.site-header,.site-footer{width:min(100% - 24px,1180px)}.site-header{border-radius:var(--radius)}.site-header__inner{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 16px}nav{flex-wrap:wrap;margin-left:0}.hero__body{grid-template-columns:1fr}.hero-panel{min-height:auto}.section__cards{grid-template-columns:1fr}.site-footer span{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
