.generator__layout{gap:var(--space-6);grid-template-columns:minmax(280px,360px) 1fr;align-items:start;display:grid}@media (width<=900px){.generator__layout{grid-template-columns:1fr}}.generator__form{gap:var(--space-4);flex-direction:column;display:flex}.fieldset{padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:var(--space-3);margin:0;display:grid}.fieldset legend{padding:0 var(--space-1);font-weight:600}.field{gap:var(--space-1);flex-direction:column;display:flex}.field--inline{align-items:center;gap:var(--space-2);flex-direction:row}.field__label{font-size:var(--text-sm);color:var(--color-text-muted)}.field input[type=number],.field input[type=text],.field select{min-height:var(--touch-target);padding:0 var(--space-3);font:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.field input[aria-invalid=true]{border-color:var(--color-error)}.field__error{font-size:var(--text-sm);color:var(--color-error)}.overrides{gap:var(--space-2);display:grid}.override{align-items:center;gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:1fr 110px;display:grid}.override input{min-height:36px;padding:0 var(--space-2);font:inherit;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.presets{gap:var(--space-2);display:grid}.preset{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);font:inherit;text-align:left;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:flex}.preset--active{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.button{min-height:var(--touch-target);padding:0 var(--space-4);font:inherit;color:var(--color-accent-text);background:var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;font-weight:600}.button--secondary{color:var(--color-accent);border-color:var(--color-accent);background:0 0}.button:disabled{opacity:.5;cursor:not-allowed}.generator__results{gap:var(--space-3);min-width:0;display:grid}.results__bar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.results__count{font-size:var(--text-lg);margin:0}.results__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.results__gate{padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-warning);background:var(--color-surface);margin:0}.results__note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.vtable{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);overflow:auto}.vtable__header,.vtable__row{box-sizing:border-box;grid-template-columns:64px 1.6fr 1fr 1fr 1fr 1fr 1fr;align-items:center;width:100%;display:grid}.vtable__header{z-index:1;background:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:32px;font-weight:600;position:sticky;top:0}.vtable__row{border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent)}.vtable__row--highlight{background:color-mix(in srgb, var(--color-warning) 22%, transparent)}.vtable__cell{padding:0 var(--space-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checks{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.checks__title{margin:0 0 var(--space-2);font-size:var(--text-md)}.checks__counts{color:var(--color-text-muted);font-weight:400;font-size:var(--text-sm)}.checks__ok{color:var(--color-success);margin:0}.checks__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.check{padding-left:var(--space-3);border-left:3px solid var(--color-border)}.check--error{border-color:var(--color-error)}.check--warning{border-color:var(--color-warning)}.check--info{border-color:var(--color-info)}.check__severity{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.check__rows{gap:var(--space-1);margin-left:var(--space-2);flex-wrap:wrap;display:inline-flex}.check__row-link{font:inherit;font-size:var(--text-sm);color:var(--color-accent);padding:var(--space-1);cursor:pointer;background:0 0;border:none;text-decoration:underline}.field__note{font-size:var(--text-sm);color:var(--color-text-muted)}:root{--color-bg:#f7f7f5;--color-surface:#fff;--color-text:#1c1c1a;--color-text-muted:#5f5f5a;--color-border:#d9d9d4;--color-accent:#1f5fbf;--color-accent-text:#fff;--color-error:#b3261e;--color-warning:#9a6700;--color-info:#1f5fbf;--color-success:#1a7f37;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:4px;--radius-md:8px;--touch-target:44px;--shadow-sm:0 1px 2px #00000014}@media (prefers-color-scheme:dark){:root{--color-bg:#15161a;--color-surface:#1f2026;--color-text:#ececea;--color-text-muted:#a7a7a2;--color-border:#34353c;--color-accent:#7aa7ee;--color-accent-text:#0e1420}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:1.45}a{color:var(--color-accent)}.shell{flex-direction:column;min-height:100vh;display:flex}.shell__header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.shell__brand{color:var(--color-text);font-weight:700;text-decoration:none}.shell__nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.shell__link{min-height:var(--touch-target);border-radius:var(--radius-sm);color:var(--color-text-muted);align-items:center;padding:0 6px;text-decoration:none;display:inline-flex}.shell__link.active{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.shell__main{width:100%;max-width:1200px;padding:var(--space-6) var(--space-4);flex:1;margin:0 auto}.shell__footer{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);border-top:1px solid var(--color-border)}.page__title{margin:0 0 var(--space-2);font-size:var(--text-xl)}.page__lead{margin:0 0 var(--space-6);color:var(--color-text-muted)}.tool-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.tool-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;box-shadow:var(--shadow-sm);text-decoration:none;display:block}.tool-card h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.tool-card p{color:var(--color-text-muted);margin:0}.shell__auth{margin-left:auto}.modal{z-index:50;padding:var(--space-4);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.modal__box{width:100%;max-width:480px;max-height:90vh;padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);gap:var(--space-3);display:grid;overflow:auto}.notice-banner{gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);align-items:center;display:flex}.legal{max-width:720px}.legal__draft{padding:var(--space-2) var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md);font-size:var(--text-sm)}.layouts__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.layouts__item{gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.layouts__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.button--active{outline:2px solid var(--color-accent)}.home__scheme,.home__about{margin-top:var(--space-6);max-width:44rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell__guide{font:inherit;cursor:pointer;background:0 0;border:0}
