:root{--font-sans: "DM Sans", "PingFang SC", "PingFang TC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "DM Sans", "PingFang SC", "PingFang TC", "Hiragino Sans GB", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Monaco", "Menlo", "Consolas", monospace;--color-primary: #007AFF;--color-primary-hover: #0051D5;--color-primary-active: #004EC4;--color-primary-light: rgba(0, 122, 255, .12);--color-bg: #FAFAFC;--color-bg-secondary: #F0F0F5;--color-bg-tertiary: #E8E8ED;--color-bg-elevated: #FFFFFF;--color-surface: #FFFFFF;--color-separator: #E2E2E7;--color-fill: rgba(120, 120, 128, .16);--color-fill-hover: rgba(120, 120, 128, .24);--color-on-primary: #FFFFFF;--color-label: #000000;--color-label-secondary: #3C3C43;--color-label-tertiary: #8E8E93;--color-placeholder: rgba(60, 60, 67, .6);--color-success: #34C759;--color-warning: #FF9500;--color-error: #FF3B30;--color-info: #007AFF;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 2px 8px rgba(0, 122, 255, .02);--shadow-m: 0 4px 12px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 122, 255, .04);--shadow-l: 0 8px 24px rgba(0, 0, 0, .07), 0 20px 48px rgba(0, 122, 255, .05);--shadow-nav: 0 1px 0 rgba(0, 0, 0, .06);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .1), 0 0 1px rgba(0, 0, 0, .06);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: .18s var(--ease-out);--transition-normal: .28s var(--ease-out);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--text-large-title: 32px;--text-title-1: 26px;--text-title-2: 20px;--text-title-3: 18px;--text-headline: 16px;--text-body: 16px;--text-callout: 15px;--text-subhead: 15px;--text-footnote: 14px;--text-caption: 13px;--line-tight: 1.35;--line-normal: 1.5;--line-relaxed: 1.65;--layout-max-width: 1080px;--nav-height: 52px;--nav-height-desktop: 56px;--nav-bg: rgba(255, 255, 255, .88);--nav-bg-blur: saturate(180%) blur(24px);--content-padding-x: 16px;--content-padding-x-desktop: 24px}[data-theme=dark]{--color-bg: #000000;--color-bg-secondary: #1C1C1E;--color-bg-tertiary: #2C2C2E;--color-bg-elevated: #2C2C2E;--color-surface: #2C2C2E;--color-separator: #38383A;--color-fill: rgba(120, 120, 128, .36);--color-fill-hover: rgba(120, 120, 128, .48);--color-label: #FFFFFF;--color-label-secondary: #EBEBF5;--color-label-tertiary: rgba(235, 235, 245, .6);--color-placeholder: rgba(235, 235, 245, .3);--color-primary: #0A84FF;--color-primary-hover: #409CFF;--color-primary-light: rgba(10, 132, 255, .2);--color-on-primary: #FFFFFF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-m: 0 4px 16px rgba(0, 0, 0, .3);--shadow-l: 0 8px 32px rgba(0, 0, 0, .4);--shadow-nav: 0 1px 0 rgba(255, 255, 255, .06);--shadow-dropdown: 0 8px 32px rgba(0, 0, 0, .4);--nav-bg: rgba(28, 28, 30, .88)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);font-weight:400;line-height:var(--line-relaxed);letter-spacing:.01em;color:var(--color-label);background:var(--color-bg);min-height:100vh;position:relative;background-image:radial-gradient(ellipse 100% 60% at 80% 10%,rgba(0,122,255,.06),transparent 50%),radial-gradient(ellipse 80% 50% at 20% 20%,rgba(0,122,255,.03),transparent 45%),radial-gradient(ellipse 140% 90% at 50% -30%,rgba(0,122,255,.05),transparent 55%);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0}#root{min-height:100vh;position:relative;z-index:1}[data-theme=dark] body{background-image:radial-gradient(ellipse 100% 60% at 80% 10%,rgba(10,132,255,.08),transparent 50%),radial-gradient(ellipse 80% 50% at 20% 20%,rgba(10,132,255,.04),transparent 45%),radial-gradient(ellipse 140% 90% at 50% -30%,rgba(10,132,255,.07),transparent 55%)}[data-theme=dark] body:before{opacity:.04}::selection{background:var(--color-primary-light);color:var(--color-label)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline;color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}button:active{transform:scale(.98)}.large-title{font-family:var(--font-display);font-size:var(--text-large-title);font-weight:700;line-height:var(--line-tight);letter-spacing:-.03em;color:var(--color-label)}.title-1{font-family:var(--font-display);font-size:var(--text-title-1);font-weight:600;line-height:var(--line-tight);letter-spacing:-.02em}.title-2{font-family:var(--font-display);font-size:var(--text-title-2);font-weight:600;line-height:var(--line-normal);letter-spacing:-.01em}.title-3{font-family:var(--font-display);font-size:var(--text-title-3);font-weight:600;line-height:var(--line-normal)}.headline{font-family:var(--font-display);font-size:var(--text-headline);font-weight:600;letter-spacing:-.01em}.body{font-size:var(--text-body);font-weight:400;line-height:var(--line-relaxed);color:var(--color-label-secondary)}.subhead{font-size:var(--text-subhead);font-weight:400;line-height:var(--line-normal);color:var(--color-label-tertiary)}.caption{font-size:var(--text-caption);font-weight:400;line-height:var(--line-normal);color:var(--color-label-tertiary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);min-height:36px;font-size:var(--text-subhead);font-weight:500;border-radius:var(--radius-m);border:1px solid transparent;background:var(--color-bg-secondary);color:var(--color-label-secondary);cursor:pointer;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:hover{background:var(--color-fill-hover);color:var(--color-label);text-decoration:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-label-secondary);border-color:var(--color-separator)}.btn-secondary:hover{background:var(--color-fill);color:var(--color-label)}.btn-ghost{background:transparent;color:var(--color-primary);border-color:transparent}.btn-ghost:hover{background:var(--color-primary-light);color:var(--color-primary)}.btn-danger{background:var(--color-error);color:var(--color-on-primary);border-color:var(--color-error)}.btn-danger:hover{background:color-mix(in srgb,var(--color-error) 90%,transparent);border-color:color-mix(in srgb,var(--color-error) 90%,transparent)}.btn-sm{padding:var(--space-1) var(--space-3);min-height:28px;font-size:var(--text-footnote)}.btn-icon{width:32px;height:32px;padding:0;min-height:32px}.btn-full{width:100%}.btn[disabled],.btn-disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-loading{position:relative;pointer-events:none}.btn-loading:after{content:"";width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.5);border-top-color:currentColor;animation:btn-spinner .7s linear infinite}@keyframes btn-spinner{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-label{font-size:var(--text-footnote);font-weight:500;color:var(--color-label-secondary)}.field-description{font-size:var(--text-caption);color:var(--color-label-tertiary)}.field-error{font-size:var(--text-footnote);color:var(--color-error)}.field-control{display:flex;align-items:center;gap:var(--space-2)}.field-input,.field-textarea,.field-select{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-footnote);color:var(--color-label);background:var(--color-bg-secondary);border-radius:var(--radius-m);border:1px solid var(--color-separator);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.field-textarea{min-height:120px;resize:vertical}.field-input:focus,.field-textarea:focus,.field-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:var(--color-bg)}.field-input::placeholder,.field-textarea::placeholder{color:var(--color-placeholder)}.field-inline{display:flex;align-items:center;gap:var(--space-2)}.card{background:var(--color-surface);border-radius:var(--radius-l);border:1px solid var(--color-separator);box-shadow:var(--shadow-sm);padding:var(--space-4)}.card-header{margin-bottom:var(--space-3)}.card-title{margin:0 0 var(--space-1);font-size:var(--text-title-3);font-weight:600;color:var(--color-label)}.card-subtitle{margin:0;font-size:var(--text-footnote);color:var(--color-label-tertiary)}.card-body{display:flex;flex-direction:column;gap:var(--space-3)}.card-footer{margin-top:var(--space-3);display:flex;justify-content:flex-end;gap:var(--space-2)}.panel{background:var(--color-surface);border-radius:var(--radius-l);border:1px solid var(--color-separator);box-shadow:var(--shadow-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.panel-title{margin:0;font-size:var(--text-subhead);font-weight:600;color:var(--color-label)}.panel-description{font-size:var(--text-caption);color:var(--color-label-tertiary)}.panel-content{display:flex;flex-direction:column;gap:var(--space-3)}.panel-footer{display:flex;justify-content:flex-end;gap:var(--space-2)}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:var(--radius-m);border:1px solid var(--color-separator);background:var(--color-bg-secondary);color:var(--color-label);font-size:var(--text-footnote);font-family:var(--font-mono)}.toast-container{position:fixed;top:var(--space-6);right:var(--content-padding-x);z-index:1200;display:flex;flex-direction:column;gap:var(--space-2)}@media(min-width:992px){.toast-container{right:var(--content-padding-x-desktop)}}.toast{min-width:260px;max-width:360px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--color-bg-elevated);border:1px solid var(--color-separator);box-shadow:var(--shadow-dropdown);font-size:var(--text-footnote);color:var(--color-label)}.toast-success{border-color:var(--color-success)}.toast-error{border-color:var(--color-error)}.toast-warning{border-color:var(--color-warning)}.toast-info{border-color:var(--color-info)}.confirm-backdrop{position:fixed;inset:0;z-index:1150;background:#00000047;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.confirm-dialog{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-l);border:1px solid var(--color-separator);box-shadow:var(--shadow-l);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.confirm-title,.confirm-desc{margin:0}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.page{min-height:60vh;width:100%;max-width:100%;display:flex;flex-direction:column;gap:var(--space-5)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.page-header-main{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.page-title{margin:0}.page-subtitle{margin:0;font-size:var(--text-callout);color:var(--color-label-tertiary)}.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.page-content{display:flex;flex-direction:column;gap:var(--space-4)}.page-section{display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:767px){.page-header{align-items:stretch}.page-actions{justify-content:flex-start}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0);clip-path:inset(50%)}.header{position:sticky;top:0;z-index:100;min-height:var(--nav-height);padding:0 var(--space-4);background:var(--nav-bg);backdrop-filter:var(--nav-bg-blur);-webkit-backdrop-filter:var(--nav-bg-blur);border-bottom:1px solid var(--color-separator);box-shadow:var(--shadow-nav);overflow:visible}@media(min-width:992px){.header{min-height:var(--nav-height-desktop);padding:0 var(--space-8)}}.header-inner{max-width:var(--layout-max-width);margin:0 auto;min-height:var(--nav-height);display:flex;align-items:center;gap:var(--space-4);overflow:visible;flex-wrap:wrap}@media(min-width:768px){.header-inner{flex-wrap:nowrap}}.header-logo{display:flex;align-items:center;gap:var(--space-2);color:var(--color-label);font-weight:600;font-size:var(--text-headline);letter-spacing:-.02em;text-decoration:none;flex-shrink:0;transition:color var(--transition-fast),opacity var(--transition-fast)}.header-logo:hover{text-decoration:none;color:var(--color-primary)}.header-logo:active{opacity:.85}.header-logo-icon{display:block;width:32px;height:32px;object-fit:contain;transition:transform var(--transition-fast)}.header-logo:hover .header-logo-icon{transform:scale(1.08)}.header-nav-mobile{display:flex;align-items:center;gap:var(--space-2)}.header-nav-backdrop{position:fixed;inset:0;z-index:40;background:#0003}.header-nav-backdrop-desktop{z-index:99;cursor:pointer;top:var(--nav-height-desktop)}@media(max-width:991px){.header-nav-backdrop-desktop{top:var(--nav-height)}}.header-nav-menu-mobile{position:absolute;top:100%;left:0;z-index:51;margin-top:var(--space-2);max-height:70vh;overflow-y:auto;min-width:240px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-dropdown);animation:header-menu-in .2s var(--ease-out)}.header-nav-menu-group{padding:var(--space-1) 0}.header-nav-menu-group-title{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-caption);font-weight:600;color:var(--color-label-tertiary);text-transform:none}@media(min-width:768px){.header-nav-mobile{display:none}}.header-nav{display:none;align-items:center;gap:2px;flex:1;min-width:0;overflow:visible}.header-nav::-webkit-scrollbar{display:none}@media(min-width:768px){.header-nav{display:flex;flex:0 1 auto;min-width:0;overflow:visible}}.header-nav-dropdown{position:relative;flex-shrink:0;z-index:10}.header-nav-dropdown.is-open{z-index:50}.header-nav-category{display:inline-flex;align-items:center;gap:4px;padding:var(--space-2) var(--space-3);font-size:var(--text-subhead);font-weight:500;color:var(--color-label-secondary);background:none;border:none;border-radius:var(--radius-m);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.header-nav-category:hover{color:var(--color-label);background:var(--color-fill)}.header-nav-category:active{transform:scale(.96)}.header-nav-category.is-active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.header-nav-dropdown.is-open .header-nav-category{color:var(--color-primary);background:var(--color-primary-light)}.header-nav-dropdown.is-open .header-nav-caret{transform:rotate(180deg)}.header-nav-caret{display:inline-block;font-size:10px;opacity:.8;transition:transform var(--transition-fast)}.header-nav-menu{position:absolute;top:100%;left:0;z-index:50;min-width:200px;margin-top:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-dropdown);animation:header-menu-in .2s var(--ease-out)}@keyframes header-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-nav-more .header-nav-menu-more{left:auto;right:0;min-width:280px;max-height:70vh;overflow-y:auto}.header-nav-menu-more .header-nav-menu-group+.header-nav-menu-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-separator)}.header-nav-menu-item{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-footnote);color:var(--color-label);text-decoration:none;border-radius:var(--radius-s);cursor:pointer;border-left:3px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.header-nav-menu-item:hover{background:var(--color-fill);color:var(--color-primary);text-decoration:none}.header-nav-menu-item:active{transform:scale(.98)}.header-nav-menu-item.is-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.header-nav-link{flex-shrink:0;padding:var(--space-2) var(--space-3);color:var(--color-label-secondary);font-size:var(--text-subhead);font-weight:500;text-decoration:none;border-radius:var(--radius-m);transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.header-nav-link:hover{color:var(--color-label);background:var(--color-fill);text-decoration:none}.header-nav-link:active{transform:scale(.97)}.header-actions-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;flex-shrink:0}.header-search-wrap{position:relative}.header-search-icon-btn{width:40px;height:40px;border-radius:var(--radius-full);border:1px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;padding:0;color:var(--color-label-tertiary)}.header-search-icon-btn:hover{background:var(--color-fill);color:var(--color-label)}.header-search-icon-btn.is-active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);color:var(--color-primary)}.header-search-icon{font-size:32px;font-weight:600;line-height:1}.header-search-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:120;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-dropdown)}.header-search-item{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);text-decoration:none;color:var(--color-label);transition:background var(--transition-fast),color var(--transition-fast)}.header-search-item:hover{background:var(--color-fill);text-decoration:none}.header-search-item.is-active{background:var(--color-primary-light)}.header-search-item-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-subhead);font-weight:600}.header-search-item-cat{flex-shrink:0;font-size:var(--text-caption);font-weight:500;color:var(--color-label-tertiary);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-full);padding:2px 8px}.header-search-item-desc{margin-top:var(--space-1);font-size:var(--text-caption);color:var(--color-label-tertiary);font-weight:400}.header-search-empty{padding:var(--space-3);color:var(--color-label-tertiary);font-size:var(--text-footnote)}.header-search-footer{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-separator);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.header-search-more{border:none;background:transparent;color:var(--color-primary);font-size:var(--text-footnote);padding:0}.header-search-more:hover{color:var(--color-primary-hover);text-decoration:underline}.header-search-hint{color:var(--color-label-tertiary);font-size:var(--text-caption);white-space:nowrap}.header-search-highlight{background:var(--color-primary-light);color:var(--color-label);border-radius:4px;padding:0 2px}.header-search-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 24px;background:#00000047;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:search-backdrop-in .2s var(--ease-out)}@keyframes search-backdrop-in{0%{opacity:0}to{opacity:1}}.header-search-dialog{width:100%;max-width:640px;background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-separator);box-shadow:var(--shadow-l);padding:var(--space-4);animation:search-dialog-in var(--transition-normal) var(--ease-out)}@keyframes search-dialog-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.header-search-dialog-input-row{display:flex;align-items:center;padding:0 var(--space-3);height:40px;border-radius:var(--radius-full);background:var(--color-bg-secondary);border:1px solid transparent;margin-bottom:var(--space-3)}.header-search-input{flex:1;min-width:0;height:100%;padding:0;border:none;background:transparent;font-size:var(--text-subhead);color:var(--color-label)}.header-search-input::placeholder{color:var(--color-placeholder)}.header-search-input:focus{outline:none}.header-search-dialog-input-row:focus-within{background:var(--color-bg);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.header-search-dialog-results{max-height:min(420px,60vh);overflow-y:auto}.header-search-dialog .header-search-menu{position:static;top:auto;left:auto;right:auto;box-shadow:none;border-radius:var(--radius-m)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.header-action{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--color-label-secondary);text-decoration:none;border-radius:var(--radius-full);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.header-action:hover{background:var(--color-fill-hover);color:var(--color-label);text-decoration:none}.header-action:active{transform:scale(.92)}.header-action-icon{font-size:18px}.header-lang-switch{margin-left:var(--space-2);flex-shrink:0}.header-lang-select{height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-separator);background:var(--color-bg-secondary);color:var(--color-label-secondary);font-size:var(--text-footnote)}.header-lang-select:hover{border-color:var(--color-primary)}.footer{margin-top:auto;padding:var(--space-8) var(--content-padding-x);background:var(--color-bg-secondary);border-top:1px solid var(--color-separator)}@media(min-width:992px){.footer{padding:var(--space-10) var(--content-padding-x-desktop)}}.footer-inner{max-width:var(--layout-max-width);margin:0 auto;text-align:center}.footer-brand{margin-bottom:var(--space-3)}.footer-logo{font-size:var(--text-title-3);font-weight:600;color:var(--color-label)}.footer-tagline{margin:var(--space-2) 0 0;color:var(--color-label-tertiary)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-3)}.footer-nav a{color:var(--color-label-secondary);font-size:var(--text-subhead);font-weight:500;transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--color-primary);text-decoration:none}.footer-meta{padding-top:var(--space-3);border-top:1px solid var(--color-separator)}.footer-copy{margin:0}.shortcuts-help-backdrop{position:fixed;inset:0;z-index:120;background:#00000047}.shortcuts-help{position:fixed;z-index:121;top:calc(var(--nav-height) + var(--space-6));left:50%;transform:translate(-50%);width:min(560px,calc(100vw - 32px));background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-l);padding:var(--space-5)}@media(min-width:992px){.shortcuts-help{top:calc(var(--nav-height-desktop) + var(--space-8))}}.shortcuts-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.shortcuts-help-title{font-size:var(--text-title-3);font-weight:600;color:var(--color-label)}.shortcuts-help-subtitle{margin-top:var(--space-1);font-size:var(--text-footnote);color:var(--color-label-tertiary)}.shortcuts-help-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-separator);border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-label-secondary)}.shortcuts-help-close:hover{background:var(--color-fill-hover);color:var(--color-label)}.shortcuts-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.shortcuts-help-item{display:flex;align-items:center;gap:var(--space-3)}.shortcuts-help-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:6px 10px;border-radius:var(--radius-m);border:1px solid var(--color-separator);background:var(--color-bg-secondary);color:var(--color-label);font-size:var(--text-footnote);font-family:var(--font-mono)}.shortcuts-help-desc{color:var(--color-label-secondary);font-size:var(--text-subhead)}.main-layout{min-height:100vh;display:flex;flex-direction:column}.main-layout-content{flex:1;width:100%}.main-content-wrap{position:relative;max-width:var(--layout-max-width);margin:0 auto;width:100%;padding:var(--space-6) var(--content-padding-x);min-height:0}@media(min-width:992px){.main-content-wrap{padding:var(--space-8) var(--content-padding-x-desktop)}}.tool-list-page{display:grid;grid-template-columns:220px 1fr;gap:var(--space-8);min-height:60vh;width:100%;max-width:100%}@media(max-width:767px){.tool-list-page{grid-template-columns:1fr}.tool-list-sidebar{position:static;top:auto}}.tool-list-sidebar{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);height:fit-content;position:sticky;top:calc(var(--nav-height-desktop) + var(--space-4))}.tool-list-back{font-size:var(--text-footnote);color:var(--color-primary);transition:opacity var(--transition-fast)}.tool-list-back:hover{text-decoration:none;opacity:.85}.tool-list-nav{display:flex;flex-direction:column;gap:2px}.tool-list-nav-item{padding:var(--space-2) var(--space-3);font-size:var(--text-subhead);color:var(--color-label-secondary);background:transparent;border-radius:var(--radius-m);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.tool-list-nav-item:hover{background:var(--color-fill-hover);color:var(--color-label);text-decoration:none}.tool-list-nav-item.is-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600;border-left:3px solid var(--color-primary);padding-left:calc(var(--space-3) - 3px)}.tool-list-main{min-width:0}.tool-list-title{margin:0 0 var(--space-4)}.tool-list-empty{padding:var(--space-6);color:var(--color-label-tertiary)}.tool-list-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tool-list-link{display:inline-block;padding:var(--space-2) var(--space-3);font-size:var(--text-subhead);color:var(--color-primary);text-decoration:none;border-radius:var(--radius-m);transition:color var(--transition-fast),background var(--transition-fast)}.tool-list-link:hover{text-decoration:none;color:var(--color-primary-hover);background:var(--color-fill-hover)}.tool-list-link-desc{display:block;margin-left:0;margin-top:var(--space-1);font-size:var(--text-caption);color:var(--color-label-tertiary)}.tool-list-highlight{background:var(--color-primary-light);color:inherit;border-radius:4px;padding:0 2px}.json-tree-view{background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-sm)}.json-tree-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-separator);background:var(--color-bg-secondary)}.json-tree-view-title{font-size:var(--text-subhead);font-weight:600}.json-tree-view-close{padding:var(--space-1) var(--space-2);font-size:var(--text-caption);color:var(--color-label-tertiary);background:transparent;border:none;border-radius:var(--radius-s)}.json-tree-view-close:hover{color:var(--color-label);background:var(--color-fill)}.json-tree-view-body{padding:var(--space-3);max-height:400px;overflow:auto;font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.5}.json-tree-error,.json-tree-placeholder{margin:0;color:var(--color-label-tertiary);font-size:var(--text-footnote)}.json-tree-error{color:var(--color-error)}.json-tree-node,.json-tree-leaf{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-1) 0}.json-tree-toggle{width:20px;padding:0;margin:0;font-size:var(--text-caption);color:var(--color-label-tertiary);background:none;border:none;cursor:pointer;flex-shrink:0}.json-tree-key{color:var(--color-primary);margin-right:var(--space-1)}.json-tree-value{color:var(--color-label-secondary)}.json-tree-bracket{color:var(--color-label-tertiary)}.json-tree-preview{margin-left:var(--space-1);color:var(--color-label-tertiary);font-size:var(--text-caption)}.json-tree-children{width:100%}.tool-panel{display:flex;flex-direction:column;gap:var(--space-5)}.tool-panel-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-fast)}@media(max-width:1199px){.tool-panel-toolbar{row-gap:var(--space-4)}}.tool-panel-toolbar:focus-within{box-shadow:var(--shadow-m),0 0 0 1px var(--color-primary-light);border-color:var(--color-primary)}.tool-panel-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.tool-panel-toolbar-options,.tool-panel-toolbar-actions{margin-left:auto}.tool-panel-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.tool-panel-toolbar-actions>.tool-panel-toolbar-group{flex-basis:100%;justify-content:flex-end}.tool-panel-toolbar-sep{flex-shrink:0;width:1px;height:20px;background:var(--color-separator);align-self:center}@media(max-width:1199px){.tool-panel-toolbar{row-gap:var(--space-4)}.tool-panel-toolbar .tool-panel-toolbar-sep{width:100%;height:1px;min-height:1px;align-self:stretch}.tool-panel-toolbar-actions .tool-panel-toolbar-sep{display:none}.tool-panel-toolbar-actions{row-gap:var(--space-3)}.tool-panel-toolbar-actions>.tool-panel-toolbar-group{min-width:max-content}.tool-panel-toolbar-options{flex-basis:auto;min-width:0}.tool-panel-toolbar-extras{flex-basis:100%;margin-left:0}.tool-panel-toolbar .tool-panel-toolbar-group{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tool-panel-toolbar .tool-panel-toolbar-group::-webkit-scrollbar{height:4px}.tool-panel-toolbar .tool-panel-toolbar-group::-webkit-scrollbar-thumb{background:var(--color-separator);border-radius:2px}}@media(max-width:767px){.tool-panel-toolbar .tool-panel-toolbar-sep{width:100%;height:1px}}.tool-panel-option-label{font-size:var(--text-footnote);font-weight:500;color:var(--color-label-tertiary);white-space:nowrap}.tool-panel-option-mr{margin-right:var(--space-3)}.tool-panel-option-ml{margin-left:var(--space-3)}.tool-panel-mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.tool-panel-ml-2{margin-left:var(--space-2)}.tool-panel-mr-2{margin-right:var(--space-2)}.tool-panel-mb-3{margin-bottom:var(--space-3)}.tool-panel-mt-1{margin-top:var(--space-1)}.tool-panel-mt-2{margin-top:var(--space-2)}.tool-panel-mb-1{margin-bottom:var(--space-1)}.tool-panel-option-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-1)}.tool-panel-option input[type=checkbox],.tool-panel-option input[type=radio]{margin-right:var(--space-1)}.tool-panel-option{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-footnote);color:var(--color-label-secondary);cursor:pointer;white-space:nowrap}.tool-panel-btn-group{display:inline-flex;align-items:stretch;border-radius:var(--radius-m);border:1px solid var(--color-separator);background:var(--color-bg-secondary);overflow:hidden}.tool-panel-btn-group .tool-panel-toolbtn{border-radius:0;border:none;border-right:1px solid var(--color-separator);min-height:36px}.tool-panel-btn-group .tool-panel-toolbtn:last-child{border-right:none}.tool-panel-btn-group .tool-panel-toolbtn.is-active{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.tool-panel-btn-group .tool-panel-toolbtn.is-active:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.tool-panel-toolbtn{padding:var(--space-2) var(--space-3);font-size:var(--text-footnote);font-weight:500;color:var(--color-label-secondary);background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-m);min-height:36px}.tool-panel-toolbtn:hover{background:var(--color-fill-hover);color:var(--color-label)}.tool-panel-toolbtn.primary{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.tool-panel-toolbtn.primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary);border-color:var(--color-primary-hover)}.tool-panel-main{display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}@media(max-width:767px){.tool-panel-main{grid-template-columns:1fr}}.tool-panel-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-fast)}.tool-panel-section:hover{border-color:var(--color-fill-hover)}.tool-panel-section:focus-within{box-shadow:var(--shadow-m),0 0 0 2px var(--color-primary-light);border-color:var(--color-primary)}.tool-panel-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.tool-panel-label{font-size:var(--text-subhead);font-weight:600;color:var(--color-label);letter-spacing:.01em}.tool-panel-stats{font-size:var(--text-caption);color:var(--color-label-tertiary)}.tool-panel-textarea{width:100%;min-height:320px;padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.6;color:var(--color-label);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-m);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.tool-panel-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.tool-panel-textarea.output{background:var(--color-bg);cursor:default}.tool-panel-error{margin:0;font-size:var(--text-footnote);color:var(--color-error)}.tool-panel-out-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.tool-panel-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-subhead);font-weight:500;min-height:40px;color:var(--color-label-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-m)}.tool-panel-btn:hover{background:var(--color-fill-hover);color:var(--color-label)}.tool-panel-btn.primary{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.tool-panel-btn.primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary);border-color:var(--color-primary-hover)}.tool-panel-input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-footnote);color:var(--color-label);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-m)}.tool-panel-input:focus{outline:none;border-color:var(--color-primary)}.tool-panel-input-width-sm{width:80px;min-width:80px}.tool-panel-input-width-md{width:120px;min-width:120px}.tool-panel-input-width-lg{width:200px;min-width:200px}.tool-panel-input-width-xl{width:260px;min-width:260px}.tool-panel-input-width-xxl{width:320px;min-width:320px}.tool-panel-input-width-96{width:96px;min-width:96px}.tool-panel-input-width-140{width:140px;min-width:140px}.tool-panel-input-width-180{width:180px;min-width:180px}.tool-panel-input-width-220{width:220px;min-width:220px}.tool-panel-input-width-280{width:280px;min-width:280px}.tool-panel-section-head-mt,.tool-panel-main-mt,.tool-panel-section-mt,.tool-panel-error-mt{margin-top:var(--space-2)}.tool-panel-section-full-width{grid-column:1 / -1}.json-formatter{display:flex;flex-direction:column;gap:var(--space-5)}.json-formatter-dropdown{position:relative}.json-formatter-dropdown-backdrop{position:fixed;inset:0;z-index:10}.json-formatter-dropdown-menu{position:absolute;top:100%;left:0;z-index:11;margin-top:var(--space-1);min-width:140px;padding:var(--space-1);background:var(--color-bg-elevated);border:1px solid var(--color-separator);border-radius:var(--radius-m);box-shadow:var(--shadow-m)}.json-formatter-dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-footnote);text-align:left;color:var(--color-label);background:none;border:none;border-radius:var(--radius-s)}.json-formatter-dropdown-item:hover{background:var(--color-fill)}.json-formatter-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.json-formatter-main{display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}@media(max-width:767px){.json-formatter-main{grid-template-columns:1fr}}.json-formatter-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-fast)}.json-formatter-section:hover{border-color:var(--color-fill-hover)}.json-formatter-section:focus-within{box-shadow:var(--shadow-m),0 0 0 2px var(--color-primary-light);border-color:var(--color-primary)}.json-formatter-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.json-formatter-label{font-size:var(--text-subhead);font-weight:600;color:var(--color-label);letter-spacing:.01em}.json-formatter-stats{font-size:var(--text-caption);color:var(--color-label-tertiary)}.json-formatter-textarea{width:100%;min-height:420px;padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.6;color:var(--color-label);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-m);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.json-formatter-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.json-formatter-textarea.output{background:var(--color-bg);cursor:default}.json-formatter-error{margin:0;font-size:var(--text-footnote);color:var(--color-error)}.json-formatter-out-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.json-formatter-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-subhead);font-weight:500;min-height:40px;color:var(--color-label-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-m)}.json-formatter-btn:hover{background:var(--color-fill-hover);color:var(--color-label)}.json-formatter-btn.primary{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.json-formatter-btn.primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary);border-color:var(--color-primary-hover)}.json-formatter-tree-wrap{margin-top:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm)}.json-formatter-url-load{display:flex;align-items:center;gap:var(--space-2)}.json-formatter-url-input{width:200px;min-width:160px}.json-formatter-dragover{outline:2px dashed var(--color-primary);outline-offset:-2px;background:var(--color-primary-light)}.json-formatter-drag-hint{font-size:var(--text-caption);color:var(--color-label-tertiary);margin-top:var(--space-1)}.json-diff-result .tool-panel-section-head{margin-bottom:var(--space-2)}.json-diff-lines{margin:0;padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.5;background:var(--color-bg-secondary);border-radius:var(--radius-m);overflow-x:auto;max-height:400px;overflow-y:auto}.json-diff-line{display:flex;gap:var(--space-2);white-space:pre;min-height:1.5em}.json-diff-line-marker{flex-shrink:0;width:1.2em;text-align:center;color:var(--color-label-tertiary)}.json-diff-line-add .json-diff-line-marker{color:var(--color-success)}.json-diff-line-remove .json-diff-line-marker{color:var(--color-error)}.json-diff-line-content{flex:1;word-break:break-all}.json-diff-line-add{background:#34c7591a;color:var(--color-label)}.json-diff-line-remove{background:#ff3b3014;color:var(--color-label)}.json-diff-line-same{color:var(--color-label-secondary)}.regex-tool-pattern-input{min-width:220px}.regex-tool-preset-select{min-width:180px}.regex-flag-check{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-footnote);color:var(--color-label-secondary);margin-left:var(--space-2)}.regex-tool-replace-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.regex-tool-replace-label{font-size:var(--text-footnote);color:var(--color-label-secondary);white-space:nowrap}.regex-tool-replace-input{flex:1}.regex-tool-preview{padding:var(--space-3);border-radius:var(--radius-m);background:var(--color-bg-secondary);border:1px solid var(--color-separator);max-height:260px;overflow:auto}.regex-tool-preview-text{margin:0;font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.6;white-space:pre-wrap;word-break:break-word}.regex-tool-match{background:var(--color-primary-light);color:inherit;padding:0 1px;border-radius:2px}.regex-tool-match-list{margin:var(--space-3) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.regex-tool-match-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--color-bg-secondary)}.regex-tool-match-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.regex-tool-match-index{font-size:var(--text-footnote);font-weight:600;color:var(--color-primary)}.regex-tool-match-code{padding:0 var(--space-2);border-radius:var(--radius-s);background:var(--color-surface);font-size:var(--text-footnote)}.regex-tool-match-meta{font-size:var(--text-caption);color:var(--color-label-tertiary)}.regex-tool-groups{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.regex-tool-group-pill{padding:0 var(--space-2);border-radius:999px;background:var(--color-surface);font-size:var(--text-caption);color:var(--color-label-secondary)}.regex-tool-summary{margin-top:var(--space-3);font-size:var(--text-footnote);color:var(--color-label-secondary)}.regex-tool-preset-panel{margin-top:var(--space-4)}.regex-tool-preset-list{list-style:none;margin:var(--space-1) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.regex-tool-preset-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--color-bg-secondary)}.regex-tool-preset-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.regex-tool-preset-title{font-size:var(--text-subhead);font-weight:600;color:var(--color-label)}.regex-tool-preset-desc{margin:0 0 var(--space-1);font-size:var(--text-caption);color:var(--color-label-secondary)}.regex-tool-preset-pattern{font-family:var(--font-mono);font-size:var(--text-footnote);color:var(--color-primary)}.regex-tool-preset-example{margin:var(--space-1) 0 0;font-size:var(--text-caption);color:var(--color-label-tertiary)}.asymmetric-crypto-input{display:flex;flex-direction:column;gap:var(--space-4)}.asym-section-title{display:flex;flex-direction:column;gap:var(--space-1)}.asym-section-subtitle{font-size:var(--text-caption);color:var(--color-label-tertiary)}.asym-keys-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}@media(max-width:1024px){.asym-keys-grid{grid-template-columns:1fr}}.asym-key-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-m);border:1px solid var(--color-separator);background:var(--color-bg-secondary)}[data-theme=dark] .asym-key-card{background:#ffffff05}.asym-key-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.asym-input-block{display:flex;flex-direction:column;gap:var(--space-2)}.asym-input-title{display:flex;flex-direction:column;gap:var(--space-1)}.asym-input-hint{font-size:var(--text-caption);color:var(--color-label-tertiary)}.tool-panel-textarea.compact{min-height:160px}.color-picker-panel .color-picker-main{grid-template-columns:1fr;max-width:480px}.color-picker-hex-wrap{display:inline-flex;align-items:center;gap:var(--space-2)}.color-picker-hex-input{width:120px;font-family:var(--font-mono)}.color-picker-native{width:36px;height:36px;padding:0;border:1px solid var(--color-separator);border-radius:var(--radius-m);cursor:pointer;background:transparent}.color-picker-preview-wrap{display:flex;flex-direction:column;gap:var(--space-5)}.color-picker-preview{width:100%;height:120px;border-radius:var(--radius-l);border:1px solid var(--color-separator)}.color-picker-values{display:flex;flex-direction:column;gap:var(--space-4)}.color-picker-row{display:flex;flex-direction:column;gap:var(--space-2)}.color-picker-copy-row{display:flex;align-items:center;gap:var(--space-2)}.color-picker-copy-row code{font-family:var(--font-mono);font-size:var(--text-footnote);color:var(--color-label-secondary);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-s)}.color-picker-sliders{display:flex;flex-direction:column;gap:var(--space-2)}.color-picker-sliders label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-footnote);color:var(--color-label-secondary)}.color-picker-sliders input[type=range]{flex:1;min-width:0}.code-format-diff-wrap{margin-top:var(--space-3);border:1px solid var(--color-separator);border-radius:var(--radius-m);overflow:hidden;background:var(--color-bg-secondary)}.code-format-diff-full-width{width:100%;margin-top:var(--space-4)}.code-format-diff-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);font-size:var(--text-footnote);color:var(--color-label-secondary);background:var(--color-surface);border-bottom:1px solid var(--color-separator)}.code-format-diff-lines{margin:0;padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.5;overflow-x:auto;max-height:360px;overflow-y:auto}.code-format-diff-line{display:flex;gap:var(--space-2);white-space:pre;min-height:1.5em}.code-format-diff-line-marker{flex-shrink:0;width:1.2em;text-align:center;color:var(--color-label-tertiary)}.code-format-diff-line-add .code-format-diff-line-marker{color:var(--color-success)}.code-format-diff-line-remove .code-format-diff-line-marker{color:var(--color-error)}.code-format-diff-line-content{flex:1;word-break:break-all}.code-format-diff-line-add{background:#34c7591a;color:var(--color-label)}.code-format-diff-line-remove{background:#ff3b3014;color:var(--color-label)}.code-format-diff-line-same{color:var(--color-label-secondary)}.code-format-hint{font-size:var(--text-caption);color:var(--color-label-tertiary);margin-top:var(--space-1)}.code-format-css-hint{margin-top:var(--space-3);font-size:var(--text-caption);color:var(--color-label-tertiary)}.code-format-url-load{display:flex;align-items:center;gap:var(--space-2)}.code-format-url-input{width:200px;min-width:160px}.code-format-dragover{outline:2px dashed var(--color-primary);outline-offset:-2px;background:var(--color-primary-light)}.code-gen-panel .tool-panel-main{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch}.code-gen-form{display:flex;flex-direction:column;gap:var(--space-4)}.code-gen-field-row{display:flex;flex-direction:column;gap:var(--space-2)}.code-gen-field-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-footnote);color:var(--color-label-secondary)}.code-gen-field-inline{display:flex;align-items:center;gap:var(--space-2)}.code-gen-number-input{max-width:96px}.code-gen-unit{font-size:var(--text-caption);color:var(--color-label-tertiary);white-space:nowrap}.code-gen-color-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.code-gen-color-item{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-footnote);color:var(--color-label-secondary)}.code-gen-color-item input[type=color]{width:40px;height:32px;padding:0;border-radius:var(--radius-m);border:1px solid var(--color-separator);background:transparent}.code-gen-field-grid,.code-gen-radius-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.code-gen-hint{margin:0;font-size:var(--text-caption);color:var(--color-label-tertiary)}.code-gen-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-footnote);color:var(--color-label-secondary)}.code-gen-preview-box{width:100%;min-height:200px;padding:var(--space-5);border-radius:var(--radius-l);border:1px dashed var(--color-separator);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center}.code-gen-preview-target{width:70%;max-width:280px;height:160px;border-radius:inherit;background:var(--color-primary)}.code-gen-css-output{min-height:80px}@media(max-width:767px){.code-gen-panel .tool-panel-main{grid-template-columns:1fr}}.online-editor-editors{display:flex;flex-direction:column;gap:var(--space-4)}.online-editor-editor-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.online-editor-editor-title{font-size:var(--text-footnote);font-weight:500;color:var(--color-label-secondary)}.online-editor-tabs{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.online-editor-textarea{min-height:260px}.online-editor-editor-footer{display:flex;justify-content:flex-end;gap:var(--space-2)}.online-editor-preview-section{display:flex;flex-direction:column;gap:var(--space-3)}.online-editor-preview{border-radius:var(--radius-l);border:1px solid var(--color-separator);background:var(--color-bg-secondary);overflow:hidden;min-height:260px}.online-editor-iframe{width:100%;height:360px;border:none;background:var(--color-bg-elevated)}.online-editor-panel .online-editor-main.view-split{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.online-editor-panel .online-editor-main.view-editor,.online-editor-panel .online-editor-main.view-preview{grid-template-columns:1fr}@media(max-width:1023px){.online-editor-iframe{height:320px}}@media(max-width:767px){.online-editor-panel .online-editor-main{grid-template-columns:1fr}.online-editor-iframe{height:260px}}.image-tool{display:flex;flex-direction:column;gap:var(--space-4)}.image-tool-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm)}.image-tool-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.image-tool-toolbar-actions{margin-left:auto}.image-tool-toolbar-options{margin-left:var(--space-4);gap:var(--space-2)}.image-tool-option-file input[type=file]{max-width:220px}.image-tool-option-url{display:inline-flex;align-items:center;gap:var(--space-2)}.image-tool-url-input{width:260px}.image-tool-select{width:160px}.image-tool-range{width:120px}.image-tool-range-value{font-size:var(--text-caption);color:var(--color-label-tertiary)}.image-tool-file-input{font-size:var(--text-footnote)}.image-tool-hint{margin:0;font-size:var(--text-footnote);color:var(--color-label-tertiary)}.image-tool-main{display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}@media(max-width:767px){.image-tool-main{grid-template-columns:1fr}}.image-tool-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm)}.image-tool-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.image-tool-error{margin-top:0}.image-tool-preview-wrap{position:relative;width:100%;min-height:220px;padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-m);border:1px dashed var(--color-separator);display:flex;align-items:center;justify-content:center}.image-tool-preview{max-width:100%;max-height:400px;border-radius:var(--radius-m);box-shadow:var(--shadow-sm);object-fit:contain}.image-tool-preview-placeholder{font-size:var(--text-footnote);color:var(--color-label-tertiary);text-align:center}.image-tool-controls{display:flex;flex-direction:column;gap:var(--space-3)}.image-tool-control-row{display:flex;flex-direction:column;gap:var(--space-2)}.image-tool-size-inputs,.image-tool-crop-inputs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.image-tool-size-inputs label,.image-tool-crop-inputs label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-footnote);color:var(--color-label-secondary)}.image-tool-size-sep{font-size:var(--text-title);color:var(--color-label-tertiary)}.image-tool-checkbox{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-footnote);color:var(--color-label-secondary)}.image-tool-filters-row{gap:var(--space-2)}.image-tool-watermark{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.image-tool-watermark-input{max-width:280px}.image-tool-watermark-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-footnote);color:var(--color-label-secondary)}.image-tool-watermark-row .tool-panel-option-label{min-width:3em}.image-tool-watermark-position{flex-wrap:wrap}.image-tool-watermark-opacity{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-footnote);color:var(--color-label-secondary)}.tool-detail-page{min-height:60vh;width:100%}.tool-detail-inner{max-width:100%}.tool-detail-title{margin:0 0 var(--space-4)}.tool-detail-desc{margin:0 0 var(--space-3);line-height:1.4}.tool-detail-placeholder{padding:var(--space-10) var(--space-6);background:var(--color-bg-secondary);border:1px dashed var(--color-separator);border-radius:var(--radius-l);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.tool-detail-placeholder:hover{border-color:var(--color-label-tertiary);background:var(--color-bg-tertiary)}.tool-detail-placeholder-icon{display:block;font-size:48px;line-height:1;margin-bottom:var(--space-4);opacity:.9}.tool-detail-placeholder-title{margin:0 0 var(--space-2);font-size:var(--text-headline);font-weight:600;color:var(--color-label)}.tool-detail-placeholder-desc{margin:0 0 var(--space-6);font-size:var(--text-body);line-height:var(--line-relaxed);color:var(--color-label-secondary)}.tool-detail-placeholder-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.tool-detail-placeholder-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-5);font-size:var(--text-subhead);font-weight:500;border-radius:var(--radius-m);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.tool-detail-placeholder-btn:hover{text-decoration:none}.tool-detail-placeholder-btn:active{transform:scale(.98)}.tool-detail-placeholder-btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.tool-detail-placeholder-btn-primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.tool-detail-placeholder-btn:not(.tool-detail-placeholder-btn-primary){background:var(--color-surface);color:var(--color-label-secondary);border:1px solid var(--color-separator)}.tool-detail-placeholder-btn:not(.tool-detail-placeholder-btn-primary):hover{background:var(--color-fill);color:var(--color-label)}.tool-detail-back{display:inline-block;margin-top:var(--space-4);font-size:var(--text-subhead);color:var(--color-primary)}.profile-page{min-height:60vh;width:100%}.profile-inner{max-width:100%}.profile-title{margin:0 0 var(--space-4)}.profile-section{margin-top:0;padding:var(--space-6);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm)}.profile-section:not(:first-of-type){margin-top:var(--space-4)}.profile-section-title{margin:0 0 var(--space-3);font-size:var(--text-headline);font-weight:600;color:var(--color-label)}.profile-section-desc{margin:0;font-size:var(--text-footnote);line-height:var(--line-relaxed);color:var(--color-label-tertiary)}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.profile-section-head .profile-section-title{margin:0}.profile-clear-btn{flex-shrink:0}.profile-empty{margin:0;font-size:var(--text-footnote);color:var(--color-label-tertiary)}.profile-tool-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.profile-tool-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-separator);border-radius:var(--radius-m)}.profile-tool-link{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);font-size:var(--text-callout);color:var(--color-primary);text-decoration:none}.profile-tool-link:hover{text-decoration:underline}.profile-tool-name{font-weight:500}.profile-tool-summary{font-size:var(--text-footnote);font-weight:400;color:var(--color-label-tertiary)}.profile-tool-action{flex-shrink:0;font-size:var(--text-footnote)}.profile-setting{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.profile-setting:first-of-type{margin-top:0}.profile-setting-label{flex:0 0 120px;font-size:var(--text-callout);font-weight:500;color:var(--color-label-secondary)}.profile-setting-control{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.profile-select{padding:var(--space-2) var(--space-3);font-size:var(--text-callout);font-family:inherit;color:var(--color-label);background:var(--color-bg-elevated);border:1px solid var(--color-separator);border-radius:var(--radius-m);cursor:pointer}.profile-select:hover,.profile-select:focus{border-color:var(--color-primary);outline:none}@media(max-width:767px){.profile-setting-label{flex:0 0 100%}}.help-page{min-height:60vh;width:100%}.help-inner{max-width:720px}.help-title{margin:0 0 var(--space-4)}.help-section{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-bg-secondary);border:1px solid var(--color-separator);border-radius:var(--radius-l);box-shadow:var(--shadow-sm)}.help-section-title{margin:0 0 var(--space-4);font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.help-guide-steps{margin:0;padding-left:var(--space-5)}.help-guide-step{margin-top:var(--space-3);line-height:1.6;color:var(--color-text-secondary)}.help-guide-step:first-child{margin-top:0}.help-faq-list{margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.help-faq-item{margin:0}.help-faq-q{margin:0;font-weight:600;font-size:.9375rem;color:var(--color-text-primary)}.help-faq-a{margin:var(--space-2) 0 0;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.help-shortcuts-hint{margin:0 0 var(--space-2);color:var(--color-text-secondary)}.help-shortcuts-detail{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.help-shortcuts-detail .kbd{display:inline-block;padding:2px 6px;font-family:var(--font-mono);font-size:.8125rem;background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-s)}.help-contact-desc{margin:0 0 var(--space-4);color:var(--color-text-secondary)}.help-contact-link{display:inline-block;text-decoration:none}.help-back{margin-top:var(--space-8);margin-bottom:0}.help-back-link{color:var(--color-primary);text-decoration:none}.help-back-link:hover{text-decoration:underline}
