:root{font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:#253d35;background:#eef3eb;line-height:1.6}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;padding:clamp(10px,3vw,32px)}main{max-width:940px;margin:auto;background:#fffdf7;border:2px solid #c5d8c8;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #26473916}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:clamp(18px,4vw,34px);background:#dfece1;border-bottom:2px solid #b9cfba}h1,h2,h3,p{margin:0 0 .6em}h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.2}h2{font-size:1.5rem}.eyebrow{font-size:.95rem;font-weight:700;color:#355d4e}.art{width:clamp(80px,18vw,120px);flex:none}section{padding:clamp(18px,4vw,34px)}button{font:inherit;min-height:48px;border:2px solid #4d6d5c;border-radius:8px;padding:9px 14px;background:#fffdf7;color:#253d35;cursor:pointer;font-weight:700}button:hover:not(:disabled){background:#e9f2e7}button:focus-visible,a:focus-visible{outline:4px solid #1c6380;outline-offset:3px}button:disabled{opacity:.65;cursor:default}.choices{display:flex;flex-wrap:wrap;gap:9px}.primary{background:#315e49;color:#fff;border-color:#244637}.primary:hover:not(:disabled){background:#244637}.model{display:flex;align-items:center;gap:18px;background:#edf5e9;border:2px solid #bfd5bd;border-radius:10px;padding:12px;margin:16px 0}.model svg{width:min(45%,300px);flex:none}.face-label{font-size:18px;font-weight:800;fill:#21483d;paint-order:stroke;stroke:#fffdf7;stroke-width:4px;stroke-linejoin:round}.rotate{max-width:400px}.visible,.progress{font-weight:700}.edges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px}.edges button{text-align:left}.edges button[aria-pressed=true]{background:#e0efdf;box-shadow:inset 0 0 0 2px #315e49}.progress{background:#eef5e9;padding:10px;border-radius:8px}.status{background:#fff0d8;border-left:5px solid #a57832;min-height:3em;padding:10px;margin:18px 0;font-weight:700}footer{padding:20px 30px;background:#e9f1e7;border-top:1px solid #c5d8c8}a{color:#1c5874;font-weight:700}@media(max-width:500px){body{padding:6px}header,section{padding:16px}.art{width:72px}.model{flex-direction:column;align-items:stretch}.model svg{width:min(100%,280px);align-self:center}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
