.geometry-shell{max-width:920px}.geometry-select-card,.geometry-play-card{padding:22px}.geometry-top-nav{margin-bottom:12px}.geometry-lead{color:#6b7280}.geometry-settings{display:grid;gap:22px;margin:24px 0}.geometry-settings h2{font-size:16px;margin:0 0 10px}.geometry-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.geometry-choice-row button{min-height:64px;border:1px solid #dce2eb;border-radius:15px;background:#fff;font-size:19px;font-weight:900;color:#172033}.geometry-choice-row button.is-selected{border:3px solid #315fe8;background:#eef3ff}.geometry-start{width:100%;min-height:60px;border:0;border-radius:15px;background:#071a4f;color:#fff;font-size:20px;font-weight:900}.geometry-start:disabled{opacity:.35}.geometry-medal-panel{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:13px 15px;margin-bottom:12px}.geometry-medal-head,.geometry-play-nav{display:flex;justify-content:space-between}.geometry-gauge-track{height:13px;background:#edf0f5;border-radius:999px;overflow:hidden}.geometry-gauge-fill{height:100%;background:linear-gradient(90deg,#315fe8,#6f8cff)}.geometry-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.geometry-stats div{text-align:center;background:#f7f8fb;border-radius:12px;padding:9px}.geometry-stats span{display:block;font-size:11px;color:#7c8798}.geometry-problem-box{display:flex;flex-direction:column;align-items:center;text-align:center}.geometry-problem-text{font-size:clamp(19px,4vw,27px);font-weight:900;margin:18px 0 4px}.geometry-svg-wrap{width:100%;max-width:620px}.geometry-svg-wrap svg{display:block;width:100%;height:auto;overflow:visible}.geometry-shape{fill:#f8fbff;stroke:#172033;stroke-width:4;stroke-linejoin:round}.geometry-label{font-size:22px;font-weight:900;fill:#172033;paint-order:stroke;stroke:#fff;stroke-width:6;stroke-linejoin:round}.geometry-label-question{font-size:28px;fill:#315fe8}.geometry-answer-row{display:flex;align-items:center;gap:8px;margin:2px 0 12px}.geometry-answer{min-width:150px;min-height:58px;border-bottom:4px solid #315fe8;font-size:38px;font-weight:900;cursor:pointer}.geometry-answer-unit{font-size:20px;font-weight:800}.geometry-message{height:28px;font-weight:800}.geometry-message.ok{color:#178447}.geometry-message.ng{color:#c03a2b}.geometry-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:520px;margin:auto}.geometry-key{min-height:58px;border:0;border-radius:13px;background:#eef2f7;font-size:22px;font-weight:900}.geometry-pass{background:#fff3dd}.geometry-submit{grid-column:1/-1;min-height:58px;border:0;border-radius:13px;background:#315fe8;color:#fff;font-size:19px;font-weight:900}.geometry-bottom-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.geometry-bottom-button{min-height:54px;border:0;border-radius:13px;background:#e9eef7;color:#172033;font-size:16px;font-weight:900}.geometry-bottom-button--finish{background:#071a4f;color:#fff}@media(max-width:640px){.geometry-choice-row{grid-template-columns:repeat(2,1fr)}.geometry-select-card,.geometry-play-card{padding:16px}.geometry-svg-wrap{margin:-6px 0}.geometry-label{font-size:20px}}
.geometry-height-line{stroke:#315fe8;stroke-width:3;stroke-dasharray:8 7;fill:none}.geometry-helper-line{stroke:#697386;stroke-width:2.5;stroke-dasharray:8 7;fill:none}.geometry-right-angle{stroke:#172033;stroke-width:2.5;fill:none;stroke-linejoin:miter}
.geometry-equal-mark{stroke:#172033;stroke-width:3;fill:none;stroke-linecap:round}
.geometry-angle-arc{stroke:#315fe8;stroke-width:2.5;fill:none;stroke-linecap:round}

.geometry-answer-row{display:flex;align-items:stretch;justify-content:center;gap:12px;max-width:560px;margin:0 auto 10px}
.geometry-answer-box{display:flex;align-items:center;justify-content:center;min-width:0;flex:1}
.geometry-submit--inline{width:auto;min-width:132px;margin:0;flex:0 0 auto;align-self:stretch}
@media(max-width:560px){
  .geometry-answer-row{gap:8px}
  .geometry-submit--inline{min-width:104px;padding-left:14px;padding-right:14px}
}

@keyframes geometry-answer-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}
.geometry-answer.is-shaking{animation:geometry-answer-shake .38s ease-in-out}

/* Restored solid-mode styles from the completed solid geometry implementation. */
.geometry-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 4px}.geometry-mode-row button{min-height:58px;border:1px solid #dce2eb;border-radius:15px;background:#fff;font-size:19px;font-weight:900;color:#172033}.geometry-mode-row button.is-selected{border:3px solid #315fe8;background:#eef3ff}
.geometry-hidden-edge{stroke:#7b8493;stroke-width:2.2;stroke-dasharray:7 6;fill:none}.geometry-solid-height{stroke:#315fe8;stroke-width:2.5;stroke-dasharray:7 6;fill:none}

.geometry-choice-row button:disabled{opacity:.32;cursor:not-allowed}.geometry-choice-row button:disabled.is-selected{opacity:1;cursor:default}
