:root{--app-dvh:100dvh;--topbar-height:0px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--page-max:1432px;--rail-width:336px;--board-size:clamp(340px,58vw,748px);--bg-1:#eef5ff;--bg-2:#dbe9fb;--bg-3:#f7fbff;--surface:#fff;--surface-soft:rgba(255,255,255,.95);--surface-rail:rgba(245,249,255,.96);--line:rgba(17,46,88,.09);--line-strong:rgba(17,46,88,.16);--text:#162743;--text-soft:#60728e;--text-faint:#8494ad;--accent:#1f66cc;--accent-deep:#163f83;--accent-soft:#eaf2ff;--shadow-panel:0 24px 48px rgba(27,68,132,.12);--shadow-card:0 12px 24px rgba(27,68,132,.07);--shadow-soft:0 8px 18px rgba(27,68,132,.05);--font-ui:"BIZ UDPGothic","Yu Gothic UI","Yu Gothic","Hiragino Sans","Meiryo",sans-serif;--font-display:"BIZ UDPGothic","Yu Gothic UI","Yu Gothic","Hiragino Sans","Meiryo",sans-serif}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;min-height:100%;height:auto;overflow:auto}body{color:var(--text);font-family:var(--font-ui);background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 86% 10%, rgba(193,220,255,.52) 0%, rgba(193,220,255,0) 22%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 46%, var(--bg-3) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:999px}body::before{left:-10vw;top:-18vh;width:34vw;height:40vh;background:radial-gradient(circle,rgba(255,255,255,.54) 0%,rgba(255,255,255,0) 72%);filter:blur(18px)}body::after{right:-12vw;bottom:-20vh;width:40vw;height:46vh;background:radial-gradient(circle,rgba(152,195,255,.28) 0%,rgba(152,195,255,0) 72%);filter:blur(20px)}.app,.topbar,.stage,.modal{position:relative;z-index:1}.app{min-height:var(--app-dvh);display:grid;grid-template-rows:auto auto}.topbar{padding:calc(10px + var(--safe-top)) 18px 6px}.brand{width:100%;max-width:var(--page-max);margin:0 auto}.brandBand{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:12px;align-items:center;padding:10px 12px;border-radius:26px;overflow:hidden;border:1px solid rgba(28,84,168,.07);background:linear-gradient(112deg,rgba(248,252,255,.98) 0%,rgba(229,239,255,.95) 34%,rgba(239,246,255,.95) 66%,rgba(226,238,255,.95) 100%);box-shadow:0 14px 28px rgba(28,84,168,.08)}.brandBand::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.86) 0%, rgba(255,255,255,0) 26%),
    radial-gradient(circle at 84% 20%, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 22%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 48%);pointer-events:none}.logoWrap{position:relative;min-width:0;min-height:88px;display:flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:20px;overflow:hidden;border:1px solid rgba(28,84,168,.06);background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(241,248,255,.90)),
    linear-gradient(112deg, rgba(214,232,255,.88), rgba(248,251,255,.98));box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -10px 16px rgba(206,225,248,.12),
    0 10px 20px rgba(28,84,168,.06)}.logoWrap::before{content:"";position:absolute;inset:0;background:
    linear-gradient(114deg, rgba(255,255,255,.30), rgba(255,255,255,0) 40%),
    radial-gradient(circle at 88% 16%, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 26%);pointer-events:none}.brandLogoImg{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center center;filter:drop-shadow(0 8px 16px rgba(18,55,110,.10))}.brandCopy{position:relative;z-index:1;display:grid;gap:6px;align-content:center;min-width:0;padding:12px 14px;border-radius:20px;border:1px solid rgba(28,84,168,.05);background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(245,249,255,.18));opacity:.92}.brandEyebrow{color:#5d77a0;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.brandTitle{margin:0;color:var(--accent-deep);font-family:var(--font-display);font-size:24px;font-weight:900;line-height:1.15}.brandLead{color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.5}.brandDecor{display:none}.stage{padding:0 18px calc(14px + var(--safe-bottom))}.layout{width:100%;max-width:var(--page-max);margin:0 auto}.panel{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);align-items:stretch;gap:14px}.boardArea{min-width:0;min-height:0;padding:20px 22px 18px;border-radius:36px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(245,249,255,.90));box-shadow:var(--shadow-panel);backdrop-filter:blur(14px)}.boardStage{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}.boardStageTop{display:grid;gap:12px;justify-items:center}.problemEyebrow{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:36px;padding:0 14px;border-radius:999px;background:var(--accent-soft);border:1px solid rgba(28,84,168,.10);color:var(--accent-deep);font-size:11px;font-weight:900;letter-spacing:.12em}.boardStageHeadings{display:grid;gap:8px;width:min(calc(var(--board-max, var(--board-size)) + 44px), 100%);max-width:760px}.boardProblemTitle{margin:0;color:var(--text);font-family:var(--font-display);font-size:clamp(34px,3.9vw,46px);font-weight:900;line-height:1.08;letter-spacing:.01em}.boardProblemMeta{margin:0;color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.55}.inlineHint{display:grid;gap:5px;padding:13px 16px;border-radius:20px;border:1px solid rgba(28,84,168,.07);border-left:3px solid rgba(31,102,204,.58);background:linear-gradient(180deg,rgba(245,250,255,.94),rgba(236,244,255,.84));box-shadow:inset 0 1px 0 rgba(255,255,255,.76)}.inlineHint.inlineHintSide{position:relative}.inlineHintLabel{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em}.inlineHintText{color:#29426c;font-size:16px;font-weight:800;line-height:1.55}.reviewControls{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);display:block;margin:0}.reviewControls[hidden]{display:none!important}.reviewControlsRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.inlineHint.inlineHintSide.is-review-mode .inlineHintLabel,.inlineHint.inlineHintSide.is-review-mode .inlineHintText{visibility:hidden}.reviewBtn{width:100%;min-height:32px;padding:0 6px;border-radius:999px;border:1px solid rgba(29,83,166,.16);background:rgba(255,255,255,.92);color:#23456f;font-size:11px;font-weight:900;line-height:1;box-shadow:0 4px 10px rgba(31,69,128,.05)}.reviewBtn:hover:not(:disabled){border-color:rgba(29,83,166,.28);background:#fff}.reviewBtn:disabled{opacity:.5;cursor:default;box-shadow:none}.reviewBtnAccent{border-color:rgba(26,118,82,.18);background:linear-gradient(180deg,rgba(240,255,248,.98),rgba(225,248,236,.92));color:#1e7a56}.problemTurnText.is-review-hidden{visibility:hidden;opacity:0;pointer-events:none}.boardFrame{min-height:0;display:flex;align-items:center;justify-content:center;padding-top:2px}.boardShell{position:relative;width:min(100%,var(--board-max,var(--board-size)));height:min(100%,var(--board-max,var(--board-size)));max-width:100%;max-height:100%;aspect-ratio:1 / 1;overflow:hidden;isolation:isolate;outline:none;border-radius:34px;border:1px solid rgba(121,103,72,.32);background:#dfc48d;touch-action:manipulation;box-shadow:
    0 0 0 10px rgba(245,249,255,.98),
    0 0 0 13px rgba(198,214,237,.42),
    0 18px 34px rgba(36,74,128,.12),
    inset 0 1px 0 rgba(255,255,255,.22)}.boardShell.is-keyboard-focus{box-shadow:
    0 0 0 10px rgba(245,249,255,.98),
    0 0 0 13px rgba(198,214,237,.42),
    0 0 0 17px rgba(31,102,204,.14),
    0 18px 34px rgba(36,74,128,.12),
    inset 0 1px 0 rgba(255,255,255,.22)}.boardShell::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,0) 36%);pointer-events:none;z-index:0}canvas{display:block;width:100%;height:100%}.boardCursor{position:absolute;left:0;top:0;width:32px;height:32px;border-radius:999px;border:3px solid rgba(22,63,131,.92);background:radial-gradient(circle,rgba(255,255,255,.28),rgba(255,255,255,0) 68%);box-shadow:0 0 0 3px rgba(255,255,255,.84), 0 8px 18px rgba(27,68,132,.16);transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:4;transition:opacity .14s ease, left .08s linear, top .08s linear, border-color .12s ease, box-shadow .12s ease, background-color .12s ease}.boardCursor::after{content:"";position:absolute;inset:6px;border-radius:999px;border:1px solid rgba(255,255,255,.72)}.boardCursor.is-visible{opacity:1}.boardCursor.is-choice{border-color:rgba(31,102,204,.98);box-shadow:0 0 0 3px rgba(255,255,255,.88), 0 0 0 8px rgba(31,102,204,.17), 0 8px 18px rgba(27,68,132,.16)}.boardCursor.is-occupied{border-color:rgba(142,101,37,.92);background:radial-gradient(circle,rgba(244,234,214,.34),rgba(244,234,214,0) 68%);box-shadow:0 0 0 3px rgba(255,255,255,.84), 0 0 0 8px rgba(202,156,80,.18), 0 8px 18px rgba(84,59,16,.14)}.overlayMark{position:absolute;left:50%;top:50%;width:min(74%,392px);max-height:58%;aspect-ratio:492 / 296;transform:translate(-50%,-50%) scale(.84);opacity:0;pointer-events:none;z-index:5;transition:opacity .16s ease, transform .24s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 14px 24px rgba(20,26,39,.24))}.overlayMark.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.overlayMarkImg{display:block;width:100%;height:100%;object-fit:contain}.successExplainCta{position:absolute;left:50%;bottom:6%;width:min(60%,280px);min-height:54px;padding:14px 18px 12px;transform:translate(-50%,14px);opacity:0;pointer-events:none;z-index:6;transition:opacity .18s ease, transform .22s cubic-bezier(.22,1,.36,1);box-shadow:0 16px 28px rgba(27,68,132,.16)}.successExplainCta[hidden]{display:none}.successExplainCta.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.successExplainCta:hover:not(:disabled){transform:translate(-50%,-2px)}.successExplainCta:active:not(:disabled){transform:translate(-50%,0)}.successExplainCta .btnMain{white-space:nowrap}.boardShell.success::after{content:"";position:absolute;inset:12%;border-radius:999px;border:8px solid rgba(31,94,168,.18);animation:successRipple .76s ease forwards;pointer-events:none}@keyframes successRipple{
  0%{transform:scale(.62);opacity:0}
  28%{opacity:1}
  100%{transform:scale(1.18);opacity:0}
}.boardShell.shake{animation:boardShake .38s ease}@keyframes boardShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-5px)}
  40%{transform:translateX(5px)}
  60%{transform:translateX(-4px)}
  80%{transform:translateX(4px)}
}.boardStageBottom{display:grid;gap:12px;width:min(calc(var(--board-max, var(--board-size)) + 28px), 100%);margin:0 auto;padding-top:2px}.btnRow{width:100%;display:grid;gap:12px}.boardActionRow,.navActionRow{grid-template-columns:repeat(2,minmax(0,1fr))}.boardActionRow{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}button{appearance:none;min-height:60px;margin:0;padding:15px 18px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:20px;border:1px solid transparent;background:#fff;color:var(--text);font-family:var(--font-ui);font-size:15px;font-weight:800;line-height:1.15;letter-spacing:.01em;text-align:center;cursor:pointer;user-select:none;transition:transform .14s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(31,102,204,.16), 0 12px 22px rgba(27,68,132,.10)}button:disabled{opacity:.46;cursor:default;transform:none;box-shadow:none}button.primary{color:#fff;background:linear-gradient(180deg,#2a72d8,#1a56b2);border-color:#184b9d;box-shadow:0 14px 24px rgba(28,84,168,.18)}button.secondary{color:var(--accent-deep);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,255,.94));border-color:rgba(28,84,168,.14);box-shadow:0 10px 18px rgba(27,68,132,.06)}.btnMain{display:block}.btnSub{display:block;font-size:11px;font-weight:700;line-height:1.3;color:inherit;opacity:.76}button.primary .btnSub{color:rgba(241,247,255,.82)}.actionBtn .btnMain,.navActionRow .btnMain{font-size:18px;font-weight:900}.controls{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;padding-top:4px}.controlCard{min-width:0;min-height:0;display:grid;gap:12px;padding:15px 15px 14px;border-radius:26px;border:1px solid rgba(17,46,88,.08);background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(245,249,255,.84));box-shadow:var(--shadow-soft);backdrop-filter:blur(14px)}.collectionCard{grid-template-rows:auto auto auto auto minmax(0,1fr);align-content:start}.navCard{align-content:start;gap:10px}.cardSectionLabel{color:#5d77a0;font-size:10px;font-weight:900;letter-spacing:.14em}.cardSectionTitle{margin:0;color:var(--accent-deep);font-family:var(--font-display);font-size:26px;font-weight:900;line-height:1.1}.navCard .cardSectionTitle{font-size:22px}.cardSectionCopy{margin:0;color:var(--text-soft);font-size:13px;line-height:1.62;font-weight:700}.problemFilterRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.segmentBtn{min-width:0;min-height:46px;padding:0 11px;flex-direction:row;align-items:center;justify-content:space-between;border-radius:16px;border-color:rgba(17,46,88,.08);background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(245,249,255,.86));color:#31507d;box-shadow:none}.segmentBtn.is-active{color:#fff;background:linear-gradient(180deg,#2a72d8,#1a56b2);border-color:#184b9d;box-shadow:0 12px 20px rgba(28,84,168,.16)}.segmentCount{font-size:11px;font-weight:800;opacity:.78}.problemUtilityRow{display:grid;gap:6px;padding:8px 10px 9px;border-radius:16px;border:1px solid rgba(17,46,88,.05);background:linear-gradient(180deg,rgba(246,250,255,.72),rgba(240,246,255,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.74)}.problemListSummary{display:none!important}.sortGroup{display:grid;gap:5px}.sortLabel{color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.08em}.sortSelect{appearance:none;width:100%;min-width:0;min-height:44px;padding:0 38px 0 12px;border-radius:15px;border:1px solid rgba(17,46,88,.10);background:
    rgba(255,255,255,.94)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23485c7d' d='M6 8 0 0h12z'/%3E%3C/svg%3E")
    no-repeat right 12px center / 12px 8px;color:#21416e;font-family:var(--font-ui);font-size:13px;font-weight:700}.sortSelect:focus-visible{outline:none;border-color:rgba(31,102,204,.34);box-shadow:0 0 0 4px rgba(31,102,204,.12)}.sortAssist{color:var(--text-soft);font-size:11px;line-height:1.45;letter-spacing:.01em}.metricRow{display:none!important}.metricChip{display:none!important}.metricValue{display:none!important}.metricLabel{display:none!important}.summaryNote{display:none!important}.problemListEmpty{display:grid;place-items:center;min-height:72px;padding:16px 14px;border-radius:18px;border:1px dashed rgba(17,46,88,.18);background:rgba(255,255,255,.56);color:#6781a5;font-size:13px;font-weight:700}.problemList{min-height:0;display:flex;flex-direction:column;gap:9px;overflow:auto;padding-top:2px;padding-right:2px;overscroll-behavior:contain;scrollbar-gutter:stable}.problemList::-webkit-scrollbar{width:8px}.problemList::-webkit-scrollbar-thumb{background:rgba(50,68,96,.18);border-radius:999px}.problemCardButton{min-height:78px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 12px;border-radius:20px;text-align:left;border-color:rgba(17,46,88,.06);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,249,255,.88));box-shadow:none}.problemCardButton:hover:not(:disabled){border-color:rgba(28,84,168,.18);box-shadow:0 8px 16px rgba(27,68,132,.06)}.problemCardButton.is-current{background:linear-gradient(180deg,rgba(236,244,255,.98),rgba(228,238,255,.94));border-color:rgba(28,84,168,.22);box-shadow:0 10px 18px rgba(28,84,168,.08)}.problemCardIndex{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:rgba(233,242,255,.98);color:var(--accent);font-size:13px;font-weight:900}.problemCardButton.is-current .problemCardIndex{background:var(--accent);color:#fff}.problemCardBody{min-width:0;display:grid;gap:5px}.problemCardTitle{display:block;min-width:0;color:#15315e;font-size:15px;font-weight:900;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problemCardMeta{color:#6c84a7;font-size:12px;line-height:1.45}.problemCardState{justify-self:end;padding:8px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em}.problemCardState.unresolved{background:#f4ead6;color:#8a6525}.problemCardState.solved{background:#e5f4eb;color:#25704c}.modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(14,19,29,.34);backdrop-filter:blur(16px)}.modal.open{display:flex}.modalCard{width:min(100%,940px);max-height:min(90dvh,900px);overflow:hidden;display:flex;flex-direction:column;border-radius:32px;border:1px solid rgba(255,255,255,.42);background:linear-gradient(180deg,rgba(252,254,255,.98),rgba(242,247,255,.97));box-shadow:0 30px 72px rgba(7,12,20,.22)}.confirmModalCard{width:min(100%,580px);max-height:none}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;background:linear-gradient(180deg,#2358a2,#173f78)}.modalTitle{color:#fff;font-size:18px;font-weight:900}.iconBtn{width:42px;height:42px;min-height:auto;padding:0;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.12);color:#fff;box-shadow:none;font-size:22px;line-height:1}.modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:18px;display:grid;gap:16px}#explainModal .modalBody{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}.confirmModalBody{display:block}.confirmCard,.miniBoardWrap,.explainCard{border-radius:24px;border:1px solid rgba(29,37,51,.08);background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(245,249,255,.82));box-shadow:var(--shadow-card)}.confirmCard{position:relative;padding:24px;overflow:hidden}.confirmCard::before{content:"";position:absolute;right:-36px;top:-28px;width:160px;height:160px;border-radius:999px;background:radial-gradient(circle,rgba(31,102,204,.16) 0%,rgba(31,102,204,0) 72%)}.confirmCard::after{content:"";position:absolute;left:-42px;bottom:-48px;width:180px;height:140px;border-radius:999px;background:radial-gradient(circle,rgba(221,235,255,.72) 0%,rgba(221,235,255,0) 72%)}.confirmLeadWrap,.explainSectionHead{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:14px}.modalChip{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:7px 12px;border-radius:999px;background:linear-gradient(180deg,#23508f,#173764);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}.confirmTone{color:var(--text-soft);font-size:12px;font-weight:700}.confirmQuestion{position:relative;z-index:1;margin:0;color:#1a2332;font-family:var(--font-display);font-size:28px;font-weight:900;line-height:1.32;text-align:center}.confirmMessage{position:relative;z-index:1;max-width:30em;margin:12px auto 0;color:#304255;font-size:16px;line-height:1.85;text-align:center}.confirmAssist{position:relative;z-index:1;width:fit-content;margin:16px auto 0;padding:8px 12px;border-radius:999px;border:1px solid rgba(31,102,204,.10);background:rgba(31,102,204,.08);color:#5b6f8e;font-size:12px;font-weight:700}.confirmActions{width:min(100%,420px);margin:20px auto 0}.miniBoardWrap{padding:16px}.miniBoardShell{width:100%;max-width:360px;margin:0 auto;aspect-ratio:1 / 1;overflow:hidden;border-radius:22px;border:1px solid rgba(114,93,58,.28);background:#dfc48d;box-shadow:
    0 0 0 10px rgba(245,249,255,.94),
    0 0 0 13px rgba(198,214,237,.44),
    0 16px 28px rgba(36,74,128,.12)}.explainControl{margin-top:14px;display:grid;gap:10px}.explainControlRow{display:flex;align-items:center;justify-content:space-between;gap:12px}#explainVariantControls{justify-content:center;gap:10px;min-height:32px}#explainVariantControls[hidden]{display:flex!important;visibility:hidden;pointer-events:none}#explainVariantControls .explainStepBtn{min-width:108px}.explainControlLabel,.explainControlValue{color:#617080;font-size:12px;font-weight:800}.explainRange{width:100%;accent-color:var(--accent)}.explainCard{padding:22px}.explainLead{margin:0 0 12px;color:#5373a0;font-size:12px;font-weight:900;letter-spacing:.14em}.explainText{color:#243447;font-size:16px;line-height:1.9}#explainModal .modalHead{flex-wrap:nowrap;align-items:center}.explainModeSwitch{margin-left:auto;display:inline-flex;align-items:center;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:5px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(6px);position:relative;z-index:1}.explainModeSwitch[hidden]{display:none!important}.explainModeBtn[hidden]{display:none!important}.explainModeBtn{min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,0);background:rgba(255,255,255,.04);color:rgba(255,255,255,.84);font-size:12px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:none;transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease;transform:none;-webkit-tap-highlight-color:transparent}.explainModeBtn:active:not(:disabled){transform:none}@media (hover:hover) and (pointer:fine){.explainModeBtn:hover:not(:disabled){background:rgba(255,255,255,.12);color:#fff}}.explainModeBtn.is-active,.explainModeBtn[aria-pressed="true"]{border-color:rgba(255,255,255,.28);background:linear-gradient(180deg,#fffdf8 0%,#f4ecdf 100%);color:#355270;box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 4px 12px rgba(16,37,68,.16)}.explainModeBtn:disabled{opacity:.45;cursor:default}@media (min-width:961px){body{overflow:hidden}.app{height:var(--app-dvh);grid-template-rows:auto minmax(0,1fr)}.stage{min-height:0}.layout{height:100%}.panel{height:100%;min-height:0}.boardArea{height:100%}.controls{height:100%;min-height:0}}@media (max-width:1200px){:root{--rail-width:316px}.boardArea{padding:18px 20px 16px}.boardProblemTitle{font-size:clamp(32px,3.7vw,42px)}.cardSectionTitle{font-size:24px}}@media (max-width:960px){.app{grid-template-rows:auto auto}.topbar{padding:calc(8px + var(--safe-top)) 12px 6px}.brandBand{grid-template-columns:1fr;gap:8px;padding:10px;border-radius:22px}.logoWrap{min-height:78px;padding:8px 14px}.brandCopy{gap:6px;max-width:none;padding:10px 12px}.brandTitle{font-size:22px}.brandLead{max-width:none;font-size:12px}.stage{padding:0 12px calc(14px + var(--safe-bottom))}.panel{grid-template-columns:1fr;gap:12px}.boardArea{padding:16px 16px 14px;border-radius:28px}.boardStage{gap:12px}.boardProblemTitle{font-size:31px}.inlineHintText{font-size:16px}.controls{grid-template-rows:none;gap:14px}.controlCard{padding:14px 14px 13px;border-radius:22px}.problemList{max-height:min(28dvh,250px);overflow:auto;padding-right:2px;scrollbar-gutter:auto}.navCard{order:1}.collectionCard{order:2;grid-template-rows:auto auto auto auto minmax(0,1fr)}.collectionCard .cardSectionCopy,.collectionCard .summaryNote{display:none}#explainModal .modalBody{grid-template-columns:1fr}}@media (max-width:640px){.topbar{padding:calc(6px + var(--safe-top)) 10px 4px}.brandBand{padding:8px;border-radius:20px}.logoWrap{min-height:70px;padding:6px 12px;border-radius:18px}.brandCopy{display:none;padding:8px 10px;border-radius:18px}.brandEyebrow{font-size:9px;letter-spacing:.16em}.brandTitle{font-size:22px}.brandLead{font-size:12px}.stage{padding:0 10px calc(14px + var(--safe-bottom))}.boardArea{padding:13px 11px 12px;border-radius:24px}.boardStageTop{gap:12px}.boardProblemTitle{font-size:28px}.boardProblemMeta{font-size:13px}.inlineHint{padding:11px 13px;border-radius:18px}.inlineHintText{font-size:15px}.boardActionRow,.navActionRow{grid-template-columns:1fr}.controls{gap:10px}.controlCard{padding:12px 11px 11px;border-radius:20px}.cardSectionTitle{font-size:22px}.navCard .cardSectionTitle{font-size:20px}.cardSectionCopy,.sortAssist{font-size:12px}.problemUtilityRow,.problemListSummary{padding:10px 12px}.problemListSummary{display:none}.problemList{max-height:min(24dvh,192px);gap:8px}.problemCardButton{grid-template-columns:42px minmax(0,1fr);min-height:72px}.problemCardIndex{width:40px;height:40px}.problemCardState{grid-column:2;justify-self:start}.problemCardMeta{display:none}.modal{padding:12px}.modalCard{border-radius:24px}.modalBody{padding:14px}.confirmQuestion{font-size:24px}.confirmMessage,.explainText{font-size:15px}}@media (max-width:480px){body::before,body::after{display:none}.brandCopy{display:none}.logoWrap{min-height:64px}.problemEyebrow{min-height:34px;font-size:10px}.boardProblemTitle{font-size:24px}.segmentBtn{min-height:46px;padding:0 10px;border-radius:14px;font-size:13px}.segmentCount{font-size:10px}.cardSectionCopy,.sortAssist,.btnSub{display:none}.metricChip{padding:8px}.metricValue{font-size:18px}.metricLabel{font-size:11px}.problemUtilityRow,.problemListSummary{padding:10px}.problemList{max-height:min(22dvh,168px)}}@media (pointer:coarse){.segmentBtn,.sortSelect,.problemCardButton,.boardActionRow button,.navActionRow button{min-height:60px}.boardActionRow button,.navActionRow button{padding-top:16px;padding-bottom:14px}.problemCardButton{padding-top:16px;padding-bottom:16px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.topbar{display:block;padding:calc(8px + var(--safe-top)) 18px 6px}.brand{width:100%;max-width:1380px;margin:0 auto;display:flex;justify-content:center;align-items:center}.brandBand{display:block;width:100%;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.brandBand::before{content:none}.brandCopy,.brandDecor{display:none!important}.logoWrap{width:min(100%,980px);max-width:980px;min-height:0;margin:0 auto;padding:0;border:none;border-radius:14px;background:transparent;box-shadow:none;overflow:hidden}.logoWrap::before{content:none}.brandLogoImg{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:auto;border-radius:14px;object-fit:contain;box-shadow:none;filter:none}@media (max-width:960px){.topbar{padding:calc(8px + var(--safe-top)) 12px 6px}.logoWrap{width:100%;max-width:100%;border-radius:12px}.brandLogoImg{border-radius:12px}}@media (max-width:640px){.topbar{padding:calc(6px + var(--safe-top)) 10px 4px}.logoWrap,.brandLogoImg{border-radius:10px}}.brand{justify-content:center!important}.logoWrap{width:min(100%,980px)!important;max-width:980px!important;min-height:0!important;margin:0 auto!important;padding:0!important;border:none!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}.logoWrap::before{content:none!important}.brandLogoImg{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;border-radius:14px!important;box-shadow:none!important}.boardProblemTitle{font-size:calc(clamp(34px, 3vw, 50px) * 0.9) !important}@media (max-width:1100px){.logoWrap{width:min(100%,920px)!important;max-width:920px!important}.boardProblemTitle{font-size:calc(clamp(30px, 5.6vw, 42px) * 0.9) !important}}@media (max-width:720px){.logoWrap{width:100%!important;max-width:100%!important;border-radius:10px!important}.brandLogoImg{width:100%!important;border-radius:10px!important}.boardProblemTitle{font-size:calc(clamp(28px, 8vw, 40px) * 0.9) !important}}