:root{--paper:#16140f;--paper-raised:#211d16;--paper-sub:#1b1811;--sumi:#100e0a;--ink:#f1eadd;--ink-2:#c9c0b1;--ink-3:#a39a8b;--line:#342f26;--akane:#ee6b54;--akane-ink:#f4886f;--akane-tint:#ee6b541f;--accent:var(--akane);--aida:var(--akane);--aida-ink:var(--akane-ink);--aida-tint:var(--akane-tint);--rollect:var(--akane);--rollect-ink:var(--akane-ink);--rollect-tint:var(--akane-tint);--kryne:var(--akane);--kryne-ink:var(--akane-ink);--kryne-tint:var(--akane-tint);--font-display:"Shippori Mincho", "Times New Roman", serif;--font-body:"Zen Kaku Gothic New", "Inter", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", monospace;--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--s7:144px;--measure:760px;--wide:1100px;--radius:14px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.85}body[data-app=studio]{--accent:var(--akane)}body[data-app=aida]{--accent:var(--aida)}body[data-app=rollect]{--accent:var(--rollect)}body[data-app=kryne]{--accent:var(--kryne)}body[data-app=kagaribi]{--accent:var(--akane)}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0;font-weight:600;line-height:1.5}a{color:var(--akane-ink);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--akane);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--paper-raised);color:var(--ink);border:.5px solid var(--line);border-radius:8px;padding:8px 14px;font-size:14px;transition:top .15s;position:absolute;top:-56px;left:8px}.skip-link:focus{text-decoration:none;top:8px}img{max-width:100%;display:block}.wrap{max-width:var(--wide);margin:0 auto;padding:0 24px}.nav{max-width:var(--wide);grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:22px 24px;display:grid;position:relative}.nav:after{content:"";border-bottom:.5px solid var(--line);position:absolute;bottom:0;left:24px;right:24px}.brand{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);grid-column:1;justify-self:start;font-size:20px;font-weight:600}.brand span{color:var(--akane)}.brand:hover{text-decoration:none}.appname{grid-column:2;justify-self:center}.appname-link{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.appname-link:hover{color:var(--accent);text-decoration:none}.appname-link .dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.nav .links{grid-column:3;justify-self:end;gap:22px;font-size:14px;display:flex}.nav .links a{color:var(--ink-2)}.nav .links a:hover{color:var(--akane-ink);text-decoration:none}.nav .links .soon{color:var(--ink-3);cursor:default}.eyebrow{font-family:var(--font-display);letter-spacing:.26em;color:var(--akane);margin:0 0 18px;font-size:16px}.section{padding-block:var(--s6);position:relative}.section-head{margin-bottom:var(--s4);align-items:center;gap:20px;display:flex}.section-label{font-family:var(--font-display);color:var(--akane);letter-spacing:.2em;white-space:nowrap;font-size:17px}.section-rule{border-top:.5px solid var(--line);flex:1;height:0}.section-meta{color:var(--ink-3);letter-spacing:.12em;white-space:nowrap;font-size:14px}.big{font-size:clamp(32px,4.4vw,46px);line-height:1.5}.hero{padding-block:var(--s6) var(--s5);position:relative}.hero h1{letter-spacing:.01em;font-size:clamp(38px,5.2vw,60px);line-height:1.5}.hero h1 .em{color:var(--accent)}.lead{color:var(--ink-2);max-width:34em;font-size:18px;line-height:1.95}.hero .lead{margin-top:var(--s3);font-size:19px}.tategaki{top:var(--s6);writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:.3em;color:var(--ink-3);font-size:15px;position:absolute;right:24px}.cta{margin-top:var(--s4);flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:10px;padding:13px 26px;font-size:16px;font-weight:500;display:inline-block}.btn-primary{background:var(--accent);color:var(--paper);border:.5px solid var(--accent)}.btn-primary:hover{color:var(--paper);filter:brightness(1.06);text-decoration:none}.btn-ghost{border:.5px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink-3);text-decoration:none}.apps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.app-card{background:var(--paper-raised);border:.5px solid var(--line);color:var(--ink);border-radius:12px;padding:26px 24px;transition:border-color .15s,transform .15s;display:block;position:relative}.app-card .card-icon{opacity:.9;pointer-events:none;width:40px;height:auto;position:absolute;bottom:18px;right:18px}.app-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.app-card.is-soon{opacity:.6;cursor:default}.app-card.is-soon:hover{border-color:var(--line);transform:none}.app-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.app-card .head{align-items:center;gap:9px;display:flex}.app-card .dot{background:var(--accent);border-radius:50%;width:9px;height:9px}.app-card h3{font-size:20px}.app-card .app-lede{font-family:var(--font-display);color:var(--ink);margin:14px 0 0;font-size:18px}.app-card .desc{color:var(--ink-2);margin-top:10px;font-size:15px;line-height:1.8}.app-card .more{color:var(--akane);letter-spacing:.04em;margin-top:18px;font-size:14px;display:inline-block}.app-card:hover .more{text-decoration:none}.badge{background:var(--akane-tint);color:var(--akane);white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:500;display:inline-block}.features{margin-top:var(--s3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.features .card{background:var(--paper-raised);border:.5px solid var(--line);border-radius:12px;padding:24px}.features .card h3{font-size:18px}.features .card p{color:var(--ink-2);margin:10px 0 0;font-size:15px;line-height:1.8}.rule{border:0;border-top:.5px solid var(--line);margin:var(--s4) 0}.pull-quote{font-family:var(--font-display);color:var(--ink-2);letter-spacing:.06em;margin:var(--s5) 0 0;font-size:clamp(22px,2.8vw,30px)}.philosophy .lead,.section .lead{margin-top:var(--s3)}.notfound{padding-block:var(--s7);text-align:center}.notfound .lead{margin:var(--s3) auto 0}.notfound .cta{justify-content:center}.reading{max-width:var(--measure);padding:var(--s5) 24px var(--s6);margin:0 auto}.reading h1{margin-bottom:8px;font-size:34px}.reading h2{margin-top:var(--s4);border-bottom:.5px solid var(--line);padding-bottom:6px;font-size:22px}.reading h3{margin-top:var(--s3);font-size:18px}.reading p,.reading li{color:var(--ink);font-size:17px}.reading .meta{color:var(--ink-3);margin-bottom:var(--s3);font-size:15px}.reading .note{background:var(--paper-raised);border:.5px solid var(--line);color:var(--ink-2);border-radius:10px;padding:14px 16px;font-size:15px}.reading table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}.reading th,.reading td{border:.5px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.reading th{background:var(--paper-raised)}.reading a{color:var(--akane-ink)}.placeholder{color:var(--akane-ink);white-space:nowrap;background:#ee6b541f;border:.5px solid #ee6b5452;border-radius:6px;padding:1px 6px;font-size:14px}.footer{border-top:.5px solid var(--line);margin-top:var(--s6)}.footer .inner{max-width:var(--wide);padding:var(--s4) 24px;gap:var(--s3);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin:0 auto;display:flex}.footer .foot-tag{color:var(--ink-2);margin:12px 0 0;font-size:14px}.footer .foot-copy{color:var(--ink-3);margin:8px 0 0;font-size:13px}.footer .foot-links{color:var(--ink-3);padding-top:4px;font-size:14px}.footer .foot-links a{color:var(--ink-3)}.footer .foot-links a:hover{color:var(--akane-ink)}.js .reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(12px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transition:none;transform:none}}@media (width<=600px){.hero{padding-block:var(--s5) var(--s4)}.tategaki,.appname{display:none}}
