:root{--mint:#cdeee3;--sky:#d3e8f6;--cream:#fff6e5;--cream-deep:#f6e7c9;--ink:#16213e;--ink-soft:#46506b;--ink-faint:#8a93a8;--coral:#ff6b57;--coral-deep:#e74f3b;--line:3px;--shadow:5px 5px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--radius:18px;--radius-sm:12px;--font-display:"Bricolage Grotesque Variable", "Hiragino Sans", "PingFang SC", "Apple SD Gothic Neo", "Noto Sans CJK SC", system-ui, sans-serif;--font-body:"Figtree Variable", "Hiragino Sans", "PingFang SC", "Apple SD Gothic Neo", "Noto Sans CJK SC", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--gutter:16px;--max:1080px;color-scheme:light}:lang(zh-Hant){--font-display:"Bricolage Grotesque Variable", "PingFang TC", "Noto Sans CJK TC", "Microsoft JhengHei", system-ui, sans-serif;--font-body:"Figtree Variable", "PingFang TC", "Noto Sans CJK TC", "Microsoft JhengHei", system-ui, sans-serif}:lang(ja){--font-display:"Bricolage Grotesque Variable", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Yu Gothic", system-ui, sans-serif;--font-body:"Figtree Variable", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Yu Gothic", system-ui, sans-serif}:lang(ko){--font-display:"Bricolage Grotesque Variable", "Apple SD Gothic Neo", "Noto Sans CJK KR", "Malgun Gothic", system-ui, sans-serif;--font-body:"Figtree Variable", "Apple SD Gothic Neo", "Noto Sans CJK KR", "Malgun Gothic", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body{min-height:100svh;font-family:var(--font-body);color:var(--ink);background-color:var(--mint);background-image:radial-gradient(circle at 1px 1px, #16213e12 1px, transparent 0), linear-gradient(170deg, var(--sky) 0%, var(--mint) 55%, #c4ecdd 100%);-webkit-font-smoothing:antialiased;background-size:18px 18px,100% 100%;background-attachment:scroll,fixed;margin:0;font-size:17px;line-height:1.55;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:2px}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--coral-deep);outline-offset:3px}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:var(--cream);border-radius:8px;padding:8px 14px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;height:60px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:9px;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:2.5px solid var(--ink);background:var(--cream);width:22px;height:28px;box-shadow:2px 2px 0 var(--ink);border-radius:5px;position:relative;transform:rotate(-8deg)}.brand-mark:after{content:"";background:var(--coral);border-radius:50% 50% 3px 3px;position:absolute;inset:5px 4px 9px}.lang{position:relative}.lang summary{cursor:pointer;border:2px solid var(--ink);background:#fff6e5b3;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.86rem;font-weight:600;list-style:none;display:inline-flex}.lang summary::-webkit-details-marker{display:none}.lang summary svg{width:15px;height:15px}.lang ul{z-index:20;background:var(--cream);border:2px solid var(--ink);border-radius:var(--radius-sm);min-width:150px;box-shadow:var(--shadow-sm);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0}.lang a{border-radius:8px;padding:8px 12px;font-size:.95rem;text-decoration:none;display:block}.lang a:hover,.lang a[aria-current=true]{background:var(--cream-deep)}.lang a[aria-current=true]{font-weight:700}.btn{--btn-bg:var(--cream);border:var(--line) solid var(--ink);background:var(--btn-bg);min-height:48px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .15s;display:inline-flex}.btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.btn svg{flex:none;width:20px;height:20px}.btn-primary{--btn-bg:var(--coral);color:#fff;font-family:var(--font-display);letter-spacing:-.01em;min-height:68px;box-shadow:6px 6px 0 var(--ink);text-shadow:0 1px #16213e40;padding:14px 34px 14px 38px;font-size:clamp(1.25rem,4.6vw,1.6rem)}.btn-primary:hover{--btn-bg:var(--coral-deep);box-shadow:8px 8px 0 var(--ink)}.btn-primary:active{box-shadow:1px 1px 0 var(--ink);transform:translate(5px,5px)}.btn-primary.btn-md{min-height:56px;box-shadow:5px 5px 0 var(--ink);padding:10px 28px;font-size:1.15rem}.btn-primary.btn-md:hover{box-shadow:6px 6px 0 var(--ink)}.btn-primary .arrow{transition:transform .2s}.btn-primary:hover .arrow{transform:translate(4px)}@media (prefers-reduced-motion:no-preference){.btn-primary.pulse{animation:3.2s ease-in-out 1.2s infinite btn-breathe}.btn-primary.pulse .arrow{animation:3.2s ease-in-out 1.2s infinite arrow-nudge}.btn-primary.pulse:hover,.btn-primary.pulse:hover .arrow{animation:none}}@keyframes btn-breathe{0%,70%,to{box-shadow:6px 6px 0 var(--ink);transform:translate(0)}80%{box-shadow:8px 8px 0 var(--ink);transform:translate(-2px,-2px)}}@keyframes arrow-nudge{0%,70%,to{transform:translate(0)}80%{transform:translate(5px)}}.btn-ghost{--btn-bg:transparent;box-shadow:none;border-width:2px}.btn-ghost:hover{--btn-bg:#fff6e5b3;box-shadow:none;transform:none}.btn-ghost:active{transform:translateY(1px)}.link-quiet{cursor:pointer;color:var(--ink-soft);text-underline-offset:3px;background:0 0;border:none;padding:4px 0;font-size:.92rem;text-decoration:underline 1.5px}.panel{background:var(--cream);border:var(--line) solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow)}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.08}:lang(ja) :is(h1,h2,h3){word-break:auto-phrase}:lang(ko) :is(h1,h2,h3,p,li,dd){word-break:keep-all}:lang(zh-Hans) :is(h1,h2,h3),:lang(zh-Hant) :is(h1,h2,h3),:lang(ja) :is(h1,h2,h3),:lang(ko) :is(h1,h2,h3){letter-spacing:0;line-height:1.2}.section{padding-block:56px 8px}.section>h2,.section-title{margin-bottom:18px;font-size:clamp(1.6rem,5vw,2.2rem)}.card-art{aspect-ratio:3/4;border:var(--line) solid var(--ink);border-radius:var(--radius-sm);background:var(--cream);overflow:hidden}.card-art svg{width:100%;height:100%}.traits{gap:14px;margin:0;padding:0;list-style:none;display:grid}.trait-row{gap:6px;display:grid}.trait-head{justify-content:space-between;align-items:baseline;gap:8px;font-weight:700;display:flex}.trait-head .nums{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:.85rem;font-weight:600}.bar{border:2px solid var(--ink);background:#fff;border-radius:999px;height:14px;position:relative;overflow:visible}.bar-fill{background:var(--fill,var(--coral));border-radius:999px;position:absolute;inset:0 auto 0 0}.bar-mark{background:var(--ink);border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:-6px;bottom:-6px}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:14px;margin:0 0 14px;font-size:.85rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border:2px solid var(--ink);border-radius:999px;width:18px;height:10px;display:inline-block}.legend i.mark{background:var(--ink);border:0;border-radius:2px;width:4px;height:16px}.prose{max-width:680px}.prose h2{margin:34px 0 10px;font-size:1.35rem}.prose p{color:var(--ink);margin:0 0 14px}.prose .lead{color:var(--ink-soft);font-size:1.15rem}.footer{color:var(--ink-soft);border-top:2px dashed #16213e4d;margin-top:72px;padding-block:28px 40px;font-size:.88rem}.footer nav{color:var(--ink);flex-wrap:wrap;gap:8px 18px;margin-bottom:14px;font-weight:600;display:flex}.footer p{max-width:720px;margin:0}.ad-slot{border:2px dashed var(--ink-faint);border-radius:var(--radius-sm);width:100%;max-width:728px;color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;place-items:center;margin:40px auto 0;font-size:.75rem;display:grid}.ad-banner{max-width:340px;min-height:100px}.ad-rect{max-width:340px;min-height:250px}.ad-leaderboard{max-width:340px;min-height:100px}@media (width>=768px){.ad-leaderboard{max-width:728px;min-height:90px}}.event-debug{z-index:200;color:#d8f5ea;width:min(360px,100vw - 16px);max-height:40vh;font:11px/1.4 var(--font-mono);white-space:pre-wrap;background:#16213eeb;border-radius:10px;margin:0;padding:10px;position:fixed;bottom:8px;right:8px;overflow:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portrait{width:100%;height:100%;display:block;position:relative;overflow:hidden}.portrait>svg{width:100%;height:100%;position:absolute;inset:0}.portrait-sil,.portrait-img{width:88%;height:93%;position:absolute;top:7%;left:6%}.portrait-sil{background:var(--ink);-webkit-mask-position:50% 100%;mask-position:50% 100%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.portrait-img{object-fit:contain;object-position:50% 100%;max-width:none}.portrait-q{aspect-ratio:1;background:var(--cream);width:22%;color:var(--ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:clamp(.9rem,4vw,1.6rem);font-weight:800;line-height:1;display:grid;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}
