@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Regular.subset.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-SemiBold.subset.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-ExtraBold.subset.woff2)format("woff2");font-weight:800;font-display:swap}:root{--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--container-xl:1280px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--radius-pane:20px;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-relaxed:1.625;--duration-fast:.15s;--ease-out:cubic-bezier(.16, 1, .3, 1);--font:"Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, -apple-system, sans-serif;--bg:#e3f2f9;--shape-1:#a8d6ec;--shape-2:#86bddd;--shape-3:#9acde6;--glass:#ffffffa8;--glass-strong:#ffffffd6;--glass-rim:#ffffffb3;--glass-ring:#0f28541f;--glass-highlight:#ffffffd9;--glass-shadow:0 1px 2px #0f28540d, 0 10px 30px -12px #0f285438;--bar-shadow:0 1px 1px #0f28540f, 0 24px 48px -6px #0f285414;--glass-solid:#f2f8fc;--hair:#0f285429;--text:#0b1d36;--text-2:#2a4466;--primary:#1c4d8d;--primary-hover:#0f2854;--on-primary:#fff;--chip:#1c4d8d1a;--screen:#0f2854;--focus:#1c4d8d;--ok:#17693c;--ok-soft:#17693c1a;--danger:#a3261c;--danger-soft:#a3261c17;--live:#1f9d55;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#07142b;--shape-1:#1c4d8d;--shape-2:#123a6e;--shape-3:#24599c;--glass:#0c1e3e9e;--glass-strong:#0c1e3ed6;--glass-rim:#bde8f529;--glass-ring:#02081473;--glass-highlight:#bde8f53d;--glass-shadow:0 1px 2px #00000040, 0 14px 36px -14px #0009;--bar-shadow:0 1px 1px #00000026, 0 24px 48px -6px #0000001c;--glass-solid:#0f2854;--hair:#bde8f529;--text:#eef7fc;--text-2:#c6daea;--primary:#bde8f5;--primary-hover:#e3f4fa;--on-primary:#0f2854;--chip:#bde8f524;--screen:#030b18;--focus:#bde8f5;--ok:#8fe3b0;--ok-soft:#8fe3b01f;--danger:#ffb3aa;--danger-soft:#ffb3aa1f;--live:#5ee08f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#07142b;--shape-1:#1c4d8d;--shape-2:#123a6e;--shape-3:#24599c;--glass:#0c1e3e9e;--glass-strong:#0c1e3ed6;--glass-rim:#bde8f529;--glass-ring:#02081473;--glass-highlight:#bde8f53d;--glass-shadow:0 1px 2px #00000040, 0 14px 36px -14px #0009;--bar-shadow:0 1px 1px #00000026, 0 24px 48px -6px #0000001c;--glass-solid:#0f2854;--hair:#bde8f529;--text:#eef7fc;--text-2:#c6daea;--primary:#bde8f5;--primary-hover:#e3f4fa;--on-primary:#0f2854;--chip:#bde8f524;--screen:#030b18;--focus:#bde8f5;--ok:#8fe3b0;--ok-soft:#8fe3b01f;--danger:#ffb3aa;--danger-soft:#ffb3aa1f;--live:#5ee08f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font:400 1rem/1.65 var(--font);word-break:keep-all;overflow-wrap:break-word;margin:0;padding-bottom:96px}@media (width>=900px){body{padding-bottom:0}}h1,h2,h3{line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}p{margin:0 0 var(--space-3)}a{color:inherit}code{background:var(--chip);border-radius:var(--radius-md);padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}[hidden]{display:none!important}.nowrap{white-space:nowrap}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-lg)}main:focus,main h1:focus{outline:none}.skip-link{left:var(--space-3);z-index:50;background:var(--primary);min-height:44px;color:var(--on-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}.backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop span{display:block;position:absolute}.backdrop .b1{background:var(--shape-1);border-radius:50%;width:46vmax;height:46vmax;top:-12vmax;left:-14vmax}.backdrop .b2{border:5vmax solid var(--shape-2);border-radius:50%;width:30vmax;height:30vmax;top:18vh;right:-8vmax}.backdrop .b3{background:var(--shape-3);width:22vmax;height:22vmax;animation:drift 24s var(--ease-out) infinite alternate;border-radius:28%;bottom:-10vmax;left:38vw;transform:rotate(18deg)}@keyframes drift{to{transform:rotate(38deg)translate(3vmax,-2vmax)}}.pane{background:var(--glass);border:1px solid var(--glass-rim);box-shadow:0 0 0 1px var(--glass-ring), inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);border-radius:var(--radius-pane);-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%)}.pane:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.pane,.topbar,.tabbar{background:var(--glass-strong)}}.wrap{width:100%;max-width:var(--container-xl);padding:0 var(--space-3);margin:0 auto}@media (width>=768px){.wrap{padding:0 var(--space-5)}}.site-header{z-index:20;padding-top:var(--space-2);position:sticky;top:0}.topbar{align-items:center;gap:var(--space-2);padding:6px 6px 6px var(--space-3);background:var(--glass-strong);border:1px solid var(--glass-rim);box-shadow:0 0 0 1px var(--glass-ring), inset 0 1px 0 var(--glass-highlight), var(--bar-shadow);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:8px;min-height:44px;margin-right:auto;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.brand i{background:var(--primary);border-radius:7px;width:22px;height:22px;display:inline-block;position:relative}.brand i:after{content:"";background:var(--bg);border-radius:3px;position:absolute;inset:6px}.brand:focus-visible{border-radius:var(--radius-full)}.theme-switch,.nav-auth{flex-shrink:0}@media (width<=399px){.nav-auth .login{padding:0 12px}}@media (width<=379px){.brand-name{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{padding-left:10px}}.nav{display:none}.nav-links{gap:2px;display:flex}.nav a,.tabbar a{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--text-2);white-space:nowrap;transition:background-color var(--duration-fast), color var(--duration-fast);justify-content:center;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:flex}.nav a:hover,.tabbar a:hover{background:var(--chip);color:var(--text)}.nav a:active,.tabbar a:active{transform:scale(.97)}.nav a[aria-current=page],.tabbar a[aria-current=page]{background:var(--primary);color:var(--on-primary)}.nav a:focus-visible,.tabbar a:focus-visible{border-radius:var(--radius-full)}.theme-switch{border:0;min-width:0;margin:0;padding:0}.theme-options{background:var(--chip);border-radius:var(--radius-full);padding:3px;display:flex}.theme-switch input{opacity:0;width:1px;height:1px;position:absolute}.theme-switch label{border-radius:var(--radius-full);min-width:44px;min-height:44px;font-size:var(--text-sm);color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-weight:600;display:inline-flex}.theme-switch label:hover{color:var(--text);background:var(--glass)}.theme-switch input:checked+label{background:var(--glass-strong);color:var(--text);outline:1px solid var(--hair)}.theme-switch input:checked+label:before{content:"✓";color:var(--primary)}.theme-switch input:focus-visible+label{outline:2px solid var(--focus);outline-offset:1px}.theme-icon{display:none}@media (width<=560px){.theme-icon{font-size:1rem;line-height:1;display:inline}.theme-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.theme-switch input:checked+label:before{content:none}.theme-switch input:checked+label{background:var(--primary);color:var(--on-primary);outline:0}}.nav-auth{align-items:center;gap:var(--space-2);min-width:0;display:flex}.nav-user{min-width:0;font-size:var(--text-sm);color:var(--text-2);font-weight:600;display:none}.nav-email{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;display:block;overflow:hidden}@media (width>=1100px){.nav-user{display:block}}.nav-auth .login{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--text);color:var(--bg);font:600 1rem/1 var(--font);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast);border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-auth .login:hover{background:var(--primary);color:var(--on-primary)}.nav-auth .login:active{transform:scale(.97)}.nav-auth .login:focus-visible{border-radius:var(--radius-full)}.nav-auth .login[disabled]{opacity:.6;cursor:progress}.tabbar{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);z-index:20;background:var(--glass-strong);border:1px solid var(--glass-rim);box-shadow:0 0 0 1px var(--glass-ring), inset 0 1px 0 var(--glass-highlight), var(--bar-shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:24px;padding:6px;position:fixed}.tabbar ul{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin:0;padding:0;list-style:none;display:grid}.tabbar a{min-height:56px;font-size:var(--text-sm);border-radius:18px;flex-direction:column;gap:0;padding:0 4px}.tabbar .ti{font-size:1.05rem;line-height:1}.tabbar .ti-note{display:inline-block;transform:scale(1.35)}.tabbar a:focus-visible{border-radius:18px}@media (width>=900px){.nav{display:block}.tabbar{display:none}.topbar{gap:var(--space-3)}}.flash:empty{display:none}.flash{padding-top:var(--space-3)}.flash .notice{margin:0}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font:600 1rem/1 var(--font);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:active{transform:scale(.97)}.btn:focus-visible{border-radius:var(--radius-full)}.btn-glass{background:var(--glass-strong);color:var(--text);border-color:var(--hair)}.btn-glass:hover{background:var(--chip)}.btn[disabled]{color:var(--text-2);border:1px dashed var(--text-2);cursor:not-allowed;background:0 0;transform:none}.btn.is-loading{cursor:progress;opacity:.85}.btn.is-loading .play-icon{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;font-size:0;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.link{min-height:44px;color:var(--primary);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.link:hover{text-underline-offset:4px;text-decoration:underline}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--chip);color:var(--text);border-radius:var(--radius-full);font-size:var(--text-sm);padding:3px 11px;font-weight:600}.label{font-size:var(--text-sm);color:var(--text-2);letter-spacing:.02em;margin-bottom:var(--space-2);font-weight:600;display:block}.badge-lock{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.greet{padding-block:var(--space-5) var(--space-4);justify-content:space-between;align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.greet h1{font-size:clamp(1.6rem,4.5vw,2.25rem);font-weight:800}.greet p{color:var(--text-2);margin:4px 0 0}.status{border-radius:var(--radius-full);font-size:var(--text-sm);align-items:center;gap:8px;padding:6px 14px;font-weight:600;display:inline-flex}.status:before{content:"●";color:var(--live)}.deck{gap:var(--space-3);padding-bottom:var(--space-6);grid-template-columns:1fr;display:grid}.tile{padding:var(--space-4);gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.tile h2{font-size:var(--text-xl);font-weight:600}.tile-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width>=900px){.deck{gap:var(--space-4);grid-template-columns:repeat(12,1fr)}.t-play{grid-area:1/1/span 2/span 7}.t-me{grid-area:1/8/auto/span 5}.t-skills{grid-area:2/8/auto/span 5}.t-work{grid-area:3/1/auto/-1}.t-play .screen{aspect-ratio:auto;flex:1 1 0;min-height:260px}.t-work .list{column-gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.t-work .list li{border-top:0;border-left:1px solid var(--hair);padding-left:var(--space-4)}.t-work .list li:first-child{border-left:0;padding-left:0}.t-work .list .item{gap:var(--space-1);grid-template-columns:1fr;align-content:start}.t-work .item>.badge-lock{justify-self:start}}@media (width>=900px) and (width<=1099px){.t-play{grid-column:1/span 6}.t-me,.t-skills{grid-column:7/span 6}}.screen{background:var(--screen);aspect-ratio:16/9;border-radius:14px;flex:1;min-height:180px;position:relative;overflow:hidden}.screen img{object-fit:cover;opacity:0;width:100%;height:100%;display:block;position:absolute;inset:0}.screen img.is-ready{opacity:1}.t-play h3{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.t-play p{color:var(--text-2);margin:0}.row-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.me-name{font-size:var(--text-3xl);font-weight:800}.t-me p{color:var(--text-2);margin:0}.stats{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.stats li{background:var(--chip);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-1);text-align:center;min-width:0;container-type:inline-size}.stats b{color:var(--primary);white-space:nowrap;letter-spacing:-.02em;font-size:clamp(1.125rem,27cqi,2rem);font-weight:800;line-height:1.1;display:block}.stats span{font-size:var(--text-sm);color:var(--text-2);margin-top:4px;line-height:1.35;display:block}.list{margin:0;padding:0;list-style:none}.list li{border-top:1px solid var(--hair)}.list li:first-child{border-top:0}.list .item{gap:var(--space-3);padding-block:var(--space-3);grid-template-columns:3.4rem 1fr auto;align-items:center;text-decoration:none;display:grid}.list a.item:hover h3{text-underline-offset:4px;text-decoration:underline}.list .yr{color:var(--primary);font-variant-numeric:tabular-nums;font-weight:800}.list h3,.list h4{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}.list p{color:var(--text-2);font-size:var(--text-sm);margin:2px 0 0}.list .go{font-size:var(--text-sm)}.t-work .item>div{min-width:0}.t-work .item h3,.t-work .item p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=520px){.list .item{grid-template-columns:3rem 1fr}.list .go,.list .item>.badge-lock{grid-column:2;justify-self:start}}.skill-groups{gap:var(--space-3);display:grid}.skill-groups h3{font-size:var(--text-sm);color:var(--text-2);margin-bottom:6px;font-weight:600}.more-games{border-top:1px solid var(--hair);padding-top:var(--space-2)}.page-head{padding-block:var(--space-5) var(--space-4)}.page-head h1{font-size:clamp(2rem,6vw,3rem);font-weight:800}.page-head .lead{color:var(--text-2);max-width:52ch;margin:6px 0 0}.launcher{gap:var(--space-4);padding-bottom:var(--space-6);display:grid}@media (width>=900px){.launcher{grid-template-columns:300px 1fr;align-items:start}.launcher>.filters{position:sticky;top:96px}}.filters{padding:var(--space-4);gap:var(--space-3);display:grid}.field{gap:6px;display:grid}.field label{font-weight:600}.field input{min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-xl);font:400 1rem var(--font);color:var(--text);background:var(--glass-strong);border:1px solid var(--hair);width:100%;min-width:0}.field input::placeholder{color:var(--text-2);opacity:1}.field input:hover{border-color:var(--primary)}.field input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--primary)}.field .hint{font-size:var(--text-sm);color:var(--text-2);margin:0}.count{font-size:var(--text-sm);color:var(--text-2);margin:0;font-weight:600}.game-grid{gap:var(--space-4);display:grid}@media (width>=1100px){.game-grid{grid-template-columns:1fr 1fr}}.game{padding:var(--space-3);gap:var(--space-3);flex-direction:column;text-decoration:none;display:flex}.game .screen{flex:none}.game-body{padding:0 var(--space-2) var(--space-2);gap:var(--space-2);justify-items:start;display:grid}.game h2{font-size:var(--text-2xl);font-weight:800}.game p{color:var(--text-2);margin:0}a.game:hover h2,a.project:hover h2{text-underline-offset:4px;text-decoration:underline}a.game:focus-visible,a.project:focus-visible{border-radius:var(--radius-pane)}.empty{padding:var(--space-5);gap:var(--space-3);justify-items:start;display:grid}.empty h2{font-size:var(--text-xl);font-weight:800}.empty p{color:var(--text-2);margin:0}.help{padding:var(--space-4);gap:var(--space-2);display:grid}.help h2{font-size:var(--text-lg);font-weight:800}.help p,.help li{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.help ul{margin:0;padding-left:1.1em}.help.flat{padding:var(--space-3) 0 0;border-top:1px solid var(--hair)}.help .warn{color:var(--text);font-weight:600}.projects{gap:var(--space-3);padding-bottom:var(--space-6);display:grid}.project{padding:var(--space-4);gap:var(--space-3);text-decoration:none;display:grid}@media (width>=800px){.project{align-items:center;gap:var(--space-5);grid-template-columns:110px 1fr auto}}.project .yr{font-size:var(--text-3xl);color:var(--primary);font-weight:800;line-height:1}.project .yr small{font-size:var(--text-sm);color:var(--text-2);margin-top:6px;font-weight:600;display:block}.project h2{font-size:var(--text-2xl);margin-bottom:4px;font-weight:800}.project p{color:var(--text-2);margin:0 0 var(--space-2)}.project-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.resume{gap:var(--space-4);padding-block:var(--space-5) var(--space-6);display:grid}@media (width>=960px){.resume{grid-template-columns:340px 1fr;align-items:start}.resume>.card-id{position:sticky;top:96px}}.card-id{padding:var(--space-5) var(--space-4);gap:var(--space-3);display:grid}.card-id h1{font-size:2.5rem;font-weight:800}.card-id .en{color:var(--text-2);font-weight:600;font-size:var(--text-base);letter-spacing:0;margin:4px 0 0;display:block}.card-id .headline{margin:0;font-weight:600}.full-resume{justify-content:space-between;align-items:center;gap:0 var(--space-4);padding:var(--space-2) var(--space-4);border-radius:var(--radius-xl);background:var(--glass-strong);border:1px solid var(--hair);font-size:var(--text-sm);color:var(--text-2);flex-wrap:wrap;display:flex}.full-resume p{padding-block:var(--space-2);gap:var(--space-2);margin:0;display:flex}.full-resume .full-resume-link:empty{display:none}.stack{gap:var(--space-4);display:grid}.panel{padding:var(--space-4)}.panel>h2{font-size:var(--text-lg);margin-bottom:var(--space-3);font-weight:800}.panel .lede{font-size:var(--text-lg);margin:0;line-height:1.75}.hl-grid{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.hl-grid{grid-template-columns:1fr 1fr}}.hl-grid li{background:var(--chip);border-radius:var(--radius-xl);padding:var(--space-3)}.hl-grid h3{font-size:var(--text-base);margin-bottom:4px;font-weight:800}.hl-grid p{font-size:var(--text-sm);color:var(--text-2);line-height:var(--leading-relaxed);margin:0}.hl-grid .when{color:var(--primary);margin-bottom:4px;font-size:.75rem;font-weight:600;display:inline-block}.tl{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.tl>li{padding-left:var(--space-4);border-left:2px solid var(--primary);gap:2px;display:grid}.tl .when{font-size:var(--text-sm);color:var(--primary);font-weight:600}.tl h3{font-size:var(--text-lg);font-weight:800}.tl p{color:var(--text-2);margin:0}.tl ul{color:var(--text-2);margin:4px 0 0;padding-left:1.1em}.skill-rows{gap:var(--space-3);display:grid}.skill-rows>div{gap:6px;display:grid}@media (width>=640px){.skill-rows>div{grid-template-columns:130px 1fr;align-items:start}}.skill-rows h3{font-size:var(--text-sm);color:var(--text-2);padding-top:4px;font-weight:600}.login-card{padding:var(--space-4);gap:var(--space-3);max-width:560px;margin-bottom:var(--space-6);display:grid}.login-form{gap:var(--space-3);display:grid}.login-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.login-row input{flex:220px}.login-status{gap:var(--space-2);display:grid}.login-status:empty{display:none}.login-hint{font-size:var(--text-sm);color:var(--text-2);margin:0}.login-done{gap:var(--space-3);justify-items:start;display:grid}.notice{padding:var(--space-3);border-radius:var(--radius-xl);margin:0;font-size:.95rem}.notice-success{background:var(--ok-soft);color:var(--text);border-left:4px solid var(--ok)}.notice-error{background:var(--danger-soft);color:var(--text);border-left:4px solid var(--danger)}.notice-info{background:var(--chip);color:var(--text-2)}.notice a{color:var(--primary);font-weight:600}.privacy{padding-bottom:var(--space-6)}.privacy .stack{max-width:860px}.privacy section{scroll-margin-top:96px}.privacy .panel ul,.privacy .panel ol{margin:0 0 var(--space-3);padding-left:1.2em}.privacy .panel li+li{margin-top:6px}.privacy .panel>:last-child{margin-bottom:0}.not-found{padding-block:var(--space-6)}.not-found .code{color:var(--primary);margin:0 0 var(--space-2);font-size:clamp(3.5rem,12vw,6rem);font-weight:800;line-height:1}.not-found h1{margin-bottom:var(--space-2);font-size:clamp(1.6rem,4.5vw,2.25rem);font-weight:800}.not-found .lead{color:var(--text-2);margin-bottom:var(--space-4)}.not-found .pane{padding:var(--space-5) var(--space-4);max-width:640px}.site-footer{padding-block:var(--space-4) var(--space-5)}.site-footer .wrap{gap:var(--space-2);color:var(--text-2);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.site-footer a{align-items:center;min-height:44px;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){body{--text-2:var(--text)}.pane,.topbar,.tabbar{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--text)}.backdrop .b3{animation:none}}@media (forced-colors:active){.backdrop{display:none}.pane,.topbar,.tabbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas;border-color:canvastext}.nav a[aria-current=page],.tabbar a[aria-current=page]{forced-color-adjust:none;color:highlighttext;background:highlight}}.guide{padding-bottom:var(--space-6)}.guide figure{margin:0}.guide img{aspect-ratio:16/9;background:var(--screen);border-radius:14px;width:100%;height:auto;display:block}.guide-hero{padding:var(--space-2)}.guide-section{margin-top:var(--space-5)}.guide-section>h2{font-size:var(--text-2xl);margin-bottom:var(--space-3);font-weight:800}.guide-features,.guide-controls{gap:var(--space-4);display:grid}@media (width>=900px){.guide-features,.guide-controls{grid-template-columns:1fr 1fr;align-items:start}}.guide-feature{gap:var(--space-3);display:grid}.guide-text h3,.guide-controls h3{font-size:var(--text-lg);margin-bottom:6px;font-weight:800}.guide-text p{color:var(--text-2);margin:0}.guide-keys{gap:8px var(--space-3);margin:var(--space-2) 0 0;grid-template-columns:max-content 1fr;display:grid}.guide-keys dt{font-weight:700}.guide-keys dd{color:var(--text-2);margin:0}.guide-note{margin:var(--space-3) 0 0;color:var(--text-2);font-size:var(--text-sm)}@media (width<=520px){.guide-keys{grid-template-columns:1fr;gap:2px}.guide-keys dd{margin-bottom:8px}}
