:where(:root){--color-bg-page: #faf7f2;--color-bg-surface: #fdfbf7;--color-bg-sunken: #f4eee4;--color-bg-card: #ffffff;--color-text-primary: #26313b;--color-text-muted: #5e6b77;--color-text-on-accent: #ffffff;--color-border-default: #d9c69a;--color-accent-default: #243d5a;--color-accent-strong: #172a3f;--color-highlight-default: #6f5413;--color-feedback-danger: #c2410c;--color-feedback-success: #4d7c5f;--color-focus-ring: #243d5a;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-pill: 9999px}:where([data-surface=dashboard]){--color-bg-sunken: #f5f1ea;--color-text-muted: #64748b;--color-border-default: #e7e5e4;--color-accent-default: #2563eb;--color-accent-strong: #1e40af;--color-focus-ring: #2563eb}:where([data-surface=dashboard][data-theme=dark]){--color-bg-page: #1c1f23;--color-bg-surface: #23272c;--color-bg-sunken: #191c20;--color-bg-card: #2a2f35;--color-text-primary: #f5f1ea;--color-text-muted: #a3a8b0;--color-text-on-accent: #1c1f23;--color-border-default: #3a4048;--color-accent-default: #8db4f8;--color-accent-strong: #a9cbff;--color-highlight-default: #d9a44f;--color-feedback-danger: #e07a4a;--color-feedback-success: #9dbfa4;--color-focus-ring: #8db4f8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:var(--text-base);line-height:var(--leading, 1.5);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}html.js:not(.fonts-loaded) body{visibility:hidden}:root{color-scheme:light;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--leading: 1.5;--surface: #faf7f2;--surface-raised: #f4eee4;--border: #e2ddd0;--border-strong: #8f8670;--border-focus: #836816;--text: #211d14;--text-secondary: #57503f;--text-muted: #6f6a5b;--accent: #C9A227;--accent-hover: #A5841D;--accent-deep: #836816;--danger: #b3261e;--danger-light: #8c1d18;--danger-bg: #fdf3f2;--danger-border: #efc9c4;--warning-bg: #fdf7e7;--warning-border: #d99a26;--warning-text: #7a5210;--success-bg: #eef7ee;--success-border: #4f9e6b;--success-text: #1f5c38;--radius: 6px;--radius-lg: 8px}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.tool-page{max-width:800px;margin:0 auto;padding:var(--sp-8) var(--sp-4)}.tool-page--wide{max-width:1100px}.tool-page--narrow{max-width:560px}.tool-page--login{max-width:400px;margin-top:var(--sp-12)}.tool-h1{font-size:var(--text-xl);font-weight:700;color:var(--text);line-height:1.2;margin:0 0 var(--sp-6)}.tool-h2{font-size:var(--text-lg);font-weight:600;color:var(--text);line-height:1.3;margin:0 0 var(--sp-4)}.tool-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin:0 0 var(--sp-6);line-height:var(--leading)}.tool-nav{margin-bottom:var(--sp-6);font-size:var(--text-sm)}.tool-nav a{color:var(--accent-deep);text-decoration:none}.tool-nav a:hover{text-decoration:underline}.tool-field{margin-bottom:var(--sp-4)}.tool-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--sp-1)}.tool-input,.tool-select,.tool-textarea{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:1rem;min-height:44px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.tool-textarea{font-family:inherit;resize:vertical}.tool-input:focus,.tool-select:focus,.tool-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #83681626;outline:none}.tool-error-msg{color:var(--danger);font-size:var(--text-xs);margin:var(--sp-1) 0 0}.tool-hint{color:var(--text-muted);font-size:var(--text-sm);margin:var(--sp-1) 0 0}.tool-section{margin-bottom:var(--sp-6)}.tool-legend{font-weight:600;font-size:var(--text-base);margin-bottom:var(--sp-3)}.tool-fieldset{border:none;padding:0;margin:0 0 var(--sp-6)}.tool-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);background:var(--accent);color:#09090b;border:1px solid var(--accent-deep);border-radius:var(--radius);font-size:var(--text-sm);font-weight:600;cursor:pointer;min-height:44px;min-width:44px;line-height:1;text-decoration:none;transition:background .15s}.tool-btn-primary:hover{background:var(--accent-hover)}.tool-btn-primary:active{transform:translateY(1px)}.tool-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:44px;min-width:44px;line-height:1;text-decoration:none;transition:background .15s}.tool-btn-secondary:hover{background:var(--surface-raised)}.tool-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);background:var(--surface);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius);font-size:var(--text-xs);font-weight:600;cursor:pointer;min-height:36px;min-width:36px;line-height:1;text-decoration:none;transition:background .15s}.tool-btn-danger:hover{background:var(--danger-bg)}.tool-btn-sm{min-height:36px;min-width:36px;padding:var(--sp-1) var(--sp-3);font-size:var(--text-xs)}[role=alert],[role=status]{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);margin-bottom:var(--sp-4);font-size:var(--text-sm);line-height:var(--leading)}.alert-error{background:var(--danger-bg);border-left:3px solid var(--danger);color:var(--danger-light)}.alert-warning{background:var(--warning-bg);border-left:3px solid var(--warning-border);color:var(--warning-text)}.alert-success{background:var(--success-bg);border-left:3px solid var(--success-border);color:var(--success-text)}.tool-table-wrap{overflow-x:auto;margin-bottom:var(--sp-4)}.tool-table{width:100%;border-collapse:collapse}.tool-table th{padding:var(--sp-3) var(--sp-4);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border)}.tool-table td{padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border)}.tool-table td code{font-size:var(--text-xs);background:var(--surface-raised);padding:.125rem .375rem;border-radius:3px}.tool-table tr:hover td{background:var(--surface-raised)}.tool-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6)}.tool-card+.tool-card{margin-top:var(--sp-4)}.tool-card-link{display:block;padding:var(--sp-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:background .15s}.tool-card-link:hover{background:#efebe0}.tool-card-link-title{font-weight:600;font-size:var(--text-base);margin-bottom:var(--sp-1)}.tool-card-link-desc{font-weight:400;font-size:var(--text-sm);color:var(--text-muted)}.badge{display:inline-block;padding:var(--sp-1) var(--sp-3);border-radius:9999px;font-size:var(--text-xs);font-weight:600;line-height:1.4;white-space:nowrap}.badge--gray{background:#efece3;color:#3f3a2e}.badge--yellow{background:#fdf7e0;color:#8a5a0e}.badge--blue{background:#e4e8f4;color:#27406e}.badge--teal{background:#dff0ec;color:#14574d}.badge--green{background:#e3f1e3;color:#1f5c38}.badge--red{background:#fbeaea;color:#8c1d18}.tool-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-5);font-size:var(--text-sm)}.tool-dl dt{font-weight:500;color:var(--text-secondary)}.tool-dl dd{margin:0;color:var(--text)}
