:root{--bg-deep:#080711;--line-strong:#453a66;--decor-violet:#80f;--decor-blue:#2f6bff;--decor-orange:#ff4d00;--font-pixel:"DotGothic16", "JetBrains Mono", ui-monospace, monospace;--fs-ja:15px}body{font-size:var(--text-base);counter-reset:acid-section;line-height:1.65}body:lang(ja){letter-spacing:.02em;line-height:1.9}h1,h2,h3,h4{letter-spacing:.01em;font-weight:700;line-height:1.15}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0}.skip-link{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);padding:8px 16px}.skip-link:focus-visible{outline-color:var(--show-accent2,var(--accent));outline-offset:1px}.chrome{font-family:var(--font-display);color:#dfe4f2}@supports (background-clip:text){.chrome{background:linear-gradient(#f5f7ff 0%,#c9cfe0 34%,#8a93ad 47%,#f8fbff 51%,#aab3c9 60%,#e9edf8 100%) 0 30%/100% 240%;-webkit-text-fill-color:transparent;color:#0000;background-clip:text}}@supports (background-clip:text){body[data-surface=showcase] .chrome-sheen{animation:8s steps(16,end) infinite alternate sheen}}@keyframes sheen{0%{background-position-y:0%}to{background-position-y:100%}}.sticker{border-radius:var(--radius-sm);background:var(--bg-overlay);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text);white-space:nowrap;align-items:center;gap:.5em;padding:.5em 1.1em;font-weight:500;display:inline-flex}.sticker.mag{box-shadow:2px 2px 0 var(--show-accent2,var(--accent))}.sticker.blu{box-shadow:2px 2px 0 var(--decor-blue)}.r1{rotate:-6deg}.r2{rotate:-3deg}.r3{rotate:3deg}.r4{rotate:6deg}a.sticker:hover,a.sticker:focus-visible{border-color:var(--accent);color:var(--accent);text-decoration:none}@keyframes actionable-blink{0%,49%{opacity:1}50%,to{opacity:.55}}.readout{border-block:1px solid var(--line);background:var(--bg);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.07em;color:var(--text-dim);text-transform:uppercase}.readout-inner{max-width:var(--max-w);padding:var(--space-3) var(--space-5);gap:var(--space-2) var(--space-6);flex-wrap:wrap;justify-content:center;margin-inline:auto;display:flex}.readout b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.readout .live{color:var(--ok)}.led{background:var(--ok);vertical-align:1px;width:7px;height:7px;margin-right:6px;animation:1s step-end infinite led-blink;display:inline-block}@keyframes led-blink{0%,59%{opacity:1}60%,to{opacity:.35}}.section-title{counter-increment:acid-section;margin:0 0 var(--space-6);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-weight:700;display:block}.section-title:before{content:"0x" counter(acid-section, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);letter-spacing:.1em;margin-right:var(--space-3);font-weight:500}.section-title:after{content:"";height:7px;margin-top:var(--space-2);background-image:radial-gradient(circle, var(--text-faint) 1px, transparent 1.4px);opacity:.5;background-size:8px 8px;display:block}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius)}a.card{transition:transform .15s,box-shadow .15s,border-color .15s}a.card:hover,a.card:focus-visible{border-color:var(--line-strong);box-shadow:4px 4px 0 var(--show-accent2,var(--accent));text-decoration:none;transform:translate(-2px,-2px)}body[data-surface=showcase] a.card:hover,body[data-surface=showcase] a.card:focus-visible{box-shadow:var(--shadow-md);transform:translate(-3px,-3px)}.chip{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;white-space:nowrap;background:0 0;align-items:baseline;gap:.45em;padding:3px 11px;display:inline-flex}.chip b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.tech-list .chip{background:var(--bg-overlay);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.chip.category-badge{background:var(--bg-overlay);border-color:var(--line-strong);box-shadow:var(--shadow-sm);color:var(--text);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:.5em 1.1em;font-weight:500}.evidence-link{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--accent);padding:3px 12px;display:inline-block}.evidence-link:before{content:"⌗ ";color:var(--text-faint)}span.evidence-link,code.evidence-link{color:var(--text-dim)}a.evidence-link:hover,a.evidence-link:focus-visible{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}.window{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-deep);margin:0;overflow:hidden}.win-bar{border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:10px;padding:7px 12px;display:flex}.win-dots{gap:5px;display:inline-flex}.win-dots i{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.win-dots i:first-child{background:var(--decor-orange)}.scanlines:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff05 3px 4px);position:absolute;inset:0}.btn{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--line-strong);color:var(--text-dim);align-items:center;gap:.5em;padding:10px 22px;font-weight:700;transition:transform .15s,box-shadow .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover,.btn:focus-visible{border-color:var(--accent);color:var(--accent);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:3px 3px 0 var(--line-strong)}.btn.primary:hover,.btn.primary:focus-visible{box-shadow:5px 5px 0 var(--show-accent2,var(--line-strong));color:var(--bg);transform:translate(-2px,-2px)}body[data-theme=acid-lab] .timeline:before{border-left:1px dotted var(--line-strong);background:0 0;width:0}body[data-theme=acid-lab] .timeline .event:before{background:var(--accent);border:none;border-radius:0;width:9px;height:9px;top:.45em;left:1px}body[data-theme=acid-lab] .timeline .date{letter-spacing:.1em;font-variant-numeric:tabular-nums}body[data-theme=acid-lab] .langbars svg{border-radius:0}body[data-theme=acid-lab] .langbars .legend .pct{color:var(--text)}body[data-theme=acid-lab] .project-card .name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.01em;line-height:1.25}body[data-surface=showcase] .trail-bit{z-index:60;pointer-events:none;width:6px;height:6px;image-rendering:pixelated;animation:.5s steps(5,end) forwards bit-fade;position:fixed}@keyframes bit-fade{to{opacity:0;transform:translate(5px,9px)scale(.4)}}@media (prefers-reduced-motion:reduce){.led{animation:none}.chrome,body[data-surface=showcase] .chrome-sheen{background-position:0 30%;animation:none}a.card,.btn{transition:none}a.card:hover,a.card:focus-visible,body[data-surface=showcase] a.card:hover,body[data-surface=showcase] a.card:focus-visible{box-shadow:none;border-color:var(--show-accent2,var(--accent));transform:none}.btn.primary:hover,.btn.primary:focus-visible{box-shadow:3px 3px 0 var(--show-accent2,var(--line-strong));transform:none}body[data-surface=showcase] .trail-bit{display:none}}@media print{.chip,.evidence-link{color:#333;box-shadow:none;background:#fff;border-color:#ccc}.section-title:before{color:#111}.section-title:after{display:none}}
