.face-tool{margin-bottom:52px}.face-tool [hidden]{display:none!important}.face-workbench{grid-template-columns:minmax(360px,.96fr) minmax(0,1.04fr);align-items:start;gap:22px;display:grid}.face-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;margin-bottom:22px;padding:24px}.face-card h2{margin-top:0}.face-inputs h2:not(:first-child){border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.face-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.face-tool label{margin-bottom:6px;font-weight:750;display:block}.face-tool :is(input,select,textarea){border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:10px 12px}.face-tool textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.5}.face-tool :is(button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.face-tool small,.face-help{color:var(--muted);margin-top:7px;font-size:.87rem;display:block}.face-presets,.face-actions{flex-wrap:wrap;gap:9px;margin:12px 0 16px;display:flex}.face-tool button{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:7px;padding:9px 13px;font-weight:700}.face-tool button.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.face-status{min-height:1.4em;color:var(--success);margin:12px 0 0;font-size:.88rem}.face-error{color:var(--danger);border-left:3px solid var(--danger);background:#fff0f0;margin:14px 0;padding:12px 14px}.face-results h2{font-size:clamp(1.45rem,3vw,2rem)}.face-summary{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.face-summary>div{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;min-width:0;padding:12px}.face-summary dt{color:var(--muted);font-size:.8rem}.face-summary dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:780}.face-diagram{aspect-ratio:700/500;border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;width:100%;display:block}.face-frame-shape{fill:#cbd5e1;stroke:#475569;stroke-width:1.5px}.face-opening-shape{fill:#fff;stroke:#64748b;stroke-width:1.2px}.face-front-shape{fill:#0b6bcb14;stroke:#b4232f;stroke-width:2px;stroke-dasharray:7 4}.face-svg-label{fill:#334155;text-anchor:middle;font:650 12px system-ui,sans-serif}.face-svg-dimension{fill:#5b6677;text-anchor:middle;font:600 11px system-ui,sans-serif}.face-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:.82rem;display:flex}.face-legend span{align-items:center;gap:6px;display:inline-flex}.face-legend i{width:24px;height:12px;display:inline-block}.frame-swatch{background:#cbd5e1;border:1px solid #475569}.front-swatch{background:#0b6bcb14;border:2px dashed #b4232f}.face-scroll{border:1px solid var(--line);border-radius:8px;overflow:auto}.face-tool table{border-collapse:collapse;width:100%;min-width:720px;font-size:.88rem}.face-tool th,.face-tool td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px}.face-tool th{background:var(--surface-soft);color:var(--muted)}.face-tool td{font-variant-numeric:tabular-nums}.face-tool tfoot th,.face-tool tfoot td{color:var(--ink);font-weight:780}.face-checks{background:#fffaf2;border-left:4px solid #b45309}.face-checks ul{margin-bottom:0;padding-left:20px}.face-checks li{margin:7px 0}.face-privacy{text-align:center;color:var(--muted);font-size:.87rem}.face-guide>section{margin-bottom:38px}.face-boundary{background:#fff7ed;border-left:4px solid #b45309;padding:20px 22px}@media (width<=920px){.face-workbench{grid-template-columns:1fr}}@media (width<=620px){.face-grid,.face-summary{grid-template-columns:1fr}.face-card{padding:17px}}@media print{.site-header,.site-footer,.breadcrumb,.page-intro,.face-inputs,.face-actions,.face-privacy,.face-guide{display:none!important}.face-workbench{display:block}.face-card{break-inside:avoid;border:0;margin:0;padding:6mm 0;display:block!important}.face-diagram{width:145mm;margin:0 auto}.face-scroll{overflow:visible}.face-tool table{min-width:0;font-size:8pt}}
