@font-face{font-family:PlexJP;src:url(fonts/ja.ttf)}@font-face{font-family:Plex;src:url(fonts/en.ttf)}@font-face{font-family:Inter;src:url(fonts/inter.ttf)}:root{--paper:#F7F5F0;--ink:#20232A;--blue:#1C64D9;--orange:#E8590C}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 PlexJP,Plex,sans-serif}button,input,select{font:inherit}button{min-height:46px;padding:8px 16px;border:1px solid #dad8d1;border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--blue)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #94b8ed;outline-offset:3px}button.active,.primary{color:#fff;background:var(--blue);border-color:var(--blue)}button:disabled{opacity:.45;cursor:default}header{max-width:1280px;padding:24px 32px 18px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{text-decoration:none;color:var(--blue);font-size:19px;line-height:1.4}.brand small{display:block;color:var(--ink);font-size:14px;letter-spacing:.12em;margin-top:5px}.utility{display:flex;gap:8px}.utility button{font-size:14px;padding:8px 12px}nav{max-width:1216px;margin:0 auto 22px;display:flex;gap:8px;flex-wrap:wrap;padding:0 0 12px;border-bottom:1px solid #dfddd6}nav button{flex:1;white-space:nowrap;min-width:118px;font-size:14px}main{max-width:1280px;margin:auto;padding:0 32px}.bench{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,1fr);gap:56px;align-items:start}.visual{min-width:0}#stage{width:100%;aspect-ratio:1;background:var(--paper);overflow:hidden;touch-action:pan-y}#stage svg{display:block;width:100%;height:100%}#stagecaption{min-height:24px;color:#5C6370;font-size:14px;text-align:center;margin:4px 0 0}.controls{padding:28px 0 0;min-width:0}.eyebrow{font:500 14px/1.5 Inter,PlexJP,sans-serif;letter-spacing:.15em;color:#5C6370;text-transform:uppercase;margin:0 0 15px}h1{font-size:28px;line-height:1.45;margin:0 0 24px;font-weight:500}h2{font-size:23px;font-weight:500}p{margin:12px 0}.row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.row button{flex:1}.block{margin:22px 0}label{display:block;font-size:16px;margin:14px 0 4px}label .value{float:right;font-family:Inter;color:#5C6370}input[type=range]{width:100%;height:44px;accent-color:var(--blue);margin:0;cursor:pointer}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:10px;accent-color:var(--blue)}label.check{min-height:44px;display:flex;align-items:center}.hint{font-size:14px;color:#5C6370}.message{padding-left:16px;border-left:3px solid var(--blue);margin-top:24px}.message:empty{display:none}.mark{color:var(--orange)}.dragstrip{border:1px dashed #a9aaa8;border-radius:12px;background:#fff;min-height:68px;display:grid;place-items:center;touch-action:none;cursor:ew-resize;user-select:none;margin:18px 0}select{width:100%;min-height:46px;border-radius:10px;background:#fff;border:1px solid #dad8d1;padding:8px}textarea{width:100%;min-height:90px;padding:10px;border:1px solid #dad8d1;border-radius:10px;resize:vertical;word-break:break-all;font-size:14px}.resultcard{background:#fff;border:1px solid #e3e0d8;border-radius:16px;padding:24px;margin:28px 0}.resultcard svg{width:100%;max-width:680px;display:block;margin:auto}.resultcard p{overflow-wrap:anywhere}#results{max-width:950px;margin:30px auto}footer{max-width:1280px;margin:48px auto 24px;padding:0 32px;font-size:14px;color:#5C6370}footer button{font-size:14px}dialog{border:0;border-radius:18px;padding:30px;width:min(680px,calc(100vw - 28px));max-height:88vh;overflow-y:auto;background:var(--paper)}dialog::backdrop{background:#20232a66}.close{float:right;font-size:24px;width:46px;padding:0}a{color:var(--blue)}dialog li{margin:18px 0}progress{width:100%;height:6px;accent-color:var(--orange)}@media(max-width:760px){header{padding:18px 16px}.brand{font-size:16px}.brand small{font-size:14px;letter-spacing:.04em}.utility button{padding:7px 9px;min-height:44px}nav{padding:0 16px 12px;gap:6px;margin-bottom:10px}nav button{min-width:0;flex:1 1 29%;font-size:14px;padding:6px 8px}main{padding:0 16px}.bench{display:flex;flex-direction:column;gap:6px}.visual,.controls{width:100%}.controls{padding:12px 0 0}h1{font-size:24px;margin-bottom:16px}.eyebrow{margin-bottom:8px}.resultcard{padding:18px}footer{padding:0 16px;margin-top:32px}.block{margin:14px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.anglemeter{position:relative;height:24px;font:14px Inter,PlexJP,sans-serif;margin:0 8px 12px}.anglemeter span{position:absolute;transform:translateX(-50%);top:0}.factmark{color:var(--blue)}.ansmark{color:var(--orange);top:20px!important}.anglemeter:has(.ansmark){height:44px}
html[lang="en"] body{font-family:Plex,PlexJP,sans-serif}html[lang="en"] svg{font-family:Plex,PlexJP,sans-serif!important}
