:root{--color-canvas:#f7f7f7;--color-surface:#fff;--color-surface-2:#f1f1f1;--color-surface-3:#e7e7e7;--color-surface-inv:#0a0a0a;--color-border:#e5e5e5;--color-border-strong:#d4d4d4;--color-border-danger:#c9564f;--color-border-success:#3e9668;--color-text-primary:#0a0a0a;--color-text-secondary:#505050;--color-text-tertiary:#6e6e6e;--color-text-inverse:#fff;--color-action:#0a0a0a;--color-action-hover:#262626;--color-action-text:#fff;--color-success-bg:#e9f4ed;--color-success-fg:#15703f;--color-warning-bg:#fbf0e1;--color-warning-fg:#8a5a00;--color-danger-bg:#fbeceb;--color-danger-fg:#a32c2c;--color-info-bg:#efefef;--color-info-fg:#525252;--brand:#6e6e6e;--brand-from:#b4b4b4;--brand-to:#4a4a4a;--brand-ring:color-mix(in srgb, var(--brand) 14%, transparent);--brand-soft:color-mix(in srgb, var(--brand) 12%, transparent);--brand-contrast:#fff;--font-display:"Roboto Flex", system-ui, sans-serif;--font-sans:"Roboto Flex", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:13.5px;--text-lg:14.5px;--text-xl:17px;--text-2xl:19px;--text-3xl:26px;--weight-heading:500;--weight-medium:500;--tracking-tight:-.01em;--tracking-tighter:-.015em;--tracking-display:-.02em;--tracking-caps:.05em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-18:72px;--space-20:80px;--space-0-5:2px;--space-1-5:6px;--space-2-5:10px;--space-3-5:14px;--space-4-5:18px;--space-5-5:22px;--space-6-5:26px;--space-7-5:30px;--pad-card:var(--space-4);--pad-card-lg:var(--space-5);--pad-card-sm:var(--space-3);--pad-cell-y:var(--space-2);--pad-cell-x:var(--space-3);--pad-toolbar:var(--space-2) var(--space-3);--pad-section:var(--space-6);--gap-tight:var(--space-1);--gap-inline:var(--space-2);--gap-grid:var(--space-3);--gap-stack:var(--space-4);--gap-block:var(--space-5);--gap-section:var(--space-8);--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:20px;--radius-full:9999px;--control-h:30px;--height-input-sm:30px;--height-input:36px;--height-input-lg:40px;--height-row:32px;--sidebar-w:240px;--rail-w:60px;--topbar-h:50px;--container:1145px;--gutter:var(--space-4);--icon-sm:14px;--icon:16px;--icon-md:18px;--icon-lg:22px;--icon-stroke:1.5;--shadow-raised:0 1px 2px #0000000d;--shadow-float:0 8px 24px -8px #00000029, 0 2px 6px -2px #0000000f;--shadow-overlay:0 16px 40px -12px #0000002e, 0 2px 8px -2px #0000000f;--series-1:var(--brand);--series-2:#3e7b9e;--series-3:#5e9e6b;--series-4:#8a6ea8;--series-5:#b5843c;--series-6:#a2565b;--series-muted:var(--color-surface-3);--dot-size:22px;--transition:.15s ease;--z-fab:40;--z-sheet:50;--z-drawer:56;--z-dropdown:60;--z-float:70;--z-modal:80;--z-toast:90}[data-theme=dark]{--color-canvas:#0f0f0f;--color-surface:#171717;--color-surface-2:#212121;--color-surface-3:#2c2c2c;--color-surface-inv:#fafafa;--color-border:#333;--color-border-strong:#454545;--color-border-danger:#8e413c;--color-border-success:#2f6b4c;--color-text-primary:#fafafa;--color-text-secondary:#b0b0b0;--color-text-tertiary:#8c8c8c;--color-text-inverse:#0f0f0f;--color-action:#fafafa;--color-action-hover:#e4e4e4;--color-action-text:#0f0f0f;--color-success-bg:#14251b;--color-success-fg:#6dcd97;--color-warning-bg:#26200f;--color-warning-fg:#dfb264;--color-danger-bg:#271716;--color-danger-fg:#e38a85;--color-info-bg:#232323;--color-info-fg:#a1a1a1;--series-2:#6ba3c4;--series-3:#7fbe8c;--series-4:#a98cc4;--series-5:#d4a45c;--series-6:#c47c81;--shadow-float:0 8px 24px -8px #0009;--shadow-overlay:0 16px 40px -12px #000000b3}[data-theme-product=service]{--brand:#de7018;--brand-from:#ffc08a;--brand-to:#d0560a}[data-theme=dark][data-theme-product=service]{--brand:#ee9048}[data-theme-product=lims]{--brand:#0e7c86;--brand-from:#8fd3dc;--brand-to:#0a6670}[data-theme=dark][data-theme-product=lims]{--brand:#2fa0aa}[data-theme-product=drivex]{--brand:#2e5eaa;--brand-from:#9dbeea;--brand-to:#24487f}[data-theme=dark][data-theme-product=drivex]{--brand:#5b8ad6}[data-theme-product=uctocheck]{--brand:#c44d56;--brand-from:#efa0a6;--brand-to:#a83741}[data-theme=dark][data-theme-product=uctocheck]{--brand:#de7c84}[data-theme-product=docsflow]{--brand:#6b6be8;--brand-from:#b4b4ff;--brand-to:#4f4fce}[data-theme=dark][data-theme-product=docsflow]{--brand:#9494f5}[data-theme-product=webtester]{--brand:#5e9e6b;--brand-from:#c4d8c0;--brand-to:#4e7a3e}[data-theme=dark][data-theme-product=webtester]{--brand:#7fbe8c}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font-sans);font-size:var(--text-md);font-variation-settings:"opsz" 14;color:var(--color-text-primary);background:var(--color-canvas);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-heading)}h1{letter-spacing:var(--tracking-display);font-variation-settings:"opsz" 28;font-size:22px}h2{font-size:var(--text-xl);letter-spacing:var(--tracking-tighter);font-variation-settings:"opsz" 20}h3{font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}svg{width:var(--icon);height:var(--icon);stroke:currentColor;stroke-width:var(--icon-stroke);fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:block}.i-sm{width:var(--icon-sm);height:var(--icon-sm)}.i-md{width:var(--icon-md);height:var(--icon-md)}.i-lg{width:var(--icon-lg);height:var(--icon-lg)}:focus-visible{box-shadow:0 0 0 2px var(--color-canvas),0 0 0 4px color-mix(in srgb,var(--brand) 60%,transparent);border-radius:var(--radius-sm);outline:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.hide-sm{display:none}.app{height:100vh;display:flex;overflow:hidden}body[data-mode=bare] .app{display:none}.backdrop{z-index:calc(var(--z-drawer) - 1);opacity:0;pointer-events:none;transition:opacity var(--transition);background:#0a0a0a66;position:fixed;inset:0}body[data-drawer=open] .backdrop{opacity:1;pointer-events:auto}.sidebar{z-index:var(--z-drawer);width:var(--sidebar-w);background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-2) var(--space-3) var(--space-3);flex-direction:column;flex-shrink:0;transition:transform .22s cubic-bezier(.3,.7,.3,1);display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}body[data-drawer=open] .sidebar{transform:none}.logo{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2);margin-bottom:var(--space-2);display:flex}.logo-mark{gap:2.5px;display:flex}.logo-mark i{background:var(--color-text-primary);border-radius:1px;width:3px;height:15px}.logo b{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-tighter);font-size:15px}.product{align-items:center;gap:var(--space-2);width:100%;height:var(--height-input-lg);padding:0 var(--space-3);margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition);display:flex}.product:hover{border-color:var(--color-border-strong)}.product .mark{background:linear-gradient(140deg,var(--brand-from),var(--brand-to));border-radius:7px;flex-shrink:0;width:24px;height:24px;box-shadow:inset 0 0 0 1px #00000014}.product .name{text-align:left;font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);flex:1}.product .chev{color:var(--color-text-tertiary)}.nav{flex-direction:column;gap:1px;display:flex;overflow:hidden auto}.nav::-webkit-scrollbar{width:0}.nav-sep{background:var(--color-border);height:1px;margin:var(--space-3) var(--space-3) 0}.nav-label{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary);padding:var(--space-3) var(--space-3) var(--space-1);white-space:nowrap}.nav-item{align-items:center;gap:var(--space-2);width:100%;height:var(--height-row);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);text-align:left;white-space:nowrap;transition:background var(--transition),color var(--transition);display:flex}.nav-item.active,.nav-item:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.nav-item.active{font-weight:var(--weight-medium)}.nav-item .label{text-overflow:ellipsis;flex:1;overflow:hidden}.nav-item .count{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.nav-add,.nav-item .count{color:var(--color-text-tertiary)}.nav-add{border-radius:var(--radius-sm);width:22px;height:22px;transition:background var(--transition),color var(--transition);flex-shrink:0;place-items:center;display:grid}.nav-add:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.sidebar-bottom{padding-top:var(--space-3);margin-top:auto}.reserve{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.promo-card,.reserve{margin-bottom:var(--space-2)}.promo-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4)}.promo-card .ic{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.promo-card h3{margin-bottom:3px}.promo-card p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.45}.upgrade{width:100%;height:var(--height-input);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);font-weight:var(--weight-medium);color:var(--color-action-text);background:repeating-linear-gradient(-45deg,#ffffff17 0 6px,transparent 6px 12px),var(--color-action);transition:background-color var(--transition);display:flex}.upgrade:hover{background-color:var(--color-action-hover)}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;position:relative}.crumbs,.topbar{align-items:center;gap:var(--space-1);padding:0 var(--space-2);display:flex}.crumbs{min-width:0}.crumbs span{color:var(--color-text-tertiary)}.crumbs b{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.crumbs svg{color:var(--color-text-tertiary);width:13px;height:13px}.iconbtn,.tbtn{height:var(--control-h);border-radius:var(--radius-md);transition:background var(--transition),color var(--transition);flex-shrink:0}.iconbtn{width:var(--control-h);color:var(--color-text-secondary);place-items:center;line-height:0;display:inline-grid;position:relative}.iconbtn:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.iconbtn .dot{background:var(--brand);border:1.5px solid var(--color-surface);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.tbtn{padding:0 var(--space-3);align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary);display:inline-flex}.tbtn:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.avatar-btn{height:var(--control-h);transition:background var(--transition),color var(--transition);width:var(--control-h);margin-left:var(--space-1);background:linear-gradient(140deg,var(--brand-from),var(--brand-to));color:#fff;font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0000001a}.topbar-sep{background:var(--color-border);width:1px;height:20px;margin:0 var(--space-1);flex-shrink:0}.search-top{align-items:center;width:330px;display:none;position:absolute;left:50%;transform:translate(-50%)}.search-top>svg{left:var(--space-3);width:15px;height:15px;color:var(--color-text-tertiary);position:absolute}.search-top input{width:100%;height:var(--control-h);font-size:var(--text-base);background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid #0000;padding:0 52px 0 33px}.search-top input::placeholder{color:var(--color-text-tertiary)}.search-top input:focus{background:var(--color-surface);border-color:var(--color-border-strong);outline:none}.kbd{gap:3px;display:flex;position:absolute;right:7px}.kbd span{color:var(--color-text-tertiary);text-align:center;border-radius:4px;min-width:18px;padding:1px 4px;font-size:10.5px}.kbd span,.usermenu{background:var(--color-surface);border:1px solid var(--color-border)}.usermenu{top:calc(100% + var(--space-1));right:var(--space-2);z-index:var(--z-dropdown);border-radius:var(--radius-xl);width:232px;box-shadow:var(--shadow-overlay);padding:var(--space-1);display:none;position:absolute}.usermenu.open{display:block}.usermenu .who{padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1)}.usermenu .who b{font-weight:var(--weight-medium);display:block}.usermenu .who span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.menu-item{width:100%;height:var(--height-row);padding:0 var(--space-3);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);color:var(--color-text-secondary);text-align:left;transition:background var(--transition),color var(--transition);display:flex}.menu-item:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.content{padding:var(--space-5) var(--gutter) 72px;flex:1;overflow-y:auto}.content.flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.inner{max-width:var(--container);margin:0 auto}.page-head{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.page-head p{color:var(--color-text-secondary);margin-top:var(--space-1)}.page-head .acts{gap:var(--space-2);flex-wrap:wrap;display:flex}.section-head{margin:var(--space-8) 0 var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.btn{height:var(--height-input);padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);font-weight:var(--weight-medium);white-space:nowrap;transition:background var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition);border:1px solid #0000;display:inline-flex}.btn-primary{background:var(--color-action);color:var(--color-action-text)}.btn-primary:hover{background:var(--color-action-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.btn-danger{background:var(--color-surface);border-color:var(--color-border);color:var(--color-danger-fg)}.btn-danger:hover{background:var(--color-danger-bg)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn-sm{height:var(--control-h);padding:0 var(--space-2);font-size:var(--text-base)}.btn-lg{height:var(--height-input-lg);padding:0 var(--space-4)}.btn-block{width:100%}.btn-round{border-radius:var(--radius-lg)}.btn-bare{height:auto;padding:0}.ava-stack{display:flex}.ava-stack i{border:2px solid var(--color-surface);border-radius:50%;width:21px;height:21px;margin-right:-7px;display:block}.ava-stack i:last-child{margin-right:0}.g-warm{background:linear-gradient(140deg,#e8a87c,#c1440e)}.g-cool{background:linear-gradient(140deg,#a8c0d8,#4a6e96)}.g-green{background:linear-gradient(140deg,#c4d8c0,#5d8a6c)}.chip{height:28px;padding:0 var(--space-2-5);align-items:center;gap:var(--space-1);background:var(--color-surface-2);border-radius:var(--radius-full);font-size:var(--text-base);transition:background var(--transition),border-color var(--transition),color var(--transition);border:1px solid #0000;display:inline-flex}.chip:hover{background:var(--color-surface-3)}.chip-outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.chip-outline:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.chip[aria-pressed=true]{background:var(--color-action);color:var(--color-action-text);border-color:#0000}.chip svg{width:var(--icon-sm);height:var(--icon-sm)}.segment{background:var(--color-surface-2);border-radius:var(--radius-md);gap:2px;padding:2px;display:inline-flex}.segment button{height:26px;padding:0 var(--space-2-5);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition),color var(--transition)}.segment button[aria-selected=true]{background:var(--color-surface);color:var(--color-text-primary);font-weight:var(--weight-medium);box-shadow:var(--shadow-raised)}.viewswitch{gap:2px;display:inline-flex}.viewswitch button{width:var(--control-h);height:var(--control-h);color:var(--color-text-tertiary);place-items:center;display:grid}.viewswitch button:hover{color:var(--color-text-primary)}.viewswitch button:hover,.viewswitch button[aria-selected=true]{background:var(--color-surface-2)}.badge{align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-1-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.badge.success{background:var(--color-success-bg);color:var(--color-success-fg)}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning-fg)}.badge.danger{background:var(--color-danger-bg);color:var(--color-danger-fg)}.badge.info{background:var(--color-info-bg);color:var(--color-info-fg)}.badge.stage{background:var(--color-surface-2);color:var(--color-text-primary)}.badge.ver{border:1px solid var(--color-border-strong);color:var(--color-text-secondary);font-size:var(--text-xs);height:19px;padding:0 var(--space-1-5);background:0 0}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);scrollbar-width:none;align-items:flex-end;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{height:0}.tab{margin-bottom:var(--space-2-5);padding:5px var(--space-2-5);white-space:nowrap;align-items:center;gap:var(--space-1-5);color:var(--color-text-secondary);border-radius:var(--radius-lg);transition:color var(--transition),background var(--transition),border-color var(--transition);border:1px solid #0000;display:inline-flex;position:relative}.tab:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.tab[aria-selected=true]{color:var(--color-text-primary);font-weight:var(--weight-medium);background:var(--color-surface);border-color:var(--color-border)}.tab[aria-selected=true]:after{content:"";background:var(--color-text-primary);border-radius:1px;height:2px;position:absolute;bottom:-11px;left:0;right:0}.tooltabs{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tooltabs::-webkit-scrollbar{height:0}.tooltab{height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-md);white-space:nowrap;align-items:center;gap:var(--space-1-5);color:var(--color-text-secondary);transition:background var(--transition),color var(--transition);display:inline-flex}.tooltab:hover,.tooltab[aria-selected=true]{background:var(--color-surface-2);color:var(--color-text-primary)}.tooltab[aria-selected=true]{font-weight:var(--weight-medium)}.field{gap:var(--space-1);flex-direction:column;display:flex}.field>label{font-size:var(--text-base);font-weight:var(--weight-medium)}.field-head{justify-content:space-between;align-items:center;display:flex}.field-head a{font-size:var(--text-sm);color:var(--color-text-tertiary)}.field-head a:hover{color:var(--color-text-primary)}.hint{color:var(--color-text-tertiary)}.field-msg,.hint{font-size:var(--text-sm)}.field-msg{align-items:center;gap:var(--space-1);display:flex}.field-msg.error{color:var(--color-danger-fg)}.field-msg.success{color:var(--color-success-fg)}.input,.select,.textarea{width:100%;height:var(--height-input);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition)}.input-sm{height:var(--height-input-sm);font-size:var(--text-base);padding:0 var(--space-2-5)}.input-lg{height:var(--height-input-lg)}.textarea{height:auto;min-height:84px;padding:10px var(--space-3);resize:vertical;font-family:var(--font-sans)}.input::-moz-placeholder{color:var(--color-text-tertiary)}.textarea::-moz-placeholder{color:var(--color-text-tertiary)}.input::placeholder,.textarea::placeholder{color:var(--color-text-tertiary)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--brand-ring);outline:none}.input:disabled,.textarea:disabled{background:var(--color-surface-2);color:var(--color-text-tertiary);cursor:not-allowed}.input[readonly]{background:var(--color-surface-2)}.field.is-error .input{border-color:var(--color-border-danger)}.field.is-success .input{border-color:var(--color-border-success)}.select{appearance:none;cursor:pointer;padding-right:var(--space-8);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) 17px,calc(100% - 11px) 17px;background-repeat:no-repeat;background-size:4px 4px,4px 4px}.select-sm{height:var(--height-input-sm);font-size:var(--text-base);padding:0 26px 0 var(--space-2-5);background-position:calc(100% - 13px) 13px,calc(100% - 9px) 13px}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>.lead{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.input-wrap>.lead~.input{padding-left:var(--space-9)}.input-wrap>.tail{right:var(--space-3);color:var(--color-text-tertiary);line-height:0;position:absolute}.input-wrap>.tail:hover{color:var(--color-text-primary)}.input-group{display:flex}.input-group>.addon{padding:0 var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-base);white-space:nowrap;flex-shrink:0;align-items:center;display:flex}.input-group>.addon:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:0}.input-group>.addon:last-child{border-left:0}.input-group>.addon:first-child~.input,.input-group>.addon:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group>.input:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group>.btn{border-radius:0 var(--radius-md) var(--radius-md) 0;margin-left:-1px}.stepper{border:1px solid var(--color-border);border-radius:var(--radius-md);height:var(--height-input);align-items:center;display:inline-flex}.stepper button{width:var(--control-h);height:100%;color:var(--color-text-secondary);place-items:center;display:grid}.stepper button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.stepper button:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.stepper button:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.stepper input{text-align:center;font-variant-numeric:tabular-nums;border:0;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);background:0 0;width:56px;height:100%}.stepper input:focus{outline:none}.searchbar{align-items:center;display:flex;position:relative}.searchbar>svg{left:var(--space-3);color:var(--color-text-tertiary);position:absolute}.searchbar input{width:100%;height:var(--height-input-lg);padding:0 var(--space-4) 0 38px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.searchbar input:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--brand-ring);outline:none}.searchbar input::placeholder{color:var(--color-text-tertiary)}.counter{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:right}.dropzone{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-2);padding:var(--space-8) var(--space-5);text-align:center;transition:border-color var(--transition)}.dropzone:hover{border-color:var(--color-border-strong)}.dropzone .ic{color:var(--color-text-tertiary);margin-bottom:var(--space-2);place-items:center;display:grid}.oauth{width:100%;height:var(--height-input-lg);font-weight:var(--weight-medium);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:background var(--transition),border-color var(--transition);justify-content:center;align-items:center;display:flex;position:relative}.oauth:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.oauth .glyph{left:var(--space-4);position:absolute}.slider-block .slider-label{font-size:var(--text-base);font-weight:var(--weight-medium);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.slider-block .ends{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:var(--space-1) 0;justify-content:space-between;display:flex}input[type=range]{appearance:none;background:var(--color-surface-3);cursor:pointer;border-radius:2px;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-action);border-radius:50%;width:13px;height:13px}input[type=range]::-moz-range-thumb{background:var(--color-action);border:0;border-radius:50%;width:13px;height:13px}.switch{flex-shrink:0;width:36px;height:21px;display:block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{cursor:pointer;background:var(--color-surface-3);border-radius:var(--radius-full);transition:background var(--transition);position:absolute;inset:0}.switch span:before{content:"";width:17px;height:17px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+span{background:var(--color-action)}.switch input:checked+span:before{background:var(--color-action-text);transform:translate(15px)}.check,.radio{align-items:flex-start;gap:var(--space-2);cursor:pointer;display:inline-flex}.check input,.radio input{opacity:0;width:0;height:0;position:absolute}.check .box,.radio .box{border:1px solid var(--color-border-strong);background:var(--color-surface);width:17px;height:17px;transition:background var(--transition),border-color var(--transition);flex-shrink:0;place-items:center;margin-top:2px;display:grid;position:relative}.check .box{border-radius:5px}.radio .box{border-radius:50%}.check .box svg{stroke-width:2.5px;width:11px;height:11px;color:var(--color-action-text);opacity:0}.radio .box:after{content:"";background:var(--color-action-text);width:7px;height:7px;transition:transform var(--transition);border-radius:50%;transform:scale(0)}.check input:checked+.box,.radio input:checked+.box{background:var(--color-action);border-color:var(--color-action)}.check input:checked+.box svg{opacity:1}.radio input:checked+.box:after{transform:scale(1)}.check input:indeterminate+.box{background:var(--color-action);border-color:var(--color-action)}.check input:indeterminate+.box:after{content:"";background:var(--color-action-text);border-radius:1px;width:9px;height:2px;position:absolute}.check .txt b,.radio .txt b{font-weight:var(--weight-medium);display:block}.check .txt span,.radio .txt span{font-size:var(--text-sm);color:var(--color-text-secondary)}.opt-card{align-items:flex-start;gap:var(--space-3);cursor:pointer;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);transition:border-color var(--transition),box-shadow var(--transition);display:flex}.opt-card:hover{border-color:var(--color-border-strong)}.opt-card input{opacity:0;width:0;height:0;position:absolute}.opt-card:has(input:checked){border-color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-text-primary)}.opt-card .sq{border-radius:var(--radius-md);background:var(--color-surface-2);width:34px;height:34px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.opt-card .body b{font-weight:var(--weight-medium);display:block}.opt-card .body span{font-size:var(--text-base);color:var(--color-text-secondary)}.choice{height:68px;padding:0 var(--space-4);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--transition),box-shadow var(--transition);align-items:center;gap:11px;display:flex}.choice:hover{border-color:var(--color-border-strong)}.choice[aria-pressed=true]{border-color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-text-primary)}.choice-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}.combo{position:relative}.combo-control{min-height:var(--height-input);align-items:center;gap:var(--space-1);width:100%;padding:var(--space-1) 32px var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:text;text-align:left;transition:border-color var(--transition),box-shadow var(--transition);flex-wrap:wrap;display:flex}.combo.open .combo-control{border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--brand-ring)}.combo-control .ph{color:var(--color-text-tertiary);padding-left:var(--space-1)}.combo-control .chev{right:var(--space-3);color:var(--color-text-tertiary);position:absolute;top:12px}.tag{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-1) 0 var(--space-2);background:var(--color-surface-2);border-radius:var(--radius-sm);font-size:var(--text-base);display:inline-flex}.tag button{color:var(--color-text-tertiary);border-radius:3px;place-items:center;padding:2px;display:grid}.tag button:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.combo-menu{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);padding:var(--space-1);max-height:260px;display:none;position:absolute;left:0;right:0;overflow-y:auto}.combo.open .combo-menu{display:block}.combo-opt{align-items:center;gap:var(--space-2);width:100%;height:var(--height-row);padding:0 var(--space-2);border-radius:var(--radius-md);text-align:left;transition:background var(--transition);display:flex}.combo-opt:hover{background:var(--color-surface-2)}.combo-opt .mark{opacity:0;margin-left:auto}.combo-opt[aria-selected=true] .mark{opacity:1}.combo-empty{padding:var(--space-3);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-base)}.table-scroll{overflow-x:auto}thead th{font-weight:var(--weight-medium);padding:var(--pad-cell-y) var(--pad-cell-x);background:var(--color-surface)}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--color-text-primary)}thead th .sort{align-items:center;gap:var(--space-1);display:inline-flex}thead th .sort svg{opacity:0;width:13px;height:13px}thead th[aria-sort] .sort svg{opacity:1}thead th[aria-sort=descending] .sort svg{transform:rotate(180deg)}tbody td{vertical-align:middle}tbody tr{transition:background var(--transition)}tbody tr.clickable{cursor:pointer}tbody tr[aria-selected=true]{background:var(--color-surface-2)}td.actions,th.actions{text-align:right;width:44px}.table-dense tbody td{padding:5px var(--space-4)}.rowmenu{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);transition:background var(--transition);place-items:center;display:inline-grid}.rowmenu:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.bulkbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface-2);display:none}.bulkbar.show{display:flex}.rowdetail td{background:var(--color-canvas);padding:var(--space-4)}.rowdetail.hidden{display:none}@media (width<=767px){table,tbody,td,thead,tr{width:100%;display:block}thead{display:none}tbody tr{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--color-surface)}tbody td{align-items:center;gap:var(--space-2);border:0;padding:3px 0;display:flex}tbody td:before{content:attr(data-label);font-size:var(--text-sm);color:var(--color-text-tertiary);flex:0 0 88px}tbody td.pick+td:before,tbody td:first-child:before,td.actions:before,td.pick:before{display:none}td.actions{text-align:left;width:auto;padding-top:var(--space-2)}.rowdetail td{padding:var(--space-3) 0 0}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.card-pad{padding:var(--pad-card)}.toolbar{align-items:center;gap:var(--gap-inline);padding:var(--pad-toolbar);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.toolbar-bottom{border-bottom:0;border-top:1px solid var(--color-border)}.metrics{gap:var(--space-2)}.metric{padding:var(--space-4)}.metric .k{font-size:var(--text-sm);color:var(--color-text-secondary)}.metric .v{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;margin-top:3px}.metric .d{font-size:var(--text-sm);color:var(--color-text-tertiary)}.filecell{align-items:center;gap:11px;min-width:0;display:flex}.filecell .sq{border-radius:var(--radius-md);background:var(--color-surface-2);width:34px;height:34px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.filecell .t{font-weight:var(--weight-medium)}.filecell .s{font-size:var(--text-sm);color:var(--color-text-tertiary)}.person{align-items:center;gap:var(--space-2);display:flex}.ava{background:var(--color-surface-3);width:22px;height:22px;color:var(--color-text-secondary);font-weight:var(--weight-medium);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ava,.ava-md{font-size:var(--text-xs)}.ava-md{width:32px;height:32px}.ava-lg{width:56px;height:56px;font-size:var(--text-xl)}.ava-brand{background:linear-gradient(140deg,var(--brand-from),var(--brand-to));color:#fff}.tile .thumb{aspect-ratio:16/10;border-radius:var(--radius-lg);background:var(--color-surface-2);margin-bottom:var(--space-2)}.tile .thumb.g1{background:linear-gradient(135deg,#f3c79a,#c9622a)}.tile .thumb.g2{background:linear-gradient(135deg,#c8d3e8,#5a6e96)}.tile .thumb.g3{background:linear-gradient(135deg,#cfe2d2,#5d8a6c)}.tile .thumb.g4{background:linear-gradient(135deg,#e3d0e6,#7c5f8e)}.tile p{font-size:var(--text-base);color:var(--color-text-secondary)}.skeleton{border-radius:var(--radius-lg)}.sk-line,.skeleton{background:var(--color-surface-2)}.sk-line{border-radius:4px;height:9px}.sk-box{height:190px;margin-bottom:var(--space-2)}.rail{position:relative}.rail-track{gap:var(--space-3);scrollbar-width:none;display:flex;overflow-x:auto}.rail-track::-webkit-scrollbar{height:0}.rail-item{flex:0 0 170px}.rail-next{display:none}.composer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);overflow:hidden}.composer-tabs{padding:var(--space-2) var(--space-2) 0}.composer-body{padding:var(--space-2) var(--space-3) 0}.composer-body textarea{resize:none;width:100%;min-height:96px;font-family:var(--font-sans);background:0 0;border:0;font-size:14px;line-height:1.55}.composer-body textarea:focus{outline:none}.composer-body textarea::placeholder{color:var(--color-text-tertiary)}.composer-chips{gap:var(--space-2);padding:var(--space-3);scrollbar-width:none;display:flex;overflow-x:auto}.composer-chips::-webkit-scrollbar{height:0}.composer-foot{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.meta-btn{height:30px;padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition),color var(--transition);align-items:center;gap:7px;display:inline-flex}.meta-btn:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.sk-plate{height:190px;margin-bottom:var(--space-2)}.plans{grid-template-columns:1fr;align-items:start;display:grid}.banner,.plans{gap:var(--space-3)}.banner{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);flex-wrap:wrap;align-items:center;display:flex}.banner .thumb{border-radius:var(--radius-lg);background:linear-gradient(140deg,var(--brand-from),var(--brand-to));color:#fff;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.banner .txt{flex:1;min-width:160px}.banner .txt p{font-size:var(--text-base);color:var(--color-text-secondary)}.hint-block{background:var(--color-surface-2);border-radius:var(--radius-xl);padding:var(--space-4);text-align:center;margin-top:var(--space-3)}.hint-block b{font-weight:var(--weight-medium);margin-bottom:3px;display:block}.hint-block span{font-size:var(--text-base);color:var(--color-text-secondary)}.dots{gap:var(--space-1);margin-top:var(--space-10);justify-content:center;display:flex}.dots i{border-radius:var(--radius-full);background:var(--color-surface-3);width:5px;height:5px}.dots i.on{background:var(--color-action);width:22px}.plan{padding:var(--space-5) var(--space-4) var(--space-4);flex-direction:column;display:flex}.plan .pname{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.plan .price{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display)}.plan .price s{font-size:var(--text-xl);color:var(--color-text-tertiary);margin-right:var(--space-1-5)}.plan .desc,.plan .per{font-size:var(--text-base);color:var(--color-text-secondary)}.plan .desc{margin:var(--space-2) 0 var(--space-4)}.plan ul{margin-bottom:var(--space-5);flex-direction:column;list-style:none}.plan li,.plan ul{gap:var(--space-2);display:flex}.plan li{font-size:var(--text-base)}.plan li svg{width:17px;height:17px;margin-top:1px}.plan .btn{margin-top:auto}.plan-featured{background:var(--color-surface-2);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-1) var(--space-1);position:relative}.plan-featured .cap{justify-content:center;align-items:center;gap:var(--space-1);height:30px;font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex;position:absolute;top:0;left:0;right:0}.empty{text-align:center;padding:var(--space-10) var(--space-4)}.empty .mark{width:42px;height:42px;margin:0 auto var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(140deg,var(--brand-from),var(--brand-to))}.empty p{color:var(--color-text-secondary);margin:var(--space-1) 0 var(--space-4)}.builder{flex:1;min-height:0;display:flex}.canvas-wrap{background:var(--color-canvas);flex:1;min-width:0;position:relative;overflow:hidden}.canvas{cursor:grab;background-image:radial-gradient(var(--color-border-strong) 1px,transparent 1px);background-size:22px 22px;background-position:var(--px,0) var(--py,0);position:absolute;inset:0}.canvas.grabbing{cursor:grabbing}.canvas-inner{transform:translate(var(--px,0),var(--py,0)) scale(var(--s,1));transform-origin:0 0;position:absolute;top:0;left:0}.links{pointer-events:none;position:absolute;overflow:visible}.links path{stroke:var(--color-border-strong);stroke-width:1.5px;fill:none}.links .arrow{fill:var(--color-border-strong);stroke:none}.node{cursor:grab;-webkit-user-select:none;user-select:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:232px;box-shadow:var(--shadow-raised);transition:border-color var(--transition),box-shadow var(--transition);position:absolute}.node:hover{border-color:var(--color-border-strong)}.node.sel{border-color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-text-primary),var(--shadow-float)}.node.dragging{cursor:grabbing;box-shadow:var(--shadow-float)}.node-head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex}.node-head b{font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.node-body{padding:0 var(--space-3) var(--space-3);font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.45}.node-foot{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);gap:var(--space-1);flex-wrap:wrap;display:flex}.node.pill{border-radius:var(--radius-full);align-items:center;gap:var(--space-2);width:auto;min-width:108px;padding:var(--space-2) var(--space-4);justify-content:center;display:inline-flex}.node.pill b{font-weight:var(--weight-medium)}.edge-label{height:24px;padding:0 var(--space-2-5);border-radius:var(--radius-full);background:var(--color-surface-inv);color:var(--color-canvas);font-size:var(--text-sm);white-space:nowrap;box-shadow:var(--shadow-raised);align-items:center;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.edge-label.soft{background:var(--color-surface-2);color:var(--color-text-secondary);box-shadow:none}.canvas-float,.canvas-seg,.canvas-tools{z-index:5;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;position:absolute}.canvas-tools{left:var(--space-4);top:var(--space-4);box-shadow:var(--shadow-raised)}.canvas-float{right:var(--space-4);top:var(--space-4);box-shadow:var(--shadow-float)}.canvas-seg{left:50%;top:var(--space-4);box-shadow:var(--shadow-raised);transform:translate(-50%)}.canvas-tools .sep{background:var(--color-border);width:1px;height:18px;margin:0 var(--space-1)}.canvas-seg button,.canvas-tools button{min-width:30px;height:30px;padding:0 var(--space-2);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-base);transition:background var(--transition),color var(--transition);display:inline-flex}.canvas-seg button:hover,.canvas-tools button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.canvas-seg button{padding:0 var(--space-4)}.canvas-seg button[aria-selected=true]{background:var(--color-surface-2);color:var(--color-text-primary);font-weight:var(--weight-medium)}.inspector{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.inspector-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-2);display:flex}.inspector-body{padding:var(--space-4);gap:var(--space-4);flex:1;overflow-y:auto}.chat-layout,.inspector-body{flex-direction:column;display:flex}.chat-layout{flex:auto;min-height:0;overflow:hidden}.chat-switch{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.chat-main{flex:auto;min-width:0;display:flex}.chat-aside,.chat-main{flex-direction:column;min-height:0}.chat-aside{background:var(--color-canvas);padding:var(--space-4) var(--space-3) var(--space-6);overflow-y:auto}.chat-aside,.chat-layout[data-pane=help] .chat-main{display:none}.chat-head,.chat-layout[data-pane=help] .chat-aside{display:flex}.chat-head{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0}.chat-head .status{font-size:var(--text-sm);color:var(--color-text-tertiary)}.chat-head .online{align-items:center;gap:var(--space-1);color:var(--color-success-fg);display:inline-flex}.chat-head .online i{background:currentColor;border-radius:50%;width:6px;height:6px}.chat-body{min-height:0;padding:var(--space-4) var(--space-3);gap:var(--space-3);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.msg{gap:var(--space-2);align-self:flex-start;max-width:78%;display:flex}.msg.out{flex-direction:row-reverse;align-self:flex-end}.msg .col{min-width:0}.bubble{padding:var(--space-2) var(--space-3);font-size:var(--text-md);border-radius:14px;line-height:1.5}.msg.in .bubble{background:var(--color-surface-2);border-bottom-left-radius:5px}.msg.out .bubble{background:var(--color-action);color:var(--color-action-text);border-bottom-right-radius:5px}.msg .time{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.msg-file{align-items:center;gap:var(--space-2);padding:var(--space-2);margin-top:var(--space-1-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.msg.out .msg-file{background:#ffffff24;border-color:#fff3}.msg-file .n{font-size:var(--text-sm);font-weight:var(--weight-medium)}.msg-file .s{font-size:var(--text-xs);opacity:.7}.typing{gap:var(--space-1);padding:var(--space-3);display:flex}.typing i{background:var(--color-text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.chat-quick{gap:var(--space-2);padding:0 var(--space-3) var(--space-2);scrollbar-width:none;flex-shrink:0;display:flex;overflow-x:auto}.chat-quick::-webkit-scrollbar{height:0}.chat-composer{border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-3);flex-shrink:0}.chat-composer textarea{resize:none;width:100%;min-height:44px;max-height:120px;font-family:var(--font-sans);font-size:var(--text-md);background:0 0;border:0}.chat-composer textarea:focus{outline:none}.send-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-md);background:var(--color-action);color:var(--color-action-text);place-items:center;display:grid}.send-btn:hover{background:var(--color-action-hover)}.faq{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.faq details{border-bottom:1px solid var(--color-border)}.faq details:last-child{border-bottom:0}.faq summary{padding:11px var(--space-3);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-medium);align-items:center;gap:var(--space-2);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:1.5px solid var(--color-text-tertiary);border-bottom:1.5px solid var(--color-text-tertiary);width:7px;height:7px;transition:transform var(--transition);margin-left:auto;transform:rotate(45deg)}.faq details[open] summary:after{transform:rotate(-135deg)}.faq .ans{padding:0 var(--space-3) var(--space-3);font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5}.aside-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4)}.aside-title{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary);margin:var(--space-5) 0 var(--space-2)}.aside-title:first-child{margin-top:0}.tip{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.tip:last-child{border-bottom:0}.tip .sq{border-radius:var(--radius-md);background:var(--color-surface-2);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.tip .sq,.tip p{color:var(--color-text-secondary)}.tip p{font-size:var(--text-sm);line-height:1.45}.tip b{font-size:var(--text-base);color:var(--color-text-primary);display:block}.overlay{align-items:flex-end}.modal{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:92vh}.modal-sm{max-width:420px}.modal-md{max-width:540px}.modal-lg{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh}.modal-head{padding:var(--pad-card-lg) var(--pad-card) 0}.modal-head p{color:var(--color-text-secondary);margin-top:var(--space-1)}.modal-body{padding:var(--pad-card)}.modal-foot{padding:var(--pad-card-sm) var(--pad-card);flex-wrap:wrap}.modal-foot .btn{flex:1}.modal-foot-split{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);display:flex}.modal-foot-split .btn{flex:1}.modal-topbar .ttl b{font-family:var(--font-display);letter-spacing:var(--tracking-tight)}.modal-tools{align-items:center;gap:var(--space-1);display:flex}.modal-scroll{min-height:0;padding:var(--space-4) var(--space-3) var(--space-6);flex:auto;overflow-y:auto}.confirm-icon{border-radius:var(--radius-lg);background:var(--color-danger-bg);width:40px;height:40px;color:var(--color-danger-fg);margin-bottom:var(--space-3);place-items:center;display:grid}.pay-row{padding:var(--space-2) 0;font-size:var(--text-base);justify-content:space-between;align-items:center;display:flex}.pay-row.total{border-top:1px solid var(--color-border);margin-top:var(--space-1);padding-top:var(--space-3);font-weight:var(--weight-medium);font-size:14px}.pay-method{padding:11px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);align-items:center;gap:11px;display:flex}.pay-method .sq{background:var(--color-surface-2);width:34px;height:22px;color:var(--color-text-secondary);border-radius:4px;font-size:9px;font-weight:700}.announce-art,.pay-method .sq{place-items:center;display:grid}.announce-art{margin:var(--space-3) var(--space-3) 0;border-radius:var(--radius-2xl);aspect-ratio:16/9;background:radial-gradient(90% 120% at 20% 15%,#d98a46,#0000 60%),radial-gradient(90% 120% at 80% 85%,#6f5fa8,#0000 60%),linear-gradient(120deg,#2e3b36,#3d4a44);overflow:hidden}.announce-art h2{color:#fff;letter-spacing:var(--tracking-display);font-size:24px}.feature-list{flex-direction:column}.feature-list,.feature-list li{gap:var(--space-3);display:flex}.feature-list li{align-items:flex-start;list-style:none}.feature-list .sq{border-radius:var(--radius-md);background:var(--color-surface-2);width:34px;height:34px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.feature-list p{font-size:var(--text-md);line-height:1.45}.toast{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}.toast.show{pointer-events:auto}.support{right:var(--space-5);bottom:var(--space-5);z-index:var(--z-float);align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.support-card{width:320px;max-width:calc(100vw - var(--space-8));background:var(--color-surface-inv);color:var(--color-canvas);border-radius:var(--radius-2xl);box-shadow:var(--shadow-overlay);flex-direction:column;display:none;overflow:hidden}.support.open .support-card{display:flex}.support-head{align-items:center;gap:var(--space-3);padding:var(--space-4);display:flex}.orb{background:conic-gradient(from 210deg,var(--brand-from),var(--brand-to),#6f5fa8,var(--brand-from));border-radius:50%;flex-shrink:0;width:32px;height:32px}.orb-sm{width:22px;height:22px}.support-head b{font-weight:var(--weight-medium)}.support-actions{align-items:center;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);display:flex}.support-actions .call{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-canvas);height:38px;color:var(--color-text-primary);font-weight:var(--weight-medium);font-size:var(--text-base);flex:1;display:inline-flex}.support-actions .mini{border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-canvas);background:#ffffff1f;place-items:center;display:grid}.support-actions .mini:hover{background:#fff3}[data-theme=dark] .support-actions .mini{background:#00000026}.flagsel{align-items:center;gap:var(--space-1);height:38px;padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--text-base);background:#ffffff1f;display:inline-flex}[data-theme=dark] .flagsel{background:#00000026}.support-launch{height:46px;padding:0 var(--space-4);border-radius:var(--radius-full);align-items:center;gap:var(--space-2);background:var(--color-surface-inv);color:var(--color-canvas);box-shadow:var(--shadow-float);font-weight:var(--weight-medium);font-size:var(--text-base);display:inline-flex}.bare{min-height:100vh;padding:var(--space-10) var(--space-4);display:none}body[data-mode=bare] .bare{display:block}.auth{max-width:400px;margin:var(--space-8) auto 0}.auth h1{text-align:center;margin-bottom:var(--space-6)}.auth .foot{text-align:center;margin-top:var(--space-5);font-size:var(--text-base);color:var(--color-text-secondary)}.brandline{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.underline{text-underline-offset:2px;text-decoration:underline}.kit-block{margin-bottom:var(--space-6)}.kit-block>h3{margin-bottom:var(--space-3)}.cal-bar,.kit-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cal-bar{margin-bottom:var(--space-3)}.cal-nav{height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;display:flex;overflow:hidden}.cal-nav button{width:28px;height:100%;color:var(--color-text-tertiary);transition:background var(--transition),color var(--transition);place-items:center;display:grid}.cal-nav button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.cal-nav .today{width:auto;padding:0 var(--space-2-5);font-size:var(--text-base);color:var(--color-text-secondary);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.cal-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-xl);letter-spacing:var(--tracking-tighter);min-width:180px}.cal-month{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.cal-dow{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-dow span{padding:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:center}.cal-dow span,.cal-dow span.we{color:var(--color-text-tertiary)}.cal-dow span.we{opacity:.6}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-day{min-height:108px;padding:var(--space-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transition:background var(--transition);flex-direction:column;gap:3px;display:flex;position:relative}.cal-day:nth-child(7n){border-right:0}.cal-grid>.cal-day:nth-last-child(-n+7){border-bottom:0}.cal-day:hover{background:var(--color-surface-2)}.cal-day.out{background:var(--color-canvas)}.cal-day.out .num{color:var(--color-text-tertiary);opacity:.5}.cal-day.we{background:color-mix(in srgb,var(--color-surface-2) 45%,transparent)}.cal-day .num{font-size:var(--text-base);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);align-items:center;gap:var(--space-1);margin-bottom:2px;display:flex}.cal-day.today .num{color:var(--color-text-primary);font-weight:var(--weight-medium)}.cal-day.today .num:before{content:"";background:var(--color-action);width:20px;height:20px;left:var(--space-2);top:var(--space-2);z-index:0;border-radius:50%;position:absolute}.cal-day.today .num span{z-index:1;text-align:center;width:20px;color:var(--color-action-text);position:relative}.cal-day .add{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition),background var(--transition);place-items:center;margin-left:auto;display:grid}.cal-day:hover .add{opacity:1}.cal-day .add:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.ev{align-items:center;gap:var(--space-1);padding:2px var(--space-1-5);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;text-align:left;width:100%;transition:background var(--transition);line-height:1.35;display:flex}.ev .bar{background:currentColor;border-radius:1px;flex-shrink:0;width:2px;height:12px}.ev .t{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-primary);flex:1;overflow:hidden}.ev .h{font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);font-size:var(--text-xs);flex-shrink:0}.ev:hover{background:var(--color-surface-3)}.ev.s1{color:var(--series-1)}.ev.s2{color:var(--series-2)}.ev.s3{color:var(--series-3)}.ev.s4{color:var(--series-4)}.ev.s5{color:var(--series-5)}.ev.s6{color:var(--series-6)}.ev.filled{background:color-mix(in srgb,currentColor 12%,transparent)}.ev.filled:hover{background:color-mix(in srgb,currentColor 20%,transparent)}.ev-more{font-size:var(--text-xs);color:var(--color-text-tertiary);padding:1px var(--space-1-5);text-align:left}.ev-more:hover{color:var(--color-text-primary)}.sched{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.sched-scroll{overflow-x:auto}.sched-inner{--lane-w:200px;--hour-w:52px;min-width:820px}.sched-hours{grid-template-columns:var(--lane-w) 1fr;border-bottom:1px solid var(--color-border);display:grid}.sched-hours .sp{border-right:1px solid var(--color-border)}.sched-hours .hrs{display:grid;position:relative}.sched-hours .hr{padding:var(--space-2) 0 var(--space-2) 6px;font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;border-left:1px solid var(--color-border)}.sched-hours .hr:first-child{border-left:0}.sched-row{grid-template-columns:var(--lane-w) 1fr;border-bottom:1px solid var(--color-border);display:grid}.sched-row:last-child{border-bottom:0}.sched-lane{padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border);align-items:center;gap:var(--space-2);background:var(--color-surface);display:flex}.sched-lane .who{min-width:0}.sched-lane .who b{font-weight:var(--weight-medium);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sched-lane .who span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.sched-track{background-image:repeating-linear-gradient(90deg,var(--color-border) 0 1px,transparent 1px var(--hour-w));height:56px;position:relative}.sched-track.off{background-color:var(--color-canvas)}.sched-block{border-radius:var(--radius-sm);padding:var(--space-1) 7px;cursor:grab;background:color-mix(in srgb,currentColor 14%,var(--color-surface));transition:box-shadow var(--transition),transform var(--transition);border-left:2px solid;position:absolute;top:6px;bottom:6px;overflow:hidden}.sched-block:hover{box-shadow:var(--shadow-raised);transform:translateY(-1px)}.sched-block b{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.sched-block b,.sched-block span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sched-block span{font-size:var(--text-xs);color:var(--color-text-secondary)}.sched-block.s1{color:var(--series-1)}.sched-block.s2{color:var(--series-2)}.sched-block.s3{color:var(--series-3)}.sched-block.s4{color:var(--series-4)}.sched-block.s5{color:var(--series-5)}.sched-block.s6{color:var(--series-6)}.sched-block.ghost{background:repeating-linear-gradient(-45deg,var(--color-surface-2) 0 5px,transparent 5px 10px);border-left-color:var(--color-border-strong);color:var(--color-text-tertiary)}.now-line{z-index:3;pointer-events:none;width:1.5px;top:0;bottom:0}.now-line,.now-line:before{background:var(--color-danger-fg);position:absolute}.now-line:before{content:"";border-radius:50%;width:7px;height:7px;top:-3px;left:-3px}.dp{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:268px;box-shadow:var(--shadow-overlay);padding:var(--space-3)}.dp-head{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.dp-head b{text-align:center;font-weight:var(--weight-medium);font-size:var(--text-base);flex:1}.dp-head button{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-tertiary);transition:background var(--transition),color var(--transition);place-items:center;display:grid}.dp-head button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.dp-dow{grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.dp-dow span{text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary);padding:var(--space-1) 0}.dp-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-cell{border-radius:var(--radius-sm);height:32px;font-size:var(--text-base);font-variant-numeric:tabular-nums;transition:background var(--transition),color var(--transition);place-items:center;display:grid;position:relative}.dp-cell:hover{background:var(--color-surface-2)}.dp-cell.out{color:var(--color-text-tertiary);opacity:.45}.dp-cell.today{font-weight:var(--weight-medium);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.dp-cell.in-range{background:var(--color-surface-2);border-radius:0}.dp-cell.edge{background:var(--color-action);color:var(--color-action-text);font-weight:var(--weight-medium)}.dp-cell.edge.start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.dp-cell.edge.end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.dp-cell.edge.solo{border-radius:var(--radius-sm)}.dp-foot{align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dp-preset{height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary);transition:background var(--transition),color var(--transition)}.dp-preset:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.dp-field{display:inline-block;position:relative}.dp-trigger{height:var(--height-input);padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-variant-numeric:tabular-nums;transition:border-color var(--transition);display:inline-flex}.dp-trigger:hover{border-color:var(--color-border-strong)}.dp-pop{top:calc(100% + var(--space-1));z-index:40;display:none;position:absolute;left:0}.dp-field.open .dp-pop,.tile{display:block}.tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:left;width:100%;transition:border-color var(--transition),transform var(--transition);overflow:hidden}.tile:hover{border-color:var(--color-border-strong)}.tile-art{aspect-ratio:16/10;position:relative;overflow:hidden}.tile-art:after{content:"";background-image:repeating-linear-gradient(0deg,#ffffff24 0 1px,#0000 0 3px),repeating-linear-gradient(90deg,#0000000b 0 1px,#0000 0 3px);position:absolute;inset:0}.g1{background:radial-gradient(120% 130% at 15% 20%,#ffd9ae 0,#0000 55%),linear-gradient(135deg,#f0b279,#c9622a)}.g2{background:radial-gradient(120% 130% at 15% 20%,#d8e3f2 0,#0000 55%),linear-gradient(135deg,#afc0da,#5a6e96)}.g3{background:radial-gradient(120% 130% at 15% 20%,#dbefdd 0,#0000 55%),linear-gradient(135deg,#b4d2b8,#5d8a6c)}.g4{background:radial-gradient(120% 130% at 15% 20%,#ebdcee 0,#0000 55%),linear-gradient(135deg,#cbb3d4,#7c5f8e)}.tile-body{padding:var(--space-3)}.tile-body h3{margin-bottom:2px}.tile-body p{font-size:var(--text-base);color:var(--color-text-secondary)}.tile-foot{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex}.obj{padding:var(--space-4);flex-direction:column;height:100%}.obj,.obj-top{gap:var(--space-3);display:flex}.obj-top{align-items:flex-start}.obj-sq{border-radius:var(--radius-md);background:var(--color-surface-2);width:38px;height:38px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.obj-sq.brand{background:linear-gradient(140deg,var(--brand-from),var(--brand-to));color:#fff}.obj-stats{gap:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.obj-stats .k{font-size:var(--text-xs);color:var(--color-text-tertiary)}.obj-stats .v{font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;margin-top:1px}.person-card{padding:var(--space-4);text-align:center}.person-card .ava{margin:0 auto var(--space-3)}.person-card .role{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:2px}.person-card .meta{justify-content:center;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.kpi{padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.kpi .k{font-size:var(--text-base);color:var(--color-text-secondary)}.kpi .v{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.kpi .spark{height:34px}.delta{font-size:var(--text-sm);font-weight:var(--weight-medium);align-items:center;gap:3px;display:inline-flex}.delta.up{color:var(--color-success-fg)}.delta.down{color:var(--color-danger-fg)}.delta svg{stroke-width:2px;width:12px;height:12px}.list-card .row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);transition:background var(--transition);display:flex}.list-card .row:last-child{border-bottom:0}.list-card .row:hover{background:var(--color-surface-2)}.list-card .head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between}.add-card,.list-card .head{align-items:center;display:flex}.add-card{border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--space-6);justify-content:center;gap:var(--space-2);color:var(--color-text-tertiary);min-height:150px;transition:border-color var(--transition),color var(--transition),background var(--transition);background:0 0;flex-direction:column}.add-card:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary);background:var(--color-surface)}.prog{height:5px}.prog i.s1{background:var(--series-1)}.prog i.s2{background:var(--series-2)}.prog i.s3{background:var(--series-3)}.prog i.s4{background:var(--series-4)}.plot{border-radius:var(--radius-lg);height:var(--plot-h,280px);width:100%;position:relative;overflow:hidden}.plot-bg{background-color:var(--color-canvas);background-image:radial-gradient(var(--color-border-strong) 1px,transparent 1px);background-size:var(--dot-size) var(--dot-size);background-position:0 0;position:absolute;inset:0}.plot-bg.plain{background-image:none}.plot-layer{position:absolute;inset:0}.plot-layer svg{width:100%;height:100%;display:block}.plot-lg{--plot-h:320px}.plot-md{--plot-h:280px}.plot-sm{--plot-h:220px}.chart-head .big{font-size:var(--text-3xl);font-weight:var(--weight-heading);line-height:1.15}.chart-head .k{font-size:var(--text-base);color:var(--color-text-secondary)}.gridline{stroke:var(--color-border);stroke-width:1px}.gridline.zero,.peakline{stroke:var(--color-border-strong)}.peakline{stroke-width:1px;stroke-dasharray:3 3}.axis{fill:var(--color-text-tertiary);font-family:var(--font-sans)}.axis,.axis.val{font-size:var(--text-sm)}.axis.val{fill:var(--color-text-primary);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.ln{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.ln.s1{stroke:var(--series-1)}.ln.s2{stroke:var(--series-2)}.ln.s3{stroke:var(--series-3)}.ar.s1{fill:color-mix(in srgb,var(--series-1) 12%,transparent)}.ar.s2{fill:color-mix(in srgb,var(--series-2) 12%,transparent)}.ln.dashed{stroke-dasharray:4 4;stroke:var(--color-text-tertiary);stroke-width:1.5px}.bar.s1{fill:var(--series-1)}.bar.s2{fill:var(--series-2)}.bar.s3{fill:var(--series-3)}.bar.s4{fill:var(--series-4)}.bar.muted{fill:var(--series-muted)}.dotm{stroke:var(--color-surface);stroke-width:2px}.dotm.s1{fill:var(--series-1)}.dotm.s2{fill:var(--series-2)}.legend{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary);display:inline-flex}.legend i{border-radius:2px;flex-shrink:0;width:8px;height:8px}.legend i.s1{background:var(--series-1)}.legend i.s2{background:var(--series-2)}.legend i.s3{background:var(--series-3)}.legend i.s4{background:var(--series-4)}.legend i.s5{background:var(--series-5)}.legend i.s6{background:var(--series-6)}.legend i.muted{background:var(--series-muted)}.legend .val{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.donut-wrap{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.donut{flex-shrink:0;width:200px;height:200px;position:relative}.donut svg{transform:rotate(-90deg)}.donut .hole{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut .hole b{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.donut .hole span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.donut-legend{gap:var(--space-1);flex-direction:column;flex:1;min-width:180px;display:flex}.donut-legend .row{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-base);display:flex}.donut-legend .row .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);flex:1;overflow:hidden}.donut-legend .row .vl{font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.donut-legend .row .pc{font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);font-size:var(--text-sm);text-align:right;width:38px}.tip{z-index:10;pointer-events:none;opacity:0;background:var(--color-surface-inv);color:var(--color-canvas);border-radius:var(--radius-md);padding:var(--space-2) 10px;font-size:var(--text-sm);white-space:nowrap;box-shadow:var(--shadow-overlay);transition:opacity .12s;position:absolute;transform:translate(-50%,-100%)}.tip.on{opacity:1}.tip b{font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.tip .r{align-items:center;gap:var(--space-2);margin-top:2px;display:flex}.tip i{border-radius:2px;flex-shrink:0;width:7px;height:7px}.tip i.s1{background:var(--series-1)}.tip i.s2{background:var(--series-2)}.hoverband{fill:#0000}.hoverband:hover{fill:color-mix(in srgb,var(--color-text-primary) 4%,transparent)}.heat{grid-template-columns:auto repeat(7,1fr);align-items:center;gap:3px;display:grid}.heat .lb{font-size:var(--text-xs);color:var(--color-text-tertiary);padding-right:var(--space-2);text-align:right;font-variant-numeric:tabular-nums}.heat .cl{aspect-ratio:1;background:var(--series-muted);transition:transform var(--transition);border-radius:3px}.heat .cl:hover{transform:scale(1.18)}.heat .hd{font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;padding-bottom:2px}.hbars{gap:var(--space-3);flex-direction:column;display:flex}.hbar .top{margin-bottom:var(--space-1);font-size:var(--text-base);justify-content:space-between;align-items:baseline;display:flex}.hbar .top .vl{font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.hbar .track{background:var(--color-surface-2);border-radius:4px;height:8px;overflow:hidden}.hbar .fill{border-radius:4px;height:100%}.hbar .fill.s1{background:var(--series-1)}.hbar .fill.s2{background:var(--series-2)}.hbar .fill.s3{background:var(--series-3)}.hbar .fill.s4{background:var(--series-4)}.hbar .fill.s5{background:var(--series-5)}@media (width<=767px){.cal-day{min-height:78px}.cal-day .ev .h{display:none}}.sc{flex:1;min-height:0;display:flex}.sc-main{flex:1;min-width:0}.sc-main,.sc-side{flex-direction:column;display:flex;overflow:hidden}.sc-side{border-left:1px solid var(--color-border);width:290px}.sc-bar,.sc-side{background:var(--color-surface);flex-shrink:0}.sc-bar{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.sc-bar,.sc-date{align-items:center;display:flex}.sc-date{height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.sc-date button{width:28px;height:100%;color:var(--color-text-tertiary);place-items:center;display:grid}.sc-date button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.sc-date .d{padding:0 var(--space-3);font-size:var(--text-base);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;height:100%;display:flex}.sc-scroll{flex:1;min-height:0;overflow:auto}.sc-inner{--lane-w:220px;--hour-w:60px;min-width:940px}.sc-hours{grid-template-columns:var(--lane-w) 1fr;z-index:4;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:grid;position:sticky;top:0}.sc-hours .sp{border-right:1px solid var(--color-border)}.sc-hours .hh{display:grid}.sc-hours .h{padding:var(--space-2) 0 var(--space-2) 6px;font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;border-left:1px solid var(--color-border)}.sc-hours .h:first-child{border-left:0}.sc-row{grid-template-columns:var(--lane-w) 1fr;border-bottom:1px solid var(--color-border);display:grid}.sc-row:last-child{border-bottom:0}.sc-lane{padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border);align-items:center;gap:var(--space-2);background:var(--color-surface);z-index:3;display:flex;position:sticky;left:0}.sc-lane .who{flex:1;min-width:0}.sc-lane .who b{font-weight:var(--weight-medium);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sc-lane .who span{font-size:var(--text-xs);color:var(--color-text-tertiary);align-items:center;gap:var(--space-1);display:flex}.plate{font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:0 var(--space-1);border:1px solid var(--color-border-strong);font-size:var(--text-xs);color:var(--color-text-secondary);border-radius:3px}.sc-track{background-image:repeating-linear-gradient(90deg,var(--color-border) 0 1px,transparent 1px var(--hour-w));height:62px;position:relative}.sc-track.off{background-color:var(--color-canvas)}.sc-slot{cursor:pointer;transition:background var(--transition);position:absolute;top:0;bottom:0}.sc-slot:hover{background:color-mix(in srgb,var(--brand) 9%,transparent)}.sc-slot:after{content:"+";color:var(--brand);font-size:var(--text-xl);opacity:0;transition:opacity var(--transition);place-items:center;display:grid;position:absolute;inset:0}.sc-slot:hover:after{opacity:1}.les{border-radius:var(--radius-sm);padding:5px var(--space-2);cursor:pointer;background:color-mix(in srgb,currentColor 13%,var(--color-surface));z-index:2;transition:box-shadow var(--transition),transform var(--transition);border-left:2.5px solid;position:absolute;top:5px;bottom:5px;overflow:hidden}.les:hover{box-shadow:var(--shadow-raised);transform:translateY(-1px)}.les b{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;display:block}.les b,.les span{white-space:nowrap;overflow:hidden}.les span{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.les.c1{color:var(--series-1)}.les.c2{color:var(--series-2)}.les.c3{color:var(--series-3)}.les.c4{color:var(--series-4)}.les.c5{color:var(--series-5)}.les.c6{color:var(--series-6)}.les.pending{background:repeating-linear-gradient(-45deg,color-mix(in srgb,currentColor 10%,var(--color-surface)) 0 6px,var(--color-surface) 6px 12px)}.les.block{color:var(--color-text-tertiary);background:repeating-linear-gradient(-45deg,var(--color-surface-2) 0 5px,transparent 5px 10px);border-left-color:var(--color-border-strong)}.now{z-index:3;pointer-events:none;width:1.5px;top:0;bottom:0}.now,.now:before{background:var(--color-danger-fg);position:absolute}.now:before{content:"";border-radius:50%;width:7px;height:7px;top:-3px;left:-3px}.sc-hd{padding:var(--space-3);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.sc-body{flex:1;overflow-y:auto}.q,.sc-body{padding:var(--space-2)}.q{align-items:flex-start;gap:var(--space-2);text-align:left;border-radius:var(--radius-md);width:100%;transition:background var(--transition),border-color var(--transition);border:1px solid #0000;display:flex}.q:hover{border-color:var(--color-border)}.q.sel,.q:hover{background:var(--color-surface-2)}.q.sel{border-color:var(--color-border-strong)}.q .bd{flex:1;min-width:0}.q .bd b{font-weight:var(--weight-medium);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.q .bd span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.q .pr{background:var(--color-surface-3);width:100%;height:4px;margin-top:var(--space-1);border-radius:2px;overflow:hidden}.q .pr i{background:var(--brand);height:100%;display:block}.rule{align-items:flex-start;gap:var(--space-2);padding:var(--space-1-5) 0;font-size:var(--text-base);display:flex}.rule .ic{border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;margin-top:1px;display:grid}.rule.ok .ic{background:var(--color-success-bg);color:var(--color-success-fg)}.rule.no .ic{background:var(--color-danger-bg);color:var(--color-danger-fg)}.rule.warn .ic{background:var(--color-warning-bg);color:var(--color-warning-fg)}.rule .ic svg{stroke-width:2.6px;width:11px;height:11px}.rule.no .tx{color:var(--color-danger-fg)}.rule.warn .tx{color:var(--color-warning-fg)}.jr-head{gap:var(--space-4);padding:var(--space-4);grid-template-columns:1fr;display:grid}.jr-meta{gap:var(--space-5);flex-wrap:wrap;display:flex}.jr-meta .it{min-width:0}.jr-meta .k{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.jr-meta .v{font-weight:var(--weight-medium);margin-top:2px}.jr-meta .v small{color:var(--color-text-secondary);font-weight:400}.cond{gap:var(--space-2);flex-wrap:wrap;display:flex}.cond,.cond .pair{align-items:center}.cond .pair{height:var(--height-input-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:inline-flex;overflow:hidden}.cond .pair .lb{font-size:var(--text-sm);color:var(--color-text-tertiary);border-right:1px solid var(--color-border);background:var(--color-surface-2);align-items:center;display:flex}.cond .pair .lb,.cond .pair input{padding:0 var(--space-2);height:100%}.cond .pair input{font-variant-numeric:tabular-nums;width:60px;font-size:var(--text-base);background:0 0;border:0}.cond .pair input:focus{background:var(--brand-ring);outline:none}.cond .pair .un{padding-right:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary)}.jr-table{font-variant-numeric:tabular-nums}.jr-table thead tr:first-child th{border-bottom:1px solid var(--color-border);text-align:center;font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase}.jr-table thead tr:first-child th.grp{background:var(--color-surface-2);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.jr-table thead tr:last-child th{font-size:var(--text-sm);padding-top:var(--space-1);padding-bottom:var(--space-2)}.jr-table td.num,.jr-table th.num{text-align:right}.jr-table td{padding:0}.jr-table td.pad{padding:var(--space-2) var(--space-3)}.jr-table .grp-l{border-left:1px solid var(--color-border)}.jr-table .grp-r{border-right:1px solid var(--color-border)}.cell{border-radius:var(--radius-sm);width:100%;height:34px;padding:0 var(--space-2);text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-base);transition:border-color var(--transition),background var(--transition);background:0 0;border:1px solid #0000}.cell:hover{border-color:var(--color-border)}.cell:focus{border-color:var(--color-border-strong);background:var(--color-surface);box-shadow:0 0 0 3px var(--brand-ring);outline:none}.cell:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.cell.bad{border-color:var(--color-border-danger)}.calc{padding:var(--space-2) var(--space-3);text-align:right;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:var(--text-base);display:block}.calc.strong{color:var(--color-text-primary);font-weight:var(--weight-medium)}.calc.empty{color:var(--color-text-tertiary)}.jr-row-locked{background:color-mix(in srgb,var(--color-surface-2) 55%,transparent)}.jr-row-locked .cell{pointer-events:none;color:var(--color-text-secondary)}.lock-ic{color:var(--color-text-tertiary)}.smp{padding:var(--space-2) var(--space-3);flex-direction:column;gap:1px;display:flex}.smp b{font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.smp span{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.conv,.smp span{font-size:var(--text-sm)}.conv{align-items:center;gap:var(--space-1);display:inline-flex}.conv i{border-radius:50%;flex-shrink:0;width:6px;height:6px}.conv.ok i{background:var(--color-success-fg)}.conv.bad i{background:var(--color-danger-fg)}.conv.ok{color:var(--color-success-fg)}.conv.bad{color:var(--color-danger-fg)}.jr-sign{gap:var(--space-6);padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-canvas);flex-wrap:wrap;display:flex}.jr-sign .s{align-items:center;gap:var(--space-2);display:flex}.jr-sign .s .k{font-size:var(--text-xs);color:var(--color-text-tertiary)}.jr-sign .line{border-bottom:1px dashed var(--color-border-strong);width:120px;height:18px}.fx{flex:1;min-height:0;display:flex}.fx-vars{border-right:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;width:270px}.fx-main,.fx-vars{flex-direction:column;display:flex;overflow:hidden}.fx-main{flex:1;min-width:0}.fx-test{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;width:300px;overflow:hidden}.fx-hd,.fx-test{flex-shrink:0;display:flex}.fx-hd{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-2)}.fx-hd h3{flex:1}.fx-body{padding:var(--space-3);flex:1;overflow-y:auto}.var{align-items:flex-start;gap:var(--space-2);text-align:left;width:100%;padding:var(--space-2);border-radius:var(--radius-md);transition:background var(--transition),border-color var(--transition);border:1px solid #0000;display:flex}.var.sel,.var:hover{background:var(--color-surface-2)}.var.sel{border-color:var(--color-border-strong)}.var .sym{border-radius:var(--radius-sm);width:30px;height:30px;font-family:var(--font-math);font-style:italic;font-size:var(--text-lg);background:color-mix(in srgb,currentColor 13%,transparent);flex-shrink:0;place-items:center;display:grid}.var .bd{flex:1;min-width:0}.var .bd b{font-weight:400;font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.var .bd span{font-size:var(--text-xs)}.var.c1{color:var(--series-1)}.var.c2{color:var(--series-2)}.var.c3{color:var(--series-3)}.var.c4{color:var(--series-4)}.var.c5{color:var(--series-5)}.var.c6{color:var(--series-6)}.var .bd b,.var .bd span{color:var(--color-text-primary)}.var .bd span{color:var(--color-text-tertiary)}.var-src{font-size:var(--text-xs);padding:1px var(--space-1-5);border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-text-secondary);flex-shrink:0;margin-top:2px}.fx-canvas{background-color:var(--color-canvas);background-image:radial-gradient(var(--color-border-strong) 1px,transparent 1px);background-size:var(--dot-size) var(--dot-size);flex:1;min-height:0;position:relative;overflow:auto}.fx-stage{min-height:100%;padding:var(--space-8) var(--space-5);justify-content:center;align-items:center;display:flex}.fx-paper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-raised);padding:var(--space-8) var(--space-10);text-align:center;min-width:min(560px,100%)}.fx,.math{--font-math:"Cambria Math", "Latin Modern Math", STIX, Georgia, serif}.math{font-family:var(--font-math);font-size:var(--text-3xl);align-items:center;gap:var(--space-1-5);flex-wrap:wrap;justify-content:center;line-height:1.25;display:inline-flex}.math .v{border-radius:3px;padding:1px 2px;font-style:italic;position:relative}.math .v.c1{color:var(--series-1)}.math .v.c2{color:var(--series-2)}.math .v.c3{color:var(--series-3)}.math .v.c4{color:var(--series-4)}.math .v.c5{color:var(--series-5)}.math .v.c6{color:var(--series-6)}.math .v sub{vertical-align:-.25em;font-size:.6em;font-style:normal}.math .n{font-variant-numeric:tabular-nums}.math .op{color:var(--color-text-secondary);padding:0 2px}.math .par{color:var(--color-text-tertiary);font-size:1.15em}.frac{vertical-align:middle;margin:0 var(--space-1);flex-direction:column;align-items:center;display:inline-flex}.frac .up{padding:0 var(--space-2) 3px}.frac .dn,.frac .up{align-items:center;gap:var(--space-1);flex-wrap:nowrap;display:inline-flex}.frac .dn{padding:4px var(--space-2) 0;border-top:1.5px solid var(--color-text-primary)}.fx-res{font-family:var(--font-math);font-size:var(--text-3xl);margin-right:var(--space-1-5);font-style:italic}.fx-err{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-bg);color:var(--color-danger-fg);font-size:var(--text-base);margin-top:var(--space-3);display:inline-flex}.fx-tokens{border-top:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-3);flex-shrink:0}.tok-line{gap:var(--space-1);min-height:36px;padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-canvas);flex-wrap:wrap;display:flex}.tok,.tok-line{border:1px solid var(--color-border);align-items:center}.tok{height:26px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-math);background:var(--color-surface);transition:transform var(--transition);display:inline-flex}.tok:hover{transform:translateY(-1px)}.tok.var{background:color-mix(in srgb,currentColor 10%,var(--color-surface));border-color:currentColor;font-style:italic}.tok.var.c1{color:var(--series-1)}.tok.var.c2{color:var(--series-2)}.tok.var.c3{color:var(--series-3)}.tok.var.c4{color:var(--series-4)}.tok.var.c5{color:var(--series-5)}.tok.var.c6{color:var(--series-6)}.tok.op{color:var(--color-text-secondary);justify-content:center;min-width:26px}.tok.num{font-variant-numeric:tabular-nums}.tok-ph{color:var(--color-text-tertiary);font-size:var(--text-base);padding:0 var(--space-2)}.pad{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.pad-sep{background:var(--color-border);width:1px;height:26px;margin:0 var(--space-1)}.key{min-width:28px;height:28px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-base);transition:background var(--transition),border-color var(--transition);justify-content:center;align-items:center;display:inline-flex}.key:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.key.wide{padding:0 var(--space-3)}.key.mono{font-family:var(--font-math)}.tst-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.tst-row .sym{width:26px;font-family:var(--font-math);text-align:center;flex-shrink:0;font-style:italic}.tst-row .sym.c1{color:var(--series-1)}.tst-row .sym.c2{color:var(--series-2)}.tst-row .sym.c3{color:var(--series-3)}.tst-row .sym.c4{color:var(--series-4)}.tst-row .sym.c5{color:var(--series-5)}.tst-row .sym.c6{color:var(--series-6)}.tst-row .un{font-size:var(--text-sm);color:var(--color-text-tertiary);flex-shrink:0;width:34px}.tst-out{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-canvas);padding:var(--space-3);text-align:center;margin-top:var(--space-3)}.tst-out .val{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.tst-out .un{font-size:var(--text-base);color:var(--color-text-secondary);margin-left:var(--space-1)}.tst-out .raw{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;margin-top:2px}@media (width<=1023px){.fx-vars{display:none}}.modal{max-width:540px}.modal-topbar .ttl{padding:0 var(--space-1)}.doc{background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-10);max-width:720px;font-size:var(--text-base);margin:0 auto;line-height:1.55}.doc-hd{align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1.5px solid var(--color-text-primary);margin-bottom:var(--space-5);display:flex}.doc-hd .mk{border-radius:var(--radius-md);background:linear-gradient(140deg,var(--brand-from),var(--brand-to));flex-shrink:0;width:38px;height:38px}.doc h2{font-size:var(--text-xl);margin-bottom:2px}.doc-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.doc-title{text-align:center;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-medium);margin-bottom:var(--space-1)}.doc-num{text-align:center;color:var(--color-text-secondary)}.doc-kv,.doc-num{margin-bottom:var(--space-5)}.doc-kv{gap:var(--space-2) var(--space-4);font-size:var(--text-base);grid-template-columns:190px 1fr;display:grid}.doc-kv dt{color:var(--color-text-secondary)}.doc table{margin-bottom:var(--space-5)}.doc thead th{background:var(--color-surface-2);color:var(--color-text-primary);text-transform:none;letter-spacing:0}.doc tbody td,.doc thead th{border:1px solid var(--color-border);padding:var(--space-2)}.doc-foot{justify-content:space-between;gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.doc-sign{flex:1}.doc-sign .ln{border-bottom:1px solid var(--color-text-primary);height:22px;margin-bottom:3px}.doc-sign .cap{font-size:var(--text-xs);color:var(--color-text-tertiary)}@media (width>=768px){:root{--gutter:var(--space-6)}.jr-head{grid-template-columns:1fr auto}.hide-sm{display:inline-flex}}@media (width<=1279px){.fx-test{display:none}}.prog{background:var(--color-surface-3);border-radius:3px;height:6px;display:flex;overflow:hidden}.prog i{height:100%;display:block}.prog i.th{background:var(--series-2)}.prog i.pr{background:var(--series-1)}.stage{align-items:center;gap:var(--space-1);width:100%;display:flex}.stage .st{background:var(--color-surface-3);border-radius:2px;flex:1;height:4px}.stage .st.on{background:var(--brand)}.stage .st.fail{background:var(--color-danger-fg)}.money{font-variant-numeric:tabular-nums;align-items:baseline}.money,.vframe{gap:var(--space-1);display:flex}.vframe{align-items:center;width:100%}.vframe .st{background:var(--color-surface-3);border-radius:2px;flex:1;height:4px}.vframe .st.on{background:var(--brand)}.vframe .st.fail{background:var(--color-danger-fg)}.car{padding:var(--space-4);flex-direction:column;height:100%}.car,.car-top{gap:var(--space-3);display:flex}.car-top{align-items:flex-start}.car-sq{border-radius:var(--radius-md);background:var(--color-surface-2);width:42px;height:42px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.car-sq.warn{background:var(--color-warning-bg);color:var(--color-warning-fg)}.car-sq.bad{background:var(--color-danger-bg);color:var(--color-danger-fg)}.car-kv{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.car-kv .r{font-size:var(--text-base);justify-content:space-between;align-items:center;display:flex}.car-kv .r .k{color:var(--color-text-secondary)}.car-kv .r .v{font-variant-numeric:tabular-nums}.term{align-items:center;gap:var(--space-1);display:inline-flex}.term i{border-radius:50%;flex-shrink:0;width:6px;height:6px}.term.ok i{background:var(--color-success-fg)}.term.soon i{background:var(--color-warning-fg)}.term.bad i{background:var(--color-danger-fg)}.map{border-radius:var(--radius-xl);border:1px solid var(--color-border);background-color:var(--color-canvas);background-image:radial-gradient(var(--color-border-strong) 1px,transparent 1px);background-size:var(--dot-size) var(--dot-size);height:min(560px,100vh - 260px);position:relative;overflow:hidden}.map svg{width:100%;height:100%;position:absolute;inset:0}.street{stroke:var(--color-border-strong);stroke-width:7px;fill:none;stroke-linecap:round;opacity:.55}.street.big{stroke-width:11px}.route{fill:none;stroke:var(--brand);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #00000029)}.route.ghost{stroke:var(--color-border-strong);stroke-width:2.5px;stroke-dasharray:5 6;filter:none}.mpt{fill:var(--color-surface);stroke:var(--brand);stroke-width:2.5px}.mpt-lb{fill:var(--color-text-primary);font-size:var(--text-xs);font-weight:500;font-family:var(--font-sans)}.map-panel{left:var(--space-3);top:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:250px;box-shadow:var(--shadow-float);max-height:calc(100% - var(--space-6));position:absolute;overflow:hidden}.map-panel .hd{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.map-panel .bd{padding:var(--space-1);overflow-y:auto}.rt{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-md);text-align:left;transition:background var(--transition);display:flex}.rt:hover,.rt[aria-current=true]{background:var(--color-surface-2)}.rt .n{border-radius:var(--radius-sm);width:22px;height:22px;font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--color-surface-3);color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.rt[aria-current=true] .n{background:var(--brand);color:#fff}.rt .t{flex:1;min-width:0}.rt .t b{font-weight:400;font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rt .t span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.map-legend{right:var(--space-3);bottom:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-2) var(--space-3);gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex;position:absolute}.map-legend .l{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);display:flex}.map-legend .l i{border-radius:2px;flex-shrink:0;width:14px;height:2.5px}.overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--space-5);background:#0a0a0a52;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal,.overlay.open{display:flex}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:520px;box-shadow:var(--shadow-overlay);flex-direction:column;max-height:90vh;overflow:hidden}.modal-lg{max-width:820px;height:88vh}.modal-topbar{align-items:center;gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.modal-topbar .ttl{min-width:0;padding:0 var(--space-2);flex:1}.modal-topbar .ttl b{font-weight:var(--weight-medium);font-size:var(--text-lg);display:block}.modal-topbar .ttl span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.modal-body{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.modal-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-canvas);justify-content:flex-end;gap:var(--space-2);display:flex}.modal-tabs{padding:0 var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-tabs .tabs{border-bottom:0;margin-bottom:0}.modal-tabs .tab[aria-selected=true]:after{display:none}.toast{right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);align-items:center;gap:var(--space-2);max-width:340px;padding:var(--space-3);border-radius:var(--radius-xl);background:var(--color-surface-inv);color:var(--color-canvas);box-shadow:var(--shadow-overlay);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;display:flex;position:fixed;transform:translateY(10px)}.toast.show{opacity:1;transform:none}@media (width>=768px){:root{--gutter:var(--space-6)}.hide-sm{display:inline-flex}}@media (width<=1279px){.sc-side{display:none}}@media (width<=1023px){.sidebar{display:none}}.branch{margin-bottom:var(--space-2);position:relative}.branch-btn{align-items:center;gap:var(--space-2);width:100%;height:var(--height-input-lg);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition);display:flex}.branch-btn:hover{border-color:var(--color-border-strong)}.branch-btn .mark{background:linear-gradient(140deg,var(--brand-from),var(--brand-to));border-radius:7px;flex-shrink:0;width:24px;height:24px;box-shadow:inset 0 0 0 1px #00000014}.branch-btn .nm{text-align:left;flex:1;min-width:0}.branch-btn .nm b{font-weight:var(--weight-medium);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.branch-btn .nm span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.branch-menu{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);padding:var(--space-1);display:none;position:absolute;left:0;right:0}.branch.open .branch-menu{display:block}.branch-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-md);text-align:left;transition:background var(--transition);display:flex}.branch-item:hover{background:var(--color-surface-2)}.branch-item .d{background:var(--color-surface-3);border-radius:50%;flex-shrink:0;width:8px;height:8px}.branch-item[aria-current=true] .d{background:var(--brand)}.branch-item .t{flex:1;min-width:0}.branch-item .t b{font-weight:400;font-size:var(--text-base);display:block}.branch-item .t span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.filterbar{gap:var(--space-2);flex-wrap:wrap}.filterbar,.range{align-items:center;display:flex}.range{height:var(--height-input-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.range button{width:28px;height:100%;color:var(--color-text-tertiary);place-items:center;display:grid}.range button:hover{color:var(--color-text-primary)}.range .val{align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);height:100%;display:flex}.groupby,.range .val{font-size:var(--text-base)}.groupby{height:var(--height-input-sm);border-radius:var(--radius-md);background:var(--color-action);color:var(--color-action-text);align-items:stretch;display:inline-flex;overflow:hidden}.groupby .x{opacity:.7;place-items:center;width:26px;display:grid}.groupby .x:hover{opacity:1}.groupby .k{padding:0 var(--space-2);opacity:.75}.groupby .k,.groupby .v{align-items:center;display:flex}.groupby .v{gap:var(--space-1);padding:0 var(--space-3);border-left:1px solid #ffffff2e;font-weight:500}[data-theme=dark] .groupby .v{border-left-color:#0003}.chart-card{padding:var(--space-5)}.chart-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.chart-head .big{font-family:var(--font-display);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.chart{height:220px;position:relative}.chart svg{width:100%;height:100%}.chart .grid line{stroke:var(--color-border);stroke-width:1px}.chart .ln{fill:none;stroke:var(--brand);stroke-width:2px}.chart .area{fill:color-mix(in srgb,var(--brand) 10%,transparent);stroke:none}.chart .ax{fill:var(--color-text-tertiary);font-size:11px}.chart-foot{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-2);justify-content:space-between;display:flex}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-size:var(--text-sm);color:var(--color-text-tertiary);padding:var(--space-2) var(--space-4);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;font-weight:500}tbody td,thead th{border-bottom:1px solid var(--color-border)}tbody td{padding:var(--pad-cell-y) var(--pad-cell-x)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--color-surface-2)}td.pick,th.pick{width:42px}.swatch{background:var(--brand);vertical-align:-2px;width:4px;height:14px;margin-right:var(--space-2);border-radius:2px;display:inline-block}.docs{--container-wide:1320px;gap:var(--space-6);max-width:var(--container-wide);width:100%;margin:0 auto;display:flex}.doc-body{flex:1;min-width:0;max-width:720px}.doc-body p{margin-bottom:var(--space-4);line-height:1.65}.doc-body h1{margin-bottom:var(--space-3)}.doc-body h2{margin:var(--space-8) 0 var(--space-3)}.doc-body ul{margin:0 0 var(--space-4) var(--space-5)}.doc-body li{margin-bottom:var(--space-2);line-height:1.6}.doc-lead{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-5)}.callout{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-success);border-radius:var(--radius-lg);background:var(--color-success-bg);margin-bottom:var(--space-4);display:flex}.callout svg{color:var(--color-success-fg);margin-top:2px}.callout p{margin:0}.callout p,.code{font-size:var(--text-base)}.code{background:var(--color-surface-inv);color:var(--color-canvas);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);margin-bottom:var(--space-4);align-items:center;gap:var(--space-3);display:flex;overflow-x:auto}.code .prompt{opacity:.5}.toc{--toc-w:240px;width:var(--toc-w);flex-shrink:0;align-self:flex-start;position:sticky;top:0}.toc-title{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.toc a{padding:var(--space-1) 0 var(--space-1) var(--space-3);border-left:2px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-base);transition:color var(--transition),border-color var(--transition);display:block}.toc a.active,.toc a:hover{color:var(--color-text-primary)}.toc a.active{border-left-color:var(--color-text-primary);font-weight:500}.copy-page{height:var(--height-input-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-items:stretch;display:inline-flex;overflow:hidden}.copy-page button{align-items:center;gap:var(--space-2);padding:0 var(--space-3);font-size:var(--text-base);color:var(--color-text-secondary);display:flex}.copy-page button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.copy-page .split{border-left:1px solid var(--color-border);padding:0 var(--space-2)}.kb{gap:var(--gap-grid);padding-bottom:var(--space-3);scrollbar-width:thin;align-items:flex-start;display:flex;overflow-x:auto}.kb::-webkit-scrollbar{height:8px}.kb::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:4px}.kb-col{background:var(--color-surface-2);border-radius:var(--radius-xl);max-width:292px;max-height:100%;transition:background var(--transition),box-shadow var(--transition);flex-direction:column;flex:0 0 292px;display:flex}.kb-col.over{background:color-mix(in srgb,var(--brand) 8%,var(--color-surface-2));box-shadow:inset 0 0 0 1.5px var(--brand)}.kb-col.collapsed{flex:0 0 52px;max-width:52px}.kb-col.collapsed .kb-add,.kb-col.collapsed .kb-body{display:none}.kb-col.collapsed .kb-head{height:100%;padding:var(--space-3) var(--space-2);gap:var(--space-3);flex-direction:column}.kb-col.collapsed .kb-head .t{writing-mode:vertical-rl;transform:rotate(180deg)}.kb-head{align-items:center;gap:var(--gap-inline);padding:var(--pad-card-sm);flex-shrink:0;display:flex}.kb-head .mark{border-radius:2px;flex-shrink:0;width:8px;height:8px}.kb-head .t{font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-head .cnt{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.kb-head .cnt.over-limit{color:var(--color-danger-fg);font-weight:var(--weight-medium)}.kb-body{padding:0 var(--space-2) var(--space-2);gap:var(--gap-inline);flex-direction:column;flex:1;min-height:60px;display:flex;overflow-y:auto}.kb-body::-webkit-scrollbar{width:6px}.kb-body::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:3px}.kb-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--pad-card-sm);cursor:grab;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.kb-card:hover{border-color:var(--color-border-strong)}.kb-card.dragging{opacity:.5;cursor:grabbing}.kb-card.lift{box-shadow:var(--shadow-float);transform:rotate(1.5deg)}.kb-card .top{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.kb-card .id{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.kb-card .ttl{font-weight:var(--weight-medium);margin-bottom:var(--space-2);line-height:1.35}.kb-card .meta{font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.kb-card .foot,.kb-card .meta{align-items:center;gap:var(--space-2);display:flex}.kb-card .foot{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.kb-card .bar{background:var(--color-surface-3);height:3px;margin-bottom:var(--space-3);border-radius:2px;overflow:hidden}.kb-card .bar i{background:var(--brand);height:100%;display:block}.kb-card.tag-1{box-shadow:inset 3px 0 0 var(--series-1)}.kb-card.tag-2{box-shadow:inset 3px 0 0 var(--series-2)}.kb-card.tag-3{box-shadow:inset 3px 0 0 var(--series-3)}.kb-card.tag-4{box-shadow:inset 3px 0 0 var(--series-4)}.kb-add{margin:0 var(--space-2) var(--space-2);border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);height:36px;color:var(--color-text-tertiary);justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-base);transition:border-color var(--transition),color var(--transition);display:flex}.kb-add:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.kb-ghost{border-radius:var(--radius-lg);border:1.5px dashed var(--brand);background:color-mix(in srgb,var(--brand) 6%,transparent);height:74px}.pf{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.pf-cover{background:linear-gradient(140deg,var(--brand-from),var(--brand-to));height:104px;position:relative}.pf-cover:after{content:"";background-image:radial-gradient(#ffffff59 1px,#0000 0);background-size:var(--dot-size) var(--dot-size);opacity:.45;position:absolute;inset:0}.pf-head{gap:var(--gap-stack);padding:0 var(--pad-card-lg) var(--pad-card-lg);grid-template-columns:auto 1fr;align-items:start;display:grid}.pf-ava-wrap{flex-shrink:0;margin-top:-40px;position:relative}.pf-ava{border:3px solid var(--color-surface);background:var(--color-surface-3);width:84px;height:84px;font-size:var(--text-3xl);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:50%;place-items:center;display:grid}.pf-ava.brand{background:linear-gradient(140deg,var(--brand-from),var(--brand-to));color:#fff}.pf-ava-wrap .st{border:2.5px solid var(--color-surface);border-radius:50%;width:16px;height:16px;position:absolute;bottom:4px;right:4px}.pf-id{min-width:0;padding-top:var(--space-3)}.pf-id h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-tighter);line-height:1.2}.pf-id .role{color:var(--color-text-secondary);margin-top:var(--space-1);font-size:var(--text-base)}.pf-tags{align-items:center;gap:var(--gap-inline);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.pf-tags>*{flex:none}.pf-acts{align-items:center;gap:var(--gap-inline);padding-top:var(--space-1);flex-wrap:wrap;grid-column:1/-1;display:flex}@media (width>=768px){.pf-head{grid-template-columns:auto 1fr auto}.pf-acts{padding-top:var(--space-5);grid-column:auto;align-self:center}}.pf-tabs{padding:0 var(--pad-card-lg);border-top:1px solid var(--color-border)}.pf-tabs .tabs{border-bottom:0;margin-bottom:0}.pf-body{gap:var(--gap-block);padding:var(--pad-card-lg);grid-template-columns:1fr;display:grid}@media (width>=1024px){.pf-body{grid-template-columns:1fr 300px}}.pf-section{margin-top:var(--gap-section)}.pf-section:first-child{margin-top:0}.pf-section>h3{margin-bottom:var(--gap-grid)}.pf-facts{border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;align-self:start;display:flex;overflow:hidden}.pf-fact{align-items:flex-start;gap:var(--gap-grid);padding:var(--pad-card-sm) var(--pad-card);border-bottom:1px solid var(--color-border);display:flex}.pf-fact:last-child{border-bottom:0}.pf-fact .ic{color:var(--color-text-tertiary);margin-top:2px}.pf-fact .bd{flex:1;min-width:0}.pf-fact .k{font-size:var(--text-sm);color:var(--color-text-tertiary)}.pf-fact .v{font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.skill{margin-bottom:var(--gap-stack)}.skill:last-child{margin-bottom:0}.skill .top{justify-content:space-between;align-items:baseline;gap:var(--gap-inline);font-size:var(--text-base);margin-bottom:var(--space-2);display:flex}.skill .top .lvl{font-size:var(--text-sm);color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.skill .track{background:var(--color-surface-3);border-radius:3px;height:6px;overflow:hidden}.skill .fill{background:var(--color-action);border-radius:3px;height:100%}.skill.expiring .fill{background:var(--color-warning-fg)}.skill.expired .fill{background:var(--color-danger-fg)}.certs{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.cert,.certs{gap:var(--gap-grid)}.cert{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--pad-card-sm);align-items:flex-start;display:flex}.cert .ic{border-radius:var(--radius-sm);background:var(--color-surface-2);width:32px;height:32px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.cert.warn .ic{background:var(--color-warning-bg);color:var(--color-warning-fg)}.cert.bad .ic{background:var(--color-danger-bg);color:var(--color-danger-fg)}.cert .bd{min-width:0}.cert .bd b{font-weight:var(--weight-medium);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cert .bd span{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:2px;display:block}.feed{padding-left:var(--space-6);position:relative}.feed:before{content:"";background:var(--color-border);width:1.5px;position:absolute;top:6px;bottom:6px;left:9px}.feed-day{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:var(--space-5) 0 var(--space-3);position:relative}.feed-day:first-child{margin-top:0}.feed-item{padding-bottom:var(--space-4);position:relative}.feed-item:before{content:"";left:calc(var(--space-6)*-1 + 5px);background:var(--color-surface);width:9px;height:9px;box-shadow:0 0 0 1.5px var(--color-border-strong);border-radius:50%;position:absolute;top:5px}.feed-item.brand:before{background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}.feed-item.done:before{background:var(--color-success-fg);box-shadow:0 0 0 1.5px var(--color-success-fg)}.feed-item.bad:before{background:var(--color-danger-fg);box-shadow:0 0 0 1.5px var(--color-danger-fg)}.feed-item .hd{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.feed-item .hd b{font-weight:var(--weight-medium)}.feed-item .hd .tm{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.feed-item p{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:3px;line-height:1.5}.feed-item .att{margin-top:var(--space-2)}.side{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;width:372px;overflow:hidden}.side,.side-head{flex-shrink:0;display:flex}.side-head{padding:var(--pad-card-sm) var(--pad-card);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-2)}.side-head .t{flex:1;min-width:0}.side-head .t b{font-weight:var(--weight-medium);display:block}.side-head .t span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.side-body{padding:var(--pad-card);gap:var(--gap-stack);flex-direction:column;flex:1;display:flex;overflow-y:auto}.side-foot{padding:var(--pad-card-sm) var(--pad-card);border-top:1px solid var(--color-border);background:var(--color-canvas);gap:var(--space-2);flex-shrink:0;display:flex}.side-foot .btn{flex:1}@media (width<=1279px){.side{z-index:var(--z-dropdown);box-shadow:var(--shadow-overlay);transition:transform var(--transition);position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.side.open{transform:none}}@media (width<=767px){.side{border-left:0;width:100%}}.tree{font-size:var(--text-md)}.tree-node{align-items:center;gap:var(--space-2);height:var(--height-row);padding:0 var(--space-2);border-radius:var(--radius-md);text-align:left;width:100%;transition:background var(--transition);display:flex}.tree-node.active,.tree-node:hover{background:var(--color-surface-2)}.tree-node.active{font-weight:var(--weight-medium)}.tree-node .tw{width:18px;height:18px;color:var(--color-text-tertiary);transition:transform var(--transition);flex-shrink:0;place-items:center;display:grid}.tree-node .tw svg{width:13px;height:13px}.tree-node.open>.tw{transform:rotate(90deg)}.tree-node .ic{color:var(--color-text-tertiary);flex-shrink:0}.tree-node .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree-node .cnt{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.tree-kids{margin-left:var(--space-5);border-left:1px solid var(--color-border);padding-left:2px}.tree-kids.hidden{display:none}.up{gap:var(--space-2);flex-direction:column;display:flex}.up-item{align-items:center;gap:var(--gap-grid);padding:var(--pad-card-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.up-item .ic{border-radius:var(--radius-sm);background:var(--color-surface-2);width:34px;height:34px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.up-item.err .ic{background:var(--color-danger-bg);color:var(--color-danger-fg)}.up-item.ok .ic{background:var(--color-success-bg);color:var(--color-success-fg)}.up-item .bd{flex:1;min-width:0}.up-item .bd b{text-overflow:ellipsis;white-space:nowrap;font-weight:400;font-size:var(--text-base);display:block;overflow:hidden}.up-item .bd .sub{font-size:var(--text-sm);color:var(--color-text-tertiary);gap:var(--space-2);align-items:center;margin-top:2px;display:flex}.up-item .bar{background:var(--color-surface-3);height:3px;margin-top:var(--space-1-5);border-radius:2px;overflow:hidden}.up-item .bar i{background:var(--color-action);height:100%;transition:width .2s linear;display:block}.up-item.err .bar i{background:var(--color-danger-fg)}.up-item.ok .bar{display:none}.gal{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.gal-item{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);transition:transform var(--transition);position:relative;overflow:hidden}.gal-item:hover{transform:scale(1.02)}.gal-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.gal-item .cap{padding:var(--space-4) 8px 6px;color:#fff;font-size:var(--text-sm);background:linear-gradient(#0000,#0009);position:absolute;bottom:0;left:0;right:0}.gal-item .tag{font-size:var(--text-xs);padding:2px var(--space-1-5);border-radius:var(--radius-full);color:#fff;background:#0000008c;position:absolute;top:6px;left:6px}.gal-add{aspect-ratio:1;border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);color:var(--color-text-tertiary);transition:border-color var(--transition),color var(--transition);place-items:center;display:grid}.gal-add:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.burger{display:none}@media (width<=1023px){.burger{display:inline-grid}}.drawer-scrim{z-index:calc(var(--z-drawer) - 1);opacity:0;pointer-events:none;transition:opacity var(--transition);background:#0a0a0a66;position:fixed;inset:0}body[data-drawer=open] .drawer-scrim{opacity:1;pointer-events:auto}.bottom-acts{display:none}@media (width<=767px){.bottom-acts{z-index:var(--z-float);gap:var(--gap-inline);padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px -8px #00000024}.bottom-acts .btn{flex:1}.content.has-bottom{padding-bottom:calc(var(--height-input) + var(--space-3)*2 + env(safe-area-inset-bottom,0px) + var(--space-4))}.table-scroll{overflow:visible}tbody tr{position:relative}tbody td.actions{right:var(--space-3)}tbody td.actions,tbody td.pick{top:var(--space-3);width:auto;padding:0;position:absolute}tbody td.pick{left:var(--space-3)}tbody td.pick~td:not(.actions){padding-left:var(--space-8)}}.grid-2,.grid-3,.grid-4,.grid-auto{gap:var(--gap-grid);grid-template-columns:1fr;display:grid}.metrics{gap:var(--gap-inline);grid-template-columns:repeat(2,1fr);display:grid}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-auto-sm{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.grid-auto-lg{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-aside{gap:var(--gap-block);grid-template-columns:1fr;display:grid}@media (width>=480px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.grid-3{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:repeat(4,1fr)}}@media (width>=1024px){.grid-4{grid-template-columns:repeat(4,1fr)}.grid-aside{grid-template-columns:1fr 300px}}.gap-tight{gap:var(--gap-inline)}.gap-wide{gap:var(--gap-stack)}@media (width>=480px){:root{--gutter:var(--space-5)}.choice-grid,.grid-2,.grid-4{grid-template-columns:repeat(2,1fr)}.toast{left:auto;right:var(--space-5);bottom:var(--space-5);max-width:340px}.overlay{padding:var(--space-5);align-items:center}.modal{border-radius:var(--radius-2xl)}.modal-foot .btn{flex:none}}@media (width>=768px){:root{--gutter:var(--space-6)}.grid-4{grid-template-columns:repeat(3,1fr)}h1{font-size:24px}.backdrop{display:none}.page-head{flex-direction:row;align-items:flex-start}.page-head .acts{margin-left:auto}.content{padding:var(--space-6) var(--gutter) 80px}.sidebar{width:var(--rail-w);padding:var(--space-2) var(--space-2) var(--space-3);position:static;transform:none}.sidebar .logo{justify-content:center;padding:0}.sidebar .logo b,.sidebar .nav-item .count,.sidebar .nav-item .label,.sidebar .nav-item .nav-add,.sidebar .nav-label,.sidebar .product .chev,.sidebar .product .name,.sidebar .promo-card,.sidebar .upgrade span{display:none}.sidebar .product{height:var(--height-input);justify-content:center;padding:0}.sidebar .nav-item{justify-content:center;height:38px;padding:0}.sidebar .upgrade{padding:0}.sidebar .nav-sep{margin:var(--space-2) var(--space-1)}.choice-grid{grid-template-columns:repeat(3,1fr)}.rail-item{flex:0 0 190px}.modal-lg{border-radius:var(--radius-2xl);border:1px solid var(--color-border);width:92vw;height:92vh;max-height:92vh}.modal-scroll{padding:var(--space-5) var(--space-5) var(--space-8)}.chat-switch{display:none}.chat-layout{flex-direction:row}.chat-aside,.chat-layout[data-pane=help] .chat-main{display:flex}.chat-aside{border-left:1px solid var(--color-border);width:300px;padding:var(--space-4);flex-shrink:0}.chat-body,.chat-composer,.chat-head,.chat-quick{padding-left:var(--space-5);padding-right:var(--space-5)}}@media (width>=1024px){.sidebar{width:var(--sidebar-w);padding:var(--space-2) var(--space-3) var(--space-3)}.sidebar .logo{padding:0 var(--space-2);justify-content:flex-start}.sidebar .logo b,.sidebar .nav-item .count,.sidebar .nav-label,.sidebar .product .chev,.sidebar .product .name,.sidebar .upgrade span{display:revert}.sidebar .nav-item .label{display:block}.sidebar .nav-add{display:grid}.sidebar .promo-card{display:block}.sidebar .product{height:var(--height-input-lg)}.sidebar .nav-item,.sidebar .product{padding:0 var(--space-3);justify-content:flex-start}.sidebar .nav-item{height:var(--height-row)}.sidebar .nav-sep{margin:var(--space-3) var(--space-3) 0}body[data-nav=off] .sidebar{display:none}.search-top{display:flex}.choice-grid,.grid-4{grid-template-columns:repeat(4,1fr)}.rail-track{overflow:hidden}.rail-next{background:var(--color-surface);border:1px solid var(--color-border);width:32px;height:32px;box-shadow:var(--shadow-raised);color:var(--color-text-secondary);border-radius:50%;place-items:center;display:grid;position:absolute;top:78px;right:-14px}}@media (width>=1280px){h1{font-size:var(--text-3xl)}}@media (width>=768px){.plans{grid-template-columns:repeat(2,1fr)}}@media (width>=1280px){.plans{grid-template-columns:repeat(4,1fr)}.plan-featured{margin-top:calc(var(--space-6)*-1)}.content{padding:var(--space-8) var(--gutter) 80px}.modal-lg{width:90vw;max-width:1440px;height:90vh;max-height:90vh}.chat-aside{width:340px}}@media (width>=1600px){:root{--gutter:var(--space-8)}}table.table-fixed{table-layout:fixed}table.table-fixed td{text-overflow:ellipsis;overflow:hidden}th.col-resize{position:relative}th.col-resize:after{content:"";cursor:col-resize;width:3px;transition:background var(--transition);background:0 0;border-radius:2px;position:absolute;top:25%;bottom:25%;right:0}th.col-resize:hover:after{background:var(--color-border-strong)}th.col-resize.dragging:after{background:var(--color-action)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.center,th.center{text-align:center}td.nowrap,th.nowrap{white-space:nowrap}.table-scroll.sticky-first td:first-child,.table-scroll.sticky-first th:first-child{z-index:2;background:var(--color-surface);position:sticky;left:0}.table-scroll.sticky-first tbody tr:hover td:first-child{background:var(--color-surface-2)}.table-scroll.sticky-first td:first-child:after,.table-scroll.sticky-first th:first-child:after{content:"";background:var(--color-border);width:1px;position:absolute;top:0;bottom:0;right:-1px}.cell-media{align-items:center;gap:var(--space-3);min-width:0;display:flex}.cell-media .thumb{border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-tertiary);box-shadow:inset 0 0 0 1px var(--color-border);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.cell-media .thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.cell-media .thumb-sm{width:28px;height:28px}.cell-media .thumb-md{width:40px;height:40px}.cell-media .thumb-lg{border-radius:var(--radius-md);width:56px;height:56px}.cell-media .txt{min-width:0}.cell-media .txt b{font-weight:var(--weight-medium)}.cell-media .txt b,.cell-media .txt span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cell-media .txt span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.thumb-stack{display:flex}.thumb-stack .thumb{border:2px solid var(--color-surface);box-shadow:none;margin-right:-10px}.thumb-stack .thumb:last-child{margin-right:0}.thumb-stack .more{border-radius:var(--radius-sm);background:var(--color-surface-2);border:2px solid var(--color-surface);width:28px;height:28px;font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;display:grid}.col-picker{position:relative}.col-picker-menu{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);width:230px;max-height:320px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);display:none;position:absolute;right:0;overflow-y:auto}.col-picker.open .col-picker-menu{display:block}.col-picker-menu .hd{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary);justify-content:space-between}.col-opt,.col-picker-menu .hd{align-items:center;gap:var(--space-2);display:flex}.col-opt{width:100%;height:var(--height-row);padding:0 var(--space-2);border-radius:var(--radius-md);text-align:left;transition:background var(--transition)}.col-opt:hover{background:var(--color-surface-2)}.col-opt .grip{color:var(--color-text-tertiary);cursor:grab}.col-opt .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.col-opt .box{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:5px;flex-shrink:0;place-items:center;width:17px;height:17px;display:grid}.col-opt[aria-pressed=true] .box{background:var(--color-action);border-color:var(--color-action)}.col-opt .box svg{stroke-width:2.6px;width:11px;height:11px;color:var(--color-action-text);opacity:0}.col-opt[aria-pressed=true] .box svg{opacity:1}.col-opt[aria-pressed=false] .name{color:var(--color-text-tertiary)}[data-col-hidden=true]{display:none}.table-relaxed tbody td{padding:var(--space-3) var(--space-4)}tfoot td{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-strong);font-weight:var(--weight-medium);background:var(--color-surface-2);font-variant-numeric:tabular-nums}@media (width<=767px){.table-scroll.sticky-first td:first-child,.table-scroll.sticky-first th:first-child{position:static}.cell-media .thumb-lg{width:40px;height:40px}tfoot,tfoot td{width:100%;display:block}}.skel-line{height:var(--skel-h,12px);width:var(--skel-w,100%);border-radius:var(--radius-sm);background:var(--color-surface-2);animation:1.4s ease-in-out infinite skel-pulse}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skel-line{animation:none}}.data-error{align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-secondary);flex-direction:column;display:flex}.data-error .mark{border-radius:var(--radius-lg);background:var(--color-danger-bg);width:36px;height:36px;color:var(--color-danger-fg);flex-shrink:0;place-items:center;display:grid}.data-error b{font-weight:var(--weight-medium);color:var(--color-text-primary)}.data-error p{max-width:52ch}.data-error .why{font-size:var(--text-sm);color:var(--color-text-tertiary);font-family:var(--font-mono);word-break:break-word;max-width:60ch}.table-scroll-loading .tr{align-items:center;gap:var(--space-4);padding:var(--pad-cell-y) var(--pad-cell-x);border-bottom:1px solid var(--color-border);display:flex}.table-scroll-loading .tr:last-child{border-bottom:0}.table-scroll-loading .tr>.skel-line{flex:1 1 0}.table-scroll-loading .tr>.skel-line.pick{flex:0 0 17px}.table-scroll-loading .tr>.skel-line.tail{flex:0 0 28px}.table-scroll-loading .tr.head>.skel-line{--skel-h:9px;max-width:92px}.table-scroll-empty>.empty{padding:var(--space-10) var(--space-4)}.tree-loading{flex-direction:column;gap:3px;display:flex}.tree-loading .nd{align-items:center;gap:var(--space-2);height:var(--height-row);padding:0 var(--space-2);display:flex}.tree-loading .nd.lvl-2{padding-left:var(--space-6)}.tree-loading .nd>.skel-line{--skel-h:11px}.tree-loading .nd>.skel-line.tw{--skel-h:14px;flex:0 0 14px}.tree-loading .nd>.skel-line.nm{flex:auto;max-width:190px}.tree-loading .nd>.skel-line.cnt{flex:0 0 26px;margin-left:auto}.tree-empty>.empty{padding:var(--space-8) var(--space-3)}.feed-loading{padding-left:var(--space-6);position:relative}.feed-loading:before{content:"";background:var(--color-border);width:1.5px;position:absolute;top:6px;bottom:6px;left:9px}.feed-loading .ev{padding-bottom:var(--space-4);position:relative}.feed-loading .ev:before{content:"";left:calc(var(--space-6)*-1 + 5px);background:var(--color-surface);width:9px;height:9px;box-shadow:0 0 0 1.5px var(--color-border);border-radius:50%;position:absolute;top:5px}.feed-loading .ev>.skel-line.hd{--skel-h:11px;max-width:180px;margin-bottom:var(--space-1-5)}.feed-loading .ev>.skel-line.tx{--skel-h:10px;max-width:320px}.feed-empty{padding-left:0}.feed-empty>.empty{padding:var(--space-8) var(--space-4)}.feed-error{padding-left:0}.kb-loading{gap:var(--gap-grid);align-items:flex-start;display:flex}.kb-loading .col{background:var(--color-surface-2);border-radius:var(--radius-xl);max-width:292px;padding:var(--pad-card-sm);flex:0 0 292px}.kb-loading .col>.skel-line.t{--skel-h:11px;max-width:120px;margin-bottom:var(--space-3)}.kb-loading .col>.skel-line.cd{--skel-h:74px;border-radius:var(--radius-lg);margin-bottom:var(--gap-inline);background:var(--color-surface)}.kb-empty>.empty{padding:var(--space-10) var(--space-4)}.kb-col-empty{padding:var(--space-4) var(--space-2);text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary)}.kb-error{padding:var(--space-2)}.cal-loading{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.cal-loading .wk{grid-template-columns:repeat(7,1fr);display:grid}.cal-loading .dy{min-height:108px;padding:var(--space-2);gap:var(--space-1);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.cal-loading .wk .dy:nth-child(7n){border-right:0}.cal-loading .wk:last-child .dy{border-bottom:0}.cal-loading .dy>.skel-line.n{--skel-h:10px;width:16px}.cal-loading .dy>.skel-line.ev{--skel-h:16px;border-radius:var(--radius-sm)}.cal-empty{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.cal-empty>.empty{padding:var(--space-10) var(--space-4)}.cal-error{border:1px solid var(--color-border-danger);border-radius:var(--radius-xl);background:var(--color-surface)}.plot-loading{height:var(--plot-h,280px);border-radius:var(--radius-lg);background:var(--color-canvas);align-items:flex-end;gap:var(--space-3);width:100%;padding:var(--space-4);display:flex;position:relative;overflow:hidden}.plot-loading>.skel-line{--skel-w:auto;border-radius:var(--radius-sm) var(--radius-sm) 0 0;flex:1 1 0}.plot-empty,.plot-error{height:var(--plot-h,280px);border-radius:var(--radius-lg);background:var(--color-canvas);place-items:center;display:grid}.plot-empty>.empty{padding:var(--space-4)}.gal-loading{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.gal-loading>.skel-line{aspect-ratio:1;--skel-h:auto;border-radius:var(--radius-md);height:auto}.gal-empty>.empty{padding:var(--space-8) var(--space-4)}.up-loading{gap:var(--space-2);flex-direction:column;display:flex}.up-loading .it{align-items:center;gap:var(--gap-grid);padding:var(--pad-card-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.up-loading .it>.skel-line.ic{--skel-h:34px;border-radius:var(--radius-sm);flex:0 0 34px}.up-loading .it>.skel-line.nm{--skel-h:11px;flex:auto;max-width:260px}.up-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.up-empty>.empty{padding:var(--space-8) var(--space-4)}.tooltip{display:inline-flex;position:relative}.tooltip-box{z-index:var(--z-float);pointer-events:none;color:var(--color-canvas);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);overflow-wrap:break-word;width:max-content;max-width:260px;box-shadow:var(--shadow-float);opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition);font-weight:400;line-height:1.4}.tooltip-box,.tooltip-box:after{background:var(--color-surface-inv);position:absolute}.tooltip-box:after{content:"";width:8px;height:8px;transform:rotate(45deg)}.tooltip:focus-within .tooltip-box,.tooltip:hover .tooltip-box{opacity:1;visibility:visible;transition-delay:.4s}.tooltip-box,.tooltip-top>.tooltip-box{bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%)}.tooltip-box:after,.tooltip-top>.tooltip-box:after{margin-left:-4px;bottom:-4px;left:50%}.tooltip-bottom>.tooltip-box{bottom:auto;top:calc(100% + var(--space-2));left:50%;transform:translate(-50%)}.tooltip-bottom>.tooltip-box:after{margin-left:-4px;top:-4px;bottom:auto;left:50%}.tooltip-left>.tooltip-box{top:50%;bottom:auto;left:auto;right:calc(100% + var(--space-2));transform:translateY(-50%)}.tooltip-left>.tooltip-box:after{margin-top:-4px;margin-left:0;inset:50% -4px auto auto}.tooltip-right>.tooltip-box{top:50%;bottom:auto;left:calc(100% + var(--space-2));transform:translateY(-50%)}.tooltip-right>.tooltip-box:after{margin-top:-4px;margin-left:0;top:50%;bottom:auto;left:-4px}.tooltip-box kbd{font-family:var(--font-mono);font-size:var(--text-xs);opacity:.7;margin-left:var(--space-1)}.pop,.tooltip-off>.tooltip-box{display:none}.pop{z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:max-content;min-width:200px;max-width:360px;box-shadow:var(--shadow-overlay);flex-direction:column;position:absolute;overflow:hidden}.pop.open{display:flex}.pop-anchor{display:inline-flex;position:relative}.pop-head{padding:var(--space-3) var(--space-3) var(--space-2);justify-content:space-between;align-items:flex-start;gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.pop-head b{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.pop-head p{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:2px}.pop-body{padding:var(--space-3);gap:var(--space-2);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.pop-body.flush{padding:var(--space-1)}.pop-foot{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-canvas);justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.pop-foot .grow{text-align:left;font-size:var(--text-sm);color:var(--color-text-tertiary)}.pop-arrow:before{content:"";background:var(--color-surface);border:1px solid var(--color-border);width:10px;height:10px;top:-6px;left:var(--space-4);border-bottom:0;border-right:0;position:absolute;transform:rotate(45deg)}.pop,.pop-bottom{top:calc(100% + var(--space-2));left:0}.pop-top{top:auto;bottom:calc(100% + var(--space-2));left:0}.pop-arrow.pop-top:before{top:auto;bottom:-6px;left:var(--space-4);border:1px solid var(--color-border);border-top:0;border-left:0}.pop-left{top:0;left:auto;right:calc(100% + var(--space-2))}.pop-arrow.pop-left:before{top:var(--space-4);border:1px solid var(--color-border);border-bottom:0;border-left:0;left:auto;right:-6px}.pop-right{top:0;left:calc(100% + var(--space-2))}.pop-arrow.pop-right:before{top:var(--space-4);border:1px solid var(--color-border);border-top:0;border-right:0;left:-6px}.pop-end{left:auto;right:0}.pop-arrow.pop-end:before{left:auto;right:var(--space-4)}.pop-opt{align-items:center;gap:var(--space-2);width:100%;height:var(--height-row);padding:0 var(--space-2);border-radius:var(--radius-md);text-align:left;font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition),color var(--transition);display:flex}.pop-opt:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.pop-opt .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pop-opt[aria-selected=true]{color:var(--color-text-primary);font-weight:var(--weight-medium)}.pop-opt:disabled{opacity:.38;cursor:not-allowed}.pop-opt:disabled:hover{color:var(--color-text-secondary);background:0 0}.dropmenu{z-index:var(--z-dropdown);top:calc(100% + var(--space-1));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);min-width:200px;max-width:320px;box-shadow:var(--shadow-overlay);padding:var(--space-1);max-height:320px;display:none;position:absolute;left:0;overflow-y:auto}.dropmenu.open{display:block}.dropmenu-end{left:auto;right:0}.dropmenu-up{top:auto;bottom:calc(100% + var(--space-1))}.dropmenu-anchor{display:inline-flex;position:relative}.dropmenu-item{align-items:center;gap:var(--space-2);display:flex}.dropmenu-item svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-text-tertiary)}.dropmenu-item:hover svg{color:var(--color-text-secondary)}.dropmenu-item .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dropmenu-item .key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0}.dropmenu-item[aria-checked=true]{color:var(--color-text-primary);font-weight:var(--weight-medium)}.dropmenu-item:disabled{opacity:.38;cursor:not-allowed}.dropmenu-item:disabled:hover{color:var(--color-text-secondary);background:0 0}.dropmenu-item.danger,.dropmenu-item.danger svg,.dropmenu-item.danger:hover{color:var(--color-danger-fg)}.dropmenu-item.danger:hover{background:var(--color-danger-bg)}.dropmenu-item.danger:hover svg{color:var(--color-danger-fg)}.dropmenu-sep{background:var(--color-border);height:1px;margin:var(--space-1) 0}.dropmenu-label{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary)}.dropmenu-sub{position:relative}.dropmenu-sub>.dropmenu-item>.chev{color:var(--color-text-tertiary);margin-left:auto}.dropmenu-sub>.dropmenu{top:calc(var(--space-1)*-1);margin-left:var(--space-1);left:100%}.dropmenu-sub:focus-within>.dropmenu,.dropmenu-sub:hover>.dropmenu{display:block}.dropmenu-sub.flip>.dropmenu{margin-left:0;margin-right:var(--space-1);left:auto;right:100%}.ctxmenu{top:var(--ctx-y,0);left:var(--ctx-x,0);z-index:var(--z-float);position:fixed}.ctxmenu.flip-x{transform:translate(-100%)}.ctxmenu.flip-y{transform:translateY(-100%)}.ctxmenu.flip-x.flip-y{transform:translate(-100%,-100%)}@media (width<=767px){.ctxmenu{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-width:none;padding:var(--space-2) var(--space-2) calc(var(--space-4) + env(safe-area-inset-bottom,0px));inset:auto 0 0}.ctxmenu,.ctxmenu.flip-x,.ctxmenu.flip-x.flip-y,.ctxmenu.flip-y{transform:none}.ctxmenu .menu-item{height:44px}}.overlay-top{padding:10vh var(--space-4) var(--space-4);justify-content:center;align-items:flex-start}.cmdk{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:560px;box-shadow:var(--shadow-overlay);flex-direction:column;align-self:flex-start;max-height:100%;display:flex;overflow:hidden}.cmdk-search{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;height:56px;display:flex}.cmdk-search svg{width:var(--icon-md);height:var(--icon-md);color:var(--color-text-tertiary)}.cmdk-search input{min-width:0;height:100%;font-size:var(--text-xl);letter-spacing:var(--tracking-tight);background:0 0;border:0;flex:1}.cmdk-search input:focus{box-shadow:none;outline:none}.cmdk-search input::placeholder{color:var(--color-text-tertiary)}.cmdk-search .key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px var(--space-1);flex-shrink:0}.cmdk-list{padding:var(--space-2);flex:auto;min-height:0;overflow-y:auto}.cmdk-group+.cmdk-group{margin-top:var(--space-2)}.cmdk-label{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary)}.cmdk-item{align-items:center;gap:var(--space-3);width:100%;height:var(--height-input);padding:0 var(--space-3);border-radius:var(--radius-md);text-align:left;color:var(--color-text-secondary);transition:background var(--transition),color var(--transition);display:flex}.cmdk-item svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-text-tertiary);flex-shrink:0}.cmdk-item .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-item .key,.cmdk-item .path{font-size:var(--text-sm);color:var(--color-text-tertiary);flex-shrink:0}.cmdk-item .key{font-family:var(--font-mono);font-size:var(--text-xs)}.cmdk-item:hover,.cmdk-item[aria-selected=true]{background:var(--color-surface-2);color:var(--color-text-primary)}.cmdk-item[aria-selected=true] svg{color:var(--color-text-secondary)}.cmdk-item mark{color:var(--color-text-primary);font-weight:var(--weight-medium);background:0 0}.cmdk-empty{padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-base)}.cmdk-empty,.cmdk-foot{color:var(--color-text-tertiary)}.cmdk-foot{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-canvas);font-size:var(--text-sm);flex-shrink:0;display:flex}.cmdk-foot kbd{font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px var(--space-1);margin-right:var(--space-1)}@media (width<=767px){.overlay-top{padding:0}.cmdk{border:0;border-radius:0;max-width:none;height:100%}}.drawer{z-index:var(--z-drawer);background:var(--color-surface);border-left:1px solid var(--color-border);width:100%;max-width:520px;box-shadow:var(--shadow-overlay);transition:transform var(--transition);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-sm{max-width:380px}.drawer-md{max-width:520px}.drawer-lg{max-width:720px}.drawer-head{align-items:flex-start;gap:var(--space-3);padding:var(--pad-card) var(--pad-card) var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.drawer-head .ttl{flex:1;min-width:0}.drawer-head .ttl b{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-xl);letter-spacing:var(--tracking-tighter);display:block}.drawer-head .ttl span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.drawer-body{min-height:0;padding:var(--pad-card);gap:var(--gap-stack);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.drawer-body.flush{padding:0}.drawer-foot{padding:var(--space-3) var(--pad-card);border-top:1px solid var(--color-border);background:var(--color-canvas);justify-content:flex-end;align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.drawer-foot .left{margin-right:auto}.drawer-start{border-left:0;border-right:1px solid var(--color-border);left:0;right:auto;transform:translate(-100%)}.drawer-start.open{transform:translate(0)}@media (width<=767px){.drawer,.drawer-lg,.drawer-md,.drawer-sm,.drawer-start{border:0;border-top:1px solid var(--color-border);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-width:none;height:92dvh;top:auto;left:0;right:0;transform:translateY(100%)}.drawer-start.open,.drawer.open{transform:translateY(0)}.drawer-foot{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.drawer-foot .btn{flex:1}}.crumbs{flex-wrap:nowrap}.crumbs a{color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;transition:color var(--transition);overflow:hidden}.crumbs a:hover{color:var(--color-text-primary)}.crumbs [aria-current=page],.crumbs>b:last-child{color:var(--color-text-primary);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.crumbs-page{margin-bottom:var(--space-2);padding:0}.crumbs-page a,.crumbs-page>b:last-child{font-size:var(--text-base)}.crumbs-page>b:last-child{font-family:var(--font-sans)}.crumbs-fold>:not(:first-child):not(.sep-first):not(.more):not(:last-child):not(:nth-last-child(2)){display:none}.crumbs .more{height:20px;padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:var(--text-base);transition:background var(--transition),color var(--transition);line-height:1}.crumbs .more:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.crumbs .pop-anchor{display:inline-flex}@media (width<=767px){.crumbs>:not(:last-child):not(:nth-last-child(2)):not(:nth-last-child(3)){display:none}.crumbs a{max-width:120px}}.pager{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;flex-wrap:wrap;display:flex}.pager .count{font-size:var(--text-base);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.pager .grow{flex:1}.pager-pages{align-items:center;gap:2px;display:flex}.pager-btn{min-width:var(--control-h);height:var(--control-h);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);font-variant-numeric:tabular-nums;transition:background var(--transition),color var(--transition);place-items:center;display:inline-grid}.pager-btn:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.pager-btn[aria-current=page]{background:var(--color-action);color:var(--color-action-text);font-weight:var(--weight-medium)}.pager-btn[aria-current=page]:hover{background:var(--color-action-hover);color:var(--color-action-text)}.pager-btn:disabled{opacity:.38;cursor:not-allowed}.pager-btn:disabled:hover{color:var(--color-text-secondary);background:0 0}.pager-btn svg{width:var(--icon-sm);height:var(--icon-sm)}.pager-gap{min-width:var(--space-6);height:var(--control-h);color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;place-items:center;display:inline-grid}.pager-size{align-items:center;gap:var(--space-2);display:flex}.pager-size .lb{font-size:var(--text-sm);color:var(--color-text-tertiary)}.pager-narrow{align-items:center;gap:var(--space-2);display:none}.pager-narrow .of{font-size:var(--text-base);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:center;min-width:72px}@media (width<=767px){.pager{justify-content:space-between;gap:var(--space-2)}.pager .count,.pager-pages,.pager-size{display:none}.pager-narrow{display:flex}.pager-btn{min-width:44px;height:44px}}.acc{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.acc-item{border-bottom:1px solid var(--color-border)}.acc-item:last-child{border-bottom:0}.acc-head{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--pad-card);text-align:left;cursor:pointer;background:var(--color-surface);transition:background var(--transition);list-style:none;display:flex}.acc-head::-webkit-details-marker{display:none}.acc-head:hover{background:var(--color-surface-2)}.acc-head .ttl{flex:1;min-width:0}.acc-head .ttl b{font-weight:var(--weight-medium);display:block}.acc-head .ttl span{font-size:var(--text-sm);color:var(--color-text-tertiary)}.acc-head .chev{color:var(--color-text-tertiary);transition:transform var(--transition);flex-shrink:0}.acc-item[open]>.acc-head .chev{transform:rotate(180deg)}.acc-item[open]>.acc-head{background:var(--color-surface-2)}.acc-body{padding:var(--space-3) var(--pad-card) var(--pad-card);background:var(--color-surface);gap:var(--gap-stack);flex-direction:column;display:flex}.acc-body>p{color:var(--color-text-secondary);line-height:1.6}.acc-flush{border:0;border-radius:0}.acc-flush .acc-body,.acc-flush .acc-head{background:0 0;padding-left:0;padding-right:0}.acc-flush .acc-head:hover,.acc-flush .acc-item[open]>.acc-head{background:0 0}.acc-flush .acc-head:hover .ttl b{color:var(--color-text-primary)}.acc-sm .acc-head{padding:var(--space-2) var(--space-3)}.acc-sm .acc-body{padding:0 var(--space-3) var(--space-3)}.wizard{gap:var(--gap-block);flex-direction:column;display:flex}.wizard-steps{padding:var(--space-4) 0;align-items:flex-start}.wizard-step,.wizard-steps{gap:var(--space-2);display:flex}.wizard-step{text-align:left;flex:1;align-items:center;min-width:0}.wizard-step .n{width:24px;height:24px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;border:1px solid var(--color-border-strong);color:var(--color-text-tertiary);background:var(--color-surface);transition:background var(--transition),border-color var(--transition),color var(--transition);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.wizard-step .nm{min-width:0;font-size:var(--text-base);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.wizard-step .bar{flex:0 1 var(--space-8);background:var(--color-border);height:1px;min-width:var(--space-4)}.wizard-step:last-child .bar{display:none}.wizard-step[data-state=done] .n{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-text)}.wizard-step[data-state=done] .nm{color:var(--color-text-secondary)}.wizard-step[data-state=done] .bar{background:var(--color-border-strong)}.wizard-step[data-state=now] .n{border-color:var(--color-action);color:var(--color-text-primary);box-shadow:0 0 0 3px var(--brand-ring)}.wizard-step[data-state=now] .nm{color:var(--color-text-primary);font-weight:var(--weight-medium)}.wizard-step[data-state=next] .n,.wizard-step[data-state=next] .nm{opacity:.55}.wizard-step[data-state=error] .n{border-color:var(--color-border-danger);color:var(--color-danger-fg);background:var(--color-danger-bg)}.wizard-step[data-state=error] .nm{color:var(--color-danger-fg)}.wizard-body{gap:var(--gap-stack);flex-direction:column;display:flex}.wizard-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.wizard-foot .left{margin-right:auto}.wizard-now{align-items:baseline;gap:var(--space-2);padding:var(--space-3) 0;display:none}.wizard-now b{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg)}.wizard-now span{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}@media (width<=767px){.wizard-steps{display:none}.wizard-now{display:flex}.wizard-foot .btn{flex:1}.wizard-foot .left{margin-right:0}}.rating{gap:var(--space-2)}.rating,.rating-stars{align-items:center;display:inline-flex}.rating-stars{gap:2px}.rating-stars svg{width:var(--icon-md);height:var(--icon-md);color:var(--color-border-strong);fill:none;transition:color var(--transition),fill var(--transition)}.rating-stars .on svg{color:var(--series-5);fill:var(--series-5)}.rating-input .rating-stars button{cursor:pointer;border-radius:var(--radius-sm);padding:0;line-height:0}.rating-input .rating-stars:hover svg{color:var(--series-5);fill:var(--series-5)}.rating-input .rating-stars button:hover~button svg{color:var(--color-border-strong);fill:none}.rating-input.rating-lg .rating-stars svg{width:var(--icon-lg);height:var(--icon-lg)}.rating-read .rating-stars svg{pointer-events:none}.rating-sm .rating-stars svg{width:var(--icon-sm);height:var(--icon-sm)}.rating .val{font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);font-size:var(--text-base)}.rating .cnt{font-size:var(--text-sm);color:var(--color-text-tertiary)}.rating-scale{flex-wrap:wrap;gap:2px;display:inline-flex}.rating-scale button{min-width:var(--control-h);height:var(--control-h);padding:0 var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-base);font-variant-numeric:tabular-nums;transition:background var(--transition),border-color var(--transition),color var(--transition)}.rating-scale button:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.rating-scale button[aria-pressed=true]{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-text);font-weight:var(--weight-medium)}.rating-scale button:disabled{opacity:.38;cursor:not-allowed}.rating-scale button:disabled:hover{border-color:var(--color-border);color:var(--color-text-secondary)}.rating-ends{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}@media (width<=767px){.rating-scale button{min-width:40px;height:40px}.rating-input .rating-stars button{padding:var(--space-1)}}.slider{--slider-a:0%;--slider-b:100%;width:100%;display:block}.slider-top{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.slider-top .lb{font-size:var(--text-sm);color:var(--color-text-tertiary)}.slider-top .vl{font-size:var(--text-base);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.slider-track{align-items:center;height:20px;display:flex;position:relative}.slider-track:before{content:"";border-radius:var(--radius-full);background:linear-gradient(to right,var(--color-surface-3) 0,var(--color-surface-3) var(--slider-a),var(--brand) var(--slider-a),var(--brand) var(--slider-b),var(--color-surface-3) var(--slider-b),var(--color-surface-3) 100%);height:4px;position:absolute;left:0;right:0}.slider input[type=range]{appearance:none;pointer-events:none;background:0 0;width:100%;height:20px;margin:0;position:absolute;left:0;right:0}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;background:var(--color-surface);border:2px solid var(--brand);width:16px;height:16px;box-shadow:var(--shadow-raised);cursor:grab;-webkit-transition:transform var(--transition),box-shadow var(--transition);transition:transform var(--transition),box-shadow var(--transition);border-radius:50%}.slider input[type=range]::-moz-range-thumb{pointer-events:auto;border:2px solid var(--brand);background:var(--color-surface);width:16px;height:16px;box-shadow:var(--shadow-raised);cursor:grab;border-radius:50%}.slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.slider input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}.slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--brand-ring)}.slider input[type=range]::-webkit-slider-runnable-track{background:0 0;height:20px}.slider input[type=range]::-moz-range-track{background:0 0;height:20px}.slider input[type=range]:disabled::-webkit-slider-thumb{border-color:var(--color-border-strong);cursor:not-allowed}.slider-disabled .slider-track:before{opacity:.5}.slider-bubble{bottom:calc(100% + var(--space-1));left:var(--slider-a);pointer-events:none;background:var(--color-surface-inv);color:var(--color-canvas);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;transition:opacity var(--transition);position:absolute;transform:translate(-50%)}.slider-bubble.b{left:var(--slider-b)}.slider-track:focus-within .slider-bubble,.slider-track:hover .slider-bubble{opacity:1}.slider-ticks{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.slider-ticks span{text-align:center;flex:1}.slider-ticks span:first-child{text-align:left}.slider-ticks span:last-child{text-align:right}.slider-fields{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.slider-fields .input{width:96px}.slider-fields .dash{color:var(--color-text-tertiary)}@media (width<=767px){.slider input[type=range]::-webkit-slider-thumb{width:22px;height:22px}.slider input[type=range]::-moz-range-thumb{width:22px;height:22px}}.viewswitch{background:var(--color-surface-2);border-radius:var(--radius-lg);padding:2px}.viewswitch button{border-radius:var(--radius-md);width:26px;height:26px;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.viewswitch button svg{width:var(--icon-sm);height:var(--icon-sm)}.viewswitch button:hover{background:var(--color-surface-3)}.viewswitch button[aria-selected=true]{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-raised)}.viewswitch button[aria-selected=true]:hover{background:var(--color-surface)}.viewswitch button:disabled{opacity:.38;cursor:not-allowed}.viewswitch button:disabled:hover{background:0 0}.viewswitch-md button{width:var(--control-h);height:var(--control-h)}.viewswitch-md button svg{width:var(--icon);height:var(--icon)}.viewswitch-bare{background:0 0;gap:2px;padding:0}.viewswitch-bare button[aria-selected=true]{background:var(--color-surface-2);box-shadow:none}.viewswitch-label button{width:auto;padding:0 var(--space-2);gap:var(--space-1);font-size:var(--text-base);align-items:center;display:inline-flex}@media (width<=767px){.viewswitch button{width:40px;height:40px}.viewswitch-label button{width:auto}}.layout-board,.layout-dash,.layout-detail,.layout-empty,.layout-form,.layout-list,.layout-split,.layout-wizard{flex-direction:column;width:100%;min-height:0;display:flex}.layout-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;flex-shrink:0;display:flex}.layout-head .ttl{min-width:0}.layout-head .ttl p{color:var(--color-text-secondary);margin-top:var(--space-1)}.layout-head .acts,.layout-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.layout-toolbar{margin-bottom:var(--space-3);flex-shrink:0}.layout-toolbar .grow{flex:1}.layout-body{flex:auto;min-width:0;min-height:0}.layout-main{min-width:0}.layout-foot{margin-top:var(--space-3);flex-shrink:0}.layout-list{max-width:var(--container);margin:0 auto}.layout-list>.layout-body{overflow:auto}.layout-detail{max-width:var(--container);margin:0 auto}.layout-detail>.layout-body{gap:var(--gap-section);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.layout-detail .layout-side{gap:var(--gap-stack);flex-direction:column;display:flex}.layout-form{max-width:520px;margin:0 auto}.layout-form>.layout-body{gap:var(--gap-block);flex-direction:column;display:flex}.layout-form>.layout-foot{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.layout-board{height:100%}.layout-board>.layout-body{overflow:auto hidden}.layout-split{height:100%}.layout-split>.layout-body{grid-template-columns:380px minmax(0,1fr);gap:0;height:100%;min-height:0;display:grid}.layout-split .layout-aside{border-right:1px solid var(--color-border);min-height:0;overflow-y:auto}.layout-split .layout-main{min-height:0;padding:var(--pad-section);overflow-y:auto}.layout-dash{max-width:var(--container);margin:0 auto}.layout-dash .layout-metrics{gap:var(--gap-grid);margin-bottom:var(--gap-section);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.layout-dash>.layout-body{gap:var(--gap-grid);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.layout-dash .span-2{grid-column:span 2}.layout-empty{text-align:center;justify-content:center;align-items:center;min-height:60vh}.layout-wizard{max-width:720px;margin:0 auto}.layout-wizard>.layout-body{gap:var(--gap-stack);flex-direction:column;display:flex}@media (width<=1279px){.layout-dash .layout-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1023px){.layout-detail>.layout-body{gap:var(--gap-block)}.layout-detail>.layout-body,.layout-split>.layout-body{grid-template-columns:minmax(0,1fr)}.layout-split .layout-aside{border-right:0;border-bottom:1px solid var(--color-border)}.layout-split.show-main .layout-aside,.layout-split:not(.show-main) .layout-main{display:none}.layout-dash>.layout-body{grid-template-columns:minmax(0,1fr)}.layout-dash .span-2{grid-column:span 1}}@media (width<=767px){.layout-head{margin-bottom:var(--space-4)}.layout-head .acts{width:100%}.layout-head .acts .btn{flex:1}.layout-dash .layout-metrics{grid-template-columns:minmax(0,1fr)}.layout-split .layout-main{padding:var(--pad-card)}.layout-form>.layout-foot .btn{flex:1}}.group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.group-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);min-height:var(--height-input);border-bottom:1px solid var(--color-border);font-size:var(--text-base);display:flex}.group-row:last-child{border-bottom:0}.group-row .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}a.group-row,button.group-row{text-align:left;width:100%;transition:background var(--transition)}a.group-row:hover,button.group-row:hover{background:var(--color-surface-2)}.group-head{padding:var(--space-2) var(--space-3);background:var(--color-canvas);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary)}.group-flush{background:0 0;border:0;border-radius:0}.group-flush .group-row{padding-left:0;padding-right:0}.divider{margin:var(--space-4) 0;font-size:var(--text-sm);color:var(--color-text-tertiary);white-space:nowrap;align-items:center;display:flex}.divider:after,.divider:before{content:"";background:var(--color-border);flex:1;height:1px}.divider:not(:empty){gap:var(--space-3)}.divider-start:before{flex:0 0 var(--space-4)}.divider-vert{width:1px;height:auto;margin:0 var(--space-2);background:var(--color-border);flex-shrink:0;align-self:stretch}.divider-vert:after,.divider-vert:before{content:none}.fieldset{gap:var(--gap-stack);flex-direction:column;display:flex}.fieldset+.fieldset{margin-top:var(--gap-section)}.fieldset>.fieldset-head{flex-direction:column;gap:2px;display:flex}.fieldset>.fieldset-head b{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.fieldset>.fieldset-head p{font-size:var(--text-base);color:var(--color-text-secondary)}.fieldset-body{gap:var(--gap-stack);flex-direction:column;display:flex}.fieldset-cols{gap:var(--gap-stack);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fieldset-boxed{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--pad-card);background:var(--color-surface)}@media (width<=767px){.fieldset-cols{grid-template-columns:minmax(0,1fr)}}.page-loading{gap:var(--gap-stack);flex-direction:column;width:100%;display:flex}.page-loading .ph{background:var(--color-surface-2);border-radius:var(--radius-md);height:var(--space-4)}.page-loading .ph-title{height:var(--space-7);border-radius:var(--radius-lg);width:240px}.page-loading .ph-line{height:var(--space-4)}.page-loading .ph-row{height:var(--height-input);border-radius:var(--radius-lg)}.page-loading .ph-card{border-radius:var(--radius-xl);height:140px}.page-loading .ph-w2{width:66%}.page-loading .ph-w3{width:40%}.page-loading-list>.rows{gap:var(--space-2);flex-direction:column;display:flex}.page-loading-detail{gap:var(--gap-section);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.page-loading-dash>.metrics{gap:var(--gap-grid);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.page-loading-dash>.cards{gap:var(--gap-grid);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-loading-form{max-width:520px}.page-loading .ph{animation:1.4s ease-in-out infinite page-ph}@keyframes page-ph{0%,to{opacity:1}50%{opacity:.55}}.page-404,.page-error,.page-forbidden{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);width:100%;min-height:60vh;padding:var(--pad-section);flex-direction:column;display:flex}.page-404 .mark,.page-error .mark,.page-forbidden .mark{border-radius:var(--radius-xl);width:48px;height:48px;margin-bottom:var(--space-1);background:var(--color-surface-2);color:var(--color-text-tertiary);place-items:center;display:grid}.page-error .mark{background:var(--color-danger-bg);color:var(--color-danger-fg)}.page-404 .mark svg,.page-error .mark svg,.page-forbidden .mark svg{width:var(--icon-lg);height:var(--icon-lg)}.page-404 h2,.page-error h2,.page-forbidden h2{font-size:var(--text-xl)}.page-404 p,.page-error p,.page-forbidden p{color:var(--color-text-secondary);max-width:420px}.page-404 .acts,.page-error .acts,.page-forbidden .acts{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.page-error .tech{margin-top:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);word-break:break-all;max-width:520px}.page-error .tech summary{cursor:pointer}.page-404 .code{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}@media (width<=1023px){.page-loading-detail{gap:var(--gap-block);grid-template-columns:minmax(0,1fr)}.page-loading-dash>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.page-loading-dash>.cards{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.page-loading-dash>.metrics{grid-template-columns:minmax(0,1fr)}.page-404,.page-error,.page-forbidden{min-height:50vh;padding:var(--pad-card)}.page-404 .acts .btn,.page-error .acts .btn,.page-forbidden .acts .btn{flex:1}}.ed{flex-direction:column;height:100%;display:flex;overflow:hidden}.ed-body{flex:1;min-height:0;display:flex}.ed-body>.ed-canvas{background:var(--color-canvas);flex:1;min-width:0;overflow:auto}.ed-body>.ed-tree,.ed-body>.side{flex-shrink:0;min-height:0;overflow-y:auto}.ed-tree{width:var(--sidebar-w);border-right:1px solid var(--color-border);padding:var(--space-3)}.ed-bar,.ed-tree{background:var(--color-surface)}.ed-bar{height:var(--topbar-h);align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.ed-bar .grow{flex:1}.el-toggle{z-index:2;padding:2px var(--space-1-5);border-radius:var(--radius-sm);background:var(--color-action);color:var(--color-action-text);font-size:var(--text-xs);white-space:nowrap;line-height:1.4;position:absolute}.el-toggle.inline{margin-left:var(--space-1);vertical-align:middle;display:inline-block;position:static}.el-add{align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding:2px var(--space-1-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-tertiary);font-size:var(--text-xs);transition:border-color var(--transition),color var(--transition);line-height:1.4;display:inline-flex}.el-add:hover{border-color:var(--color-action);color:var(--color-text-primary)}@media (width<=1023px){.ed-body>.ed-tree,.ed-body>.side{display:none}.ed-body.show-side>.side,.ed-body.show-tree>.ed-tree{top:var(--topbar-h);z-index:var(--z-drawer);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:absolute;bottom:0}.ed-body.show-tree>.ed-tree{left:0}.ed-body.show-side>.side{right:0}.ed{position:relative}}.lib{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lib-4{gap:var(--gap-grid);grid-template-columns:repeat(4,minmax(0,1fr))}.lib-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;transition:border-color var(--transition);overflow:hidden}.lib-card:hover,.lib-card[aria-selected=true]{border-color:var(--color-action)}.lib-thumb{background:var(--color-surface-2);border-bottom:1px solid var(--color-border);height:44px;padding:var(--space-1-5);flex-direction:column;gap:3px;display:flex;overflow:hidden}.lib-4 .lib-thumb{height:84px;padding:var(--space-2);gap:var(--space-1-5)}.lib-name{padding:var(--space-1-5) var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary)}.lib-4 .lib-name{padding:var(--space-2);font-size:var(--text-base)}.lib-name b{font-weight:var(--weight-medium);color:var(--color-text-primary);display:block}.lib-name span{margin-top:2px;line-height:1.4;display:block}.lib-group,.lib-name span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.lib-group{letter-spacing:var(--tracking-caps);text-transform:uppercase;margin:var(--space-5) 0 var(--space-2)}.lib-group:first-child{margin-top:0}.sk{flex-direction:column;flex:1;gap:3px;min-height:0;display:flex}.sk em,.sk i,.sk u{background:var(--color-border);border-radius:3px;font-style:normal;text-decoration:none;display:block}.sk-bar{background:var(--color-border-strong);border-radius:3px;flex-shrink:0;width:44%;height:5px}.sk-plate{border-radius:var(--radius-sm);background:var(--color-border);flex:1}.sk-acc{background:var(--color-action)}.sk-hero{flex-direction:column;flex:1;justify-content:center}.sk-hero,.sk-logos{gap:var(--space-1);display:flex}.sk-logos{flex-shrink:0}.sk-logos i{flex:1;height:8px}.sk-video{background:var(--color-border-strong)}.sk-map,.sk-video{border-radius:var(--radius-sm);flex:1}.sk-map{background:var(--color-border)}.sk-g2{grid-template-columns:repeat(2,1fr)}.sk-g2,.sk-g3{gap:var(--space-1);flex:1;display:grid}.sk-g3{grid-template-columns:repeat(3,1fr)}.sk-g4{gap:var(--space-1);flex:1;grid-template-columns:repeat(4,1fr);display:grid}.sk-band{border-radius:var(--radius-sm);background:var(--color-border-strong);flex-shrink:0;height:14px}.sk-rows{flex-direction:column;flex:1;gap:3px;display:flex}.sk-rows i{flex:1}@media (width<=1023px){.lib-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.lib,.lib-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.mapping{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-base);grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 100px;align-items:center;display:grid}.mapping:last-child{border-bottom:0}.mapping .arrow{color:var(--color-text-tertiary);text-align:center}.mapping.is-skip{opacity:.6}.mapping.is-warn .src{border-color:var(--color-border-danger)}.src{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-1) var(--space-2);background:var(--color-surface-2);border-radius:var(--radius-md);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;max-width:100%;display:inline-block;overflow:hidden}.var-tbl{border-collapse:collapse;width:100%}.var-tbl td,.var-tbl th{padding:var(--pad-cell-y) var(--pad-cell-x)}.var-tbl .input{height:var(--control-h)}.var-tbl code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-surface-2);border-radius:var(--radius-sm);padding:1px var(--space-1)}.method{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--pad-card);border-bottom:1px solid var(--color-border);display:flex}.method:last-child{border-bottom:0}.method.off{opacity:.65}.method .txt{flex:auto;min-width:0}.method .txt b{font-weight:var(--weight-medium);display:block}.method .txt span{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}@media (width<=767px){.mapping{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.mapping .arrow{display:none}.method{flex-wrap:wrap}.method .txt{flex:60%}}.limits{gap:var(--gap-grid);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.lim{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--pad-card-sm);background:var(--color-surface)}.lim-top{justify-content:space-between;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-1-5);display:flex}.lim-top .num{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.usage{align-items:center;gap:var(--space-2);min-width:180px;display:flex}.usage .bar{background:var(--color-surface-2);flex:auto;height:6px;overflow:hidden}.usage .bar,.usage .bar i{border-radius:var(--radius-full)}.usage .bar i{background:var(--color-text-secondary);height:100%;display:block}.usage span{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.usage.is-warn .bar i{background:var(--color-warning-fg)}.usage.is-over .bar i{background:var(--color-danger-fg)}.usage.is-over span{color:var(--color-danger-fg)}.lim-counter{font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}@media (width<=1023px){.limits{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.limits{grid-template-columns:minmax(0,1fr)}}.bulk{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-2);font-size:var(--text-base);display:flex}.bulk .n{font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.bulk .grow{flex:1}.bulk .acts{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.row-acts{gap:var(--space-0-5);opacity:0;justify-content:flex-end;display:flex}.row-acts:focus-within,tr:focus-within .row-acts,tr:hover .row-acts{opacity:1}.row-acts .iconbtn{width:26px;height:26px}@media (hover:none){.row-acts{opacity:1}}@media (width<=767px){.bulk{flex-wrap:wrap}.row-acts{opacity:1}}.statusbar{z-index:var(--z-drawer);align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--pad-card);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);font-size:var(--text-base);display:flex;position:sticky;bottom:0}.statusbar .grow{flex:1}.save-state{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);white-space:nowrap;display:inline-flex}.save-state:before{content:"";background:var(--color-border-strong);border-radius:50%;flex-shrink:0;width:6px;height:6px}.save-state.is-saved:before{background:var(--color-success-fg)}.save-state.is-saving:before{background:var(--color-warning-fg)}.save-state.is-error:before{background:var(--color-danger-fg)}.save-state.is-error{color:var(--color-danger-fg)}.save-state.is-dirty{color:var(--color-text-primary);font-weight:var(--weight-medium)}.save-state.is-dirty:before{background:var(--color-action)}@media (width<=767px){.statusbar{margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));border-left:0;border-right:0;border-radius:0}.statusbar .btn{flex:1}}.kv{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-1-5) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-base);display:flex}.kv:last-child,.kv:last-of-type{border-bottom:0}.kv>:first-child{color:var(--color-text-secondary);flex:none}.kv>:last-child{text-align:right;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden}.kv-strong>:last-child{font-weight:var(--weight-medium)}.kv-flush{border-bottom:0;padding:3px 0}.kv-cols{gap:0 var(--gap-section);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=767px){.kv-cols{grid-template-columns:minmax(0,1fr)}.kv{align-items:flex-start;gap:var(--space-0-5);flex-direction:column}.kv>:last-child{text-align:left}}.chipbar{gap:var(--space-1-5)}.chipbar,.filters{flex-wrap:wrap;display:flex}.filters{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.filters .grow{flex:1}.active-filter{align-items:center;gap:var(--space-1-5);height:var(--height-input);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-2);font-size:var(--text-base);display:inline-flex}.active-filter b{font-weight:var(--weight-medium)}.active-filter .x{width:18px;height:18px;margin-right:calc(var(--space-1)*-1);border-radius:var(--radius-sm);color:var(--color-text-tertiary);transition:background var(--transition),color var(--transition);place-items:center;display:inline-grid}.active-filter .x:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.active-filter .x svg{width:12px;height:12px}.filters .reset{font-size:var(--text-base);color:var(--color-text-tertiary);transition:color var(--transition)}.filters .reset:hover{color:var(--color-text-primary)}@media (width<=767px){.filters{gap:var(--space-1-5)}.active-filter{height:var(--height-input-sm)}}.thumbs{gap:var(--gap-grid);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tcard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:left;transition:border-color var(--transition);overflow:hidden}.tcard:hover{border-color:var(--color-border-strong)}.tcard[aria-selected=true]{border-color:var(--color-action)}.tthumb{background:var(--color-surface-2);height:186px;padding:var(--space-2-5);gap:var(--space-1-5);flex-direction:column;display:flex;position:relative}.tthumb .l{border-radius:var(--radius-md);background:var(--color-surface)}.tthumb .l.bar{height:8px}.tthumb .l.big{flex:1}.tthumb .cols{gap:var(--space-1);height:34px;display:flex}.tthumb .cols i{border-radius:var(--radius-sm);background:var(--color-surface);flex:1}.tcard .nm{padding:var(--space-2-5) var(--pad-card-sm)}.tcard .nm b{font-weight:var(--weight-medium);font-size:var(--text-base);display:block}.tcard .nm span{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px;display:block}.dpal{gap:var(--space-1-5);display:flex}.dpal i{border-radius:var(--radius-sm);flex-shrink:0;width:16px;height:16px;box-shadow:inset 0 0 0 1px #00000014}.dpick{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dp-th{border-radius:var(--radius-sm);background:var(--color-surface-2);height:44px;margin-bottom:var(--space-1);background-image:linear-gradient(var(--color-border) 1px,transparent 1px);background-size:100% 11px;display:block}@media (width<=1023px){.thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.thumbs{grid-template-columns:minmax(0,1fr)}.tthumb{height:150px}}.dom{font-family:var(--font-mono);font-size:var(--text-md)}.dom-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.dom-row:last-child{border-bottom:0}.dom-row .grow{flex:auto;min-width:0}.dns{border-collapse:collapse;width:100%;margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.dns th{background:var(--color-surface-2);padding:var(--space-2) var(--pad-cell-x);text-align:left;font-weight:var(--weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap}.dns td,.dns th{font-size:var(--text-sm);border-bottom:0}.dns td{padding:var(--space-2-5) var(--pad-cell-x);border-top:1px solid var(--color-border);font-family:var(--font-mono);word-break:break-all}.dns td .iconbtn{float:right;margin-left:var(--space-2)}.dn{align-items:center;gap:var(--space-1-5);font-family:var(--font-sans);font-size:var(--text-sm);white-space:nowrap;color:var(--color-text-tertiary);display:inline-flex}.dn:before{content:"";background:var(--color-border-strong);border-radius:50%;flex-shrink:0;width:6px;height:6px}.dn.is-ok{color:var(--color-success-fg)}.dn.is-ok:before{background:var(--color-success-fg)}.dn.is-wait{color:var(--color-warning-fg)}.dn.is-wait:before{background:var(--color-warning-fg)}.dn.is-err{color:var(--color-danger-fg)}.dn.is-err:before{background:var(--color-danger-fg)}@media (width<=767px){.dns,.dns tbody,.dns td,.dns tr{width:100%;display:block}.dns thead{display:none}.dns tr{border-top:1px solid var(--color-border);padding:var(--space-2) 0}.dns td{padding:3px var(--pad-cell-x);border:0}.dns td:before{content:attr(data-label);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps);display:block}}.funnel{flex-direction:column}.f-row,.funnel{gap:var(--space-3);display:flex}.f-row{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-1);justify-content:space-between;align-items:baseline}.f-row .num{color:var(--color-text-primary)}.f-row .num,.f-row .pc{font-variant-numeric:tabular-nums}.f-row .pc{font-size:var(--text-sm);color:var(--color-text-tertiary)}.f-bar{background:var(--color-surface-2);height:8px;overflow:hidden}.f-bar,.f-bar i{border-radius:var(--radius-full)}.f-bar i{background:var(--color-text-secondary);height:100%;display:block}.f-step.is-drop .f-bar i{background:var(--color-danger-fg)}.f-step.is-drop .f-row .pc{color:var(--color-danger-fg)}.f-step .lost{font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;margin-top:3px;display:block}@media (width<=767px){.f-row{gap:var(--space-1);flex-wrap:wrap}}.scope{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4);background:var(--color-surface-2)}.scope-h{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.scope-h b{color:var(--color-text-primary);font-weight:var(--weight-medium)}.scope .segment,.scope .viewswitch{background:var(--color-surface)}.scope .except{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);gap:var(--space-1-5);flex-wrap:wrap;align-items:center;display:flex}.multi-row{gap:var(--space-3);align-items:flex-start;display:flex}.vp{flex-direction:column;flex:1;min-width:0}.vp,.vp-h{display:flex}.vp-h{align-items:center;gap:var(--space-2);padding:0 var(--space-1) var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary)}.vp-h b{font-family:var(--font-display);font-weight:var(--weight-medium);color:var(--color-text-primary)}.vp-h .w{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.vp-h .badge{margin-left:auto}.vp-b{border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}@media (width<=1023px){.multi-row{flex-wrap:wrap}.vp{flex:100%}}.adapt{gap:var(--space-1);flex-direction:column;display:flex}.ad-row{align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);display:flex}.ad-w{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0;width:36px}.ad-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ad-v{font-size:var(--text-sm);flex-shrink:0;margin-left:auto}.ad-v.ok{color:var(--color-success-fg)}.ad-v.warn{color:var(--color-warning-fg)}.ad-row.is-auto,.ad-row.is-auto .ad-v{color:var(--color-text-tertiary)}.ad-row.is-set{border-color:var(--color-border-strong)}.auto{gap:var(--space-1);flex-direction:column}.au,.auto{display:flex}.au{gap:var(--space-3);padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-secondary);align-items:center}.au-w{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0;width:32px}@media (width<=767px){.ad-row,.au{flex-wrap:wrap}.ad-v{margin-left:0}}.cmp-grid{gap:var(--gap-grid);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cmp-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);transition:border-color var(--transition);flex-direction:column;display:flex;overflow:hidden}.cmp-card:hover{border-color:var(--color-border-strong)}.cmp-card[aria-selected=true]{border-color:var(--color-action)}.cmp-prev{background:var(--color-surface-2);border-bottom:1px solid var(--color-border);height:126px;padding:var(--space-2-5);gap:var(--space-1-5);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.cmp-prev>*{flex-shrink:0;display:block}.cmp-b{padding:var(--space-3) var(--pad-card) var(--pad-card);flex-direction:column;flex:1;display:flex}.cmp-t{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.cmp-t b{min-width:0;font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.cmp-b p{font-size:var(--text-base);color:var(--color-text-secondary);min-height:39px;line-height:1.5}.cmp-a{gap:var(--space-2);padding-top:var(--space-3);margin-top:auto;display:flex}.cmp-a .btn{flex:1}.cmp-a-mark,.cmp-b-mark{top:var(--space-2);left:var(--space-2);border-radius:var(--radius-sm);width:20px;height:20px;font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--color-action);color:var(--color-action-text);place-items:center;display:grid;position:absolute}.cmp-card{position:relative}@media (width<=1279px){.cmp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1023px){.cmp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.cmp-2,.cmp-grid{grid-template-columns:minmax(0,1fr)}.cmp-b p{min-height:0}}.lay{gap:var(--space-1-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.lay-o{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1-5);text-align:center;font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-surface);transition:border-color var(--transition),color var(--transition)}.lay-o:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.lay-o[aria-selected=true]{border-color:var(--color-action);color:var(--color-text-primary)}.lay-o:disabled{opacity:.45;cursor:not-allowed}.lay-p{height:28px;margin-bottom:var(--space-1);gap:3px;display:flex}.lay-p.col{flex-direction:column}.lay-p i{background:var(--color-border-strong)}.lay-p i,.lay-p u{border-radius:var(--radius-sm);flex:1;display:block}.lay-p u{text-decoration:none}.lay-p u,.lay-p.bg i{background:var(--color-border)}@media (width<=767px){.lay{grid-template-columns:repeat(2,minmax(0,1fr))}}.dsteps{gap:var(--space-1-5);flex-direction:column;display:flex}.dstep{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--color-surface);display:flex}.dstep.is-done{opacity:.7}.ds-n{border-radius:var(--radius-full);background:var(--color-action);width:20px;height:20px;color:var(--color-action-text);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;display:grid}.dstep.is-done .ds-n{background:var(--color-success-fg)}.dstep.is-next .ds-n{background:var(--color-surface-3);color:var(--color-text-tertiary)}.ds-ic{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);width:40px;height:40px;color:var(--color-text-secondary);flex-shrink:0;place-items:center;display:grid}.ds-txt{flex:auto;min-width:0}.ds-txt b{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-md);display:block}.ds-txt span{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5;display:block}.ds-act{gap:var(--space-2);flex-shrink:0;display:flex}@media (width<=767px){.dstep{flex-wrap:wrap}.ds-act{width:100%}.ds-act .btn{flex:1}}.tour-mask{z-index:var(--z-modal);background:#0a0a0a73;display:none;position:fixed;inset:0}.tour-mask.open{display:block}.tour-hole{z-index:calc(var(--z-modal) + 1);top:var(--tour-y,0);left:var(--tour-x,0);width:var(--tour-w,0);height:var(--tour-h,0);border-radius:var(--radius-lg);pointer-events:none;box-shadow:0 0 0 9999px #0a0a0a73,0 0 0 2px var(--color-canvas);transition:all var(--transition);position:fixed}.tour-tip{z-index:calc(var(--z-modal) + 2);width:320px;max-width:calc(100vw - var(--space-8));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);padding:var(--pad-card);position:fixed}.tour-tip h4{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg);margin-bottom:var(--space-1-5)}.tour-tip p{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.6}.tour-f{align-items:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.tour-dots{gap:var(--space-1);margin-right:auto;display:flex}.tour-dots i{background:var(--color-border-strong);border-radius:50%;width:6px;height:6px;display:block}.tour-dots i.on{background:var(--color-action)}.tour-f .skip{color:var(--color-text-tertiary)}@media (width<=767px){.tour-tip{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:auto;max-width:none;padding-bottom:calc(var(--pad-card) + env(safe-area-inset-bottom,0px));inset:auto 0 0}.tour-f .btn{flex:1}}.map-cols{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.map-c{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);padding:var(--pad-card)}.map-c h4{font-family:var(--font-sans);font-weight:400;font-size:var(--text-base);margin-bottom:var(--space-3);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.map-n{align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;width:100%;transition:border-color var(--transition);display:flex}.map-n+.map-n{margin-top:var(--space-2)}.map-n:hover{border-color:var(--color-border-strong)}.map-n .nm{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.map-n .sl{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0;margin-left:auto}.map-n.is-warn{border-color:var(--color-border-danger);background:var(--color-warning-bg)}.map-links{font-size:var(--text-sm);color:var(--color-text-tertiary);padding-left:var(--space-3);margin:2px 0 var(--space-2)}@media (width<=1023px){.map-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.map-cols{grid-template-columns:minmax(0,1fr)}}.vframe{border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:max-width var(--transition);margin:0 auto;overflow:hidden}.vframe,.vframe-d{max-width:1200px}.vframe-t{max-width:768px}.vframe-m{max-width:390px}.canvas-bar{align-items:center;gap:var(--space-3);margin:0 auto var(--space-3);max-width:1200px;display:flex}.canvas-bar .grow{flex:1}.canvas-bar .url{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vframe-wrap{min-width:0;padding:var(--pad-card);background-color:var(--color-canvas);background-image:radial-gradient(var(--color-border-strong) 1px,transparent 1px);background-size:var(--dot-size) var(--dot-size);flex:1;overflow:auto}.vframe-wrap.plain{background-image:none}@media (width<=767px){.canvas-bar{flex-wrap:wrap}.canvas-bar .url{display:none}.vframe,.vframe-d,.vframe-m,.vframe-t{border-radius:var(--radius-lg);max-width:none}.vframe-wrap{padding:var(--space-2)}}.bgpick{gap:var(--space-1-5);display:flex}.bgo{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;padding:var(--space-1);background:var(--color-surface);transition:border-color var(--transition);flex:1}.bgo:hover{border-color:var(--color-border-strong)}.bgo[aria-selected=true]{border-color:var(--color-action)}.bgo i{height:22px;margin-bottom:var(--space-1);border:1px solid var(--color-border);border-radius:5px;display:block}.bgo span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.chess{background-image:linear-gradient(45deg,var(--color-surface-3) 25%,transparent 25%,transparent 75%,var(--color-surface-3) 75%),linear-gradient(45deg,var(--color-surface-3) 25%,transparent 25%,transparent 75%,var(--color-surface-3) 75%);background-position:0 0,4px 4px;background-size:8px 8px;background-color:var(--color-surface)}.crow{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.crow+.crow{border-top:1px solid var(--color-border)}.cdot{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0;width:30px;height:30px;position:relative;overflow:hidden}.cdot input[type=color]{cursor:pointer;background:0 0;border:0;width:150%;height:150%;padding:0;position:absolute;inset:-4px}.cinfo{flex:auto;min-width:0}.cinfo b{font-size:var(--text-base);font-weight:var(--weight-medium);display:block}.cinfo span{color:var(--color-text-tertiary)}.chex,.cinfo span{font-size:var(--text-xs)}.chex{width:88px;height:var(--control-h);text-align:center;font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);flex-shrink:0}.tokbar{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.tokc{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.tokc i{border-bottom:1px solid var(--color-border);height:40px;display:block}.tokc span{padding:5px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.scale-row{align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.scale-row:last-child{border-bottom:0}.scale-n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0;width:92px}@media (width<=767px){.bgpick{flex-wrap:wrap}.bgo{flex:40%}.chex{width:76px}}.blk{isolation:isolate;outline-offset:-1px;min-height:12px;transition:outline-color var(--transition);outline:1px solid #0000;display:flow-root;position:relative}.blk:hover{outline-color:var(--color-border-strong)}.blk.is-sel{outline:2px solid var(--color-action);outline-offset:-2px}.blk.is-off{display:none}.blk>.blk-in{z-index:1;display:flow-root;position:relative}.blk>.blk-tag,.blk>.blk-tools{z-index:3}.blk-tag{padding:2px var(--space-1-5);background:var(--color-action);color:var(--color-action-text);font-size:var(--text-xs);white-space:nowrap;border-bottom-right-radius:var(--radius-sm);line-height:1.5;display:none;position:absolute;top:0;left:0}.blk.is-sel>.blk-tag{display:block}.blk-tools{top:var(--space-1-5);right:var(--space-1-5);padding:var(--space-0-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);gap:1px;display:none;position:absolute}.blk.is-sel>.blk-tools,.blk:hover>.blk-tools{display:flex}.blk-tools button{width:24px;height:24px;color:var(--color-text-tertiary);transition:background var(--transition),color var(--transition);border-radius:5px;place-items:center;display:grid}.blk-tools button:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.blk-tools button svg{width:var(--icon-sm);height:var(--icon-sm)}.blk-slot{background:var(--color-action);height:2px;margin:var(--space-1) 0;opacity:0;border-radius:1px}.blk-slot.is-over{opacity:1}@media (hover:none){.blk:hover>.blk-tools{display:none}.blk.is-sel>.blk-tools{display:flex}.blk-tools button{width:32px;height:32px}}.pg-sw{align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-base);color:var(--color-text-secondary);transition:border-color var(--transition);display:inline-flex}.pg-sw:hover{border-color:var(--color-border-strong)}.pg-sw b{color:var(--color-text-primary);font-weight:var(--weight-medium)}.pg-sw svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-text-tertiary)}.pgmenu{z-index:var(--z-dropdown);top:calc(100% + var(--space-1));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:300px;box-shadow:var(--shadow-overlay);padding:var(--space-1);max-height:320px;display:none;position:absolute;left:0;overflow-y:auto}.pgmenu.open{display:block}.pgmenu-anchor{display:inline-flex;position:relative}.pg-item{align-items:center;gap:var(--space-2);width:100%;height:var(--height-row);padding:0 var(--space-3);border-radius:var(--radius-md);text-align:left;font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition),color var(--transition);display:flex}.pg-item:hover,.pg-item[aria-current=true]{background:var(--color-surface-2);color:var(--color-text-primary)}.pg-item[aria-current=true]{font-weight:var(--weight-medium)}.pg-item .nm{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.pg-item .sl{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0}.pg-item.is-hidden .nm{color:var(--color-text-tertiary);text-decoration:line-through}@media (width<=767px){.pgmenu{width:min(300px,calc(100vw - var(--space-8)))}.pg-item{height:44px}}.presets{gap:var(--space-1-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1-5);text-align:center;background:var(--color-surface);transition:border-color var(--transition)}.preset:hover{border-color:var(--color-border-strong)}.preset[aria-selected=true]{border-color:var(--color-action)}.preset .sw3{height:22px;margin-bottom:var(--space-1);border-radius:5px;display:flex;overflow:hidden}.preset .sw3 i{flex:1;display:block}.preset span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.note{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface-2);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.55}.note b{color:var(--color-text-primary);font-weight:var(--weight-medium)}.note+.note{margin-top:var(--space-2)}.help{border-top:1px solid var(--color-border);margin-top:var(--space-4)}.help-h{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;cursor:pointer;font-size:var(--text-base);color:var(--color-text-secondary);list-style:none;display:flex}.help-h::-webkit-details-marker{display:none}.help-h:hover{color:var(--color-text-primary)}.help-h .chev{color:var(--color-text-tertiary);transition:transform var(--transition);margin-left:auto}.help[open] .help-h .chev{transform:rotate(180deg)}.help-b{padding-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.help-ab{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.help-a,.help-b-side{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);background:var(--color-surface)}.help-ab .txt{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}@media (width<=767px){.presets{grid-template-columns:repeat(2,minmax(0,1fr))}.help-ab{grid-template-columns:minmax(0,1fr)}}@media (width<=1023px){.app.drawer-open .sidebar,body[data-drawer=open] .sidebar{width:var(--sidebar-w);padding:var(--space-2) var(--space-3) var(--space-3);z-index:var(--z-drawer);display:flex;position:fixed;inset:0 auto 0 0;transform:none}.app.drawer-open .sidebar .logo,body[data-drawer=open] .sidebar .logo{padding:0 var(--space-2);justify-content:flex-start}.app.drawer-open .sidebar .logo b,.app.drawer-open .sidebar .nav-item .count,.app.drawer-open .sidebar .nav-label,.app.drawer-open .sidebar .product .chev,.app.drawer-open .sidebar .product .name,.app.drawer-open .sidebar .upgrade span,body[data-drawer=open] .sidebar .logo b,body[data-drawer=open] .sidebar .nav-item .count,body[data-drawer=open] .sidebar .nav-label,body[data-drawer=open] .sidebar .product .chev,body[data-drawer=open] .sidebar .product .name,body[data-drawer=open] .sidebar .upgrade span{display:revert}.app.drawer-open .sidebar .nav-item .label,body[data-drawer=open] .sidebar .nav-item .label{display:block}.app.drawer-open .sidebar .nav-add,body[data-drawer=open] .sidebar .nav-add{display:grid}.app.drawer-open .sidebar .promo-card,body[data-drawer=open] .sidebar .promo-card{display:block}.app.drawer-open .sidebar .product,body[data-drawer=open] .sidebar .product{padding:0 var(--space-3);height:var(--height-input-lg);justify-content:flex-start}.app.drawer-open .sidebar .nav-item,body[data-drawer=open] .sidebar .nav-item{padding:0 var(--space-3);height:var(--height-row);justify-content:flex-start}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.grow{flex:1}.shrink-0{flex-shrink:0}.min-w-0{min-width:0}.relative{position:relative}.col-full{grid-column:1/-1}.w-full{width:100%}.w-auto{width:auto}.max-w-sm{max-width:420px}.max-w-md{max-width:520px}.max-w-lg{max-width:640px}.max-w-xl{max-width:720px}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.text-sm{font-size:var(--text-base)}.text-xs{font-size:var(--text-sm)}.text-right{text-align:right}.text-center{text-align:center}.font-medium{font-weight:var(--weight-medium)}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono,ui-monospace,monospace)}.muted{color:var(--color-text-secondary)}.dim{color:var(--color-text-tertiary)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.scroll-x{scrollbar-width:none;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}:root{--brand:#de7018;--brand-from:#ffc08a;--brand-to:#d0560a}[data-theme=dark]{--brand:#ee9048}[data-width=full]{--container:100%}
