:root{
  --sage:#7f9c8d;
  --blue:#71879a;
  --ink:#23313d;
  --paper:#fffdf8;
  --line:#cbd7d0;
}
html{max-width:100%;overflow-x:visible!important}
body.circle-area-page{max-width:100%;width:100%;margin:0;overflow-x:visible!important}
.circle-main{max-width:1440px;margin:auto;padding:120px 24px 80px}
.circle-lab{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.72fr);gap:18px;max-width:100%}
.circle-lab *{min-width:0}
.circle-lab button,.circle-lab input{min-height:44px}
.stage-panel,.controls{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:20px}
.stage-head{display:flex;justify-content:space-between;align-items:center}
.stage-head h2{color:var(--ink)!important}
.stage-head p,.control-title span{color:#356b57;font-weight:800}
.known-strip{display:flex;gap:12px;margin:12px 0}
.known-strip span{background:#edf4ef;border-radius:999px;padding:8px 14px}
.circle-board{position:relative;min-height:540px;border-radius:22px;background:#edf3f0;overflow:hidden}
.disc{position:absolute;left:50%;top:50%;width:min(42vw,330px);aspect-ratio:1;border:4px solid #496c5d;border-radius:50%;transform:translate(-50%,-50%);background:transparent;transition:width .18s,top .18s}
.source-sector-svg{display:block;width:100%;height:100%;border-radius:50%}
.sector-shape{fill:#bfd2c7;stroke:#536f63;stroke-width:1.15;stroke-linejoin:round}
.sector-shape:nth-child(even){fill:#d6e3dc}
.center-pin{position:absolute;width:44px;height:44px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5}
body.circle-area-page.workbench-tool-detail .center-pin{left:calc(50% - 22px);top:calc(50% - 22px);transform:none!important}
.radius-ruler,.diameter-band,.rim-ribbon{position:absolute;display:none;background:var(--blue);height:12px;left:50%;top:50%;transform-origin:left center;z-index:4}
.radius-ruler{width:50%}
.diameter-band{width:100%;left:0;transform:translateY(-50%)}
.rim-ribbon{width:88%;left:6%;top:auto;bottom:-42px;height:10px}
.disc.centered .center-pin,.disc.radius-done .radius-ruler,.disc.diameter-done .diameter-band,.disc.circumference-done .rim-ribbon{display:block}
.disc.source-empty{width:142px;top:102px;border-style:dashed;background:rgba(255,253,248,.72)}
.disc.source-empty .center-pin,.disc.source-empty .radius-ruler,.disc.source-empty .diameter-band,.disc.source-empty .rim-ribbon{display:none!important}
.disc-transfer-note{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#40534a;font-size:14px;font-weight:800;line-height:1.35}
.disc-transfer-note[hidden],.source-sector-svg[hidden],.sector-tray[hidden],#geometryLabels[hidden]{display:none!important}
.sector-tray{position:absolute;left:4%;right:4%;bottom:12px;width:92%;height:250px;overflow:visible}
.sector-tray .sector-shape{stroke-width:1.3}
.sector-tray[data-layout="staged"]{height:210px}
.sector-tray[data-layout="staged"] .sector-shape{fill:#d4e1da}
.sector-tray[data-layout="rearranged"] .sector-shape:nth-child(4n+1),.sector-tray[data-layout="rearranged"] .sector-shape:nth-child(4n+2){fill:#adc6b9}
#geometryLabels text{fill:#2f5d4b;font-size:10px;font-weight:800;letter-spacing:.1px}
.tool-button{min-height:44px;border:1px solid #a9bdb2;border-radius:12px;background:#fff;padding:10px;font-weight:750}
.tool-button[disabled]{opacity:.45}
.board-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.controls fieldset{border:0;padding:0}
.preset-grid,.answer-grid,.parameter-grid,.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.controls input{min-height:44px;width:100%;border:1px solid #a9bdb2;border-radius:11px;padding:8px}
.controls button{min-height:44px}
.primary-action,#checkAction{width:100%;margin-top:10px;background:#789789;color:#fff;border:0;border-radius:12px;font-weight:800}
.proof{background:#f1f5f2;padding:12px;border-radius:14px}
.live-status,.board-note{color:#40534a}
.circle-lab.classroom-screen,.circle-lab:fullscreen{background:#f4f0e7;color:var(--ink)}
.circle-lab.classroom-screen .stage-panel,.circle-lab.classroom-screen .controls,.circle-lab:fullscreen .stage-panel,.circle-lab:fullscreen .controls{color:var(--ink);background:#fffdf8}
body.classroom-screen .circle-lab .stage-head h2,body.classroom-screen .circle-lab .stage-head p,.circle-lab.classroom-screen .stage-head h2,.circle-lab.classroom-screen .stage-head p{color:#f7fbfd!important}
.circle-lab:fullscreen .stage-head h2{color:var(--ink)!important}
.circle-lab:fullscreen .stage-head p{color:#356b57!important}
body.classroom-screen .circle-lab .control-title h2,.circle-lab.classroom-screen .control-title h2,.circle-lab:fullscreen .control-title h2{color:var(--ink)!important}
.circle-lab .classroom-screen-toggle,.circle-lab .fullscreen-button{color:#24372e}
.operation-hint,.grade-boundary{color:#42554c}
.circle-lab .fullscreen-button{min-width:44px}
body.circle-area-page a,body.circle-area-page button,body.circle-area-page input,body.circle-area-page select,body.circle-area-page textarea,body.circle-area-page [tabindex]:not([tabindex="-1"]){min-height:44px}
body.circle-area-page .resource-strip .strip-button,body.circle-area-page .resource-modal .modal-close{min-height:44px!important;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
body.circle-area-page .resource-modal-card{box-sizing:border-box!important;width:min(760px,calc(100% - 24px))!important;max-width:calc(100% - 24px)!important;margin-inline:auto!important}
@media(max-width:800px){
  .circle-main{padding:100px 14px 60px}
  .circle-lab{grid-template-columns:1fr}
  .circle-board{min-height:500px}
  .disc{width:min(70vw,310px)}
  .disc.source-empty{width:126px;top:88px}
  .sector-tray{height:255px}
}
@media(max-width:520px){
  body.circle-area-page .site-topbar{width:100%;max-width:100%;box-sizing:border-box}
  body.circle-area-page .site-nav{width:100%!important;max-width:100%!important;margin:0!important;padding:10px 12px!important;box-sizing:border-box!important;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  body.circle-area-page .site-brand{width:max-content;max-width:100%;box-sizing:border-box}
  body.circle-area-page .site-links{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow-x:visible!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  body.circle-area-page .site-links a{min-width:0;height:auto!important;min-height:44px!important;padding:8px 2px;text-align:center;font-size:12px;white-space:nowrap;box-sizing:border-box;display:flex!important;align-items:center;justify-content:center}
}
@media(max-width:430px){
  .stage-panel,.controls{padding:14px}
  .circle-board{min-height:470px}
  .disc{width:250px}
  .disc.source-empty{width:108px;top:78px}
  .sector-tray{left:2%;right:2%;width:96%;height:260px;bottom:6px}
  .answer-grid,.parameter-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.disc{transition:none!important}}
body.circle-area-page.workbench-tool-detail .tool-heading .lead{color:#55615f!important}
