:root{color-scheme:dark;--bg:#0a0c0f;--bg-soft:#0d1116;--surface:#11161d;--surface-strong:#151c24;--text:#f4f7f9;--muted:#9aa6b2;--muted-strong:#bcc5ce;--line:#26303a;--line-strong:#34414d;--accent:#8ee6d2;--accent-soft:#8ee6d21f;--success:#91e6a4;--max-width:1180px;--radius-sm:8px;--radius:14px;--radius-lg:20px;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:radial-gradient(circle at 78% 8%, #8ee6d212, transparent 28rem), linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px), var(--bg);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--sans);text-rendering:optimizelegibility;background-size:auto,48px 48px,48px 48px,auto;margin:0;line-height:1.65}body:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.4;pointer-events:none;z-index:20;height:1px;position:fixed;inset:0 0 auto}::selection{background:var(--accent);color:#07100e}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img,svg{max-width:100%;display:block}.shell{width:min(calc(100% - 40px), var(--max-width));margin-inline:auto}.site-header{z-index:10;backdrop-filter:blur(16px);background:#0a0c0fdb;border-bottom:1px solid #34414db8;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:28px;min-height:76px;display:flex}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{border:1px solid var(--line-strong);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font:700 .78rem/1 var(--mono);letter-spacing:.08em;border-radius:10px;place-items:center;display:grid}.brand-copy{gap:2px;display:grid}.brand-copy strong{letter-spacing:.09em;font-size:.93rem}.brand-copy small,.system-label,.project-id,.meta-label{color:var(--muted);font:600 .69rem/1.35 var(--mono);letter-spacing:.13em;text-transform:uppercase}.primary-nav{align-items:center;gap:6px;display:flex}.primary-nav a{color:var(--muted-strong);border-radius:8px;padding:9px 12px;font-size:.9rem}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--text);background:#ffffff0b}main{overflow:clip}.hero{padding:88px 0 70px}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:center;gap:clamp(42px,8vw,110px);display:grid}.hero-copy h1{letter-spacing:-.075em;max-width:880px;margin:16px 0 10px;font-size:clamp(3.7rem,9vw,8.4rem);line-height:.9}.hero-jp{color:var(--accent);letter-spacing:.06em;margin:0 0 18px;font-size:clamp(1.12rem,2vw,1.42rem);font-weight:700}.hero-description{max-width:650px;color:var(--muted-strong);margin:0;font-size:1.02rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border:1px solid var(--line-strong);border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:.9rem;font-weight:700;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover{border-color:var(--accent);transform:translateY(-2px)}.button-primary{background:var(--accent);color:#08110f;border-color:#0000}.button-secondary{background:#ffffff06}.lab-panel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(145deg,#ffffff0d,#ffffff04);position:relative;overflow:hidden}.lab-panel:after{content:"";background:var(--accent);opacity:.65;width:2px;position:absolute;inset:0 auto 0 0}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:54px;padding:0 20px;display:flex}.online{color:var(--success);font:700 .7rem/1 var(--mono);letter-spacing:.1em;align-items:center;gap:8px;display:inline-flex}.online:before,.status-badge span{content:"";background:currentColor;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 5px #91e6a414}.panel-body{padding:22px 20px 24px}.panel-body h2,.panel-body h3{margin:7px 0 10px;font-size:1.35rem}.panel-body>p{color:var(--muted);margin:0}.meta-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin-top:22px;display:grid}.meta-item{background:var(--surface);padding:14px}.meta-item strong{margin-top:5px;font-size:.85rem;display:block}.section{border-top:1px solid #26303ab3;padding:72px 0}.section-heading{max-width:710px;margin-bottom:30px}.section-heading h2{letter-spacing:-.04em;margin:10px 0 8px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05}.section-heading>p:last-child:not(.system-label){color:var(--muted);margin:0}.project-grid,.index-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-card,.index-card,.log-row,.page-intro-panel{border:1px solid var(--line);background:#11161dbf}.project-card{border-radius:var(--radius);flex-direction:column;min-height:310px;padding:22px;transition:transform .18s,border-color .18s,background .18s;display:flex}.project-card:hover{border-color:var(--line-strong);background:var(--surface-strong);transform:translateY(-3px)}.project-card-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.status-badge{color:var(--success);font:700 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;display:inline-flex}.status-badge span{width:6px;height:6px;box-shadow:none}.project-card h3{letter-spacing:-.025em;margin:34px 0 10px;font-size:1.55rem}.project-card>p{color:var(--muted);margin:0}.tag-list{flex-wrap:wrap;gap:7px;margin:20px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:var(--muted-strong);font:600 .68rem/1 var(--mono);border-radius:6px;padding:5px 8px}.card-link{color:var(--accent);align-items:center;gap:8px;margin-top:auto;padding-top:28px;font-size:.86rem;font-weight:700;display:inline-flex}.index-card{border-radius:var(--radius);min-height:170px;padding:22px}.index-card strong{margin:28px 0 7px;font-size:1.14rem;display:block}.index-card p{color:var(--muted);margin:0;font-size:.9rem}.page-hero{padding:72px 0 48px}.page-hero h1{letter-spacing:-.065em;margin:12px 0 14px;font-size:clamp(3rem,7vw,6.2rem);line-height:.95}.page-hero>.shell>p:last-child{max-width:680px;color:var(--muted-strong);margin:0;font-size:1rem}.log-list{gap:10px;display:grid}.log-row{border-radius:10px;grid-template-columns:130px 110px minmax(0,1fr);align-items:center;gap:18px;padding:18px 20px;display:grid}.log-row time,.log-category{color:var(--muted);font:600 .72rem/1.4 var(--mono)}.log-row strong{font-size:.96rem}.prose{max-width:760px}.prose h2{margin:44px 0 12px;font-size:1.6rem}.prose p,.prose li{color:var(--muted-strong)}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.site-footer{border-top:1px solid var(--line);background:#07090ccc}.footer-inner{justify-content:space-between;align-items:center;gap:28px;min-height:128px;display:flex}.footer-note,.footer-meta{color:var(--muted);margin:6px 0 0;font-size:.82rem}.not-found{place-items:center;min-height:calc(100vh - 205px);padding:80px 0;display:grid}.not-found-inner{text-align:center}.not-found-code{color:var(--accent);font:700 clamp(5rem, 18vw, 12rem)/.8 var(--mono);letter-spacing:-.08em}.not-found h1{margin:26px 0 10px;font-size:clamp(2rem,5vw,3.5rem)}.not-found p{max-width:520px;color:var(--muted);margin:0 auto 28px}@media (width<=900px){.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(4rem,15vw,7rem)}.project-grid,.index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.shell{width:min(calc(100% - 28px), var(--max-width))}.header-inner{align-items:center;min-height:70px}.brand-copy small{display:none}.primary-nav{gap:1px}.primary-nav a{padding:8px 7px;font-size:.78rem}.hero{padding:60px 0 54px}.hero-copy h1{font-size:clamp(3.8rem,20vw,5.8rem)}.project-grid,.index-grid{grid-template-columns:1fr}.project-card{min-height:270px}.log-row{grid-template-columns:1fr auto;gap:6px 14px}.log-row strong{grid-column:1/-1}.footer-inner{flex-direction:column;justify-content:center;align-items:flex-start;min-height:145px}}@media (width<=430px){.brand-mark{width:36px;height:36px}.brand-copy strong{font-size:.78rem}.primary-nav a{padding-inline:5px;font-size:.73rem}.hero-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
