:root{--navy:#102e58;--blue:#0758cb;--orange:#f18430;--ink:#19304d;--muted:#62738a;--line:#dfe7ef;--bg:#f3f7fb}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button:disabled{opacity:.4;cursor:default}.header{height:96px;max-width:1440px;padding:20px 44px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{color:var(--navy);font-size:24px;font-weight:800;display:flex;gap:12px;align-items:center;text-decoration:none;letter-spacing:-.8px}.brand small{display:block;letter-spacing:1.6px;font-size:8px;margin-top:1px}.brand-icon{background:var(--navy);color:white;border-radius:12px;padding:9px 10px;font-size:24px;line-height:1.1;transform:rotate(-4deg)}.brand-icon span{font-size:11px;color:#ffb277}.orange{color:var(--orange)}.private{font-size:12px;color:#536a83;display:flex;align-items:center;gap:8px}.private i{width:7px;height:7px;background:#0c9a76;border-radius:50%}main{max-width:1360px;margin:auto;padding:24px 36px 48px}.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:1.7px;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.7vw,64px);line-height:1.08;letter-spacing:-2.3px;margin-bottom:22px}h2{font-size:28px;line-height:1.2;letter-spacing:-.8px}h3{font-size:17px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:white;border:1px solid var(--line);border-radius:24px;padding:55px 48px;position:relative;overflow:hidden}.hero .eyebrow{margin-bottom:22px}.hero p{font-size:16px;max-width:440px;color:var(--muted)}.hero .visual{position:relative;background:#e7f3ff;padding:25px 15px 20px;border-radius:20px;box-shadow:0 15px 40px #234c7a10;transform:rotate(1deg)}.visual img{width:100%;display:block;border-radius:9px}.mini-label{font-size:11px;font-weight:bold;letter-spacing:1px;color:var(--blue);margin-bottom:12px}.visual-note{margin:15px 0 0!important;font-size:12px!important;display:flex;justify-content:space-between}.pill{background:#fff4e8;color:#a34e0e;border:1px solid #ffe0c3;border-radius:30px;padding:5px 10px;font-size:11px;font-weight:bold;display:inline-block}.stats{display:flex;gap:25px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.stats strong{font-size:22px;display:block}.stats span{font-size:11px;color:var(--muted)}.primary,.secondary,.text-button{border-radius:9px;min-height:44px;padding:12px 20px;font-size:13px;font-weight:bold;border:1px solid transparent}.primary{background:var(--orange);color:#182d48;box-shadow:0 4px 9px #da731b16}.primary:hover{background:#ff9849}.secondary{background:white;color:var(--navy);border-color:var(--line)}.secondary:hover{background:#edf4fc}.text-button{background:transparent;color:var(--muted);padding:8px}.setup{margin-top:22px}.setup label{font-size:12px;display:flex;gap:8px;align-items:center;margin-bottom:15px;color:var(--muted)}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}.bottom-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.info-card{background:#fff;padding:24px;border:1px solid var(--line);border-radius:14px}.info-card b{color:var(--blue);font-size:11px;display:block;margin-bottom:9px}.info-card p{font-size:13px;color:var(--muted);margin:0}.concept-note{font-size:12px;color:var(--muted);margin:22px 0 0}.exam-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:16px}.exam-top h1{font-size:26px;letter-spacing:-.8px;margin:4px 0 0}.timer{border:1px solid var(--line);background:white;border-radius:12px;padding:10px 20px;text-align:center;font-size:24px;font-variant-numeric:tabular-nums;font-weight:800;min-width:122px}.timer small{font-size:9px;letter-spacing:1.2px;color:var(--muted);display:block}.timer.urgent{color:#b43e25;border-color:#f0baa9;background:#fff3ee}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}.question-card{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden}.question-meta{padding:16px 23px;display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid var(--line)}.question-meta b{color:var(--blue)}.question-art{display:block;width:100%;height:auto;object-fit:contain;cursor:zoom-in}.art-note{font-size:10px;color:var(--muted);padding:8px 23px;margin:0;border-top:1px solid #eff3f8}.answer-area{padding:22px}.answer-area h2{font-size:20px;letter-spacing:-.3px;margin:0 0 15px}.answers{display:grid;gap:10px}.answer{background:white;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;gap:13px;align-items:center;text-align:left;color:var(--ink);font-size:14px;min-height:48px}.answer .letter{border:1px solid #d7e2f0;background:#f0f5fc;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;font-weight:bold;font-size:12px;color:var(--blue)}.answer:hover{border-color:#9cbbe1}.answer.selected{border:2px solid var(--blue);padding:11px 13px;background:#eef5ff}.answer.selected .letter{background:var(--blue);color:white;border-color:var(--blue)}.answer.correct{border:2px solid #21915c;background:#effcf4;padding:11px 13px}.answer.wrong{border-color:#ba655d;background:#fff2f1}.question-nav{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.sidebar{background:white;border:1px solid var(--line);border-radius:15px;padding:22px}.sidebar h3{margin:0 0 4px}.sidebar p{font-size:12px;color:var(--muted)}.progress{height:5px;background:#e6edf5;border-radius:5px;overflow:hidden;margin:15px 0 22px}.progress div{height:100%;background:var(--blue);transition:width .2s}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:20px}.qbutton{border:1px solid var(--line);background:white;border-radius:6px;aspect-ratio:1;color:#60738c;font-size:12px;position:relative}.qbutton.answered{background:#e8f1fc;border-color:#d6e4f7;color:var(--blue);font-weight:bold}.qbutton.active{background:var(--blue);color:white;border-color:var(--blue)}.qbutton.flagged:after{content:'';position:absolute;right:2px;top:2px;width:6px;height:6px;background:var(--orange);border-radius:50%}.legend{display:flex;gap:14px;font-size:10px;color:var(--muted);margin-bottom:24px}.legend span:before{content:'';display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px;background:#bcd5f7}.legend span:last-child:before{background:var(--orange)}.sidebar>.primary{width:100%}.sidebar .status-note{font-size:10px;margin-top:16px;margin-bottom:0}.flag.on{color:#aa4c07;background:#fff3e6}.summary{max-width:880px;margin:30px auto}.summary-head{padding:38px;background:var(--navy);border-radius:18px;color:white;margin-bottom:22px}.summary-head h1{font-size:42px;margin:12px 0 18px}.summary-head p{color:#c2d2e6;font-size:14px}.summary .stats{border-color:#ffffff20}.summary .stats span{color:#c2d2e6}.result-row{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:17px;background:white;border:1px solid var(--line);border-radius:9px;text-align:left;margin-bottom:7px;color:var(--ink);font-size:13px}.result-row span{font-size:11px;color:var(--muted);flex-shrink:0}.summary-actions{display:flex;gap:12px;margin-bottom:24px}dialog{border:1px solid var(--line);border-radius:18px;padding:32px;max-width:480px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 24px 100px #001c4840}dialog::backdrop{background:#06162fbb}dialog h2{margin-top:12px}dialog p{font-size:14px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.image-dialog{max-width:1600px;width:96vw;max-height:96vh;padding:10px;overflow:auto}.image-dialog button{position:sticky;top:0;display:block;margin-left:auto}.image-dialog img{display:block;max-width:none;width:100%;height:auto}.review-info{padding:13px;background:#f0f5fc;color:var(--muted);border-radius:8px;font-size:12px;margin-top:16px}.footer{text-align:center;color:#7d8da0;font-size:11px;margin-top:34px}@media(min-width:1500px){.question-card{max-width:1000px}}@media(max-width:900px){.hero{padding:32px;gap:25px}.exam-layout{grid-template-columns:minmax(0,1fr) 215px}.sidebar{padding:17px}.question-meta{padding:12px 18px}.answer-area{padding:18px}.header{padding:18px 28px}}@media(max-width:700px){.header{height:79px;padding:16px 18px}.brand{font-size:20px;gap:9px}.brand-icon{font-size:21px}.brand small{font-size:6px;letter-spacing:1.1px}.private{font-size:0;gap:0}.private i{width:8px;height:8px}main{padding:12px 14px 30px}.hero{grid-template-columns:1fr;padding:28px 23px;gap:28px;border-radius:17px}.hero h1{font-size:43px;letter-spacing:-1.8px}.hero p{font-size:14px}.hero .visual{padding:15px 10px;transform:none}.stats{margin-top:22px;gap:28px}.bottom-cards{grid-template-columns:1fr;gap:10px}.info-card{padding:18px}.info-card h3{margin-bottom:6px}.exam-layout{grid-template-columns:1fr;gap:18px}.exam-top{margin:4px 3px 17px}.exam-top h1{font-size:21px}.eyebrow{font-size:9px}.timer{font-size:21px;min-width:95px;padding:8px 12px}.question-meta{padding:10px 13px}.question-meta .text-button{font-size:11px}.answer-area{padding:16px 14px}.answer-area h2{font-size:18px}.answer{font-size:13px}.art-note{padding:7px 13px}.sidebar{padding:20px}.grid{grid-template-columns:repeat(10,1fr);gap:5px}.qbutton{font-size:10px}.legend{margin-bottom:16px}.summary{margin:5px auto}.summary-head{padding:28px 22px}.summary-head h1{font-size:34px}.result-row{font-size:12px}.image-dialog img{width:150vw}.dialog-actions{flex-wrap:wrap}.concept-note{font-size:11px}.question-nav .primary,.question-nav .secondary{padding:12px 16px}.summary-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.order-question-title{padding:22px 23px 8px}.order-question-title h2{font-size:21px;letter-spacing:-.35px;margin:0}.order-widget{position:relative;padding:0 16px 16px}.order-controls{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line);padding:12px 4px 9px;margin-bottom:12px}.order-instructions strong{font-size:13px;color:var(--navy)}.order-instructions p{font-size:12px;color:var(--muted);margin:4px 0 11px}.rank-palette{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-height:52px}.rank-token{width:49px;height:49px;background:var(--blue);border:2px solid var(--blue);border-radius:12px;color:white;font-size:23px;font-weight:800;padding:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;box-shadow:0 3px 8px #0758cb20}.rank-token.used{background:#e8f1ff;color:var(--blue);border-color:#b2ccef}.rank-token.chosen{background:var(--orange);color:var(--navy);border-color:#c65b0a;box-shadow:0 0 0 3px #fff0df;transform:translateY(-2px)}.order-filled{margin-left:auto;font-size:11px;color:var(--muted)}.order-tools{display:flex;gap:12px;justify-content:flex-end;margin-top:3px}.order-tools .text-button{min-height:35px;font-size:11px;padding:5px 7px}.order-live{min-height:18px;font-size:11px;color:var(--muted);margin:2px 0 0}.traffic-scene{position:relative;width:100%;overflow:hidden;border-radius:12px;background:#fff;isolation:isolate}.traffic-slice{position:absolute;max-width:none;height:auto;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.participant-slot{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;min-width:44px;min-height:44px;height:auto;padding:0;border-radius:50%;border:3px solid var(--orange);background:#fff;color:var(--navy);font-size:clamp(18px,2.6vw,31px);line-height:1;font-weight:800;box-shadow:0 0 0 2px #fff,0 3px 7px #0003;touch-action:none;user-select:none;-webkit-user-select:none;display:grid;place-items:center;z-index:2}.participant-slot.filled{background:#fff3e6;border-color:#e2721d;cursor:grab}.participant-slot:disabled{opacity:1;cursor:default}.participant-slot.drop-hover{background:#dceeff;border-color:var(--blue);box-shadow:0 0 0 5px #0758cb55;z-index:3}.participant-slot.rank-correct{background:#e9f9ef;border-color:#24945a;color:#126d3c}.participant-slot.rank-wrong{border-color:#be5b52;background:#fff1ef}.rank-ghost{position:fixed;width:54px;height:54px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white;border:3px solid white;box-shadow:0 8px 20px #102e5866;font-size:26px;font-weight:800;z-index:2147483647;pointer-events:none}.number-dragging{cursor:grabbing!important;user-select:none}.qbutton.partial{background:#fff1df;border-color:#eab67b;color:#9d5a15}.qbutton.partial.active{background:var(--blue);color:#fff;border-color:var(--blue)}.order-dialog{max-width:1450px;width:96vw;max-height:96vh;padding:20px;overflow:auto}.order-dialog-top{position:sticky;top:-20px;z-index:8;background:white;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:5px 0 12px}.order-dialog h2{font-size:22px;margin:12px 0}.order-dialog .order-widget{padding:0}.order-dialog .order-controls{top:54px;z-index:5}.order-review-list{display:flex;flex-wrap:wrap;gap:10px 18px;padding:16px 2px 0}.order-review-list span{font-size:12px;display:flex;gap:7px;align-items:center}.order-review-list b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#e7f0ff;color:var(--blue)}.order-widget .review-info{margin-bottom:0}@media(max-width:700px){.order-question-title{padding:17px 14px 6px}.order-question-title h2{font-size:18px}.order-widget{padding:0 7px 10px}.order-controls{padding:9px 5px 7px;margin-bottom:8px}.order-instructions strong{font-size:12px}.order-instructions p{font-size:11px}.rank-token{width:46px;height:46px;font-size:22px}.rank-palette{gap:8px}.order-filled{font-size:10px}.order-tools{gap:8px}.traffic-scene{border-radius:9px}.participant-slot{border-width:3px;font-size:19px}.order-dialog{padding:10px;width:98vw}.order-dialog-top{top:-10px;padding:4px 0 10px}.order-dialog .order-controls{top:51px}.order-dialog h2{font-size:18px}.order-live{font-size:10px}.order-review-list{gap:8px 12px}.result-row span{max-width:105px;text-align:right}}
.participant-slot::after{content:"";position:absolute;inset:-6px;border-radius:50%}
@media(max-width:700px){.participant-slot{min-width:34px;min-height:34px;font-size:18px}}
/* Compact priority exercises: keep the palette close to the entire scene. */
.order-question-title{padding:17px 21px 11px}.order-widget{max-width:850px;margin:0 auto;padding:0 14px 16px}.order-controls{padding:8px 0;margin-bottom:9px}.order-instructions p{margin:3px 0 8px}.order-tools{margin-top:1px}.order-live{margin:1px 0 0}.traffic-scene{max-width:620px;margin:0 auto}.order-dialog{max-width:1180px}.order-dialog .order-widget{max-width:none}.order-dialog .traffic-scene{max-width:900px}
@media(min-width:1100px){.order-widget{display:grid;grid-template-columns:minmax(0,620px) 166px;gap:14px;align-items:start}.order-controls{grid-column:2;grid-row:1;position:sticky;top:12px;border-bottom:0;border-left:1px solid var(--line);padding:3px 0 3px 14px;margin:0}.traffic-scene{grid-column:1;grid-row:1}.order-controls .rank-palette{display:grid;grid-template-columns:repeat(2,49px);gap:9px;justify-content:start}.order-filled{grid-column:1/-1;margin:3px 0 0}.order-tools{flex-direction:column;align-items:flex-start;gap:0;margin-top:9px}.order-tools .text-button{padding-left:0}.order-live{margin-top:7px}.order-review-list{grid-column:1/-1;grid-row:2}.order-widget>.review-info{grid-column:1/-1;grid-row:3}.order-dialog .order-widget{grid-template-columns:minmax(0,900px) 166px}.order-dialog .order-controls{top:64px}}
@media(max-width:1099px){.order-widget{max-width:650px}.traffic-scene{max-width:570px}.order-dialog .traffic-scene{max-width:820px}}
@media(max-width:700px){.order-widget{padding:0 7px 10px}.order-question-title{padding:14px 13px 6px}.order-controls{padding:6px 5px;margin-bottom:6px}.order-instructions strong{font-size:11px}.order-instructions p{font-size:10px;margin:2px 0 7px}.rank-palette{min-height:46px;gap:7px}.rank-token{width:44px;height:44px}.order-tools .text-button{min-height:29px;font-size:10px}.order-live{font-size:10px;min-height:15px}.traffic-scene{max-width:340px}}
