:root{--font-body:var(--typography-body);--font-display:"Fredoka","Baloo 2",ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",var(--font-body);--tint-primary:color-mix(in srgb,var(--colors-primary) 14%,transparent);--tint-primary-strong:color-mix(in srgb,var(--colors-primary) 26%,transparent);--tint-accent:color-mix(in srgb,var(--colors-accent) 14%,transparent);--tint-success:color-mix(in srgb,var(--colors-success) 14%,transparent);--tint-danger:color-mix(in srgb,var(--colors-danger) 12%,transparent);--tint-warning:color-mix(in srgb,var(--colors-warning) 18%,transparent);--shadow-color:color-mix(in srgb,var(--colors-text) 10%,transparent);--shadow-sm:0 1px 2px var(--shadow-color),0 2px 8px var(--shadow-color);--shadow-md:0 2px 4px var(--shadow-color),0 10px 28px var(--shadow-color);--shadow-lg:0 6px 12px var(--shadow-color),0 24px 60px var(--shadow-color);--page-width:1120px;--gutter:clamp(16px,4vw,32px)}*,:after,:before{box-sizing:border-box}:lang(ja){--font-body:var(--typography-bodyJa)}:lang(ko){--font-body:var(--typography-bodyKo)}:lang(zh){--font-body:var(--typography-bodyZhHans)}:lang(zh-HK),:lang(zh-Hant),:lang(zh-MO),:lang(zh-TW){--font-body:var(--typography-bodyZhHant)}:root:lang(ja){--font-display:"Fredoka","Baloo 2",ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Hiragino Maru Gothic ProN",var(--font-body)}:where([lang]){font-family:var(--font-body)}html{text-size-adjust:100%;scroll-behavior:smooth}@media (display-mode:standalone){html{overscroll-behavior-y:none}}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--colors-background);color:var(--colors-text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}h1,h2,h3{margin:0 0 var(--spacing-3);font-family:var(--font-display);font-weight:700;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(30px,5vw,52px)}:where(p,li,dd){text-wrap:pretty}:lang(ko){word-break:keep-all;overflow-wrap:break-word}:lang(ja){line-break:strict}:is(h1,h2,h3):lang(ja){line-break:strict;word-break:auto-phrase}.ja-phrases{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}.keep-together{white-space:nowrap}h2{font-size:clamp(24px,3.4vw,34px)}h3{font-size:20px}p{margin:0 0 var(--spacing-4)}a{color:var(--colors-accentInk);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--colors-focus);outline-offset:3px;border-radius:var(--radius-sm)}code{font-family:Consolas,ui-monospace,monospace;font-size:.9em}dialog:modal{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right))}.icon{flex:none;width:20px;height:20px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--spacing-2);left:var(--spacing-2);z-index:100;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-pill);background:var(--colors-text);color:var(--colors-background);transform:translateY(-200%)}.skip-link:focus{transform:none}.lead,.muted{color:var(--colors-textMuted)}.lead{font-size:18px}.eyebrow{display:inline-flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);color:var(--colors-primaryInk);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.eyebrow .icon{width:16px;height:16px}.card{padding:var(--spacing-6);border:1px solid var(--colors-border);border-radius:var(--radius-lg);background:var(--colors-surface)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);min-height:44px;padding:0 var(--spacing-5);border:2px solid transparent;border-radius:var(--radius-pill);background:var(--colors-primaryStrong);color:var(--colors-primaryText);font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;box-shadow:0 3px 0 color-mix(in srgb,var(--colors-primaryStrong) 60%,var(--colors-text));transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,filter var(--motion-fast) ease}.button:hover{filter:brightness(.94);text-decoration:none}.button:active{transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--colors-primaryStrong) 60%,var(--colors-text))}.button[aria-disabled=true],.button[disabled]{cursor:not-allowed;opacity:.5;transform:none}.button.secondary{border-color:var(--colors-border);background:var(--colors-surface);color:var(--colors-text);box-shadow:0 3px 0 var(--colors-border)}.button.danger{background:var(--colors-danger);color:var(--colors-primaryText);box-shadow:0 3px 0 color-mix(in srgb,var(--colors-danger) 60%,var(--colors-text))}.button.small{min-height:36px;padding:0 var(--spacing-4);font-size:14px;white-space:nowrap;box-shadow:none}.button.large{min-height:54px;padding:0 var(--spacing-8);font-size:18px}.button.block{width:100%}.button .icon{width:18px;height:18px}.button-row{display:flex;flex-wrap:wrap;gap:var(--spacing-3);align-items:center}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--colors-border);border-radius:var(--radius-pill);background:var(--colors-surface);color:var(--colors-text);cursor:pointer}.icon-button:hover{background:var(--colors-surfaceAlt)}.link-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-5)}.form{gap:var(--spacing-4)}.field,.form{display:flex;flex-direction:column}.field{gap:var(--spacing-2);font-weight:600}.field small{color:var(--colors-textMuted);font-weight:400;font-size:14px}input:not([type]),input[type=email],input[type=password],input[type=text],select,textarea{width:100%;min-height:48px;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--colors-border);border-radius:var(--radius-md);background:var(--colors-surface);font-weight:400;transition:border-color var(--motion-fast) ease}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--colors-primary) 40%,var(--colors-border))}::placeholder{color:var(--colors-textMuted);opacity:1}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--colors-primary);outline-offset:1px}input[disabled],select[disabled]{opacity:.6}input[type=checkbox],input[type=radio]{accent-color:var(--colors-primaryStrong)}.form-error{margin:0;background:var(--tint-danger);color:var(--colors-danger);font-weight:600}.form-error,.notice{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md)}.notice{display:flex;gap:var(--spacing-3);align-items:flex-start;margin:0 0 var(--spacing-4);background:var(--tint-warning)}.notice p{margin:0 0 var(--spacing-2)}.notice p:last-child{margin:0}.notice .icon{margin-top:2px}.notice.subtle{background:var(--tint-accent)}.notice.success{background:var(--tint-success)}.page-notice{max-width:var(--page-width);margin:var(--spacing-6) auto 0}.segmented{flex-wrap:wrap;gap:var(--spacing-1);margin:0;padding:var(--spacing-1);border:1px solid var(--colors-border);background:var(--colors-surfaceAlt)}.segment,.segmented{display:inline-flex;border-radius:var(--radius-pill)}.segment{position:relative;align-items:center;gap:var(--spacing-2);min-height:38px;padding:0 var(--spacing-4);font-weight:600;cursor:pointer}.segment input{position:absolute;opacity:0;pointer-events:none}.segment.is-active{background:var(--colors-surface);box-shadow:var(--shadow-sm);color:var(--colors-primaryInk)}.segment:has(input:focus-visible){outline:3px solid var(--colors-focus);outline-offset:2px}.segment .icon{width:18px;height:18px}.language-select{position:relative;display:inline-flex;align-items:center;min-width:180px}.language-select>.icon:first-child{position:absolute;left:var(--spacing-3);pointer-events:none;color:var(--colors-textMuted)}.language-select select{appearance:none;padding-left:40px;padding-right:36px;cursor:pointer}.language-select .select-chevron{position:absolute;right:var(--spacing-3);pointer-events:none;color:var(--colors-textMuted)}.language-select.compact{min-width:0}.language-select.compact select{min-height:40px;padding-top:0;padding-bottom:0;border-width:1px;border-radius:var(--radius-pill);font-size:14px}.brand{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--colors-text);text-decoration:none}.brand-mark{width:36px;height:36px}.brand-mark-tile{fill:var(--colors-primary)}.brand-mark-paw{fill:var(--colors-primaryText)}.brand-word{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand-word span{color:var(--colors-primary)}.page{width:100%;max-width:var(--page-width);margin:0 auto}.page-heading{margin-bottom:var(--spacing-8)}.standalone-page{min-height:100vh;min-height:100dvh;padding:var(--spacing-6) var(--gutter)}.standalone-header{max-width:var(--page-width);margin:0 auto}.route-state{display:flex;flex-direction:column;align-items:center;max-width:520px;margin:0 auto;padding:var(--spacing-16) var(--spacing-4);text-align:center}.route-state-icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:var(--spacing-5);border-radius:var(--radius-xl);background:var(--tint-primary);color:var(--colors-primary);transform:rotate(-8deg)}.route-state-icon .icon{width:36px;height:36px}.route-state-code{margin:0;color:var(--colors-accentInk);font-family:var(--font-display);font-size:18px;font-weight:700}.route-state .button-row{justify-content:center}.route-state-digest{margin-top:var(--spacing-6);color:var(--colors-textMuted);font-size:12px;overflow-wrap:anywhere}.route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-3);min-height:40vh;color:var(--colors-textMuted)}.route-loading-mark{width:48px;height:48px;animation:paw-bounce .9s ease-in-out infinite}@keyframes paw-bounce{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(6deg)}}@media (pointer:coarse){.button.small,.icon-button{min-height:44px}.icon-button{min-width:44px}.brand,.link-list a,.segment{min-height:44px}.link-list a{display:inline-flex;align-items:center}.language-select.compact select{min-height:44px}input,select,textarea{font-size:max(16px,1em)!important}}@media (max-height:500px) and (pointer:coarse){h1{font-size:26px}.page-heading{margin-bottom:var(--spacing-4)}.route-state{padding:var(--spacing-4) var(--spacing-4) var(--spacing-6)}.route-state-icon{width:48px;height:48px;margin-bottom:var(--spacing-3)}.route-state-icon .icon{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}