:root{--bg:#09111b;--bg2:#0f1825;--panel:#101b28cc;--panel-strong:#152233;--panel-soft:#1a2a3d;--line:#2d4053;--line-soft:#385069;--text:#f4f7fb;--muted:#96a8bb;--yellow:#ffc85a;--yellow-2:#ffe19d;--green:#59d19b;--red:#ff7e72;--blue:#7cb4ff;--shadow:0 20px 60px rgba(0,0,0,.32)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 10%,rgba(124,180,255,.1),transparent 26%),radial-gradient(circle at 90% 0%,rgba(255,200,90,.08),transparent 24%),linear-gradient(180deg,#08111a,#0b1420 30%,#0a1119)}body{padding:0}a{text-decoration:none}button,input,select,textarea{font:inherit}.app{max-width:1180px;margin:0 auto;padding:20px 16px 72px}.top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.brand{font-weight:900;font-size:13px;letter-spacing:.08em;color:var(--yellow);text-transform:uppercase}.progressText{font-size:13px;color:var(--muted)}.progress{height:8px;background:#152232;border-radius:999px;overflow:hidden;border:1px solid #223448;box-shadow:inset 0 1px 8px #00000059;margin-bottom:24px}.progress>div{height:100%;width:0;background:linear-gradient(90deg,var(--yellow),var(--yellow-2));transition:.35s ease}.screen{display:none}.screen.active{display:block}.card,.hero{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#121e2cf2,#0d1723f5);border:1px solid rgba(65,88,112,.7);box-shadow:var(--shadow)}.hero{border-radius:30px;padding:30px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:-10% auto auto -5%;width:220px;height:220px;background:radial-gradient(circle,rgba(124,180,255,.16),transparent 70%);pointer-events:none}.heroGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;position:relative;z-index:1}.kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.kicker:before{content:"";width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--yellow),var(--yellow-2));box-shadow:0 0 14px #ffc85a8c}h1{font-size:40px;line-height:1.05;margin:0 0 12px}h2{margin:0;font-size:28px}p{margin:0;color:#c9d3de;line-height:1.72}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{appearance:none;border:0;border-radius:16px;padding:14px 18px;font-weight:900;font-size:15px;cursor:pointer;transition:.18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.primary{background:linear-gradient(180deg,var(--yellow),#f2b53f);color:#1a2128;box-shadow:0 10px 20px #ffc85a2e}.secondary{background:#1a2938;color:#fff;border:1px solid #365069}.ruleMini{display:grid;gap:10px}.ruleMini div{padding:14px 15px;border-radius:18px;background:#0e1620c7;border:1px solid rgba(63,83,104,.9);color:#d9e3ec}.ruleMini b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#ffc85a21;color:var(--yellow);margin-inline-start:8px}.card{border-radius:26px;padding:24px;margin-bottom:18px}.sectionTitle{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.badge{font-size:11px;padding:8px 12px;border-radius:999px;background:#182738;border:1px solid #2d4258;color:#c6d1db;white-space:nowrap}.roadTypes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.typeCard{padding:16px;border:1px solid #32485f;border-radius:18px;background:linear-gradient(180deg,#172639,#132131)}.typeCard strong{display:block;margin-bottom:6px;font-size:16px}.typeCard span{font-size:13px;color:var(--muted);line-height:1.55}.formula{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#ffc85a17,#7cb4ff14);border:1px solid rgba(255,200,90,.18);font-size:15px;line-height:1.72}.formula b{color:var(--yellow)}.scenarioHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px;flex-wrap:wrap}.scenarioHead .small{font-size:13px;color:var(--muted);margin-bottom:4px}.scenarioHead strong{display:block;font-size:26px;line-height:1.2}.scenarioHint{padding:10px 12px;border-radius:14px;border:1px solid #30465d;background:#132233;color:#dce6ef;font-size:13px;max-width:350px}.layout{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:18px;align-items:flex-start;width:100%}.choicePanel{display:grid;gap:14px}.stepBox{padding:18px;border-radius:20px;background:linear-gradient(180deg,#142334,#101b29);border:1px solid #30485d;box-shadow:inset 0 1px #ffffff08}.stepBox.disabled{opacity:.48}.stepTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.stepBox .n{font-size:11px;color:var(--yellow);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.stepBox strong{display:block;font-size:18px;margin-bottom:6px}.stepBox p{font-size:13px;color:var(--muted)}.optGrid{display:grid;gap:9px;margin-top:14px}.opt{width:100%;text-align:right;padding:13px 14px;border-radius:14px;border:1px solid #395169;background:#101924;color:#eef4fa;cursor:pointer;transition:none;line-height:1.45}.opt:hover{border-color:#6483a2;background:#122031}.opt.active{border-color:var(--yellow);background:#ffc85a1f}.opt.correct{border-color:var(--green);background:#59d19b1a}.opt.wrong{border-color:var(--red);background:#ff7e721a}.feedback{display:none;margin-top:12px;padding:14px;border-radius:15px;border:1px solid #39485a;background:#121922}.feedback.show{display:block}.feedback.good{border-color:#34775a;background:#55c79214}.feedback.bad{border-color:#7a413c;background:#f0766514}.feedback strong{display:block;margin-bottom:6px}.feedback span{color:#d7e0e8;line-height:1.55;font-size:14px}#nextScenario{display:none}.simWrap{background:linear-gradient(180deg,#0d151d,#091118);border:1px solid #2c4359;border-radius:24px;padding:14px;box-shadow:inset 0 1px #ffffff08}.simHeader{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.legend{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#111b27;border:1px solid #314960;color:#d9e3ed;font-size:12px}.dot{width:10px;height:10px;border-radius:999px;display:inline-block}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.dot.blue{background:var(--blue)}.sim{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:19px;background:#25303a;box-shadow:inset 0 0 60px #0000008c}.grass{position:absolute;background:linear-gradient(180deg,#49624f,#394e40)}.g1{left:0;top:0;width:31%;height:31%}.g2{right:0;top:0;width:31%;height:31%}.g3{right:0;bottom:0;width:31%;height:31%}.roadV{position:absolute;left:31%;top:0;width:38%;height:100%;background:linear-gradient(180deg,#3a424c,#343d47)}.roadH{position:absolute;left:0;top:31%;width:100%;height:38%;background:linear-gradient(180deg,#3a424c,#343d47)}.centerV,.centerH{position:absolute;opacity:.72}.centerV{left:49.6%;top:0;height:100%;width:2px;background:repeating-linear-gradient(to bottom,#f4e9b0 0 13px,transparent 13px 25px)}.centerH{top:49.6%;left:0;width:100%;height:2px;background:repeating-linear-gradient(to right,#f4e9b0 0 13px,transparent 13px 25px)}.arrow{position:absolute;font-size:18px;opacity:.75;color:#e5edf5;-webkit-user-select:none;user-select:none}.aV1{bottom:12%;left:39%}.aV2{bottom:12%;left:57%}.aH1{top:38%;left:11%}.aH2{top:56%;left:11%}.labelRoad{position:absolute;font-size:10px;background:#111923e6;border:1px solid #495e74;color:#e1e9f2;border-radius:999px;padding:5px 9px;z-index:7}.sourceLabel{right:7px;bottom:7px}.targetLabel{left:7px;top:7px}.zone{position:absolute;z-index:8;border:2px dashed rgba(255,255,255,.15);border-radius:13px;cursor:pointer;transition:none;background:#ffffff05}.zone:hover{border-color:#fff5;background:#ffffff10}.zone.active{border-color:var(--yellow);background:#ffc85a1f}.zone.correct{border-color:var(--green);background:#59d19b26}.zone.wrong{border-color:var(--red);background:#ff7e7229}.zoneHint{position:absolute;left:50%;bottom:-10px;transform:translate(-50%,100%);font-size:10px;color:#fff;background:#000c;padding:4px 6px;border-radius:6px;white-space:nowrap;opacity:0;transition:.15s}.zone:hover .zoneHint,.zone.active .zoneHint{opacity:1}.zSourceLeft{left:33%;bottom:7%;width:15%;height:25%}.zSourceCenter{left:52%;bottom:7%;width:15%;height:25%}.zTargetNear{left:5%;top:32.5%;width:25%;height:15.5%}.zTargetFar{left:5%;top:50.5%;width:25%;height:16%}.path{position:absolute;z-index:6;pointer-events:none;inset:0}.car{position:absolute;width:28px;height:44px;z-index:12;transition:none;transform:translate(-50%) rotate(0);filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));will-change:left,top,transform}.carBody{width:100%;height:100%;border-radius:9px;background:var(--blue);border:2px solid #d9ebff;position:relative}.carBody:before,.carBody:after{content:"";position:absolute;left:5px;right:5px;height:8px;border-radius:3px;background:#233851}.carBody:before{top:5px}.carBody:after{bottom:5px}#car{top:88%;left:53%}.oncoming{display:none;position:absolute;width:28px;height:44px;top:12%;left:44%;z-index:11;transform:translate(-50%) rotate(180deg);filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.oncoming .carBody{background:var(--red);border-color:#ffd3cd}.targetOncoming{display:none;position:absolute;width:28px;height:44px;top:55%;left:22%;z-index:11;transform:translate(-50%,-50%) rotate(90deg);filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.targetOncoming .carBody{background:var(--red);border-color:#ffd3cd}.oneWayPost{display:none;position:absolute;z-index:14;width:30px;height:58px;align-items:center;justify-content:flex-start;flex-direction:column;filter:drop-shadow(0 5px 7px rgba(0,0,0,.38))}.signBoard{width:30px;height:30px;border-radius:4px;background:#1565c0;border:2px solid #fff;display:grid;place-items:center;box-shadow:0 0 0 1px #00000038}.trafficArrow{color:#fff;font-size:22px;font-weight:900;line-height:1}.signPole{width:3px;height:28px;background:linear-gradient(90deg,#aeb6bf,#6f7a84);border-radius:3px;margin-top:1px;box-shadow:0 0 0 1px #0000001f}.signSource{right:18%;bottom:8%}.signTarget{left:12%;top:17%}.signTarget .signBoard{transform:none}.scoreGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.scoreBox{background:#111923;border:1px solid #314050;border-radius:18px;padding:16px;text-align:center}.scoreBox b{display:block;font-size:30px;color:var(--yellow)}.scoreBox span{font-size:12px;color:var(--muted)}.report{display:grid;gap:10px}.reportItem{padding:15px;border:1px solid #344254;border-radius:16px;background:#111923}.reportItem strong{display:block;margin-bottom:5px}.realTask{margin-top:16px;padding:17px;border-radius:18px;background:linear-gradient(135deg,#7cb4ff1c,#ffc85a12);border:1px solid #3d5267}.realTask h3{margin:0 0 7px}.realTask p{font-size:14px}.note{font-size:11px;color:#7f8c9d;margin-top:14px;line-height:1.6}#practice .choicePanel{flex:0 0 43%;width:43%;min-width:0}#practice .simWrap{flex:1 1 57%;width:57%;min-width:0}#practice .card{width:100%}@media(max-width:760px){.heroGrid{grid-template-columns:1fr}.scenarioHead{flex-direction:column}}@media(max-width:760px){.app{padding:14px 12px 48px}.hero,.card{border-radius:24px}.hero{padding:22px}h1{font-size:30px}h2{font-size:24px}.roadTypes,.scoreGrid{grid-template-columns:1fr}.btn{width:100%}.actions .btn{flex:1 1 100%}.top{align-items:flex-start;flex-direction:column}}@media(max-width:640px){#practice .card{overflow-x:auto}#practice .layout{min-width:760px}}.progress{height:6px!important;margin:0 14px 24px!important;border:none!important;background:#142536!important;box-shadow:none!important}.progress>div{background:linear-gradient(90deg,#6baeff,#8ec4ff 48%,#ffc85a)!important;box-shadow:0 0 18px #6baeff57!important;border-radius:999px!important}.sim{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.03),transparent 26%),linear-gradient(180deg,#3e4955,#313b46)!important;box-shadow:inset 0 0 70px #0000006b,inset 0 1px #ffffff08!important}.g4{left:0;bottom:0;width:31%;height:31%}.grass{background:linear-gradient(180deg,#607865,#4d6353)!important;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 10px 18px #ffffff08,inset 0 -10px 18px #00000014!important}.grass:before{content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 2px,transparent 2px 14px),radial-gradient(circle at 22% 24%,rgba(255,255,255,.06),transparent 18%)!important;opacity:.65!important}.roadV,.roadH{background:repeating-radial-gradient(circle at 10px 12px,rgba(255,255,255,.02) 0 1px,transparent 1px 24px),linear-gradient(180deg,#4a5561,#39434e)!important;box-shadow:inset 0 1px #ffffff08,inset 0 -10px 22px #00000024!important}.centerV,.centerH{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.arrow{color:#edf3f9!important;opacity:.72!important;text-shadow:0 2px 4px rgba(0,0,0,.3)!important}.labelRoad{background:#080f16c7!important;border:1px solid rgba(255,255,255,.1)!important;color:#eef5fb!important;box-shadow:0 4px 10px #0000002e!important}.zone{border:1.5px dashed rgba(220,234,248,.26)!important;border-radius:14px!important;background:#ffffff06!important;box-shadow:inset 0 1px #ffffff05!important}.zone:hover{border-color:#ffffff6b!important;background:#ffffff0d!important}.zone.active{border-color:#ffc85a!important;background:#ffc85a17!important;box-shadow:0 0 0 1px #ffc85a14 inset!important}.zone.correct{border-color:#59d19b!important;background:#59d19b1a!important}.zone.wrong{border-color:#ff7e72!important;background:#ff7e721a!important}.zoneHint{background:#040a10e0!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 5px 12px #00000040!important}.path #routePathGlow{stroke:#ffc85a33!important;stroke-width:2.2!important;filter:drop-shadow(0 0 4px rgba(255,200,90,.16))}.path #routePath{stroke:#ffca52!important;stroke-width:1.1!important}.car,.oncoming,.targetOncoming{filter:drop-shadow(0 8px 10px rgba(0,0,0,.46))!important}.carBody{border-radius:8px 8px 10px 10px!important;background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 18%,transparent 82%,rgba(0,0,0,.08)),linear-gradient(180deg,#92c8ff,#67adf8 18%,#4a8fe8 52%,#2f71d0)!important;border:1.5px solid rgba(225,240,255,.95)!important;box-shadow:inset 0 2px #ffffff47,inset 0 -6px 10px #14366842!important}.carBody:before,.carBody:after{left:5px!important;right:5px!important;height:8px!important;border-radius:4px!important;background:linear-gradient(180deg,#334b62,#1e3144)!important;border:1px solid rgba(255,255,255,.08)!important}.carBody:before{top:5px!important}.carBody:after{bottom:5px!important}.car:before,.oncoming:before,.targetOncoming:before{content:""!important;position:absolute!important;z-index:-1!important;inset:10px -1px!important;border-radius:4px!important;background:linear-gradient(90deg,#161c23 0 2px,transparent 2px calc(100% - 2px),#161c23 calc(100% - 2px) 100%)!important}.car:after,.oncoming:after,.targetOncoming:after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:10px!important;height:14px!important;border-radius:4px!important;background:#ecf5ffbd!important}.oncoming .carBody,.targetOncoming .carBody{background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 18%,transparent 82%,rgba(0,0,0,.08)),linear-gradient(180deg,#ffaea7,#ef847a 20%,#df625b 56%,#c64b46)!important;border-color:#ffd8d3!important}.oneWayPost{filter:drop-shadow(0 6px 8px rgba(0,0,0,.34))!important}.signBoard{background:linear-gradient(180deg,#2682ea,#115fbe)!important;border:2px solid #f8fbff!important;box-shadow:0 0 0 1px #00000029,inset 0 1px #ffffff2e!important}.signPole{background:linear-gradient(90deg,#c6cdd4,#7d8792)!important}.zSourceLeft{left:33%!important;bottom:4.5%!important;width:15%!important;height:25%!important}.zSourceCenter{left:52%!important;bottom:4.5%!important;width:15%!important;height:25%!important}.path #routePathGlow{stroke:#ffc85a2e!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 4px rgba(255,200,90,.12))!important}.path #routePath{stroke:#ffc85a!important;stroke-width:1.15!important;stroke-dasharray:3.2 2!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))!important}.centerV,.centerH{position:absolute!important;background:none!important;opacity:.78!important;z-index:3!important;pointer-events:none!important}.centerV{left:49.6%!important;top:0!important;height:100%!important;width:2px!important}.centerH{top:49.6%!important;left:0!important;width:100%!important;height:2px!important}.centerSeg{position:absolute!important;display:block!important;background-color:transparent!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.centerSeg.vTop,.centerSeg.vBottom{left:0!important;width:2px!important;background:repeating-linear-gradient(to bottom,#eee1a3 0 10px,transparent 10px 22px)!important}.centerSeg.vTop{top:0!important;height:27.5%!important}.centerSeg.vBottom{bottom:0!important;height:27.5%!important}.centerSeg.hLeft,.centerSeg.hRight{top:0!important;height:2px!important;background:repeating-linear-gradient(to right,#eee1a3 0 10px,transparent 10px 22px)!important}.centerSeg.hLeft{left:0!important;width:27.5%!important}.centerSeg.hRight{right:0!important;width:27.5%!important}@media(max-width:760px){#practice .card{overflow:visible!important}#practice .layout{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;min-width:0!important;width:100%!important;gap:16px!important}#practice .choicePanel,#practice .simWrap{flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important}#practice .sim{width:100%!important;max-width:100%!important;aspect-ratio:1/1!important}#practice .simHeader{align-items:flex-start!important}#practice .legend{width:100%!important}.scenarioHead strong{font-size:22px!important}.stepBox{padding:16px!important}}@media(max-width:760px){html,body{overflow-x:hidden}body.practice-mode{min-height:100dvh;overflow:hidden}body.practice-mode .app{height:100dvh;overflow:hidden;padding:10px 12px max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column}body.practice-mode .top{flex:0 0 auto;flex-direction:row!important;align-items:center!important;justify-content:space-between;margin:0 0 8px;gap:10px}body.practice-mode .brand{font-size:11px;letter-spacing:.035em}body.practice-mode .progressText{font-size:12px}body.practice-mode .progress{flex:0 0 auto;height:5px!important;margin:0 0 9px!important}body.practice-mode #practice.active{flex:1 1 auto;min-height:0;overflow:hidden;width:100%}body.practice-mode #practice .card{height:100%;min-height:0;padding:0!important;margin:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;overflow:hidden!important}body.practice-mode #practice .scenarioHead{flex:0 0 auto;margin:0 2px 9px;gap:3px}body.practice-mode #practice .scenarioHead .small{font-size:12px;margin-bottom:2px}body.practice-mode #practice .scenarioHead strong{font-size:19px!important;line-height:1.22}body.practice-mode #practice .scenarioHint{display:none}body.practice-mode #practice .layout{flex:1 1 auto;min-height:0!important;width:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start;gap:10px!important;overflow:hidden}body.practice-mode #practice .simWrap{order:1;flex:0 0 auto!important;width:min(92vw,430px)!important;max-width:430px!important;align-self:center;padding:8px!important;border-radius:18px;display:block}body.practice-mode #practice .simHeader{margin-bottom:6px;min-height:24px}body.practice-mode #practice .simHeader>.badge{display:none}body.practice-mode #practice .legend{width:100%!important;gap:5px;flex-wrap:nowrap;overflow:hidden}body.practice-mode #practice .pill{min-width:0;padding:5px 7px;font-size:11px;white-space:nowrap}body.practice-mode #practice .dot{width:7px;height:7px}body.practice-mode #practice .sim{display:block;width:100%!important;height:auto!important;min-height:0!important;max-width:none!important;aspect-ratio:1 / 1!important;border-radius:15px}body.practice-mode #practice .choicePanel{order:2;flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;display:block!important}body.practice-mode #practice .stepBox{padding:13px 14px!important;border-radius:17px;margin:0}body.practice-mode #practice .stepTop{margin-bottom:5px}body.practice-mode #practice .stepTop .badge{display:none}body.practice-mode #practice .stepBox .n{font-size:10px}body.practice-mode #practice .stepBox strong{font-size:16px;margin-bottom:0;line-height:1.25}body.practice-mode #practice .stepBox>p{display:none}body.practice-mode #practice .optGrid{grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}body.practice-mode #practice .opt{min-height:54px;padding:10px 11px;border-radius:13px;font-size:13px;line-height:1.28;text-align:center}body.practice-mode #practice .feedback.show{margin-top:8px;padding:9px 11px;border-radius:12px}body.practice-mode #practice .feedback strong{font-size:13px;margin-bottom:2px}body.practice-mode #practice .feedback span{font-size:12px;line-height:1.4}body.practice-mode #practice[data-phase=source] #step1{display:block!important}body.practice-mode #practice[data-phase=source] #step2,body.practice-mode #practice[data-phase=source] #explainBox,body.practice-mode #practice[data-phase=source] #nextScenario,body.practice-mode #practice[data-phase=target] #step1,body.practice-mode #practice[data-phase=target] #explainBox,body.practice-mode #practice[data-phase=target] #nextScenario{display:none!important}body.practice-mode #practice[data-phase=target] #step2{display:block!important;opacity:1!important}body.practice-mode #practice[data-phase=result] #step1,body.practice-mode #practice[data-phase=result] #step2{display:none!important}body.practice-mode #practice[data-phase=result] #explainBox{display:block!important;padding:11px 13px!important;margin-bottom:8px}body.practice-mode #practice[data-phase=result] #explainBox .n{display:none}body.practice-mode #practice[data-phase=result] #explainBox strong{font-size:14px;margin-bottom:3px}body.practice-mode #practice[data-phase=result] #explainBox p{display:block;font-size:12px;line-height:1.45}body.practice-mode #practice[data-phase=result] #nextScenario{display:flex!important;width:100%;min-height:54px;margin:0;border-radius:14px;position:static;font-size:15px;box-shadow:0 8px 20px #00000047}.zoneHint{display:none}}@media(max-width:390px){body.practice-mode #practice .simWrap{width:min(90vw,360px)!important}body.practice-mode #practice .scenarioHead strong{font-size:18px!important}body.practice-mode #practice .opt{font-size:12px;padding:9px 8px}body.practice-mode #practice .pill{font-size:10px;padding:4px 6px}}@media(max-height:720px)and (max-width:760px){body.practice-mode #practice .simWrap{width:min(78vw,330px)!important}body.practice-mode #practice .scenarioHead strong{font-size:17px!important}body.practice-mode #practice .stepBox{padding:11px 12px!important}body.practice-mode #practice .opt{min-height:50px;font-size:12px}}@media(max-width:760px){:root{--phone-inline-pad: clamp(10px, 3.2vw, 16px);--phone-top-pad: clamp(8px, 2.2vw, 12px);--phone-gap: clamp(7px, 2vw, 11px);--phone-radius: clamp(14px, 4vw, 20px);--phone-title: clamp(16px, 4.4vw, 20px);--phone-body: clamp(13px, 3.5vw, 15px);--phone-small: clamp(10px, 2.8vw, 12px);--phone-control: clamp(12px, 3.25vw, 14px);--phone-control-h: clamp(48px, 13vw, 56px);--phone-action-h: clamp(50px, 13.5vw, 58px);--sim-size: min(92vw, 43dvh, 430px)}html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body.practice-mode{min-height:100svh;height:100dvh;overflow:hidden}body.practice-mode .app{height:100dvh;width:100%;padding:calc(var(--phone-top-pad) + env(safe-area-inset-top)) var(--phone-inline-pad) max(var(--phone-top-pad),env(safe-area-inset-bottom))}body.practice-mode .top{margin-bottom:clamp(5px,1.5vw,8px)}body.practice-mode .brand{font-size:var(--phone-small)!important;letter-spacing:.035em}body.practice-mode .progressText{font-size:var(--phone-small)!important}body.practice-mode .progress{height:4px!important;margin-bottom:clamp(6px,1.8vw,9px)!important}body.practice-mode #practice .scenarioHead{margin:0 2px clamp(6px,1.8vw,9px)}body.practice-mode #practice .scenarioHead .small{font-size:var(--phone-small)!important}body.practice-mode #practice .scenarioHead strong{font-size:var(--phone-title)!important;line-height:1.18}body.practice-mode #practice .layout{gap:var(--phone-gap)!important}body.practice-mode #practice .simWrap{width:var(--sim-size)!important;max-width:var(--sim-size)!important;padding:clamp(6px,1.7vw,9px)!important;border-radius:var(--phone-radius)!important;align-self:center}body.practice-mode #practice .simHeader{margin-bottom:clamp(4px,1.2vw,6px)}body.practice-mode #practice .legend{gap:clamp(4px,1.2vw,6px)}body.practice-mode #practice .pill{padding:clamp(4px,1.1vw,6px) clamp(6px,1.7vw,8px);font-size:var(--phone-small)!important}body.practice-mode #practice .dot{width:clamp(6px,1.8vw,8px);height:clamp(6px,1.8vw,8px)}body.practice-mode #practice .sim{width:100%!important;height:auto!important;aspect-ratio:1 / 1!important;border-radius:clamp(12px,3.5vw,17px)!important}body.practice-mode #practice .choicePanel{width:100%!important}body.practice-mode #practice .stepBox{padding:clamp(11px,3vw,15px)!important;border-radius:var(--phone-radius)!important}body.practice-mode #practice .stepBox .n{font-size:var(--phone-small)!important}body.practice-mode #practice .stepBox strong{font-size:clamp(15px,4vw,18px)!important;line-height:1.22}body.practice-mode #practice .optGrid{gap:clamp(7px,2vw,10px);margin-top:clamp(8px,2.3vw,11px)}body.practice-mode #practice .opt{min-height:var(--phone-control-h)!important;padding:clamp(9px,2.5vw,12px) clamp(9px,2.5vw,12px)!important;border-radius:clamp(11px,3vw,14px)!important;font-size:var(--phone-control)!important;line-height:1.28}body.practice-mode #practice .feedback.show{margin-top:clamp(6px,1.8vw,9px);padding:clamp(8px,2.3vw,11px)!important}body.practice-mode #practice .feedback strong{font-size:clamp(12px,3.2vw,14px)!important}body.practice-mode #practice .feedback span{font-size:var(--phone-small)!important;line-height:1.4}body.practice-mode #practice[data-phase=result] #explainBox{padding:clamp(9px,2.5vw,12px)!important;margin-bottom:clamp(6px,1.8vw,9px)}body.practice-mode #practice[data-phase=result] #explainBox strong{font-size:clamp(13px,3.5vw,15px)!important}body.practice-mode #practice[data-phase=result] #explainBox p{font-size:var(--phone-small)!important;line-height:1.4}body.practice-mode #practice[data-phase=result] #nextScenario{min-height:var(--phone-action-h)!important;border-radius:clamp(12px,3.2vw,15px)!important;font-size:clamp(14px,3.8vw,16px)!important}.zone,.btn,.opt{touch-action:manipulation}}@media(max-width:374px)and (max-width:760px){:root{--sim-size:min(91vw, 40dvh, 350px);--phone-inline-pad:10px;--phone-title:clamp(15px,4.6vw,17px);--phone-control:clamp(11px,3.35vw,13px)}body.practice-mode #practice .opt{min-height:46px!important}}@media(min-width:375px)and (max-width:430px){:root{--sim-size:min(92vw, 43dvh, 395px)}}@media(min-width:431px)and (max-width:760px){:root{--sim-size:min(88vw, 45dvh, 430px);--phone-inline-pad:clamp(14px,3.5vw,20px)}body.practice-mode #practice .choicePanel{max-width:520px!important;align-self:center}}@media(max-width:760px)and (max-height:700px){:root{--sim-size:min(78vw, 37dvh, 320px);--phone-gap:6px;--phone-control-h:46px;--phone-action-h:48px}body.practice-mode .top{margin-bottom:4px}body.practice-mode .progress{margin-bottom:5px!important}body.practice-mode #practice .scenarioHead{margin-bottom:5px}}@media(max-width:760px)and (min-height:850px){:root{--sim-size:min(92vw, 44dvh, 420px)}}@media(max-width:900px)and (orientation:landscape)and (max-height:520px){body.practice-mode{height:100dvh;overflow:hidden}body.practice-mode .app{padding:6px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left))}body.practice-mode #practice .layout{flex-direction:row!important;align-items:center;gap:12px!important}body.practice-mode #practice .simWrap{width:min(48dvh,320px)!important;max-width:min(48dvh,320px)!important;flex:0 0 auto!important}body.practice-mode #practice .choicePanel{flex:1 1 auto!important;width:auto!important}}@media(max-width:760px){:root{--sim-size:min(94vw,45dvh,440px)}}@media(max-width:374px)and (max-width:760px){:root{--sim-size:min(93vw,42dvh,360px)}}@media(min-width:375px)and (max-width:430px){:root{--sim-size:min(94vw,45dvh,410px)}}@media(min-width:431px)and (max-width:760px){:root{--sim-size:min(90vw,47dvh,445px)}}@media(max-width:760px)and (max-height:700px){:root{--sim-size:min(82vw,39dvh,330px)}}@media(max-width:760px)and (min-height:850px){:root{--sim-size:min(94vw,46dvh,430px)}}@media(max-width:760px){body.app-screen-mode{height:100dvh;min-height:100svh;overflow:hidden}body.app-screen-mode .app{height:100dvh;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;padding:calc(clamp(8px,2.2vw,12px) + env(safe-area-inset-top)) clamp(10px,3.2vw,16px) max(clamp(8px,2.2vw,12px),env(safe-area-inset-bottom))}body.app-screen-mode .top,body.app-screen-mode .progress{flex:0 0 auto}body.app-screen-mode .screen.active{flex:1 1 auto;min-height:0;width:100%;overflow:hidden;display:flex}body.app-screen-mode .screen.active>.hero,body.app-screen-mode .screen.active>.card{flex:1 1 auto;min-height:0;margin:0;width:100%;overflow:hidden}body.screen-intro #intro .hero{display:flex;align-items:center;padding:clamp(18px,5vw,26px)!important}body.screen-intro #intro .heroGrid{width:100%;display:grid;grid-template-columns:1fr!important;grid-template-rows:auto auto;gap:clamp(14px,3.8vw,20px)}body.screen-intro #intro h1{font-size:clamp(30px,8.2vw,38px)!important}body.screen-intro #intro p{font-size:clamp(14px,3.8vw,16px);line-height:1.5}body.screen-intro #intro .ruleMini{grid-template-columns:1fr;gap:clamp(7px,2vw,10px)}body.screen-intro #intro .ruleMini div{padding:clamp(10px,2.7vw,13px)}body.screen-learn #learn .card{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:clamp(8px,2.1vw,12px);padding:clamp(14px,3.8vw,20px)!important}body.screen-learn #learn .sectionTitle{margin:0;align-items:center}body.screen-learn #learn .sectionTitle .badge{display:none}body.screen-learn #learn h2{font-size:clamp(22px,5.8vw,28px)!important}body.screen-learn #learn>.card>p{font-size:clamp(13px,3.45vw,15px);line-height:1.45}body.screen-learn #learn .roadTypes{min-height:0;margin:0;display:grid;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr;gap:clamp(7px,1.9vw,10px)}body.screen-learn #learn .typeCard{min-height:0;padding:clamp(10px,2.6vw,13px);display:flex;flex-direction:column;justify-content:center}body.screen-learn #learn .typeCard strong{font-size:clamp(13px,3.5vw,15px);margin-bottom:3px}body.screen-learn #learn .typeCard span{font-size:clamp(10.5px,2.8vw,12px);line-height:1.35}body.screen-learn #learn .formula{margin:0;padding:clamp(10px,2.6vw,13px);font-size:clamp(12px,3.1vw,14px);line-height:1.4}body.screen-learn #learn .actions{margin:0}body.screen-learn #learn .actions .btn{width:100%;min-height:clamp(50px,13vw,58px)}body.screen-report #report .card{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto;gap:clamp(7px,1.8vw,10px);padding:clamp(13px,3.5vw,18px)!important}body.screen-report #report .kicker{margin:0}body.screen-report #report h2{font-size:clamp(22px,5.8vw,28px)!important}body.screen-report #report>.card>p{font-size:clamp(12px,3.15vw,14px);line-height:1.4}body.screen-report #report .scoreGrid{margin:0;grid-template-columns:repeat(3,1fr)!important;gap:clamp(6px,1.6vw,9px)}body.screen-report #report .scoreBox{padding:clamp(9px,2.4vw,12px) clamp(5px,1.5vw,8px);border-radius:clamp(13px,3.5vw,17px)}body.screen-report #report .scoreBox b{font-size:clamp(23px,6.2vw,30px)}body.screen-report #report .scoreBox span{font-size:clamp(9px,2.35vw,11px);line-height:1.25}body.screen-report #report .report{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:clamp(6px,1.6vw,9px)}body.screen-report #report .reportItem{min-height:0;padding:clamp(9px,2.3vw,12px);border-radius:clamp(12px,3.2vw,15px)}body.screen-report #report .reportItem:only-child{grid-column:1 / -1}body.screen-report #report .reportItem strong{font-size:clamp(12px,3.1vw,14px);margin-bottom:3px}body.screen-report #report .reportItem span{font-size:clamp(10px,2.65vw,12px);line-height:1.35}body.screen-report #report .realTask{margin:0;padding:clamp(9px,2.4vw,12px);border-radius:clamp(13px,3.4vw,16px)}body.screen-report #report .realTask h3{font-size:clamp(13px,3.4vw,15px);margin:0 0 3px}body.screen-report #report .realTask p{font-size:clamp(10.5px,2.75vw,12px);line-height:1.35}body.screen-report #report .actions{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(7px,1.8vw,10px)}body.screen-report #report .actions .btn{width:100%;min-height:clamp(48px,12.5vw,56px);padding-inline:8px}body.screen-report #report .note{display:none}}@media(max-width:760px)and (max-height:700px){body.screen-intro #intro .hero,body.screen-learn #learn .card,body.screen-report #report .card{padding:11px!important}body.screen-learn #learn .kicker,body.screen-report #report .kicker{display:none}body.screen-learn #learn .typeCard,body.screen-learn #learn .formula,body.screen-report #report .realTask{padding:8px 9px}}@media(max-width:760px){body.app-screen-mode .screen.active{align-items:center;justify-content:center}body.screen-intro #intro>.hero,body.screen-learn #learn>.card,body.screen-report #report>.card{flex:0 1 auto!important;height:auto!important;max-height:100%;overflow:hidden}body.screen-intro #intro>.hero{padding:clamp(18px,4.8vw,24px)!important}body.screen-intro #intro .heroGrid{gap:clamp(12px,3.2vw,17px)!important}body.screen-intro #intro .actions{margin-top:clamp(14px,3.7vw,18px)!important}body.screen-intro #intro .ruleMini{gap:clamp(7px,1.9vw,9px)!important}body.screen-intro #intro .ruleMini div{min-height:0;padding:clamp(10px,2.5vw,12px) clamp(12px,3vw,15px)!important}body.screen-learn #learn>.card{display:block!important;padding:clamp(15px,3.8vw,19px)!important}body.screen-learn #learn .sectionTitle{margin-bottom:clamp(8px,2vw,10px)!important}body.screen-learn #learn>.card>p{margin-bottom:clamp(10px,2.5vw,13px)!important}body.screen-learn #learn .roadTypes{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto!important;align-items:stretch;gap:clamp(7px,1.8vw,9px)!important;margin:0 0 clamp(10px,2.5vw,13px)!important}body.screen-learn #learn .typeCard{min-height:0!important;height:auto!important;padding:clamp(10px,2.5vw,12px)!important;justify-content:flex-start!important}body.screen-learn #learn .typeCard strong{margin-bottom:4px!important}body.screen-learn #learn .formula{margin:0 0 clamp(11px,2.7vw,14px)!important}body.screen-learn #learn .actions{margin:0!important}body.screen-report #report>.card{display:block!important;padding:clamp(14px,3.5vw,18px)!important}body.screen-report #report h2{margin-bottom:clamp(6px,1.6vw,8px)!important}body.screen-report #report>.card>p{margin-bottom:clamp(10px,2.4vw,12px)!important}body.screen-report #report .scoreGrid{margin:0 0 clamp(10px,2.5vw,13px)!important}body.screen-report #report .report{display:grid!important;grid-template-columns:1fr 1fr;grid-auto-rows:auto!important;min-height:0!important;margin:0 0 clamp(10px,2.5vw,13px)!important;gap:clamp(7px,1.8vw,9px)!important}body.screen-report #report .reportItem{height:auto!important}body.screen-report #report .realTask{margin:0 0 clamp(10px,2.5vw,13px)!important}body.screen-report #report .actions{margin:0!important}}@media(max-width:760px)and (max-height:700px){body.screen-intro #intro>.hero,body.screen-learn #learn>.card,body.screen-report #report>.card{padding:10px!important}body.screen-intro #intro .heroGrid,body.screen-learn #learn .roadTypes,body.screen-report #report .report{gap:6px!important}body.screen-learn #learn .typeCard,body.screen-learn #learn .formula,body.screen-report #report .scoreBox,body.screen-report #report .reportItem,body.screen-report #report .realTask{padding:8px 9px!important}}.errorModalBackdrop{position:absolute;inset:0;z-index:1000;display:grid;place-items:center;padding:14px;background:#050b1157;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .16s ease}.errorModalBackdrop.show{opacity:1;pointer-events:auto}.errorModal{width:min(88%,340px);border-radius:18px;padding:16px;background:linear-gradient(180deg,#142334f7,#0f1b28fa);border:1px solid rgba(255,126,114,.38);box-shadow:0 14px 34px #0000005c;transform:translateY(6px) scale(.99);transition:transform .16s ease}.errorModalBackdrop.show .errorModal{transform:none}.errorModalIcon{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;margin-bottom:10px;background:#ff7e721a;border:1px solid rgba(255,126,114,.3);color:#ff9389;font-size:19px;font-weight:900}.errorModal h3{margin:0 0 6px;font-size:18px;line-height:1.2}.errorModal p{margin:0;color:#d9e2eb;font-size:13px;line-height:1.45}.errorModal button{width:100%;min-height:44px;margin-top:13px;border:0;border-radius:12px;background:linear-gradient(180deg,#ffc85a,#f2b53f);color:#18212a;font-weight:900;font-size:14px;cursor:pointer}@media(max-width:760px){.errorModalBackdrop{padding:12px}.errorModal{width:min(88%,320px);padding:15px;border-radius:17px}.errorModal h3{font-size:clamp(16px,4.3vw,18px)}.errorModal p{font-size:clamp(12px,3.2vw,13px)}}@media(max-width:760px){body.practice-mode #practice.active{display:flex;align-items:center}body.practice-mode #practice .card{height:auto!important;max-height:100%;flex:0 1 auto!important;width:100%;justify-content:center}body.practice-mode #practice .layout{flex:0 1 auto!important;min-height:0!important;justify-content:center!important}body.practice-mode #practice .scenarioHead{margin-top:clamp(4px,1.4dvh,12px)!important}}@media(max-width:760px)and (max-height:700px){body.practice-mode #practice .scenarioHead{margin-top:2px!important}}@media(max-width:760px){body.practice-mode #practice.active{align-items:stretch!important;overflow:visible!important}body.practice-mode #practice .card{height:auto!important;max-height:none!important;overflow:visible!important;padding-block:clamp(4px,1dvh,10px)!important}body.practice-mode #practice .layout{overflow:visible!important;justify-content:center!important}body.practice-mode #practice .choicePanel,body.practice-mode #practice .stepBox{overflow:visible!important}body.practice-mode .progress{height:7px!important;margin-top:clamp(6px,1.2dvh,10px)!important;margin-bottom:clamp(12px,1.8dvh,18px)!important;border-radius:999px!important;overflow:hidden!important;background:#5997d41a!important}body.practice-mode .progress>div{height:100%!important;border-radius:999px!important;box-shadow:0 0 12px #64afff33}body.practice-mode #practice .scenarioHead{margin-top:0!important;margin-bottom:clamp(10px,1.6dvh,15px)!important}body.practice-mode #practice .scenarioHead .small{font-size:clamp(12px,3vw,14px)!important;opacity:.86;margin-bottom:3px!important}body.practice-mode #practice .scenarioHead strong{font-size:clamp(19px,5vw,23px)!important;line-height:1.22!important;font-weight:850!important}body.practice-mode #practice .stepBox .n{font-size:clamp(12px,3.1vw,14px)!important;font-weight:850!important;margin-bottom:4px}body.practice-mode #practice .stepBox strong{font-size:clamp(18px,4.7vw,22px)!important;line-height:1.24!important;font-weight:850!important}}@media(max-width:760px)and (max-height:700px){body.practice-mode .progress{height:6px!important;margin-top:4px!important;margin-bottom:9px!important}body.practice-mode #practice .scenarioHead strong{font-size:clamp(17px,4.7vw,20px)!important}body.practice-mode #practice .stepBox strong{font-size:clamp(16px,4.4vw,19px)!important}}@media(max-width:760px){body.app-screen-mode .top{margin-bottom:0!important}body.app-screen-mode .progress{height:7px!important;margin-top:clamp(6px,1.2dvh,10px)!important;margin-bottom:clamp(12px,1.8dvh,18px)!important;border-radius:999px!important;overflow:hidden!important;background:#5997d41a!important}body.app-screen-mode .progress>div{height:100%!important;border-radius:999px!important;box-shadow:0 0 12px #64afff33}body.app-screen-mode .progressText{font-size:clamp(12px,3vw,14px)!important;line-height:1.2;opacity:.88}body.screen-intro #intro,body.screen-learn #learn,body.screen-report #report{align-items:center}body.screen-intro #intro>.hero,body.screen-learn #learn>.card,body.screen-report #report>.card{width:100%;max-width:100%;margin:auto 0!important}body.screen-intro #intro h1,body.screen-learn #learn h2,body.screen-report #report h2{font-weight:850!important;line-height:1.16!important;letter-spacing:-.015em}body.screen-intro #intro .kicker,body.screen-learn #learn .kicker,body.screen-report #report .kicker{font-size:clamp(12px,3.1vw,14px)!important;font-weight:850!important}body.screen-intro #intro .hero{padding:clamp(18px,4.8vw,24px)!important}body.screen-intro #intro .actions{margin-top:clamp(14px,2.2dvh,20px)!important}body.screen-intro #intro .btn.primary{min-height:clamp(52px,13.5vw,58px)}body.screen-learn #learn .sectionTitle{margin-bottom:clamp(2px,.6dvh,5px)!important}body.screen-learn #learn h2{font-size:clamp(23px,6vw,29px)!important}body.screen-learn #learn .roadTypes{gap:clamp(8px,2vw,11px)!important}body.screen-report #report .card{display:flex!important;flex-direction:column;justify-content:center;gap:clamp(8px,1.4dvh,12px)!important}body.screen-report #report h2{font-size:clamp(23px,6vw,29px)!important;margin-bottom:0!important}body.screen-report #report .scoreGrid,body.screen-report #report .report,body.screen-report #report .realTask,body.screen-report #report .actions{flex:0 0 auto}body.screen-report #report .report{align-content:unset!important}body.screen-report #report .realTask{margin-top:clamp(2px,.5dvh,5px)!important}}@media(max-width:760px)and (max-height:700px){body.app-screen-mode .progress{height:6px!important;margin-top:4px!important;margin-bottom:9px!important}body.screen-intro #intro>.hero,body.screen-learn #learn>.card,body.screen-report #report>.card{margin:auto 0!important}}.appBackBtn{appearance:none;border:1px solid rgba(145,177,209,.28);background:#0e1a27b8;color:#dce8f3;border-radius:999px;min-height:34px;padding:6px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.appBackBtn[hidden]{display:none!important}.appBackBtn:active{transform:translateY(1px)}.sim .car,.sim .oncoming,.sim .targetOncoming,.sim .oneWayPost,.sim .arrow,.sim .labelRoad,.sim .laneGuide,.sim .centerV,.sim .centerH,.sim .path{pointer-events:none!important}.sim .zone{pointer-events:auto!important}.sim .zone{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease!important}#practice.scenario-switching .zone,#practice.scenario-switching .laneGuide{visibility:hidden!important;transition:none!important}.sim .zSourceLeft{left:33%!important;bottom:4.5%!important;width:15%!important;height:25%!important}.sim .zSourceCenter{left:52%!important;bottom:4.5%!important;width:15%!important;height:25%!important}.sim .zTargetNear{left:5%!important;top:32.5%!important;width:25%!important;height:15.5%!important}.sim .zTargetFar{left:5%!important;top:50.5%!important;width:25%!important;height:16%!important}.laneGuide{display:none;position:absolute;z-index:4;opacity:.48}.sim.source-lanes-2 .sourceLaneGuide{display:block;top:69%;bottom:0;width:1.5px;background:repeating-linear-gradient(to bottom,rgba(238,243,248,.72) 0 8px,transparent 8px 18px)}.sim.source-lanes-2:not(.source-two-way) .sourceLaneGuide{left:50%!important}.sim.source-lanes-2.source-two-way .sourceLaneGuide{left:59.5%!important}.sim.source-lanes-2.source-two-way .zSourceCenter{left:50.6%!important;width:8.6%!important;bottom:4.5%!important;height:25%!important}.sim.source-lanes-2.source-two-way .zSourceLeft{left:60%!important;width:8.2%!important;bottom:4.5%!important;height:25%!important}.sim.target-lanes-2 .targetLaneGuide{display:block;left:0;width:31%;height:1.5px;background:repeating-linear-gradient(to right,rgba(238,243,248,.72) 0 8px,transparent 8px 18px)}.sim.target-lanes-2:not(.target-two-way) .targetLaneGuide{top:50%!important}.sim.target-lanes-2.target-two-way .targetLaneGuide{top:40.5%!important}.sim.target-lanes-2.target-two-way .zTargetNear{left:5%!important;top:31.7%!important;width:25%!important;height:8.1%!important}.sim.target-lanes-2.target-two-way .zTargetFar{left:5%!important;top:40.8%!important;width:25%!important;height:8.2%!important}.sim .car,.sim .oncoming,.sim .targetOncoming{width:28px!important;height:44px!important}.sim.target-lanes-2.target-two-way .targetOncoming{top:61.5%!important;left:12.5%!important}.sim.source-lanes-2.source-two-way .sourceLaneGuide:before{content:"↑";position:absolute;right:calc(100% + 9px);top:43%;color:#edf3f9;font-size:15px;font-weight:800;opacity:.68}.sim.target-lanes-2.target-two-way .targetLaneGuide:before,.sim.target-lanes-2.target-two-way .targetLaneGuide:after{position:absolute;content:"←";color:#edf3f9;font-size:14px;font-weight:800;opacity:.64;left:42%}.sim.target-lanes-2.target-two-way .targetLaneGuide:before{top:-17px}.sim.target-lanes-2.target-two-way .targetLaneGuide:after{top:3px}.sim.source-lanes-2.source-two-way .aV2{left:64%!important}.sim.target-lanes-2.target-two-way .aH1{display:none!important}.sim.target-lanes-2.target-two-way .aH2{top:58%!important}.sim.source-lanes-2:not(.source-two-way) .aV1{left:39%!important}.sim.source-lanes-2:not(.source-two-way) .aV2{left:61%!important}.sim.target-lanes-2:not(.target-two-way) .aH1{top:38%!important}.sim.target-lanes-2:not(.target-two-way) .aH2{top:58%!important}.sim.source-lanes-2 .sourceLabel,.sim.target-lanes-2 .targetLabel{max-width:46%;white-space:normal;line-height:1.15;text-align:center;font-size:8px!important;padding:4px 7px!important}@media(max-width:760px){.appBackBtn{min-height:32px;padding:5px 11px;font-size:clamp(11px,2.9vw,13px);flex:0 0 auto}body.app-screen-mode .top{gap:8px!important}.sim.source-lanes-2 .arrow,.sim.target-lanes-2 .arrow{font-size:15px!important;opacity:.58!important}}@media(max-width:760px){body.practice-mode #practice.active{align-items:stretch!important;overflow:hidden!important}body.practice-mode #practice .card{height:100%!important;max-height:100%!important;min-height:0!important;padding-block:0!important;justify-content:flex-start!important;overflow:hidden!important}body.practice-mode #practice .scenarioHead{width:100%!important;margin-inline:0!important;padding-inline:6px!important;box-sizing:border-box!important;overflow:visible!important}body.practice-mode #practice .scenarioHead .small,body.practice-mode #practice .scenarioHead strong{max-width:100%!important}body.practice-mode #practice .layout{flex:1 1 auto!important;min-height:0!important;justify-content:flex-start!important;overflow:hidden!important}body.practice-mode #practice .choicePanel,body.practice-mode #practice .stepBox{overflow:visible!important}body.practice-mode #practice .feedback.show{display:none!important}body.practice-mode #practice .simWrap{width:min(var(--sim-size),var(--practice-fit-size, 999px))!important;max-width:min(var(--sim-size),var(--practice-fit-size, 999px))!important;flex:0 0 auto!important}body.practice-mode #practice .sim{position:relative;flex:0 0 auto}body.practice-mode #practice[data-phase=result] #explainBox,body.practice-mode #practice[data-phase=result] #nextScenario{flex:0 0 auto}}@media(max-width:760px)and (max-height:700px){body.practice-mode .errorModalBackdrop{padding:8px!important}body.practice-mode .errorModal{width:min(90%,300px)!important;padding:11px!important;border-radius:15px!important}body.practice-mode .errorModalIcon{width:28px!important;height:28px!important;margin-bottom:6px!important;font-size:16px!important}body.practice-mode .errorModal h3{margin-bottom:4px!important;font-size:15px!important}body.practice-mode .errorModal p{font-size:11px!important;line-height:1.35!important}body.practice-mode .errorModal button{min-height:38px!important;margin-top:8px!important;font-size:13px!important}}:root{--app-shell-bg:#09111b}html,body{width:100%;min-height:100%;background-color:var(--app-shell-bg)!important;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:manipulation}body{min-height:100dvh}html:before,body:before{content:"";position:fixed;inset:-120px;z-index:-2147483647;background:var(--app-shell-bg);pointer-events:none}.app,.app *{touch-action:manipulation}html.standalone-app,html.standalone-app body{background:var(--app-shell-bg)!important}:root{--app-shell-edge:#0b111a}@media(max-width:760px){html,body,html.standalone-app,html.standalone-app body,body.app-screen-mode,body.practice-mode{background:var(--app-shell-edge)!important;background-color:var(--app-shell-edge)!important}html:before,body:before{background:var(--app-shell-edge)!important}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 16% 28%,rgba(112,178,255,.075) 0,rgba(112,178,255,.032) 20%,transparent 43%),radial-gradient(circle at 86% 18%,rgba(255,204,112,.045) 0,rgba(255,204,112,.018) 22%,transparent 40%),linear-gradient(180deg,rgba(91,139,184,.035) 0%,transparent 42%)}body .app{position:relative;z-index:1}}.progress{position:relative!important;height:18px!important;margin-inline:2px!important;border:1px solid rgba(112,161,211,.22)!important;border-radius:999px!important;overflow:visible!important;background:linear-gradient(180deg,#172b3f,#102235)!important;box-shadow:inset 0 2px 3px #ffffff0b,inset 0 -2px 5px #0000006b,0 5px 18px #00000038!important}.progress>div{position:relative!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,#5d9ff2,#86c0ff 47%,#e8d69d 76%,#ffc85a)!important;box-shadow:inset 0 2px #ffffff6b,inset 0 -1px #234d7a3d,0 0 12px #63a9ff57,0 0 22px #ffc85a29!important;transition:width .42s cubic-bezier(.22,.78,.24,1)!important}.progress>div:after{content:"";position:absolute;top:50%;left:-18px;width:50px;height:50px;border-radius:50%;transform:translateY(-50%);pointer-events:none;background:radial-gradient(circle,rgba(255,240,190,.92) 0 8%,rgba(255,211,108,.58) 18%,rgba(111,180,255,.3) 38%,rgba(94,159,242,.14) 55%,transparent 72%);filter:blur(1.2px);box-shadow:0 0 18px #ffd26942;opacity:.92;animation:premiumProgressHalo 2.2s ease-in-out infinite}#progressBar:not([style]):after,#progressBar[style*="width: 0%"]:after{display:none}@keyframes premiumProgressHalo{0%,to{opacity:.7;transform:translateY(-50%) scale(.9)}50%{opacity:1;transform:translateY(-50%) scale(1.12)}}@media(max-width:760px){body.app-screen-mode .top{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;min-height:42px!important;margin:0!important;gap:10px!important}body.app-screen-mode .brand,body.app-screen-mode .progressText{white-space:nowrap}body.app-screen-mode .progress,body.practice-mode .progress{height:18px!important;margin-top:14px!important;margin-bottom:18px!important;margin-inline:2px!important}body.practice-mode #practice .scenarioHead{height:72px!important;min-height:72px!important;max-height:72px!important;margin-top:0!important;margin-bottom:12px!important;align-content:flex-start!important;overflow:visible!important}body.practice-mode #practice .scenarioHead .small{line-height:1.2!important;margin-bottom:3px!important}body.practice-mode #practice .scenarioHead strong{font-size:clamp(18px,4.8vw,21px)!important;line-height:1.18!important}body.practice-mode #practice .card{padding-top:clamp(16px,2.2dvh,24px)!important;padding-bottom:4px!important}body.practice-mode #practice .layout{justify-content:center!important}}@media(max-width:760px)and (max-height:700px){body.app-screen-mode .top{min-height:36px!important}body.app-screen-mode .progress,body.practice-mode .progress{height:14px!important;margin-top:8px!important;margin-bottom:11px!important}body.practice-mode #practice .card{padding-top:8px!important}body.practice-mode #practice .scenarioHead{height:62px!important;min-height:62px!important;max-height:62px!important;margin-bottom:9px!important}body.practice-mode #practice .scenarioHead strong{font-size:clamp(16px,4.5vw,19px)!important;line-height:1.16!important}.progress>div:after{width:40px;height:40px;left:-14px}}:root{--app-shell-edge:#0c1119}@media(max-width:760px){html,body,body.app-screen-mode,body.practice-mode,body.app-screen-mode .app,body.practice-mode .app,body.app-screen-mode .top,body.practice-mode .top,body.app-screen-mode .screen.active,body.practice-mode #practice.active{background:#0c1119!important;background-color:#0c1119!important}body:after,body.app-screen-mode .screen.active:before{display:none!important;content:none!important;background:none!important}body.practice-mode #scenarioTitle{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;-webkit-hyphens:none!important;hyphens:none!important;text-wrap:balance}}.progressText,.labelRoad{display:none!important}@media(max-width:760px){body.practice-mode #practice .simWrap{width:min(100%,var(--practice-fit-size, 999px))!important;max-width:100%!important;min-width:0!important;align-self:center!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}body.practice-mode #practice .simHeader{width:100%!important;min-height:0!important;margin:0 0 9px!important;padding:0 2px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;direction:rtl!important;background:transparent!important;border:0!important;box-shadow:none!important}body.practice-mode #practice .simHeader>.badge{display:none!important}body.practice-mode #practice .legend{width:auto!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex-wrap:wrap!important;overflow:visible!important;direction:rtl!important;transform:translateY(-6px)!important}body.practice-mode #practice .pill{min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#cbd6e1!important;font-size:clamp(10.5px,2.9vw,12px)!important;line-height:1.2!important;white-space:nowrap!important}body.practice-mode #practice .dot{width:8px!important;height:8px!important;flex:0 0 8px!important}body.practice-mode #practice .sim{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;aspect-ratio:1 / 1!important;margin:12px auto 14px!important;border:1px solid rgba(69,96,123,.34)!important;border-radius:17px!important;outline:0!important;box-shadow:0 0 0 9px #0b111a,0 0 0 11px #36526ff5,0 0 16px 11px #4a7cae0e,inset 0 0 70px #0000006b,inset 0 1px #ffffff08,0 10px 24px #0000002e!important}body.practice-mode #practice .choicePanel{width:100%!important;max-width:100%!important}}.sim .targetMedian{display:none;position:absolute;left:0;top:47.8%;width:31%;height:4.4%;z-index:5;pointer-events:none;border-top:1.5px solid rgba(218,223,226,.9);border-bottom:1.5px solid rgba(112,121,127,.96);background:repeating-linear-gradient(90deg,#ffffff0b 0 18%,#4a53590d 18% 19.5%,#ffffff05 19.5% 38%),linear-gradient(180deg,#b5bcc1,#8e989e 46%,#747f85 54%,#9ca5aa);box-shadow:0 -1px 3px #ffffff1a,0 2px 5px #00000057,inset 0 1px #fff3,inset 0 -1px #2d353a33}.sim.target-separated .targetMedian{display:block}.sim.target-separated .centerH{display:none!important}.sim.target-separated.target-lanes-2.target-two-way .zTargetNear{top:31.7%!important}.sim.target-separated.target-lanes-2.target-two-way .zTargetFar{top:40.2%!important;height:7.2%!important}.sim.target-separated.target-lanes-2.target-two-way .targetLaneGuide{top:39.7%!important}.sim.target-separated.target-lanes-2.target-two-way .targetOncoming{top:61.5%!important;left:12.5%!important}@media(max-width:760px){body.practice-mode #scenarioTitle{white-space:pre-line!important;word-break:normal!important;overflow-wrap:normal!important;-webkit-hyphens:none!important;hyphens:none!important;line-height:1.2!important}}:root{--app-css-ready:1}
