.fit-intro { max-width: 780px; margin: 0 0 24px; }
.fit-intro h1 { font-size: clamp(1.9rem, 4vw, 2.5rem); margin: 5px 0 8px; }
.fit-intro p { max-width: 70ch; }
.fit-app { border: 1px solid var(--line); border-radius: 20px; background: var(--white); padding: 22px; margin-bottom: 32px; }
.fit-tabs, .fit-examples, .fit-actions, .fit-view-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fit-tabs button, .fit-examples button, .fit-view-controls button { font: inherit; cursor: pointer; border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; background: var(--paper); color: var(--ink); }
.fit-tabs button[aria-pressed="true"] { color: #fff; background: #405c4c; border-color: #405c4c; }
.fit-examples { margin: 16px 0; font-size: .86rem; display: block; }
.fit-examples > div { display:flex; flex-wrap:wrap; gap:8px; }
.fit-layout { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: 24px; align-items: start; }
.fit-form { min-width: 0; }
.fit-form fieldset { border: 0; padding: 0; margin: 14px 0 18px; }
.fit-form legend { padding: 0; margin: 0 0 9px; font-weight: 700; }
.fit-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fit-form label { display: flex; flex-direction: column; gap: 5px; font-size: .88rem; margin-bottom: 9px; }
.fit-form label.fit-toggle, .fit-view-controls label { flex-direction: row; align-items: center; gap: 7px; }
.fit-form input[type="number"], .fit-form select { width: 100%; min-width: 0; min-height: 46px; padding: 8px 10px; border: 1px solid #b6b0a7; border-radius: 7px; font-size: 16px; background: #fff; color: var(--ink); box-sizing: border-box; }
.fit-form input:focus-visible, .fit-form select:focus-visible, .fit-app button:focus-visible { outline: 3px solid #8baf98; outline-offset: 2px; }
.fit-form .fit-note, .fit-note, #fit-scene-status { font-size: .85rem; line-height: 1.5; color: var(--ink-soft); }
.fit-form details { border-top: 1px solid var(--line); margin: 12px 0; padding-top: 10px; }
.fit-form summary, #fit-result summary { cursor: pointer; min-height:44px; padding:8px 0; font-weight: 600; font-size:14px; }
.fit-form summary small { display:block; font-weight:400; color:var(--ink-soft); }
.fit-form details:not([open]) > :not(summary){display:none}
.fit-visual { min-width: 0; }
#fit-scene { width: 100%; height: clamp(260px, 30vw, 360px); background: #f4f0e8; border-radius: 14px; overflow: hidden; touch-action: pan-y; }
#fit-scene canvas { display: block; width: 100%; height: 100%; }
#fit-scene[data-unavailable] { display: none; }
.fit-view-controls { font-size: .8rem; margin: 8px 0; justify-content: space-between; }
#fit-scene-status { margin: 8px 0 14px; }
#fit-errors { border: 1px solid #b24e35; padding: 16px; border-radius: 12px; background: #fff1eb; color: #7e2e1e; }
#fit-result { border-left: 4px solid #758c72; padding: 14px 18px; background: #f1f5ef; border-radius: 0 12px 12px 0; }
#fit-result[data-status="tight"], #fit-result[data-status="outside"] { border-color: #b35e38; background: #fff3e8; }
#fit-verdict { font: 600 1.4rem/1.3 var(--display); margin: 0 0 8px; }
#fit-explanation { font-size: .94rem; margin: 0 0 14px; }
.fit-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.fit-metrics dt { font-size: .82rem; color: var(--ink-soft); }
.fit-metrics dd { font: 600 1.6rem var(--display); margin: 2px 0; }
.fit-metrics small { color: var(--ink-soft); }
.fit-checks { padding-left: 0; list-style: none; font-size: .9rem; }
.fit-checks li { margin: 6px 0; }
.fit-table-wrap { overflow-x: auto; }
.fit-table-wrap table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.fit-table-wrap th, .fit-table-wrap td { text-align: left; border-bottom: 1px solid #d7d7cb; padding: 8px 6px; }
.fit-table-wrap caption { text-align: left; font-weight: 700; padding: 10px 0; }
.fit-actions { margin-top: 20px; }
.fit-preview { margin-top:24px; }.fit-preview h3{font:600 16px var(--body);margin:0 0 10px}
.fit-next { font-size:14px;line-height:1.5;border-top:1px solid #d6dfd1;padding-top:12px;margin-bottom:0; }
.fit-privacy { margin-bottom:0; }.fit-app .plan-banner{margin-top:12px}.fit-app .fit-tabs button{min-height:46px}
.fit-form .tool-check{margin:12px 0 0}.fit-form fieldset{margin:8px 0 14px}.fit-form fieldset p{margin:0}
.fit-actions .btn { min-height:44px; }.fit-app [tabindex="-1"]:focus{outline:2px solid #4f765c;outline-offset:4px}
.fit-actions button:disabled { opacity: .5; cursor: default; }
#fit-share-url { box-sizing: border-box; width: 100%; font: inherit; margin-top: 12px; padding: 8px; }
#fit-action-status { min-height: 1.6em; font-size: .9rem; }
.fit-method { max-width: 800px; margin: 40px auto; }
.fit-method h2 { font-size: 1.7rem; }
.fit-method h3 { font-size: 1.2rem; }
.fit-method li { margin: 8px 0; }
.fit-source { font-size: .85rem; color: var(--ink-soft); }
@media(max-width: 760px) {
  .fit-app { padding: 16px; margin-left: -4px; margin-right: -4px; }
  .fit-layout { grid-template-columns: 1fr; gap: 16px; }
  #fit-scene { height: 260px; }
  .fit-intro{margin-bottom:16px}.fit-intro p{font-size:16px;line-height:1.5;margin:0}
  .fit-tabs{display:grid;grid-template-columns:1fr 1fr}.fit-tabs button{font-size:14px;line-height:1.3;padding:10px 8px}
  .fit-form label{font-size:14px}.fit-form .fit-note{font-size:12.5px}.fit-layout{gap:20px}
  .fit-actions .btn { flex: 1 1 42%; text-align: center; }
}
@media print {
  .site-nav, .site-foot, .announcement, header.site-header, footer, .fit-examples, .fit-view-controls,
  #fit-scene, #fit-scene-status, .fit-actions, #fit-action-status, #fit-share-url, .tool-related, .tool-other, .fit-method, .tool-gear { display: none !important; }
  .fit-app { border: 0; padding: 0; }
  .fit-layout { grid-template-columns: 1fr 1fr; gap: 16px; }
  .fit-app, .fit-form, #fit-result { break-inside: avoid; }
  .fit-form input, .fit-form select { border: 0 !important; padding: 0 !important; min-height: 24px !important; }
  body { background: white !important; }
  .fit-options:not([open])>*:not(summary){display:block!important}.fit-preview,.fit-form .tool-check,.fit-privacy,.plan-banner,#fit-try-rotation{display:none!important}
}
