:root{--paper:#0b0d14;--paper-2:#12151e;--paper-3:#1a1e2a;--ink:#ece6d6;--ink-2:#b9b4a5;--muted:#6b6f7d;--hanko:#ff3d7a;--hanko-glow:rgba(255,61,122,.55);--gold:#d9b86a;--gold-dim:#a88f4e;--wire:#6fd6ff;--rule:rgba(236,230,214,.18);--rule-2:rgba(236,230,214,.08);--mono:"JetBrains Mono", ui-monospace, monospace;--hand:"Caveat", cursive;--jp:"Shippori Mincho", serif;--grid: linear-gradient(rgba(236,230,214,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(236,230,214,.04) 1px, transparent 1px)}body.light{--paper:#f1ede3;--paper-2:#e8e2d3;--paper-3:#ddd6c2;--ink:#0c0e14;--ink-2:#2b2e38;--muted:#7a766c;--hanko:#c71b46;--hanko-glow:rgba(199,27,70,.25);--gold:#a88439;--gold-dim:#7a5f24;--wire:#1f7a9a;--rule:rgba(12,14,20,.22);--rule-2:rgba(12,14,20,.1);--grid: linear-gradient(rgba(12,14,20,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(12,14,20,.05) 1px, transparent 1px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--mono);min-height:100vh;background-image:var(--grid),radial-gradient(ellipse at 20% 0%,rgba(255,61,122,.08),transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(217,184,106,.05),transparent 55%);background-size:48px 48px,48px 48px,100% 100%,100% 100%;background-attachment:fixed}body.light{background-image:var(--grid),radial-gradient(ellipse at 20% 0%,rgba(199,27,70,.05),transparent 50%)}body.scanlines:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:80;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.35}body.light.scanlines:before{display:none}::selection{background:var(--hanko);color:var(--paper)}.shell{max-width:1360px;margin:0 auto;padding:22px 40px 0;position:relative}.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--rule);background:linear-gradient(180deg,var(--paper-2),var(--paper));padding:8px 14px;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);box-shadow:0 0 0 1px #ff3d7a0a,0 18px 40px -24px #0009}.bar .l,.bar .r{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bar .dot{width:7px;height:7px;border-radius:50%;background:var(--hanko);box-shadow:0 0 8px var(--hanko-glow);animation:pulse 1.8s infinite}.bar .g{color:var(--ink-2)}.bar .g b{color:var(--gold);font-weight:500;letter-spacing:2.5px}.bar .cyan{color:var(--wire)}.bar button{background:transparent;border:1px solid var(--rule);color:var(--ink-2);font-family:var(--mono);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;padding:4px 10px;cursor:pointer;transition:.15s}.bar button:hover{border-color:var(--hanko);color:var(--hanko)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.mast{margin-top:22px;padding:22px 0 18px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:end;position:relative}.mast:before{content:"";position:absolute;top:-1px;left:0;width:80px;height:2px;background:var(--gold);box-shadow:0 0 12px #d9b86a66}.mast:after{content:"";position:absolute;bottom:-1px;right:0;width:120px;height:2px;background:var(--hanko);box-shadow:0 0 12px var(--hanko-glow)}.mast .mark{font-family:var(--jp);font-weight:800;letter-spacing:8px;line-height:.9;font-size:56px;display:flex;align-items:baseline;gap:0;position:relative}.mast .mark .k1{color:var(--ink)}.mast .mark .dot{color:var(--hanko);font-size:44px;text-shadow:0 0 16px var(--hanko-glow);padding:0 4px}.mast .mark .k2{background:linear-gradient(180deg,var(--gold),var(--gold-dim));-webkit-background-clip:text;background-clip:text;color:transparent}.mast .mark-gloss{font-family:var(--mono);font-size:9.5px;letter-spacing:4px;color:var(--muted);text-transform:uppercase;margin-top:10px}.mast .edition{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);line-height:1.9}.mast .edition b{display:block;color:var(--ink);font-size:14px;letter-spacing:4px;margin-bottom:4px}.mast .edition .coord{color:var(--wire);font-size:9px;letter-spacing:1.5px;margin-top:2px}.mast nav.nav{display:flex;gap:4px}.mast nav.nav a{font-family:var(--mono);font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-2);text-decoration:none;cursor:pointer;padding:8px 14px;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:.15s}.mast nav.nav a .jp{font-family:var(--jp);color:var(--gold);font-size:16px}.mast nav.nav a:hover{border-color:var(--rule);color:var(--ink)}.mast nav.nav a.on{border-color:var(--hanko);color:var(--hanko);box-shadow:inset 0 0 0 1px #ff3d7a1a,0 0 20px -6px var(--hanko-glow)}.mast nav.nav a.on .jp{color:var(--hanko)}.breadcrumb{display:flex;align-items:center;gap:14px;padding:10px 0;font-family:var(--mono);font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);border-bottom:1px dashed var(--rule)}.breadcrumb .sep{color:var(--gold)}.breadcrumb .here{color:var(--hanko)}.page{display:none;padding:26px 0 36px}.page.active{display:block;animation:fadein .3s ease}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{display:grid;grid-template-columns:200px 1fr 340px;gap:40px;padding:20px 0 40px;border-bottom:1px solid var(--rule);position:relative}.vert-jp{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--jp);font-size:36px;letter-spacing:18px;line-height:1;color:var(--ink);min-height:360px;position:relative;padding-left:8px;border-left:1px solid var(--rule)}.vert-jp .red{color:var(--hanko);text-shadow:0 0 14px var(--hanko-glow)}.vert-jp .dim{color:var(--muted);font-size:22px}.vert-jp-gloss{position:absolute;bottom:-28px;left:0;right:0;writing-mode:horizontal-tb;font-family:var(--mono);font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.hero-body{display:flex;flex-direction:column;justify-content:center}.hero-body .kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.hero-body .kicker .pip{width:5px;height:5px;background:var(--wire);border-radius:50%;box-shadow:0 0 8px var(--wire)}.hero-body h1{font-family:var(--jp);font-weight:700;font-size:108px;line-height:.88;letter-spacing:-2px;margin:0;color:var(--ink)}.hero-body h1 .san{font-family:var(--jp);font-size:60px;color:var(--gold);background:linear-gradient(180deg,var(--gold),var(--gold-dim));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500;letter-spacing:6px;margin-left:12px;vertical-align:12px}.hero-body .dot{color:var(--hanko);text-shadow:0 0 20px var(--hanko-glow)}.hero-body .byline{font-family:var(--mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-2);margin-top:20px}.hero-body .lede{font-family:var(--jp);font-weight:400;font-size:22px;line-height:1.55;color:var(--ink-2);margin-top:22px;max-width:640px;text-wrap:pretty}.hero-body .lede em{font-style:normal;color:var(--hanko)}.hero-body .lede b{color:var(--gold);font-weight:500}.hero-body .ctas{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);padding:8px 14px;font-family:var(--mono);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;background:var(--paper-2);color:var(--ink-2);cursor:pointer;transition:.15s}.chip:hover{border-color:var(--gold);color:var(--gold);background:var(--paper-3)}.chip.red{border-color:var(--hanko);color:var(--hanko);box-shadow:0 0 18px -6px var(--hanko-glow)}.chip.red:hover{background:var(--hanko);color:var(--paper)}.chip.gold{border-color:var(--gold);color:var(--gold)}.chip.gold:hover{background:var(--gold);color:var(--paper)}.portrait{border:1px solid var(--rule);padding:14px;background:linear-gradient(180deg,var(--paper-2),var(--paper));position:relative;box-shadow:0 24px 60px -30px #000c,inset 0 0 0 1px #ff3d7a0a}.portrait:before{content:"";position:absolute;top:-1px;left:-1px;width:30px;height:30px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}.portrait:after{content:"";position:absolute;bottom:-1px;right:-1px;width:30px;height:30px;border-bottom:1px solid var(--hanko);border-right:1px solid var(--hanko);box-shadow:0 0 16px -4px var(--hanko-glow)}.portrait .frame{border:1px solid var(--rule);height:340px;position:relative;background:radial-gradient(ellipse at 50% 40%,rgba(255,61,122,.12),transparent 60%),repeating-linear-gradient(135deg,var(--rule-2) 0 1px,transparent 1px 9px);overflow:hidden}.portrait .frame svg{display:block;width:100%;height:100%}.portrait .meta-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-family:var(--mono);font-size:9.5px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.portrait .meta-row b{color:var(--gold)}.portrait .serial{position:absolute;top:8px;left:12px;z-index:2;font-family:var(--mono);font-size:8.5px;letter-spacing:2px;color:var(--wire)}.portrait .hanko-stamp{position:absolute;top:14px;right:14px;z-index:2;width:56px;height:56px;border:1.5px solid var(--hanko);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--jp);font-size:26px;color:var(--hanko);transform:rotate(-6deg);background:#0b0d1499;box-shadow:0 0 24px -4px var(--hanko-glow),inset 0 0 0 4px #ff3d7a0a}body.light .portrait .hanko-stamp{background:#f1ede3b3}.subnav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--rule);margin-bottom:12px}.subnav .cap{font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase}.subnav a{font-family:var(--mono);font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-2);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px;transition:.15s}.subnav a .k{font-family:var(--jp);color:var(--gold);font-size:17px;line-height:1}.subnav a:hover{color:var(--hanko);border-color:var(--hanko)}.subnav a:hover .k{color:var(--hanko)}.sec{padding:46px 0 4px;scroll-margin-top:28px;position:relative}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.sec-head .left{display:flex;align-items:baseline;gap:20px}.sec-head .kanji-huge{font-family:var(--jp);font-size:84px;font-weight:700;line-height:.8;color:var(--gold);background:linear-gradient(180deg,var(--gold) 40%,var(--gold-dim) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(217,184,106,.15)}.sec-head h2{font-family:var(--jp);font-weight:600;font-size:42px;margin:0;letter-spacing:-.5px;color:var(--ink)}.sec-head h2 small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:3px;color:var(--muted);margin-top:6px;font-weight:400;text-transform:uppercase}.sec-head .right{font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;color:var(--muted);text-align:right;text-transform:uppercase;line-height:1.9;border-left:1px solid var(--rule);padding-left:20px}.sec-head .right b{color:var(--wire);font-weight:500}.about{display:grid;grid-template-columns:1.6fr 1fr;gap:50px}.about .prose p{font-family:var(--jp);font-weight:400;font-size:17px;line-height:1.75;color:var(--ink-2);margin:0 0 16px;text-wrap:pretty}.about .prose p:first-child:first-letter{font-family:var(--jp);font-size:68px;font-weight:700;float:left;line-height:.9;padding:4px 14px 0 0;color:var(--gold)}.about .prose p em{font-style:normal;color:var(--hanko)}.about .prose p b{color:var(--ink);font-weight:500}.fact-table{font-family:var(--mono);font-size:11px;border-top:1px solid var(--rule)}.fact-table .r{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule)}.fact-table .r .k{color:var(--muted);letter-spacing:2.5px;text-transform:uppercase;font-size:9.5px}.fact-table .r .v{color:var(--ink);letter-spacing:1px}.fact-table .r .v a{color:var(--hanko);text-decoration:none;border-bottom:1px dotted var(--hanko)}.fact-table .r.gold .v{color:var(--gold)}.work-role{display:grid;grid-template-columns:160px 1fr 200px;gap:40px;padding:28px 0;border-top:1px solid var(--rule);position:relative;transition:.2s}.work-role:last-child{border-bottom:1px solid var(--rule)}.work-role:before{content:"";position:absolute;left:0;top:-1px;width:0;height:2px;background:var(--hanko);transition:width .4s ease;box-shadow:0 0 10px var(--hanko-glow)}.work-role:hover:before{width:160px}.work-role .years{font-family:var(--jp);font-size:34px;font-weight:600;line-height:1;color:var(--ink)}.work-role .years .arrow{color:var(--hanko)}.work-role .years small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:2px;color:var(--muted);margin-top:10px;text-transform:uppercase;font-weight:400}.work-role h4{font-family:var(--jp);font-weight:600;font-size:28px;margin:0 0 6px;line-height:1.1;color:var(--ink)}.work-role .co{font-family:var(--mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:10px}.work-role .co .k{font-family:var(--jp);font-size:16px;color:var(--hanko)}.work-role p{font-family:var(--mono);font-size:12px;line-height:1.85;margin:0;color:var(--ink-2)}.work-role .stack{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-align:right;line-height:2;border-left:1px solid var(--rule);padding-left:18px}.work-role .stack b{color:var(--wire);display:block;font-size:9.5px;letter-spacing:3px;margin-bottom:6px;font-weight:500}.edu-marks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.edu-mark{border:1px solid var(--rule);padding:20px;position:relative;background:linear-gradient(180deg,var(--paper-2),var(--paper));overflow:hidden}.edu-mark:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}.edu-mark .n{font-family:var(--jp);font-size:56px;line-height:1;font-weight:700;background:linear-gradient(180deg,var(--gold),var(--gold-dim));-webkit-background-clip:text;background-clip:text;color:transparent}.edu-mark .l{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:12px}.edu-mark .sigil{position:absolute;right:14px;top:14px;font-family:var(--jp);font-size:24px;color:var(--hanko);opacity:.6}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:26px;border:1px solid var(--rule);background:linear-gradient(180deg,var(--paper-2),var(--paper))}.skill-col{padding:26px 22px;border-right:1px solid var(--rule);min-height:460px;position:relative;transition:.25s}.skill-col:last-child{border-right:none}.skill-col:hover{background:#ff3d7a0a}.skill-col .hd{font-family:var(--jp);font-size:72px;font-weight:700;line-height:.9;letter-spacing:0;color:var(--ink);position:relative;display:inline-block}.skill-col .hd:after{content:"";position:absolute;bottom:-8px;left:0;width:32px;height:2px;background:var(--hanko);box-shadow:0 0 10px var(--hanko-glow)}.skill-col.on .hd{color:var(--gold);background:linear-gradient(180deg,var(--gold),var(--gold-dim));-webkit-background-clip:text;background-clip:text;color:transparent}.skill-col .reading{font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;color:var(--muted);margin-top:18px;text-transform:uppercase}.skill-col h4{font-family:var(--jp);font-weight:600;font-size:22px;margin:10px 0 6px;color:var(--ink)}.skill-col .subhead{font-family:var(--mono);font-size:9.5px;color:var(--wire);letter-spacing:2.5px;margin-top:2px;text-transform:uppercase}.skill-col ul{list-style:none;padding:0;margin:18px 0 0}.skill-col li{font-family:var(--mono);font-size:11px;padding:8px 0;border-bottom:1px dashed var(--rule);display:flex;justify-content:space-between;align-items:center;color:var(--ink)}.skill-col li .lv{color:var(--muted);letter-spacing:2px;font-size:8.5px;text-transform:uppercase;display:flex;align-items:center;gap:6px}.skill-col li .bars{display:inline-flex;gap:2px}.skill-col li .bars span{width:4px;height:10px;background:var(--rule)}.skill-col li .bars span.on{background:var(--hanko);box-shadow:0 0 4px var(--hanko-glow)}.skill-col li .bars span.gold{background:var(--gold)}.proj-filters{display:flex;gap:10px;margin:10px 0 26px;flex-wrap:wrap;align-items:center}.proj-filters .cap{font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase}.proj-filters .chip.on{background:var(--hanko);color:var(--paper);border-color:var(--hanko);box-shadow:0 0 18px -4px var(--hanko-glow)}.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pcard{border:1px solid var(--rule);padding:18px;position:relative;cursor:pointer;background:linear-gradient(180deg,var(--paper-2),var(--paper));transition:.25s;overflow:hidden}.pcard:before{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--hanko),var(--gold));transition:width .4s}.pcard:hover:before{width:100%}.pcard:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 20px 40px -24px #000000b3,0 0 0 1px #d9b86a1f}.pcard .serial{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;margin-bottom:10px}.pcard .serial .num{font-family:var(--jp);font-size:48px;font-weight:700;line-height:.8;color:var(--ink)}.pcard .serial .num sup{font-family:var(--mono);font-size:10px;color:var(--hanko);vertical-align:super;letter-spacing:2px;margin-left:6px}.pcard .thumb{height:150px;margin:14px 0 16px;position:relative;border:1px solid var(--rule);background:radial-gradient(ellipse at 50% 50%,rgba(255,61,122,.12),transparent 65%),repeating-linear-gradient(135deg,var(--rule-2) 0 1px,transparent 1px 8px);overflow:hidden}.pcard .thumb svg{display:block;width:100%;height:100%}.pcard h3{font-family:var(--jp);font-weight:600;font-size:28px;margin:8px 0 4px;color:var(--ink);line-height:1.1}.pcard .gloss{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:lowercase}.pcard .gloss .k{font-family:var(--jp);color:var(--hanko);font-size:14px;margin-right:4px}.pcard .desc{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--ink-2);margin:14px 0 18px}.pcard .tags{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);padding-top:12px;font-family:var(--mono);font-size:9.5px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.pcard .tags .status{color:var(--wire)}.pcard .tags .status.ship{color:var(--gold)}.blog-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:48px}.blog-feat{padding:20px 24px;border:1px solid var(--rule);background:linear-gradient(180deg,var(--paper-2),var(--paper));position:relative;cursor:pointer;overflow:hidden;margin-bottom:28px}.blog-feat:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--hanko);box-shadow:0 0 14px var(--hanko-glow)}.blog-feat .m{font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}.blog-feat h3{font-family:var(--jp);font-weight:600;font-size:40px;line-height:1.08;margin:4px 0 12px;color:var(--ink);text-wrap:balance}.blog-feat p{font-family:var(--mono);font-size:12px;line-height:1.8;margin:0;color:var(--ink-2)}.blog-feat:hover h3{color:var(--hanko)}.blog-item{padding:18px 0;border-bottom:1px dashed var(--rule);display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:baseline;cursor:pointer;transition:.2s}.blog-item:hover{padding-left:10px}.blog-item:hover h4{color:var(--hanko)}.blog-item .d{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--muted)}.blog-item h4{font-family:var(--jp);font-weight:500;font-size:22px;margin:0;line-height:1.2;color:var(--ink)}.blog-item .min{font-family:var(--mono);font-size:9.5px;color:var(--wire);letter-spacing:1.5px}.notes-side{border-left:1px solid var(--rule);padding-left:32px}.notes-side h3{font-family:var(--jp);font-weight:600;font-size:30px;margin:0 0 18px;color:var(--ink)}.note-list{font-family:var(--mono);font-size:12px;line-height:1.6}.note-list div{border-bottom:1px dashed var(--rule);padding:10px 0;cursor:pointer;color:var(--ink-2);display:flex;align-items:center;gap:10px;transition:.15s}.note-list div:before{content:"—";color:var(--gold)}.note-list div:hover{color:var(--hanko);padding-left:6px}.terminal{margin-top:36px;border:1px solid var(--rule);background:var(--paper-2);font-family:var(--mono);font-size:11px;color:var(--ink-2);position:relative}.terminal-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--rule);font-size:9.5px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.terminal-bar .lights{display:flex;gap:5px}.terminal-bar .lights span{width:8px;height:8px;border-radius:50%;background:var(--rule)}.terminal-bar .lights span:nth-child(1){background:var(--hanko)}.terminal-bar .lights span:nth-child(2){background:var(--gold)}.terminal-bar .lights span:nth-child(3){background:var(--wire)}.terminal-body{padding:14px 16px;line-height:1.8}.terminal-body .prompt{color:var(--gold);margin-right:8px}.terminal-body .path{color:var(--wire)}.terminal-body .cmd{color:var(--ink)}.terminal-body .out{color:var(--muted)}.terminal-body .ok{color:var(--gold)}.terminal-body .hi{color:var(--hanko)}.terminal-body .cursor{display:inline-block;width:8px;height:14px;background:var(--hanko);vertical-align:middle;margin-left:4px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.site-foot{margin:56px auto 0;border-top:1px solid var(--rule);padding:36px 40px 44px;max-width:1360px;position:relative}.site-foot:before{content:"";position:absolute;top:-1px;left:40px;width:120px;height:2px;background:var(--gold);box-shadow:0 0 12px #d9b86a4d}.site-foot .row-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:38px;padding-bottom:28px;border-bottom:1px solid var(--rule)}.site-foot h5{font-family:var(--mono);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule);font-weight:500}.site-foot .brand .b{font-family:var(--jp);font-weight:800;font-size:38px;letter-spacing:8px;line-height:1;margin-bottom:10px;display:flex;align-items:baseline}.site-foot .brand .b .k1{color:var(--ink)}.site-foot .brand .b .dot{color:var(--hanko);font-size:30px;padding:0 4px;text-shadow:0 0 14px var(--hanko-glow)}.site-foot .brand .b .k2{background:linear-gradient(180deg,var(--gold),var(--gold-dim));-webkit-background-clip:text;background-clip:text;color:transparent}.site-foot .brand .cap{font-family:var(--mono);font-size:9.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.site-foot .brand p{font-family:var(--mono);font-size:11px;line-height:1.8;margin:0 0 16px;color:var(--ink-2);max-width:340px}.site-foot ul{list-style:none;padding:0;margin:0}.site-foot li{font-family:var(--mono);font-size:10.5px;padding:6px 0;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;color:var(--ink-2);display:flex;justify-content:space-between;align-items:center;transition:.15s}.site-foot li:hover{color:var(--hanko)}.site-foot li .ext{color:var(--muted)}.site-foot li:hover .ext{color:var(--gold)}.site-foot .row-bot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:22px;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.site-foot .motto{font-family:var(--jp);font-size:18px;color:var(--ink-2);text-transform:none;letter-spacing:0;font-weight:500}.site-foot .motto em{color:var(--gold);font-style:normal}.site-foot .stamp{font-family:var(--jp);color:var(--hanko);border:1px solid var(--hanko);padding:6px 14px;letter-spacing:6px;transform:rotate(-2deg);display:inline-flex;flex-direction:column;align-items:center;font-size:16px;box-shadow:0 0 18px -4px var(--hanko-glow)}.site-foot .stamp small{font-family:var(--mono);font-size:7.5px;letter-spacing:2px;color:var(--muted);margin-top:4px;text-transform:uppercase}.tw-toggle{position:fixed;right:18px;bottom:18px;z-index:60;border:1px solid var(--rule);background:var(--paper-2);font-family:var(--mono);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:10px 14px;cursor:pointer;color:var(--ink);box-shadow:0 0 0 1px #ff3d7a14,0 12px 30px -10px #0009}.tw-toggle:hover{border-color:var(--hanko);color:var(--hanko)}.tweaks{position:fixed;right:18px;bottom:64px;z-index:61;display:none;background:var(--paper-2);border:1px solid var(--rule);padding:18px;min-width:280px;box-shadow:0 0 0 1px #d9b86a14,0 24px 60px -20px #000c;font-family:var(--mono);font-size:10.5px;letter-spacing:1.5px}.tweaks.open{display:block}.tweaks h4{font-family:var(--jp);font-weight:600;font-size:20px;margin:0 0 14px;color:var(--ink);display:flex;align-items:center;justify-content:space-between}.tweaks h4 .k{color:var(--hanko);font-size:22px}.tweaks .grp{margin-bottom:16px}.tweaks .lbl{font-size:9px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.tweaks .row{display:flex;gap:6px;flex-wrap:wrap}.tweaks button.sw{border:1px solid var(--rule);background:var(--paper-3);padding:6px 10px;font-family:var(--mono);font-size:9.5px;letter-spacing:1.5px;color:var(--ink-2);cursor:pointer;text-transform:uppercase}.tweaks button.sw[aria-pressed=true]{background:var(--hanko);color:var(--paper);border-color:var(--hanko);box-shadow:0 0 12px -4px var(--hanko-glow)}.tweaks button.sw.gold[aria-pressed=true]{background:var(--gold);border-color:var(--gold)}.tweaks label{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:4px 0;cursor:pointer;color:var(--ink-2)}.tweaks label input{accent-color:var(--hanko)}@media (max-width:1100px){.hero{grid-template-columns:1fr}.vert-jp{writing-mode:horizontal-tb;letter-spacing:14px;min-height:auto;border-left:none;padding-left:0;font-size:28px}.vert-jp-gloss{position:static;margin-top:10px}.about,.blog-wrap{grid-template-columns:1fr}.notes-side{border-left:none;padding-left:0;border-top:1px solid var(--rule);padding-top:28px}.work-role{grid-template-columns:1fr;gap:16px}.work-role .stack{border-left:none;padding-left:0;border-top:1px dashed var(--rule);padding-top:12px;text-align:left}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-col:nth-child(2){border-right:none}.skill-col:nth-child(-n+2){border-bottom:1px solid var(--rule)}.proj-grid{grid-template-columns:repeat(2,1fr)}.site-foot .row-top{grid-template-columns:1fr 1fr}.mast{grid-template-columns:1fr;gap:16px}.mast .edition{text-align:left}}@media (max-width:700px){.shell{padding:14px 20px 0}.hero-body h1{font-size:64px}.hero-body h1 .san{font-size:34px}.sec-head .kanji-huge{font-size:56px}.sec-head h2{font-size:28px}.skills-grid{grid-template-columns:1fr}.skill-col{border-right:none;border-bottom:1px solid var(--rule)}.proj-grid,.edu-marks,.site-foot .row-top{grid-template-columns:1fr}}
