@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;900&display=swap');
:root{--ink:#173b33;--muted:#74867e;--paper:#f5f5ed;--line:#dbe1d6;--green:#254e40;--lime:#dcf09e;--amber:#d78b3b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'Noto Sans TC',system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer;border:0;transition:background .15s,transform .15s}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bc843c;outline-offset:3px}header{max-width:1600px;margin:auto;height:94px;display:flex;align-items:center;gap:28px;padding:0 4%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:.04em}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--lime);font-size:31px}.brand-light{font-weight:400;margin-left:4px}.edition{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:28px}.text-button{margin-left:auto;background:none;color:var(--ink);font-size:12px}main{max-width:1600px;margin:auto;padding:36px 4% 20px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow,.panel-label{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--muted)}h1{font-size:36px;letter-spacing:.04em;margin:9px 0 10px;line-height:1.4}p{color:var(--muted);line-height:1.8;margin:0}.primary,.secondary{padding:12px 19px;border-radius:7px;font-weight:600;font-size:13px;white-space:nowrap}.primary{background:var(--ink);color:#fff}.primary:hover{background:#32624f}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#edf0e7}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:18px}.play-area{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column}.board-toolbar{padding:18px 21px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;border-bottom:1px solid #edf0e7}.board-toolbar>div{display:flex;align-items:center;gap:9px}#roundLabel{color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.live-dot{width:7px;height:7px;background:#91b66c;border-radius:50%}.legend{font-size:10px;color:var(--muted)}.station-dot,.clear-dot{width:8px;height:8px;background:#e0ae5b;display:inline-block;border-radius:50%;margin-left:8px}.clear-dot{background:#8cb66f}.board-scroll{background:#f1f3eb;padding:20px 8px 10px;flex:1;display:flex;align-items:center;overflow:auto;min-height:285px}#board{width:100%;min-width:650px;display:block;touch-action:manipulation}.board-footer{padding:10px 20px 15px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);min-height:44px}.scale{white-space:nowrap;font-size:10px}.controls{padding:15px 20px;display:flex;align-items:center;gap:9px;border-top:1px solid #edf0e7;flex-wrap:wrap}.controls button{padding:11px 16px}.speed{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:11px}.speed input{accent-color:var(--green);width:100px}.speed output{width:81px;font-variant-numeric:tabular-nums}.mode{font-size:10px;color:var(--muted);display:flex;gap:4px;align-items:center}.mode input{accent-color:var(--green)}.dashboard{background:#e8eddf;border:1px solid #d8e0ce;border-radius:13px;padding:23px}.score{display:flex;align-items:baseline;gap:9px;margin:12px 0 9px}.score strong{font:500 56px Georgia,serif}.score>span{font-size:12px;color:var(--muted)}.score-detail{display:flex;gap:22px;font-size:11px;color:var(--muted)}.score-detail b{color:var(--ink);margin-left:5px}.divider{border-top:1px solid #d2dcc8;margin:19px 0}.timer{display:flex;justify-content:space-between;align-items:center;font-size:11px}.timer strong{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}.stations{display:flex;justify-content:space-between;margin-top:16px}.station-pill{font-size:10px;border:1px solid #ccd5c1;padding:6px;border-radius:5px;color:#7b896f}.station-pill.hit{background:#d7e99e;color:var(--ink);border-color:#accf6d}.mini-title{font-size:12px;font-weight:700;margin-bottom:8px}.dashboard p{font-size:12px;line-height:1.8}.note{font-size:10px;color:#7c8a71;line-height:1.7;margin-top:12px}.rack-section{margin-top:28px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}h2{font-size:19px;margin:6px 0;letter-spacing:.03em}.small-muted{font-size:11px;color:var(--muted)}.rack{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.track-card{background:#fff;border:1px solid var(--line);border-radius:9px;text-align:left;padding:14px;display:grid;grid-template-columns:63px 1fr;gap:9px;align-items:center;position:relative;min-height:110px;color:var(--ink)}.track-card.selected{border:2px solid var(--green);padding:13px;background:#f3f7e9}.track-card.ready{border-color:#8fb771}.track-card.locked{opacity:.57}.track-card svg{height:76px;width:61px}.track-name{font-size:14px;font-weight:700}.track-desc{font-size:10px;color:var(--muted);margin-top:5px}.badge{display:inline-block;font-size:10px;border-radius:4px;padding:3px 6px;background:#eef1e8;margin-top:8px}.ready .badge{color:#3d6831;background:#e4f1d6}.placement{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;font-size:12px;color:var(--muted)}.placement>div{display:flex;gap:8px}.placement button{padding:10px 14px}.strategy{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:20px;padding:25px;border:1px solid var(--line);border-radius:12px;background:#eeefe5}.strategy p{font-size:12px}.solver-result{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);padding-top:12px;overflow-wrap:anywhere}.solver-result .route-step{display:inline-block;padding:3px 7px;margin:3px 3px 3px 0;background:white;border-radius:4px;color:var(--ink)}.solver-result button{margin:10px 8px 0 0}footer{display:flex;justify-content:space-between;gap:30px;font-size:10px;color:#839080;line-height:1.8;margin-top:27px}footer>span:last-child{max-width:610px;text-align:right}a{color:inherit}dialog{max-width:570px;width:90%;border:1px solid var(--line);border-radius:15px;padding:35px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#10271ccc;backdrop-filter:blur(4px)}dialog ol{padding-left:22px;line-height:2.1;color:#556b5c;font-size:13px}dialog p{font-size:12px;margin-top:13px}.close{position:absolute;right:15px;top:12px;font-size:25px;background:none;color:var(--ink)}@media(min-width:1500px){.board-scroll{min-height:350px}}@media(max-width:1050px){.workspace{grid-template-columns:1fr}.dashboard{display:grid;grid-template-columns:100px 130px 1fr;gap:10px;align-items:center;padding:16px}.dashboard>.panel-label,.dashboard>.divider,.dashboard>.mini-title,.dashboard>#nextStep,.dashboard>.note{display:none}.score{margin:0}.score strong{font-size:36px}.score-detail{gap:10px}.timer{gap:12px;justify-content:start}.stations{grid-column:3;margin:0}.legend{display:none}.controls .speed{margin-left:0}.rack .track-card{grid-template-columns:50px 1fr;padding:10px;gap:3px}.track-card.selected{padding:9px}.track-card svg{width:45px}.track-name{font-size:12px}}@media(max-width:650px){header{height:73px;padding:0 5%}.edition{display:none}.brand{font-size:16px}.text-button{font-size:10px}main{padding:24px 5%}.intro{align-items:start;gap:10px}.intro p{font-size:12px}.intro .secondary{font-size:11px;padding:10px}.eyebrow{font-size:8px}h1{font-size:27px}.workspace{gap:12px}.board-scroll{min-height:230px;padding:12px 0}.board-toolbar{padding:13px}.board-footer{padding:10px 13px}.scale{display:none}.controls{padding:12px}.controls .speed{order:4;width:100%;justify-content:space-between}.speed input{flex:1}.mode{margin-left:auto}.dashboard{grid-template-columns:90px 1fr;gap:8px}.score-detail{display:none}.stations{grid-column:2}.rack{grid-template-columns:repeat(2,1fr);gap:9px}.track-card{min-height:100px}.section-top{align-items:end}.small-muted{font-size:9px;max-width:125px;text-align:right}.placement{flex-wrap:wrap}.placement>div{width:100%;justify-content:flex-end}.strategy{padding:19px;grid-template-columns:1fr}.strategy>button{justify-self:start}.solver-result{grid-column:1}footer{display:block}footer>span{display:block}footer>span:last-child{text-align:left;margin-top:8px}}

.memory-rule{grid-column:1/-1;padding:15px 17px;background:#e5eadb;border-radius:7px;font-size:12px;line-height:1.8}.memory-rule p{font-size:11px;margin:6px 0}.memory-rule code{font-family:inherit;font-size:11px;color:#456037}

/* Keep the repeated pick/place task immediately beside the field. */
.play-area .rack-section{margin:0;padding:12px 18px 4px;border-top:1px solid #edf0e7;background:#fafbf5}.play-area .section-top{margin-bottom:10px}.play-area .section-top h2{font-size:12px;margin:0}.play-area .small-muted{font-size:9px}.play-area .rack{gap:8px}.play-area .track-card{min-height:87px;padding:8px;grid-template-columns:40px 1fr;gap:5px}.play-area .track-card.selected{padding:7px}.play-area .track-card svg{height:61px;width:37px}.play-area .track-name{font-size:11px}.play-area .track-desc{font-size:9px}.play-area .badge{font-size:9px;margin-top:5px}.play-area .placement{padding:10px 0;gap:8px}.play-area .placement>span{font-size:10px}.play-area .placement button{font-size:11px;padding:9px 12px}.board-scroll{min-height:250px}.board-footer{padding-bottom:10px;min-height:34px}@media(min-width:1500px){.board-scroll{min-height:290px}}@media(max-width:650px){.play-area .rack-section{padding:10px 12px 0}.play-area .rack{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.play-area .track-card{display:flex;flex-direction:column;text-align:center;padding:5px;min-height:102px;gap:1px}.play-area .track-card.selected{padding:4px}.play-area .track-card svg{height:44px;width:30px}.play-area .track-name{font-size:9px}.play-area .track-desc{display:none}.play-area .badge{font-size:8px;padding:2px 3px}.play-area .placement{gap:6px}.play-area .placement>div{width:auto;margin-left:auto}.play-area .placement button{padding:9px;font-size:10px}.board-scroll{min-height:210px}.play-area .small-muted{max-width:150px}}

.track-card{touch-action:none;user-select:none;cursor:grab}.dragging,.dragging *{cursor:grabbing!important}.drop-ready{filter:drop-shadow(0 0 3px #8fb771)}[hidden]{display:none!important}

.track-slot{min-width:0;display:flex;flex-direction:column;border-radius:9px;background:#fff;border:1px solid var(--line);overflow:hidden}.play-area .track-slot .track-card{width:100%;border:0;border-radius:0;flex:1}.play-area .track-slot .track-card.selected{box-shadow:inset 0 0 0 2px var(--green);padding:8px}.rotate-card{width:100%;padding:8px;background:#e9eedf;color:var(--ink);border-top:1px solid var(--line);font-size:11px;font-weight:600;min-height:34px}.rotate-card:hover{background:#dce9c5}.rotate-card:disabled{opacity:.55;cursor:default}.play-area .placement{min-height:49px}@media(max-width:650px){.rotate-card{font-size:10px;padding:8px 2px}.play-area .track-slot .track-card.selected{padding:5px}}

.memory-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.memory-card{background:#fafbf4;border:1px solid #d4dfc8;border-radius:9px;padding:15px;text-align:center}.memory-card h3{margin:0;font-size:14px}.tile-images{height:135px;display:flex;justify-content:center;gap:5px}.tile-images svg{height:100%;max-width:100%;min-width:0;flex:1}.memory-card strong{font-size:12px}.memory-card p{font-size:11px;margin:7px 0 0}.turn-lab{background:#f8faf1;border:1px solid #d4dfc8;padding:20px;display:grid;grid-template-columns:1fr 290px;gap:20px;border-radius:9px;margin-bottom:15px}.turn-lab h3{margin:0 0 12px;font-size:14px}.turn-tabs{display:flex;gap:7px;margin-bottom:12px}.turn-tab{border:1px solid #bdceb0;background:white;padding:8px 12px;border-radius:5px;font-size:11px;color:var(--ink)}.turn-tab.active{background:var(--green);color:white;border-color:var(--green)}#turnExplain strong{font-size:19px}#turnExplain p{max-width:420px;font-size:12px}#turnDiagram svg{display:block;width:100%;height:160px}.memory-tip{padding:0 4px}.memory-rule>.small-muted{text-align:left;max-width:none}@media(max-width:750px){.memory-tiles{grid-template-columns:1fr}.memory-card{display:grid;grid-template-columns:130px 1fr;text-align:left;gap:8px 14px;align-items:center}.memory-card h3{grid-column:2;grid-row:1}.tile-images{grid-column:1;grid-row:1/4;height:110px}.memory-card strong,.memory-card p{grid-column:2}.memory-card p{margin:0}.turn-lab{grid-template-columns:1fr;padding:15px;gap:5px}#turnDiagram svg{height:175px}}

.classroom-bar{border:1px solid #d9e1cf;border-radius:10px;background:#edf1e4;padding:16px 20px;margin-bottom:18px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}.classroom-bar>div:first-child{display:flex;flex-direction:column;gap:5px}.classroom-bar strong{font-size:13px}.classroom-bar span{font-size:10px;color:var(--muted);line-height:1.7}.classroom-controls{display:flex;gap:8px;align-items:center}.classroom-controls label{font-size:11px}.classroom-controls input{width:123px;border:1px solid #b9c8a9;border-radius:5px;padding:9px;font-weight:700;font-size:15px;letter-spacing:.07em;color:var(--ink);background:white}.classroom-controls button{padding:10px 12px;font-size:11px}#classroomStatus{width:100%;font-size:10px}@media(max-width:650px){.classroom-bar{padding:14px}.classroom-controls{width:100%;flex-wrap:wrap;gap:6px}.classroom-controls label{display:none}.classroom-controls input{flex:1;min-width:110px}.classroom-controls button{padding:10px 8px}}

.mode-gate{max-width:1100px;margin:0 auto;padding:70px 5%}.mode-gate h1{font-size:42px}.mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.mode-choice{display:flex;flex-direction:column;align-items:start;text-align:left;background:#fff;border:1px solid #d4dfc9;border-radius:16px;padding:32px;color:var(--ink);gap:14px;min-height:260px}.mode-choice:hover{background:#edf3e2;border-color:#87a56d}.mode-icon{font-size:30px;width:55px;height:55px;display:grid;place-items:center;border-radius:12px;background:#e6edd8}.mode-choice strong{font-size:24px}.mode-choice>span:not(.mode-icon){font-size:13px;color:var(--muted);line-height:1.8}.mode-choice b{font-size:13px;margin-top:auto}.team-setup{margin-top:25px;background:#e8edde;padding:28px;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.team-setup>div:first-child{border-right:1px solid #cad6bb;padding-right:25px}.team-setup p{font-size:12px}.team-setup .primary{margin-top:15px}.team-setup label{display:block;font-size:11px;margin-top:14px}.join-row{display:flex;gap:10px;align-items:center}.join-row .primary{margin:0}.join-row input{width:135px;letter-spacing:.22em;font-size:25px;color:var(--ink);padding:10px 14px;border:1px solid #aabf94;border-radius:7px;background:white}.room-gate-status{grid-column:1/-1}.team-setup>a{grid-column:1/-1;font-size:13px}.room-banner{display:flex;align-items:center;justify-content:space-between;background:#e1eccc;border:1px solid #b9cc9d;border-radius:11px;padding:18px 22px;gap:20px;margin-bottom:14px}.room-banner>div:first-child{display:flex;flex-direction:column;gap:4px}.room-banner #activeRoomCode{font-size:35px;letter-spacing:.15em;font-variant-numeric:tabular-nums}.room-banner #roomRole{font-size:11px}.room-detail{display:flex;flex-direction:column;gap:8px;font-size:12px}.room-detail span{color:#607752;font-size:11px}.room-actions{display:flex;flex-direction:column;gap:8px}.mode-back{margin:0 0 12px;padding:0;color:var(--muted)}.best-attempt{font-size:11px;color:#527142;margin:-5px 0 10px}.score-detail{line-height:1.5}@media(max-width:650px){.mode-gate{padding:35px 5%}.mode-gate h1{font-size:31px}.mode-choices{gap:12px;grid-template-columns:1fr}.mode-choice{min-height:190px;padding:23px;display:grid;grid-template-columns:50px 1fr;gap:10px 18px}.mode-icon{grid-row:1/4;width:48px;height:48px}.mode-choice strong{font-size:21px}.mode-choice>span:not(.mode-icon),.mode-choice b{grid-column:2}.team-setup{grid-template-columns:1fr;padding:21px;gap:25px}.team-setup>div:first-child{border-right:0;border-bottom:1px solid #cad6bb;padding:0 0 24px}.room-banner{padding:15px;flex-wrap:wrap;gap:12px}.room-banner #activeRoomCode{font-size:30px}.room-actions{width:100%;flex-direction:row;flex-wrap:wrap}.room-actions button{font-size:11px;padding:9px 11px}.room-detail{margin-left:auto;font-size:11px}.best-attempt{grid-column:1/-1;margin:0}}

.current-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.memory-card.current-card{display:block;padding:15px 10px}.current-card h3{font-size:13px;margin-bottom:10px}.entry-diagrams{display:flex;gap:6px;justify-content:center}.entry-knowledge{flex:1;min-width:0}.entry-knowledge>span{font-size:10px;font-weight:600}.entry-knowledge svg{display:block;height:130px;width:100%}.entry-knowledge p{font-size:10px;line-height:1.7;margin:0}.current-card .entry-note{font-size:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.current-round-lab{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:24px}#turnDiagram svg{height:245px;max-height:none}.lesson-route{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}.lesson-route span{display:inline-block;border-left:4px solid;background:#e9eddf;padding:5px 8px;border-radius:3px;font-size:11px}.lesson-route b{color:#7b8b6f;font-size:12px}#turnExplain>strong{font-size:16px;line-height:1.8}#lessonPlay{margin-top:12px;font-size:11px;padding:9px 13px}.current-round-lab .turn-tabs{flex-wrap:wrap}@media(max-width:1000px){.current-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-knowledge svg{height:150px}}@media(max-width:650px){.current-tiles{gap:8px}.current-card h3{font-size:11px}.memory-card.current-card{padding:12px 8px}.entry-knowledge>span{font-size:9px}.entry-knowledge svg{height:110px}.entry-knowledge p{font-size:9px}.current-round-lab{grid-template-columns:1fr;gap:12px}#turnDiagram svg{height:240px}.current-card .entry-note{font-size:9px}}

.entry-choices{display:flex;gap:5px;padding:6px;background:#f1f5e9;border-top:1px solid var(--line)}.entry-choice{flex:1;min-width:0;border:1px solid #d6dfcc;border-radius:6px;background:#fff;padding:5px 3px;color:var(--ink)}.entry-choice.chosen{border:2px solid #3c6a4a;padding:4px 2px;background:#e5f0d9}.entry-choice svg{width:100%;height:65px;display:block}.entry-choice span{display:block;font-size:10px}.entry-error{display:block;font-size:9px;color:#a35139;margin-top:3px}.entry-choice:disabled{opacity:.5}.entry-action{display:block;font-size:10px;font-weight:600;color:#3c6a4a;margin-top:3px}#board{touch-action:none}.entry-choices button{touch-action:none;user-select:none;cursor:grab}@media(max-width:650px){.entry-choices{padding:3px;gap:3px;flex-wrap:wrap}.entry-choice{flex-basis:100%}.entry-choice svg{height:53px}.entry-choice span{font-size:9px}}

.track-summary{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:42px;background:#fff}.track-summary.unavailable{color:#84928b}.play-area .track-summary .badge{margin:0;white-space:nowrap}.play-area .track-summary .track-name{font-size:11px}.track-summary.unavailable .badge{color:#84928b}@media(max-width:650px){.track-summary{padding:7px 4px;flex-direction:column;gap:4px;min-height:48px}.play-area .track-summary .track-name{font-size:9px;text-align:center}}

/* DCT website brand application: official blue/yellow, original logo asset. */
:root{--ink:#123D83;--green:#123D83;--lime:#FFBF20;--paper:#f5f7fb;--line:#d8e1ef;--muted:#5f7089;--amber:#FFBF20}
header{background:#fff;border-bottom:4px solid #FFBF20;height:96px;gap:22px}.brand{gap:17px;letter-spacing:0}.dct-logo{display:block;width:108px;height:auto;flex-shrink:0}.brand-titles{display:flex;flex-direction:column;gap:5px}.brand-titles strong{font-size:17px}.brand-titles>span{font-size:12px;font-weight:500;color:var(--muted)}.edition{border-color:var(--line)}
.primary{background:#123D83;color:#fff}.primary:hover{background:#0d2d61}.secondary:hover{background:#edf3fc}.text-button{color:#123D83}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #123D83;outline-offset:3px}.mode-choice{border-color:var(--line);box-shadow:0 5px 20px #123d8306}.mode-choice:hover{background:#f1f6ff;border-color:#123D83}.mode-icon{background:#FFBF20;color:#123D83}.mode-choice b{border-bottom:3px solid #FFBF20;padding-bottom:5px}.mode-gate .eyebrow{color:#123D83}.mode-gate h1{color:#123D83}.mode-gate{position:relative}.team-setup,.room-banner{background:#edf3fc;border-color:var(--line)}.team-setup>div:first-child{border-color:var(--line)}.join-row input{border-color:#b5c8e4}.room-detail span{color:var(--muted)}.room-banner{border-left:5px solid #FFBF20}
.classroom-bar{background:#fff;border-color:var(--line);border-left:5px solid #FFBF20}.dashboard{background:#edf3fc;border-color:var(--line)}.divider{border-color:var(--line)}.panel-label,.eyebrow{color:#5f7089}.timer strong,.score strong{color:#123D83}.board-scroll{background:#f5f7fa}.play-area .rack-section{background:#f8faff}.entry-choices{background:#eef3fa}.entry-choice{border-color:var(--line)}.entry-choice.chosen{border-color:#123D83;background:#fff4cf}.entry-action{color:#123D83}.track-summary{color:#123D83}
.strategy{background:#edf3fc;border-color:var(--line)}.memory-rule{background:#e7eef9}.memory-card,.turn-lab{background:#fff;border-color:var(--line)}.turn-tab{border-color:#c6d5ea}.turn-tab.active{background:#123D83;border-color:#123D83;color:white}.lesson-route span{background:#f1f5fc}.solver-result{border-color:var(--line)}footer{border-color:var(--line)}footer a{color:#123D83}
@media(max-width:650px){header{height:88px;gap:10px}.brand{gap:9px}.dct-logo{width:76px}.brand-titles strong{font-size:12px}.brand-titles>span{font-size:10px}.edition{display:none}.text-button{font-size:10px}.team-setup>div:first-child{border-color:var(--line)}}

.solution-map-panel{margin:18px 0;padding:16px;background:white;border:1px solid var(--line);border-radius:10px}.solution-map-panel h3{font-size:16px;margin:0 0 12px}.solution-map-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.solution-map-tabs .secondary{padding:8px 11px;font-size:11px;margin:0}.solution-map-tabs .active{background:#123D83;color:white;border-color:#123D83}.solution-map-scroll{overflow-x:auto;background:#f7f9fc;border-radius:7px}.solution-map-scroll svg{display:block;width:100%;min-width:900px;height:auto}.solution-map-note{font-size:11px!important;margin-top:10px!important}.solution-round-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0}.route-step small{font-size:9px;color:#687c97}@media(max-width:650px){.solution-map-panel{padding:10px}.solution-map-tabs{gap:5px}}

.entry-choices.unavailable .entry-choice{opacity:.4}
.nickname-field{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;font-size:13px}.nickname-field input{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);max-width:220px}.nickname-field span{font-size:11px;color:var(--muted)}.progress-panel{margin:22px 0;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.progress-heading h2{font-size:20px;margin:6px 0 16px}.progress-heading label{font-size:12px}.progress-heading select{padding:9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:white}.progress-panel p{font-size:12px}.progress-panel #improvement{font-weight:600;color:#123D83;margin:8px 0}.progress-panel #progressStatus{font-size:10px;margin-bottom:12px}.progress-panel details{margin-top:16px}.progress-panel summary{cursor:pointer;font-size:13px;font-weight:600}.score-table-scroll{overflow:auto;margin:12px 0}.score-table-scroll table{width:100%;border-collapse:collapse;font-size:12px;min-width:410px}.score-table-scroll th{text-align:left;background:#edf3fc;padding:10px}.score-table-scroll td{padding:10px;border-bottom:1px solid var(--line)}.score-table-scroll small{color:var(--muted)}#teamScores h3{font-size:16px;margin:20px 0 7px}@media(max-width:650px){.progress-panel{padding:15px}.progress-heading{align-items:flex-start;flex-direction:column}.progress-heading h2{font-size:18px}.nickname-field{align-items:flex-start;flex-direction:column}}

.timing-controls{display:flex;flex-direction:column;gap:8px;max-width:350px;font-size:12px}.timing-controls label{display:flex;align-items:center;gap:8px;font-weight:600}.timing-controls input{width:70px;padding:7px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fff}.timing-controls span{font-size:10px;line-height:1.7;color:var(--muted)}.timing-controls button{align-self:flex-start}.timing-summary{padding:12px;border-left:4px solid #FFBF20;background:#fff8e5;color:#123D83!important}.timing-details{padding:12px 0}.timing-details summary{cursor:pointer;font-weight:600}@media(max-width:650px){.timing-controls{max-width:none}}

/* Keep the driving control stable while animation updates the board. */
#start{min-width:150px;min-height:44px;touch-action:manipulation}#start:active{transform:none}

.strategy-comparison{border-collapse:collapse;width:100%;margin:16px 0;color:var(--ink)}.strategy-comparison caption{text-align:left;margin-bottom:8px;font-weight:600}.strategy-comparison th,.strategy-comparison td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.strategy-comparison th{background:#fff}

.mission-panel,.lobby-ranking{padding:24px;margin:24px 0;border:1px solid #d7e1f1;border-radius:18px;background:#f4f7fd}.mission-badges{display:flex;gap:12px;flex-wrap:wrap}.mission-badge{flex:1;min-width:140px;padding:16px;border:1px solid #d7e1f1;border-radius:12px;background:white;color:#60728e}.mission-badge.achieved{background:#fff1bd;border-color:#FFBF20;color:#123D83}.mission-badge strong{display:block;margin-top:8px}.ranking-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.ranking-filters label{display:grid;gap:6px}.ranking-filters input,.ranking-filters select{padding:12px;border:1px solid #c5d3e8;border-radius:8px;background:white;color:#123D83}.lobby-ranking-button{margin-top:20px}#nicknameError{color:#a63232}.mission-panel h2{margin:8px 0 18px}

.board-scroll{background:#fff}#board{background:#fff}

.board-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.pick-board{background:white;border:2px solid #d7e1f1;border-radius:12px;padding:10px;color:#123D83}.pick-board.chosen{border-color:#123D83;background:#fff3c6}.pick-board svg{width:100%;height:72px}.pick-board strong{display:block}#boardPicker{width:min(700px,95vw)}#boardPicker p{margin:12px 0}.diagnostic-panel{background:#fff8df;border:1px solid #e5c66d;border-radius:12px;padding:18px;margin:16px 0}.strategy-comparison button{padding:8px}.strategy-comparison tr.selected{background:#fff4cf}

.station-picker{margin:20px 0 0;padding:16px;border:1px solid #d7e1f1;border-radius:12px;background:#f5f8fe}.station-picker legend{color:#123D83;font-weight:700;padding:0 6px}.station-picker-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.station-picker-fields label{font-weight:600;color:#123D83}.station-picker select{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid #9baed0;border-radius:8px;font:inherit;color:#123D83;background:white}.station-picker select:focus-visible{outline:3px solid #FFBF20;outline-offset:2px}.station-picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.station-picker-actions button{padding:10px 12px}#stationPickerSummary{font-weight:600;color:#123D83}#boardPicker{max-height:92vh;overflow-y:auto}@media(max-width:480px){.station-picker{padding:12px}.station-picker-fields{gap:6px}.station-picker-fields label{font-size:12px}.station-picker select{padding:8px 4px}}

.history-dot{width:8px;height:8px;display:inline-block;border-radius:2px;margin-left:8px;background:#123D83;opacity:.24}
