.locale-navigation-status{position:fixed;inset-inline:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-3);width:fit-content;max-width:calc(100% - 32px);margin-inline:auto;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--font-secondary)}.locale-navigation-status>span{min-width:0}.locale-navigation-status .btn{min-height:44px}.locale-navigation-spinner{flex-shrink:0;animation:locale-navigation-spin 1s linear infinite}.locale-navigation-status[data-phase=failed] .locale-navigation-spinner{animation:none}@keyframes locale-navigation-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.locale-navigation-spinner{animation:none}}.dual-price{display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);overflow-wrap:anywhere;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dual-price>small{color:var(--text-secondary);font-size:var(--font-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--font-body);font-weight:var(--weight-medium);white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-subtle)}.btn-ghost{background:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background:var(--surface-subtle)}.btn-danger{background:var(--danger);color:var(--text-on-accent)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-sm{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-secondary)}.btn-block{width:100%}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;color:var(--text-on-accent);animation:spin .64s linear infinite}.btn-ghost.btn-loading:after,.btn-secondary.btn-loading:after{color:var(--text-primary)}@keyframes spin{to{transform:rotate(1turn)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-md);color:var(--text-secondary);position:relative;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.icon-btn:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.4}.icon-btn-danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--font-secondary);font-weight:var(--weight-medium);color:var(--text-primary)}.field-hint{font-size:var(--font-caption);color:var(--text-tertiary)}.field-input,.field-select,.field-textarea{width:100%;min-height:var(--control-height);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-body);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.field-textarea{padding:var(--space-3);min-height:96px;line-height:var(--leading-body);resize:vertical}.field-input:hover:not(:disabled),.field-select:hover:not(:disabled),.field-textarea:hover:not(:disabled){border-color:var(--text-tertiary)}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input:disabled,.field-select:disabled,.field-textarea:disabled{background:var(--surface-subtle);color:var(--text-secondary);cursor:not-allowed}.field-input[aria-invalid=true],.field-select[aria-invalid=true]{border-color:var(--danger)}.field-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-soft)}.field-error{font-size:var(--font-caption);color:var(--danger);display:flex;align-items:center;gap:var(--space-1)}.field-input-group{display:flex;align-items:stretch;gap:var(--space-2)}.field-input-group>.field-input{flex:1 1 auto}.segmented{display:inline-flex;padding:3px;background:var(--surface-subtle);border-radius:var(--radius-md);gap:2px}.segmented-item{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-secondary);font-weight:var(--weight-medium);color:var(--text-secondary);transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.segmented-item[aria-pressed=true],.segmented-item[aria-selected=true]{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 2px rgba(15,20,26,.1)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid transparent;font-size:var(--font-caption);font-weight:var(--weight-medium);white-space:nowrap}.badge-neutral{background:var(--surface-subtle);color:var(--text-secondary);border-color:var(--border)}.badge-success{background:var(--success-soft);color:var(--success);border-color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.badge-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-pad{padding:var(--space-6)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle)}.divider{height:1px;background:var(--border-subtle);border:none}.data-strip{display:flex;flex-wrap:wrap;gap:var(--space-8);padding:var(--space-4) 0}.data-strip-item{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.data-strip-label{font-size:var(--font-caption);color:var(--text-tertiary)}.data-strip-value{font-size:var(--font-app-title);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;font-size:var(--font-secondary)}.data-table th{text-align:left;font-weight:var(--weight-medium);color:var(--text-tertiary);font-size:var(--font-caption);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody tr{transition:background-color var(--motion-fast) var(--ease-standard)}.data-table tbody tr:hover{background:var(--surface-subtle)}.data-table .cell-numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table .cell-actions,.data-table .cell-numeric{text-align:right;white-space:nowrap}.feedback{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--font-secondary)}.feedback-icon{flex:none;margin-top:1px}.feedback-info{background:var(--accent-soft);color:var(--text-primary);border-color:var(--accent)}.feedback-success{background:var(--success-soft);color:var(--text-primary);border-color:var(--success)}.feedback-warning{background:var(--warning-soft);color:var(--text-primary);border-color:var(--warning)}.feedback-error{background:var(--danger-soft);color:var(--text-primary);border-color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-8) var(--space-6);color:var(--text-secondary)}.empty-state-title{font-size:var(--font-body);font-weight:var(--weight-medium);color:var(--text-primary)}.skeleton{background:var(--surface-subtle);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.sensitive-value{gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-secondary);word-break:break-all}.dialog-scrim,.sensitive-value{display:flex;align-items:center}.dialog-scrim{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(15,20,26,.44);justify-content:center;padding:var(--space-4);animation:scrim-in var(--motion-base) var(--ease-standard)}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.dialog{width:100%;max-width:var(--width-narrow);max-height:calc(100vh - var(--space-16));display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);overflow:hidden;transform-origin:center;animation:dialog-in var(--motion-base) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-wide{max-width:720px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-4)}.dialog-title{font-size:var(--font-section);font-weight:var(--weight-semibold)}.dialog-body{padding:0 var(--space-6) var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle)}@media (prefers-reduced-motion:reduce){.dialog{animation:scrim-in var(--motion-base) var(--ease-standard)}}.popover{position:absolute;z-index:var(--z-popover);min-width:180px;padding:var(--space-1);background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);transform-origin:var(--popover-origin,top);animation:popover-in var(--motion-fast) var(--ease-out)}@keyframes popover-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-secondary);color:var(--text-primary);text-align:left;transition:background-color var(--motion-fast) var(--ease-standard)}.menu-item:hover{background:var(--surface-subtle)}.menu-item-danger{color:var(--danger)}.menu-item-danger:hover{background:var(--danger-soft)}@media (prefers-contrast:more),(prefers-reduced-transparency:reduce){.popover{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.toast-region{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);flex-direction:column;max-width:360px}.toast,.toast-region{display:flex;gap:var(--space-2)}.toast{align-items:flex-start;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:var(--font-secondary);animation:toast-in var(--motion-base) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.has-tooltip{position:relative}blockquote,code,dd,dt,li,p,samp,strong,td,th{overflow-wrap:anywhere}dd,dd strong{white-space:normal}@font-face{font-family:GetRun Pixel;src:url(/fonts/press-start-2p-latin.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400}:root{--canvas:#f7f9fa;--surface:#ffffff;--surface-subtle:#f1f6ff;--surface-sunken:#eef2f6;--text-primary:#0f141a;--text-secondary:#606a75;--text-tertiary:#626d78;--text-on-accent:#ffffff;--border:#d7dce2;--border-strong:#8a96a3;--border-subtle:#e4e8ed;--brand-blue:#0082ef;--brand-blue-strong:#267ef0;--accent:#0068bd;--accent-hover:#0062b3;--accent-active:#005fb2;--accent-soft:#e8f3ff;--link:#006fcb;--success-visual:#1bab50;--success:#187a3d;--success-soft:#e3f2e8;--warning:#9a5a00;--warning-soft:#f6ecda;--danger:#c3342c;--danger-hover:#a72820;--danger-soft:#fae8e6;--focus-ring:#267ef0;--font-display:48px;--font-page-title:32px;--font-app-title:24px;--font-section:20px;--font-body:15px;--font-secondary:13px;--font-caption:12px;--font-auth-title:22px;--leading-display:1.15;--leading-page-title:1.25;--leading-app-title:1.3;--leading-section:1.4;--leading-body:1.6;--leading-secondary:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:999px;--shadow-popover:0 4px 16px rgba(15,20,26,0.12),0 1px 3px rgba(15,20,26,0.08);--shadow-modal:0 16px 48px rgba(15,20,26,0.22),0 4px 12px rgba(15,20,26,0.12);--shadow-auth:0 10px 30px rgba(15,20,26,0.08),0 1px 2px rgba(15,20,26,0.06);--control-height:36px;--control-height-sm:32px;--touch-target:44px;--measure-prose:68ch;--width-content:1120px;--width-narrow:460px;--width-auth:408px;--motion-fast:120ms;--motion-base:200ms;--motion-slow:320ms;--ease-standard:cubic-bezier(0.32,0.72,0,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--font-sans:system-ui,-apple-system,"Segoe UI","PingFang SC","PingFang HK","Microsoft YaHei","Hiragino Sans GB",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono","Menlo","Consolas",monospace;--z-sticky:100;--z-popover:200;--z-modal:300;--z-toast:400}*,:after,:before{box-sizing:border-box}*{margin:0;letter-spacing:0}html{text-size-adjust:100%;scrollbar-gutter:stable}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-body);line-height:var(--leading-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:0}button{cursor:pointer;background:none;border:none;padding:0}button:disabled{cursor:not-allowed}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}ol,ul{list-style:none;padding:0}table{border-collapse:collapse;border-spacing:0}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);transform:translateY(-200%);transition:transform var(--motion-fast) var(--ease-standard)}.skip-link:focus{transform:translateY(0);text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.type-display{font-size:var(--font-display);line-height:var(--leading-display)}.type-display,.type-page-title{font-weight:var(--weight-semibold)}.type-page-title{font-size:var(--font-page-title);line-height:var(--leading-page-title)}.type-app-title{font-size:var(--font-app-title);line-height:var(--leading-app-title)}.type-app-title,.type-section{font-weight:var(--weight-semibold)}.type-section{font-size:var(--font-section);line-height:var(--leading-section)}.type-body{font-size:var(--font-body);line-height:var(--leading-body)}.type-secondary{font-size:var(--font-secondary);color:var(--text-secondary)}.type-caption,.type-secondary{line-height:var(--leading-secondary)}.type-caption{font-size:var(--font-caption);color:var(--text-tertiary)}.type-mono{font-family:var(--font-mono)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-numeric{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}h1{font-size:var(--font-page-title);line-height:var(--leading-page-title)}h1,h2{font-weight:var(--weight-semibold)}h2{font-size:var(--font-section);line-height:var(--leading-section)}h3{font-size:var(--font-body);line-height:var(--leading-body);font-weight:var(--weight-semibold)}.app-main{min-height:100vh}.stack{display:flex;flex-direction:column}.stack-2{gap:var(--space-2)}.stack-3{gap:var(--space-3)}.stack-4{gap:var(--space-4)}.stack-6{gap:var(--space-6)}.stack-8{gap:var(--space-8)}.row{display:flex;align-items:center}.row-gap-2{gap:var(--space-2)}.row-gap-3{gap:var(--space-3)}.row-gap-4{gap:var(--space-4)}.row-between{justify-content:space-between}.row-wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}@media (max-width:640px){:root{--font-display:36px;--font-page-title:28px;--font-app-title:22px}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.12s!important;scroll-behavior:auto!important}[data-motion=transform]{transform:none!important}}@media (prefers-reduced-transparency:reduce){.surface-translucent{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (prefers-contrast:more){:root{--border:#6b7280;--border-strong:#4b5563;--border-subtle:#6b7280;--text-secondary:#3a4048;--text-tertiary:#4b5563}.surface-translucent{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.badge,.btn,.field-input{border-width:1.5px}}@media (forced-colors:active){.btn,.field-input{border:1px solid ButtonText}:focus-visible{outline-color:Highlight}}