.task-bar.svelte-1vyk3gy{box-shadow:inset 1px 0 #fff;border-top:1px solid #f4f4f4;border-bottom:1px solid #4e4e4e}.start-button-wrapper.svelte-1vyk3gy{float:left;margin-left:2px;margin-bottom:2px;vertical-align:middle;display:inline-block;padding:2px 6px 3px;background-color:silver;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid gray;border-bottom:1px solid gray;box-shadow:inset 1px 1px #dfdfdf,1px 0 #000,0 1px #000,1px 1px #000;min-width:59px;margin-right:6px;color:#000}.modal-content.svelte-s7sh3c{opacity:0;transform-origin:var(--modal-x) var(--modal-y);transform:scale(0);transition:transform .3s ease-in-out}.modal-content.open.svelte-s7sh3c{transform:scale(1);opacity:1}.resize-handle.svelte-s7sh3c{position:absolute;z-index:20}.resize-n.svelte-s7sh3c{top:-3px;left:6px;right:6px;height:6px;cursor:n-resize}.resize-s.svelte-s7sh3c{bottom:-3px;left:6px;right:6px;height:6px;cursor:s-resize}.resize-e.svelte-s7sh3c{right:-3px;top:6px;bottom:6px;width:6px;cursor:e-resize}.resize-w.svelte-s7sh3c{left:-3px;top:6px;bottom:6px;width:6px;cursor:w-resize}.resize-ne.svelte-s7sh3c{top:-3px;right:-3px;width:12px;height:12px;cursor:ne-resize}.resize-nw.svelte-s7sh3c{top:-3px;left:-3px;width:12px;height:12px;cursor:nw-resize}.resize-se.svelte-s7sh3c{bottom:-3px;right:-3px;width:12px;height:12px;cursor:se-resize}.resize-sw.svelte-s7sh3c{bottom:-3px;left:-3px;width:12px;height:12px;cursor:sw-resize}.maximize-icon.svelte-s7sh3c{display:block;width:8px;height:7px;border:1px solid #000;border-top-width:2px}.restore-icon.svelte-s7sh3c{display:block;position:relative;width:10px;height:10px}.restore-icon.svelte-s7sh3c:before{content:"";position:absolute;top:2px;left:0;width:7px;height:6px;border:1px solid #000;border-top-width:2px;background:silver}.restore-icon.svelte-s7sh3c:after{content:"";position:absolute;top:0;right:0;width:7px;height:6px;border:1px solid #000;border-top-width:2px;background:silver}.page.svelte-12ge6lv{--bg: #c0c0c0;--bg-soft: #d4d0c8;--bg-paper: #efe9d4;--bg-paper2: #f7f2e0;--ink: #000000;--ink-soft: #2a2a2a;--ink-faint: #5a5a5a;--teal: #008080;--purple: #800080;--navy: #000080;--blue: #0000ff;--visited: #800080;--gold: #ffd700;--red: #ff0000;--white: #ffffff;--hilite: #ffff66;--bevel-hi: #ffffff;--bevel-lo: #808080;--bevel-dk: #404040;--font-jp: "MS PGothic", "MS Gothic", "Hiragino Kaku Gothic Pro", "Osaka", monospace;--font-mono: "MS Gothic", "Osaka-Mono", ui-monospace, "Courier New", monospace;--font-arial: "Arial Narrow", Arial, sans-serif;width:100%;min-width:1024px;min-height:100%;background:var(--bg);display:grid;grid-template-columns:200px 1fr;font-family:var(--font-jp);font-size:12px;line-height:1.4;color:var(--ink);cursor:crosshair}.svelte-12ge6lv{box-sizing:border-box}a.svelte-12ge6lv{color:var(--blue);text-decoration:underline;cursor:crosshair}a.svelte-12ge6lv:visited{color:var(--visited)}a.svelte-12ge6lv:hover{background:var(--hilite);color:var(--ink)}a.svelte-12ge6lv:active{color:var(--red)}p.svelte-12ge6lv{margin:0 0 8px}.bevel-out.svelte-12ge6lv{border:2px solid;border-top-color:var(--bevel-hi);border-left-color:var(--bevel-hi);border-right-color:var(--bevel-lo);border-bottom-color:var(--bevel-lo);box-shadow:inset -1px -1px 0 var(--bevel-dk),inset 1px 1px 0 var(--bg-soft)}.bevel-in.svelte-12ge6lv{border:2px solid;border-top-color:var(--bevel-lo);border-left-color:var(--bevel-lo);border-right-color:var(--bevel-hi);border-bottom-color:var(--bevel-hi);box-shadow:inset 1px 1px 0 var(--bevel-dk),inset -1px -1px 0 var(--bg-soft)}.bevel-thin.svelte-12ge6lv{border:1px solid;border-top-color:var(--bevel-hi);border-left-color:var(--bevel-hi);border-right-color:var(--bevel-lo);border-bottom-color:var(--bevel-lo)}.sidebar.svelte-12ge6lv{background:var(--bg);padding:8px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;align-self:start;min-width:0}.sb-logo.svelte-12ge6lv{padding:8px 6px;text-align:center;background:var(--navy);color:var(--white);text-decoration:none;display:block;cursor:crosshair}.sb-logo.svelte-12ge6lv:hover{background:var(--navy)}.sb-logo.svelte-12ge6lv .name:where(.svelte-12ge6lv){font-family:var(--font-arial);font-weight:700;font-size:16px;letter-spacing:.04em;line-height:1}.sb-logo.svelte-12ge6lv .role:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;margin-top:4px;color:var(--gold)}.sb-logo.svelte-12ge6lv .jp:where(.svelte-12ge6lv){font-family:var(--font-jp);font-size:10px;color:#c8c8e8;margin-top:2px}.sb-nav.svelte-12ge6lv{list-style:none;margin:0;padding:0;background:var(--white);font-size:11px}.sb-nav.svelte-12ge6lv a:where(.svelte-12ge6lv){display:flex;align-items:baseline;gap:4px;padding:4px 6px;border-bottom:1px dashed var(--bevel-lo);text-decoration:none;color:var(--navy);font-family:var(--font-mono)}.sb-nav.svelte-12ge6lv li:where(.svelte-12ge6lv):last-child a:where(.svelte-12ge6lv){border-bottom:none}.sb-nav.svelte-12ge6lv a:where(.svelte-12ge6lv):hover{background:var(--hilite);color:var(--ink)}.sb-nav.svelte-12ge6lv .b:where(.svelte-12ge6lv){color:var(--red);font-weight:700;width:10px}.sb-nav.svelte-12ge6lv .en:where(.svelte-12ge6lv){font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sb-nav.svelte-12ge6lv .jp:where(.svelte-12ge6lv){margin-left:auto;color:var(--purple);font-family:var(--font-jp);font-size:10px}.casio.svelte-12ge6lv{background:#b3bbab;padding:6px 8px 8px;position:relative;font-family:var(--font-mono)}.casio.svelte-12ge6lv:before{content:"CASIO";position:absolute;top:3px;left:8px;font-family:var(--font-arial);font-weight:700;font-size:8px;letter-spacing:.2em;color:#2b2b2b}.casio.svelte-12ge6lv:after{content:"F-91W";position:absolute;top:3px;right:8px;font-family:var(--font-arial);font-size:7px;letter-spacing:.15em;color:#2b2b2b}.casio.svelte-12ge6lv .lcd:where(.svelte-12ge6lv){margin-top:10px;background:#c9cdb8;padding:4px 6px 5px;text-align:right;border:1px solid #6e7466;box-shadow:inset 1px 1px #8a907f}.casio.svelte-12ge6lv .day:where(.svelte-12ge6lv){font-size:8px;letter-spacing:.2em;color:#2a3528;font-weight:700}.casio.svelte-12ge6lv .time:where(.svelte-12ge6lv){font-family:Lucida Console,MS Gothic,monospace;font-weight:700;font-size:20px;color:#0d1a0c;letter-spacing:.05em;line-height:1;font-variant-numeric:tabular-nums}.casio.svelte-12ge6lv .time:where(.svelte-12ge6lv) .sep:where(.svelte-12ge6lv){animation:svelte-12ge6lv-p97Blink 1s steps(2) infinite}.casio.svelte-12ge6lv .date:where(.svelte-12ge6lv){font-size:9px;letter-spacing:.1em;color:#2a3528;margin-top:2px;font-weight:700}.now-playing.svelte-12ge6lv{background:var(--bg-soft);padding:6px 8px 8px}.np-h.svelte-12ge6lv{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding-bottom:2px;margin-bottom:5px;display:flex;justify-content:space-between;align-items:baseline}.np-h.svelte-12ge6lv .jp:where(.svelte-12ge6lv){color:var(--purple);text-transform:none;letter-spacing:0;font-size:10px}.np-track.svelte-12ge6lv .t:where(.svelte-12ge6lv){font-weight:700;font-size:11px;color:var(--navy)}.np-track.svelte-12ge6lv .a:where(.svelte-12ge6lv){font-size:10px;color:var(--ink-soft)}.np-bar.svelte-12ge6lv{height:8px;background:var(--white);margin-top:6px;position:relative;overflow:hidden}.np-bar.svelte-12ge6lv:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:42%;background:repeating-linear-gradient(90deg,var(--teal) 0 3px,#00a0a0 3px 5px);animation:svelte-12ge6lv-p97NpPulse 1.2s ease-in-out infinite}.np-meta.svelte-12ge6lv{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:var(--ink-soft);margin-top:2px}.sb-block.svelte-12ge6lv{background:var(--white);padding:6px 8px;font-size:10px;line-height:1.4;font-family:var(--font-mono)}.sb-block.svelte-12ge6lv .h:where(.svelte-12ge6lv){font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--purple);border-bottom:1px dashed var(--ink);padding-bottom:2px;margin-bottom:4px;display:flex;justify-content:space-between}.sb-block.svelte-12ge6lv .h:where(.svelte-12ge6lv) .jp:where(.svelte-12ge6lv){color:var(--ink-soft);font-family:var(--font-jp);text-transform:none;letter-spacing:0}.sb-block.svelte-12ge6lv .u:where(.svelte-12ge6lv){display:grid;grid-template-columns:auto 1fr;gap:0 6px;font-size:9px}.sb-block.svelte-12ge6lv .u:where(.svelte-12ge6lv) .d:where(.svelte-12ge6lv){color:var(--teal);font-weight:700}.web-ring.svelte-12ge6lv{background:repeating-linear-gradient(45deg,var(--bg-soft) 0 4px,var(--bg) 4px 8px);text-align:center;font-family:var(--font-mono);font-size:9px;padding:8px 4px}.web-ring.svelte-12ge6lv .h:where(.svelte-12ge6lv){font-weight:700;letter-spacing:.15em;color:var(--purple);margin-bottom:4px}.web-ring.svelte-12ge6lv a:where(.svelte-12ge6lv){font-size:9px}.main.svelte-12ge6lv{padding:8px 12px 24px;display:flex;flex-direction:column;gap:10px;background:var(--bg);min-width:0;overflow:hidden}.topbar.svelte-12ge6lv{display:flex;align-items:stretch;gap:6px;font-family:var(--font-mono);font-size:10px;flex-wrap:wrap;width:100%;min-width:0}.pill.svelte-12ge6lv{padding:2px 8px;background:var(--bg-soft);font-size:10px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.pill.lcd.svelte-12ge6lv{background:#0a1208;color:#6fff5e;font-family:Lucida Console,MS Gothic,monospace;letter-spacing:.18em;font-weight:700}.pill.svelte-12ge6lv .star:where(.svelte-12ge6lv){color:var(--gold)}.pill.svelte-12ge6lv .red:where(.svelte-12ge6lv){color:var(--red)}.pill.svelte-12ge6lv .digits:where(.svelte-12ge6lv){display:inline-flex;gap:2px}.pill.svelte-12ge6lv .blinker:where(.svelte-12ge6lv){animation:svelte-12ge6lv-p97Blink .9s steps(2) infinite}.grow.svelte-12ge6lv{flex:1}.marquee.svelte-12ge6lv{background:var(--ink);color:var(--gold);font-family:var(--font-jp);font-size:12px;padding:4px 0;overflow:hidden;position:relative;white-space:nowrap;border-top:1px solid var(--bevel-lo);border-bottom:1px solid var(--bevel-lo);width:100%;min-width:0;max-width:100%}.marquee.svelte-12ge6lv .track:where(.svelte-12ge6lv){display:inline-block;padding-left:100%;animation:svelte-12ge6lv-p97Marquee 36s linear infinite}.marquee.svelte-12ge6lv .track:where(.svelte-12ge6lv) .sep:where(.svelte-12ge6lv){color:var(--red);margin:0 14px}.marquee.svelte-12ge6lv .track:where(.svelte-12ge6lv) .en:where(.svelte-12ge6lv){color:var(--white)}.hero.svelte-12ge6lv{background:var(--bg);display:grid;grid-template-columns:1fr 180px;gap:14px;align-items:center;padding:14px 14px 12px}.hero.svelte-12ge6lv h1:where(.svelte-12ge6lv){margin:0;font-family:var(--font-arial);font-weight:700;font-size:40px;letter-spacing:.01em;line-height:1;color:var(--navy);text-shadow:2px 2px 0 var(--bg-soft)}.hero.svelte-12ge6lv h1:where(.svelte-12ge6lv) .jp-name:where(.svelte-12ge6lv){display:block;font-family:var(--font-jp);font-size:12px;color:var(--purple);margin-top:6px;letter-spacing:.1em;font-weight:400;text-shadow:none}.hero.svelte-12ge6lv .role-line:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:13px;color:var(--ink);margin-top:8px}.hero.svelte-12ge6lv .role-line:where(.svelte-12ge6lv) .arrow:where(.svelte-12ge6lv){color:var(--red);margin-right:4px}.hero.svelte-12ge6lv .role-line:where(.svelte-12ge6lv) strong:where(.svelte-12ge6lv){color:var(--teal)}.hero.svelte-12ge6lv .tagline:where(.svelte-12ge6lv){font-family:var(--font-jp);font-size:12px;color:var(--ink-soft);margin-top:4px;max-width:56ch}.hero.svelte-12ge6lv .avatar-wrap:where(.svelte-12ge6lv){display:flex;flex-direction:column;align-items:center;gap:6px}.hero.svelte-12ge6lv .avatar:where(.svelte-12ge6lv){width:140px;height:140px;background:repeating-linear-gradient(45deg,#b0b0c0 0,#b0b0c0 6px,#a0a0b8 6px,#a0a0b8 12px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#2c2c44}.hero.svelte-12ge6lv .avatar-cap:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:9px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em}.hero-meta.svelte-12ge6lv{display:flex;gap:6px;margin-top:10px;font-family:var(--font-mono);font-size:10px;align-items:center;flex-wrap:wrap}.hero-meta.svelte-12ge6lv .b800:where(.svelte-12ge6lv){padding:2px 6px;background:var(--gold);color:var(--ink);font-weight:700}.hero-meta.svelte-12ge6lv .ie:where(.svelte-12ge6lv){padding:2px 6px;background:var(--teal);color:var(--white);font-weight:700}.hero-meta.svelte-12ge6lv .upd:where(.svelte-12ge6lv){padding:2px 6px;background:var(--red);color:var(--white);font-weight:700}.gif-divider.svelte-12ge6lv{height:14px;background:repeating-linear-gradient(90deg,var(--red) 0 6px,var(--gold) 6px 12px,var(--teal) 12px 18px,var(--purple) 18px 24px,var(--navy) 24px 30px);background-size:30px 100%;animation:svelte-12ge6lv-p97StripeSlide 1.6s linear infinite;position:relative}.gif-divider.svelte-12ge6lv:before,.gif-divider.svelte-12ge6lv:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--ink)}.gif-divider.svelte-12ge6lv:before{top:0}.gif-divider.svelte-12ge6lv:after{bottom:0}.sec-h.svelte-12ge6lv{display:flex;align-items:baseline;gap:8px;background:var(--navy);color:var(--white);padding:3px 8px;border-top:1px solid var(--bevel-hi);border-left:1px solid var(--bevel-hi);border-right:1px solid var(--bevel-dk);border-bottom:1px solid var(--bevel-dk);font-family:var(--font-arial)}.sec-h.svelte-12ge6lv .ico:where(.svelte-12ge6lv){font-size:13px}.sec-h.svelte-12ge6lv .en:where(.svelte-12ge6lv){font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.sec-h.svelte-12ge6lv .jp:where(.svelte-12ge6lv){font-family:var(--font-jp);font-size:11px;color:var(--gold);font-weight:400}.sec-h.svelte-12ge6lv .grow:where(.svelte-12ge6lv){flex:1}.sec-h.svelte-12ge6lv .meta:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:10px;color:#c8c8e8}.sec-h.svelte-12ge6lv .meta:where(.svelte-12ge6lv) .blink:where(.svelte-12ge6lv){animation:svelte-12ge6lv-p97Blink 1.2s steps(2) infinite;color:var(--gold)}.sec-body.svelte-12ge6lv{background:var(--white);padding:12px;font-family:var(--font-jp);font-size:12px;line-height:1.55;color:var(--ink)}.sec-body.svelte-12ge6lv p:where(.svelte-12ge6lv){margin:0 0 8px}.sec-body.svelte-12ge6lv p:where(.svelte-12ge6lv):last-child{margin-bottom:0}.about-grid.svelte-12ge6lv{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:start}.about-avatar.svelte-12ge6lv{width:140px;height:140px;background:repeating-linear-gradient(45deg,#b0b0c0 0,#b0b0c0 6px,#98a0b8 6px,#98a0b8 12px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#2c2c44}.about-cap.svelte-12ge6lv{font-family:var(--font-mono);font-size:9px;text-align:center;color:var(--ink-soft);margin-top:4px;text-transform:uppercase;letter-spacing:.12em}.about-text.svelte-12ge6lv .lead:where(.svelte-12ge6lv){font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px}.about-text.svelte-12ge6lv .kvs:where(.svelte-12ge6lv){margin-top:10px;display:grid;grid-template-columns:110px 1fr;font-family:var(--font-mono);font-size:11px;border-top:1px dashed var(--ink);padding-top:6px;row-gap:2px}.about-text.svelte-12ge6lv .kvs:where(.svelte-12ge6lv) dt:where(.svelte-12ge6lv){color:var(--purple);text-transform:uppercase;font-size:10px;letter-spacing:.08em}.about-text.svelte-12ge6lv .kvs:where(.svelte-12ge6lv) dd:where(.svelte-12ge6lv){margin:0;color:var(--ink)}.ascii-rule.svelte-12ge6lv{font-family:var(--font-mono);font-size:11px;text-align:center;color:var(--purple);letter-spacing:.05em;overflow:hidden;white-space:nowrap;padding:2px 0}.ascii-rule.teal.svelte-12ge6lv{color:var(--teal)}.ascii-rule.red.svelte-12ge6lv{color:var(--red)}.work-table.svelte-12ge6lv{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11px;background:var(--white)}.work-table.svelte-12ge6lv th:where(.svelte-12ge6lv),.work-table.svelte-12ge6lv td:where(.svelte-12ge6lv){border:1px solid var(--ink);padding:6px 8px;text-align:left;vertical-align:top}.work-table.svelte-12ge6lv thead:where(.svelte-12ge6lv) th:where(.svelte-12ge6lv){background:var(--teal);color:var(--white);text-transform:uppercase;font-size:10px;letter-spacing:.08em}.work-table.svelte-12ge6lv tbody:where(.svelte-12ge6lv) tr:where(.svelte-12ge6lv):nth-child(odd) td:where(.svelte-12ge6lv){background:var(--bg-paper)}.work-table.svelte-12ge6lv tbody:where(.svelte-12ge6lv) tr:where(.svelte-12ge6lv):nth-child(2n) td:where(.svelte-12ge6lv){background:var(--bg-paper2)}.work-table.svelte-12ge6lv tbody:where(.svelte-12ge6lv) tr:where(.svelte-12ge6lv):hover td:where(.svelte-12ge6lv){background:var(--hilite)}.work-table.svelte-12ge6lv .yr:where(.svelte-12ge6lv){white-space:nowrap;color:var(--navy);font-weight:700}.work-table.svelte-12ge6lv .co:where(.svelte-12ge6lv){font-weight:700}.work-table.svelte-12ge6lv .co:where(.svelte-12ge6lv) .group:where(.svelte-12ge6lv){font-weight:400;font-size:10px;color:var(--ink-soft)}.work-table.svelte-12ge6lv .ro:where(.svelte-12ge6lv){color:var(--purple)}.tech-row.svelte-12ge6lv{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.work-table.svelte-12ge6lv .tech-row:where(.svelte-12ge6lv) .tag:where(.svelte-12ge6lv){font-size:9px;padding:1px 4px;background:var(--bg-soft);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.skills-grid.svelte-12ge6lv{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.skill-cat-h.svelte-12ge6lv{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--white);background:var(--purple);padding:2px 6px;margin:0 0 6px;display:flex;justify-content:space-between;align-items:baseline}.skill-cat-h.svelte-12ge6lv .jp:where(.svelte-12ge6lv){font-family:var(--font-jp);color:var(--gold);font-size:10px;font-weight:400}.skill.svelte-12ge6lv{display:grid;grid-template-columns:100px 1fr 40px;gap:8px;align-items:center;font-size:11px;margin-bottom:3px;font-family:var(--font-mono)}.skill.svelte-12ge6lv .nm:where(.svelte-12ge6lv){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill.svelte-12ge6lv .bar:where(.svelte-12ge6lv){height:12px;background:var(--white);position:relative;overflow:hidden;border:1px solid;border-top-color:var(--bevel-lo);border-left-color:var(--bevel-lo);border-right-color:var(--bevel-hi);border-bottom-color:var(--bevel-hi)}.skill.svelte-12ge6lv .bar:where(.svelte-12ge6lv) .fill:where(.svelte-12ge6lv){position:absolute;top:1px;right:1px;bottom:1px;left:1px;width:0;background:repeating-linear-gradient(90deg,var(--teal) 0 6px,#00a8a8 6px 8px,var(--teal) 8px 10px);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}.skill.has-loaded.svelte-12ge6lv .bar:where(.svelte-12ge6lv) .fill:where(.svelte-12ge6lv){width:var(--p)}.skill.svelte-12ge6lv .pc:where(.svelte-12ge6lv){font-family:Lucida Console,MS Gothic,monospace;font-size:10px;text-align:right;color:var(--navy);font-weight:700;font-variant-numeric:tabular-nums}.projects.svelte-12ge6lv{display:grid;grid-template-columns:1fr 1fr;gap:10px}.proj.svelte-12ge6lv{background:var(--bg);padding:8px;display:flex;flex-direction:column;gap:6px}.proj.svelte-12ge6lv .head:where(.svelte-12ge6lv){display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--ink);padding-bottom:3px}.proj.svelte-12ge6lv .head:where(.svelte-12ge6lv) .n:where(.svelte-12ge6lv){font-family:var(--font-arial);font-weight:700;font-size:13px;color:var(--navy)}.proj.svelte-12ge6lv .head:where(.svelte-12ge6lv) .yr:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:10px;color:var(--purple)}.proj.svelte-12ge6lv .thumb:where(.svelte-12ge6lv){width:100%;aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#98a0b8 0,#98a0b8 8px,#8898b0 8px,#8898b0 16px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#28304a;position:relative}.proj.svelte-12ge6lv .thumb:where(.svelte-12ge6lv):before{content:"";position:absolute;top:6px;left:6px;width:18px;height:14px;background:var(--red);border:1px solid var(--ink)}.proj.svelte-12ge6lv .thumb:where(.svelte-12ge6lv):after{content:"■";position:absolute;top:6px;right:6px;color:var(--white);font-size:14px;line-height:.8}.proj.svelte-12ge6lv .desc:where(.svelte-12ge6lv){font-family:var(--font-jp);font-size:11px;line-height:1.45;color:var(--ink);min-height:32px}.proj-meta.svelte-12ge6lv{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);border-top:1px dashed var(--ink);padding-top:4px}.proj-meta.svelte-12ge6lv .visit:where(.svelte-12ge6lv){color:var(--blue);font-weight:700;text-decoration:none;letter-spacing:.05em}.proj-meta.svelte-12ge6lv .visit:where(.svelte-12ge6lv):hover{background:var(--hilite)}.proj-meta.svelte-12ge6lv .tags:where(.svelte-12ge6lv){display:flex;gap:4px}.proj-meta.svelte-12ge6lv .tag:where(.svelte-12ge6lv){font-size:9px;padding:1px 4px;background:var(--bg-soft);color:var(--ink);text-transform:uppercase;letter-spacing:.08em}.hobbies.svelte-12ge6lv{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 12px}.hobby.svelte-12ge6lv{display:flex;align-items:center;gap:8px;font-family:var(--font-jp);font-size:12px;padding:3px 4px}.hobby.svelte-12ge6lv:hover{background:var(--hilite)}.hobby.svelte-12ge6lv .pix:where(.svelte-12ge6lv){width:24px;height:24px;flex-shrink:0;image-rendering:pixelated}.hobby.svelte-12ge6lv .lbl:where(.svelte-12ge6lv) strong:where(.svelte-12ge6lv){color:var(--navy);font-family:var(--font-arial);font-weight:700;font-size:11px}.hobby.svelte-12ge6lv .lbl:where(.svelte-12ge6lv) small:where(.svelte-12ge6lv){display:block;font-family:var(--font-mono);font-size:9px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.footer-grid.svelte-12ge6lv{display:grid;grid-template-columns:1fr 280px;gap:12px}.gb-form.svelte-12ge6lv{background:var(--bg-soft);padding:12px}.gb-form.svelte-12ge6lv .h:where(.svelte-12ge6lv){font-family:var(--font-arial);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--ink);padding-bottom:4px}.gb-form.svelte-12ge6lv .h:where(.svelte-12ge6lv) .jp:where(.svelte-12ge6lv){color:var(--ink-soft);font-family:var(--font-jp);text-transform:none;letter-spacing:0;font-size:10px}.gb-form.svelte-12ge6lv .row:where(.svelte-12ge6lv){display:flex;gap:6px;margin-bottom:6px;align-items:center}.gb-form.svelte-12ge6lv label:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:10px;min-width:60px;text-transform:uppercase;letter-spacing:.1em}.gb-form.svelte-12ge6lv input[type=text]:where(.svelte-12ge6lv),.gb-form.svelte-12ge6lv input[type=email]:where(.svelte-12ge6lv),.gb-form.svelte-12ge6lv textarea:where(.svelte-12ge6lv){flex:1;font-family:var(--font-jp);font-size:11px;padding:3px 5px;background:var(--white);color:var(--ink);border:1px solid;border-top-color:var(--bevel-lo);border-left-color:var(--bevel-lo);border-right-color:var(--bevel-hi);border-bottom-color:var(--bevel-hi);outline:none;cursor:text}.gb-form.svelte-12ge6lv textarea:where(.svelte-12ge6lv){resize:none;height:54px}.gb-form.svelte-12ge6lv .actions:where(.svelte-12ge6lv){display:flex;justify-content:space-between;align-items:center;margin-top:8px}.gb-form.svelte-12ge6lv .small:where(.svelte-12ge6lv){font-family:var(--font-mono);font-size:9px;color:var(--ink-soft)}.gb-form.svelte-12ge6lv .btn:where(.svelte-12ge6lv){font-family:var(--font-arial);font-weight:700;font-size:11px;padding:3px 14px;background:var(--bg-soft);color:var(--ink);cursor:pointer;border:2px solid;border-top-color:var(--bevel-hi);border-left-color:var(--bevel-hi);border-right-color:var(--bevel-lo);border-bottom-color:var(--bevel-lo);box-shadow:inset -1px -1px 0 var(--bevel-dk),inset 1px 1px 0 var(--bg-soft)}.gb-form.svelte-12ge6lv .btn:where(.svelte-12ge6lv):active{border-top-color:var(--bevel-lo);border-left-color:var(--bevel-lo);border-right-color:var(--bevel-hi);border-bottom-color:var(--bevel-hi)}.gb-side.svelte-12ge6lv{display:flex;flex-direction:column;gap:10px}.gb-side.svelte-12ge6lv .panel:where(.svelte-12ge6lv){background:var(--white);padding:10px;font-family:var(--font-mono);font-size:10px}.gb-side.svelte-12ge6lv .panel:where(.svelte-12ge6lv) .h:where(.svelte-12ge6lv){font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px dashed var(--ink);padding-bottom:3px;margin-bottom:6px;color:var(--teal);font-size:10px;overflow:hidden}.mail-line.svelte-12ge6lv{font-family:var(--font-mono);font-size:11px}.mail-line.svelte-12ge6lv .at:where(.svelte-12ge6lv){color:var(--red);margin:0 1px}.badges.svelte-12ge6lv{display:grid;grid-template-columns:88px 88px;gap:6px;justify-content:start}.b88.svelte-12ge6lv{width:88px;height:31px;font-family:var(--font-arial);font-size:9px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;padding:2px 4px;font-weight:700;color:var(--white)}.b88.navy.svelte-12ge6lv{background:var(--navy)}.b88.navy.svelte-12ge6lv .ico:where(.svelte-12ge6lv){color:var(--gold);margin-right:3px}.b88.teal.svelte-12ge6lv{background:var(--teal);border:1px solid var(--ink)}.b88.gold.svelte-12ge6lv{background:linear-gradient(180deg,var(--gold),#b88800);color:var(--ink);border:1px solid var(--ink)}.b88.html.svelte-12ge6lv{background:var(--white);color:var(--ink);border:1px solid var(--ink);display:grid;grid-template-columns:28px 1fr;padding:0}.b88.html.svelte-12ge6lv .l:where(.svelte-12ge6lv){background:var(--red);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.b88.html.svelte-12ge6lv .r:where(.svelte-12ge6lv){display:flex;align-items:center;justify-content:center;text-align:center;padding:0 2px;font-size:7px;letter-spacing:.06em;line-height:1}.b88.purple.svelte-12ge6lv{background:var(--purple);border:1px solid var(--ink)}.b88.purple.svelte-12ge6lv .star:where(.svelte-12ge6lv){color:var(--gold);margin:0 2px}.b88.notepad.svelte-12ge6lv{background:var(--bg);color:var(--ink);border:1px solid var(--ink);font-family:var(--font-mono);font-size:8px}.colophon.svelte-12ge6lv{text-align:center;font-family:var(--font-mono);font-size:10px;color:var(--ink);margin-top:6px;padding:6px;background:var(--bg);border-top:1px solid var(--bevel-lo);border-bottom:1px solid var(--bevel-lo)}.colophon.svelte-12ge6lv .heart:where(.svelte-12ge6lv){color:var(--red)}.colophon.svelte-12ge6lv .jp-col:where(.svelte-12ge6lv){color:var(--purple)}@keyframes svelte-12ge6lv-p97Blink{0%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes svelte-12ge6lv-p97Marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes svelte-12ge6lv-p97StripeSlide{0%{background-position:0 0}to{background-position:30px 0}}@keyframes svelte-12ge6lv-p97NpPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes svelte-12ge6lv-p97Pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.p97-pulse.svelte-12ge6lv{animation:svelte-12ge6lv-p97Pulse 1.4s ease-in-out infinite;transform-origin:center;display:inline-block}.blink.svelte-12ge6lv{animation:svelte-12ge6lv-p97Blink .9s steps(2) infinite}@media (prefers-reduced-motion: reduce){.marquee.svelte-12ge6lv .track:where(.svelte-12ge6lv),.gif-divider.svelte-12ge6lv,.skill.svelte-12ge6lv .bar:where(.svelte-12ge6lv) .fill:where(.svelte-12ge6lv),.blink.svelte-12ge6lv,.p97-pulse.svelte-12ge6lv,.casio.svelte-12ge6lv .time:where(.svelte-12ge6lv) .sep:where(.svelte-12ge6lv),.np-bar.svelte-12ge6lv:before{animation:none!important;transition:none!important}.skill.has-loaded.svelte-12ge6lv .bar:where(.svelte-12ge6lv) .fill:where(.svelte-12ge6lv){width:var(--p)}}
