:root{color-scheme:light;font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#eef3f2;color:#1d2728;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #1d2728;--muted: #637171;--paper: #fbfefd;--wash: #dfe9e6;--line: #c7d4d0;--rail: #234043;--teal: #4d8d8c;--teal-soft: #d8eeea;--amber: #b98534;--amber-soft: #f4e3bf;--red: #a34a3d;--red-soft: #f3d8d3;--shadow: 0 22px 58px rgba(29, 39, 40, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(35,64,67,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(35,64,67,.05) 1px,transparent 1px),#eef3f2;background-size:38px 38px;color:var(--ink)}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:14px clamp(16px,3vw,34px);border-bottom:1px solid rgba(199,212,208,.92);background:#eef3f2f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid #1d2728;border-radius:8px;background:var(--paper);color:var(--rail);box-shadow:4px 4px #9dc9c2}.topbar nav{display:flex;justify-content:center;gap:clamp(12px,2vw,28px);color:#405052;font-size:.93rem}.topbar nav a,footer a,.text-link{text-decoration:none}.topbar nav a:hover,footer a,.text-link{color:var(--rail);font-weight:850}.top-controls,.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.segmented{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fbfefdeb}.segmented-icon{display:grid;width:24px;height:24px;place-items:center;color:var(--muted)}.segmented button{min-width:34px;min-height:28px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:850}.segmented button.active{background:var(--rail);color:#fbfefd}.workspace{width:min(1580px,100%);margin:0 auto;padding:clamp(22px,3vw,42px)}.intro{display:grid;grid-template-columns:minmax(0,.82fr) minmax(280px,.42fr);gap:22px;align-items:end;margin-bottom:18px}.intro>p:first-child{grid-column:1 / -1;margin:0 0 8px;color:var(--rail);font-size:.86rem;font-weight:900;text-transform:uppercase}.intro h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.05rem,4.2vw,4.35rem);font-weight:700;line-height:.98;letter-spacing:0;text-wrap:pretty}.intro>p:not(:first-child){max-width:790px;margin:0;color:#4b5a5b;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65}.default-note{font-weight:850;color:var(--rail)!important}.status-card{grid-column:2;grid-row:2 / span 2;display:grid;gap:10px;align-content:center;min-height:220px;padding:clamp(18px,2.4vw,30px);border:1px solid #1d2728;border-radius:8px;background:var(--paper);box-shadow:8px 8px #9dc9c2}.status-card span{width:fit-content;padding:6px 10px;border-radius:999px;background:var(--teal-soft);color:#24514e;font-size:.76rem;font-weight:900;text-transform:uppercase}.status-card.tight span{background:var(--amber-soft);color:#714b14}.status-card.fail span{background:var(--red-soft);color:#73291f}.status-card strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,4vw,4.2rem);line-height:1;letter-spacing:0}.status-card p{margin:0;color:#536264;line-height:1.55}.planner-grid,.support-grid,.content-grid{display:grid;gap:16px}.planner-grid{grid-template-columns:minmax(320px,.8fr) minmax(320px,.8fr) minmax(320px,.7fr)}.support-grid{grid-template-columns:minmax(400px,1fr) minmax(360px,.9fr) minmax(320px,.72fr);margin-top:16px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fbfefdf2;box-shadow:var(--shadow)}.input-panel,.result-panel,.diagram-panel,.support-grid .panel,.content-grid .panel{padding:clamp(18px,2vw,26px)}.panel-heading{display:flex;gap:12px;align-items:center;margin-bottom:18px}.panel-heading>svg{flex:0 0 auto;color:var(--rail)}.panel-heading p{margin:0 0 3px;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.panel-heading h2{margin:0;font-size:clamp(1.12rem,1.5vw,1.45rem);line-height:1.1;letter-spacing:0}.preset-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}.preset-row button,.actions button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:#f5fbf9;color:#394b4d;font-size:.88rem;font-weight:850}.preset-row button.selected,.actions button:hover{border-color:#1d2728;background:var(--rail);color:#fbfefd}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-grid.compact{gap:10px}.field{display:grid;gap:6px;min-width:0}.field span{color:#35484a;font-size:.84rem;font-weight:850}.field input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:10px 11px;outline:none}.field input:focus{border-color:var(--rail);box-shadow:0 0 0 3px #2340431f}.field small{min-height:1.2em;color:var(--muted);font-size:.76rem}.metric-stack{display:grid;gap:8px}.metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(199,212,208,.85)}.metric span{color:var(--muted);font-size:.86rem;font-weight:800}.metric strong{text-align:right;font-size:1.02rem}.metric.featured{grid-template-columns:1fr;margin:4px 0 8px;padding:16px;border:1px solid #234043;border-radius:8px;background:var(--teal-soft)}.result-panel.tight .metric.featured{background:var(--amber-soft)}.result-panel.fail .metric.featured{background:var(--red-soft)}.metric.featured strong{text-align:left;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,3.1rem)}.actions{justify-content:flex-start;margin-top:16px}.mirror-diagram{display:block;width:100%;height:auto}.mirror{fill:#e9f4f3;stroke:#234043;stroke-width:3}.dim{stroke:#234043;stroke-width:2}.clip-dot{fill:#b98534;stroke:#234043;stroke-width:3}.mirror-diagram text{fill:#234043;font-size:15px;font-weight:900}.mark-list,.check-list{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.check-list{margin-top:0}.mark-list li,.check-list li{position:relative;padding-left:22px;color:#46595b;line-height:1.55}.mark-list li:before,.check-list li:before{position:absolute;top:.63em;left:0;width:8px;height:8px;border-radius:50%;background:var(--teal);content:""}.mark-list li.tight:before{background:var(--amber)}.mark-list li.fail:before{background:var(--red)}.combo-panel{padding:0;overflow:hidden}.combo-panel .panel-heading{padding:22px 22px 0}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;min-width:560px;border-collapse:collapse}th,td{padding:12px 14px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#e7f0ee;color:#4f5e60;font-size:.78rem;text-transform:uppercase}.static-page{display:grid;min-height:100vh;place-items:center;padding:clamp(18px,4vw,44px)}.static-page main{width:min(760px,100%);padding:clamp(22px,4vw,44px);border:1px solid var(--line);border-radius:8px;background:#fbfefdf5;box-shadow:var(--shadow)}.static-page h1{margin:18px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:0}.static-page p{color:#4b5a5b;font-size:1rem;line-height:1.7}footer{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:24px clamp(16px,3vw,42px) 34px;color:#5b6a6c;font-size:.9rem}footer p{max-width:820px;margin:0}footer div{display:flex;gap:16px}@media(max-width:1180px){.planner-grid,.support-grid{grid-template-columns:1fr 1fr}.result-panel,.diagram-panel{grid-column:1 / -1}}@media(max-width:860px){.topbar{position:static;grid-template-columns:1fr;gap:12px}.topbar nav{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.top-controls{justify-content:flex-start}.intro,.planner-grid,.support-grid,.content-grid{grid-template-columns:1fr}.intro h1,.status-card,.intro>p:first-child,.result-panel,.diagram-panel{grid-column:auto;grid-row:auto}.status-card{min-height:0}}@media(max-width:560px){.workspace{padding-inline:14px}.field-grid,.preset-row{grid-template-columns:1fr}.panel-heading{align-items:flex-start}.metric{grid-template-columns:1fr;gap:4px}.metric strong{text-align:left}}@media print{.topbar,.actions,footer{display:none}body{background:#fff}.workspace{padding:0}.panel,.status-card{box-shadow:none;break-inside:avoid}}
