?:root{
  --bg:#121414;--bg2:#1c1b18;--panel:#231f1b;--panel2:#2c2721;--cream:#fff4d9;--muted:#d4bea0;--ink:#171513;
  --orange:#f29a35;--orange2:#ffbd62;--green:#35512b;--green2:#638b45;--red:#e74e35;--line:rgba(255,190,98,.34);
  --shadow:0 26px 80px rgba(0,0,0,.42);--soft:0 0 36px rgba(242,154,53,.24)
}
*{box-sizing:border-box}html{background:#0f1010}body{margin:0;min-height:100vh;font-family:Outfit,Arial,sans-serif;color:var(--cream);background:radial-gradient(circle at 50% -20%,rgba(255,189,98,.18),transparent 36%),linear-gradient(180deg,#151617,#0d0f0f 42%,#17130f)}button,a{font:inherit}button{touch-action:manipulation}a{text-decoration:none;color:inherit}.game-root{min-height:100vh;padding:16px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:52px 52px}.game-screen{width:min(1540px,100%);margin:0 auto}.game-hud{position:sticky;top:10px;z-index:20;width:min(1540px,100%);margin:0 auto 14px;display:grid;grid-template-columns:250px 250px 250px minmax(320px,1fr) 220px 76px;gap:14px;align-items:center}.hud-pill,.hud-level,.gear{height:68px;border:3px solid rgba(242,154,53,.72);border-radius:18px;background:linear-gradient(180deg,#292622,#131414);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(0,0,0,.28);display:flex;align-items:center;gap:14px;padding:0 16px}.hud-pill b{font-size:30px;letter-spacing:-.04em;text-shadow:0 2px 0 #000}.hud-pill small{color:var(--cream);font-weight:800;opacity:.88}.hud-pill button{margin-left:auto;width:42px;height:42px;border-radius:10px;border:2px solid #080808;color:#fff;background:linear-gradient(#4a4640,#1d1c1b);font-size:28px;font-weight:900;cursor:pointer}.brand b{font-size:26px}.ay-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--cream),#a9a194);color:#111;display:grid;place-items:center;font-weight:1000}.hud-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.hud-icon.coin{background:linear-gradient(#ffd978,#df901a);border:3px solid #7d4b0e}.hud-icon.coin:after{content:"�,�";color:#7d4b0e;font-weight:1000;font-size:24px}.hud-icon.heart{background:linear-gradient(#ff765b,#cf231d);clip-path:path("M21 39 C5 28 0 19 5 10 C10 1 20 5 21 12 C23 5 33 1 38 10 C43 19 37 28 21 39Z")}.hud-icon.calendar{border-radius:10px;background:#f2b45a}.hud-icon.calendar:after{content:"�-�";font-size:27px;color:#171513}.hud-level{justify-content:flex-start}.hud-level strong{width:74px;height:74px;margin-left:-6px;margin-right:8px;border-radius:0 0 18px 18px;clip-path:polygon(50% 0,100% 12%,100% 72%,50% 100%,0 72%,0 12%);background:#272019;border:0;color:var(--orange2);display:grid;place-items:center;font-size:34px;line-height:.76;text-align:center}.hud-level small{display:block;color:#fff;font-size:12px}.hud-level div{height:26px;flex:1;border:3px solid #080808;border-radius:999px;background:#0e0f0f;overflow:hidden}.hud-level span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#ff7a1a)}.gear{width:76px;padding:0;display:grid;place-items:center;cursor:pointer}.gear:before{content:"�sT";font-size:50px;color:var(--orange)}.arcade-start{display:grid;grid-template-columns:430px 1fr;gap:18px;min-height:720px}.start-copy,.diagnosis-panel,.panel-page,.repair-panel{border:2px solid rgba(255,190,98,.25);border-radius:24px;background:linear-gradient(180deg,rgba(48,43,35,.96),rgba(23,22,20,.96));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.08)}.start-copy{padding:38px;display:flex;flex-direction:column;justify-content:center}.badge{display:inline-flex;width:max-content;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(242,154,53,.55);border-radius:999px;background:rgba(242,154,53,.12);color:#ffdca9;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.badge:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px var(--orange)}h1{font-family:'Space Grotesk',Outfit,sans-serif;font-size:clamp(56px,7vw,112px);line-height:.86;letter-spacing:-.06em;margin:20px 0 16px;text-shadow:0 6px 0 rgba(0,0,0,.3)}h2{font-family:'Space Grotesk',Outfit,sans-serif;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:14px 0}p{color:var(--muted);line-height:1.6}.feature-row{display:grid;gap:12px;margin:22px 0}.feature-row span{padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.045);font-weight:900}.start-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.big-cta,.plain-btn,.danger-btn,.upgrade-card button,.tool-main,.tool-choice{min-height:58px;border:0;border-radius:14px;padding:0 22px;cursor:pointer;font-weight:1000;transition:.16s ease}.big-cta{min-width:220px;background:linear-gradient(180deg,#fff7e7,#d8cab1);color:#171513;box-shadow:0 14px 34px rgba(255,244,217,.18),inset 0 1px 0 #fff}.plain-btn,.tool-choice{background:linear-gradient(180deg,#2a2926,#111312);border:1px solid rgba(255,190,98,.22);color:var(--cream)}.danger-btn{background:rgba(231,78,53,.22);color:#fff;border:1px solid rgba(231,78,53,.5)}button:hover{transform:translateY(-2px);filter:saturate(1.08)}.shop-scene{position:relative;min-height:720px;overflow:hidden;border:3px solid rgba(242,154,53,.48);border-radius:24px;background:radial-gradient(circle at 50% 36%,rgba(242,154,53,.11),transparent 25%),linear-gradient(90deg,rgba(0,0,0,.35),transparent 42%),linear-gradient(180deg,#1a1b19,#0f1110 70%,#2a1d13);box-shadow:var(--shadow),var(--soft)}.shop-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:72px 72px}.scene-sign{position:absolute;left:64px;top:70px;text-align:center;color:#fff;text-shadow:0 2px 0 #000}.scene-sign i{display:block;width:92px;height:92px;margin:0 auto 18px;border:6px solid var(--orange);border-radius:16px;box-shadow:0 0 30px rgba(242,154,53,.35)}.scene-sign i:before{content:"";display:block;width:34px;height:50px;margin:18px auto;border-radius:10px;border:8px solid var(--orange);border-top:0;transform:rotate(35deg)}.scene-sign b{display:block;font-size:34px;letter-spacing:.08em}.scene-sign span{display:block;font-size:28px;letter-spacing:.22em}.shelf{position:absolute;height:170px;width:320px;border-bottom:8px solid #8c5a30}.shelf-left{left:260px;top:82px}.shelf-right{right:46px;top:80px}.shelf span{display:inline-block;width:54px;height:112px;margin:38px 12px 0;border-radius:14px;background:linear-gradient(130deg,#222,#4a4b43);border:2px solid rgba(255,255,255,.14)}.shelf span:nth-child(2){background:linear-gradient(130deg,#151515,#cc6e2b)}.shelf span:nth-child(3){background:linear-gradient(130deg,#172517,#62744a)}.technician{position:absolute;left:39%;bottom:74px;width:330px;height:540px;transform:translateX(-50%)}.cap-back{position:absolute;left:92px;top:6px;width:176px;height:86px;border-radius:80px 80px 24px 24px;background:linear-gradient(#ffe174,#d99b22);transform:rotate(-8deg);z-index:5;box-shadow:inset -14px -12px rgba(0,0,0,.12)}.cap-back:after{content:"";position:absolute;left:-54px;top:32px;width:78px;height:25px;border-radius:999px;background:#f7cf54;transform:rotate(-12deg)}.hair{position:absolute;left:96px;top:70px;width:156px;height:92px;border-radius:50% 50% 34% 34%;background:#3a1e12;z-index:4}.head{position:absolute;left:94px;top:78px;width:160px;height:178px;border-radius:46% 46% 42% 42%;background:linear-gradient(135deg,#f0b181,#c77d55);z-index:6;box-shadow:inset -14px -10px rgba(61,32,18,.16)}.head i{position:absolute;top:70px;width:12px;height:12px;border-radius:50%;background:#19100c}.head i:first-child{left:48px}.head i:nth-child(2){right:48px}.head b{position:absolute;left:56px;top:100px;width:52px;height:20px;border-radius:0 0 28px 28px;background:#3b2117}.head em{position:absolute;left:37px;bottom:-12px;width:88px;height:66px;border-radius:18px 18px 50px 50px;background:#342018}.neck{position:absolute;left:137px;top:236px;width:72px;height:58px;background:#c77d55;z-index:3}.hoodie{position:absolute;left:34px;top:264px;width:280px;height:270px;border-radius:90px 90px 26px 26px;background:linear-gradient(135deg,#456c32,#243c20);z-index:2;box-shadow:inset -26px -20px rgba(0,0,0,.16)}.hoodie:before,.hoodie:after{content:"";position:absolute;top:16px;width:16px;height:180px;border-radius:999px;background:#161915}.hoodie:before{left:70px}.hoodie:after{right:70px}.hoodie span{position:absolute;top:54px;width:108px;height:142px;border-radius:36px;background:#2b4624}.hoodie span:first-child{left:-34px;transform:rotate(24deg)}.hoodie span:nth-child(2){right:-38px;transform:rotate(-24deg)}.phone-in-hand{position:absolute;left:190px;top:318px;width:72px;height:116px;border-radius:16px;background:#171819;border:3px solid #424242;z-index:8;transform:rotate(-15deg)}.counter{position:absolute;left:0;right:0;bottom:0;height:176px;background:linear-gradient(#8a542c,#412717);border-top:5px solid #d2863d;box-shadow:0 -18px 40px rgba(0,0,0,.35)}.open-phone{position:absolute;left:42%;bottom:52px;width:220px;height:94px;border-radius:20px;background:#161b1a;border:3px solid #352820;transform:translateX(-50%) rotate(2deg)}.open-phone i{position:absolute;width:38px;height:26px;border-radius:8px;background:#2e613e;top:30px}.open-phone i:first-child{left:35px}.open-phone i:nth-child(2){left:92px;background:#343c40}.open-phone i:nth-child(3){right:34px;background:#735321}.tools{position:absolute;right:250px;bottom:70px}.tools span{display:inline-block;width:78px;height:10px;margin:0 5px;border-radius:999px;background:var(--orange);transform:rotate(-18deg)}.tools span:nth-child(2){background:#aaa;transform:rotate(5deg)}.tools span:nth-child(3){background:#3b3b3b;transform:rotate(20deg)}.speech-large{position:absolute;right:230px;top:110px;max-width:440px;padding:32px 38px;border-radius:26px;background:#fff7e6;color:#171513;font-size:32px;font-weight:1000;box-shadow:0 12px 0 #111,0 24px 42px rgba(0,0,0,.28)}.speech-large:after{content:"";position:absolute;left:44px;bottom:-30px;border:18px solid transparent;border-top-color:#fff7e6;border-right-color:#fff7e6}.diagnosis-stage{display:grid;grid-template-columns:1fr 420px;gap:18px}.case-scene{position:relative}.case-scene .shop-scene{min-height:680px}.customer-card-floating{position:absolute;right:34px;bottom:34px;width:340px;border:2px solid rgba(255,190,98,.38);border-radius:22px;background:rgba(18,18,18,.86);padding:20px;box-shadow:var(--shadow)}.customer-card-floating span{color:var(--orange);font-weight:1000}.customer-card-floating b{display:block;font-size:30px;margin:8px 0}.customer-card-floating p{font-size:20px;color:#fff}.diagnosis-panel{padding:28px}.parts-grid{display:grid;gap:18px;margin-top:24px}.part-card{min-height:150px;border-radius:20px;border:3px solid rgba(242,154,53,.52);background:linear-gradient(180deg,#fff8e9,#f1dfbd);color:#15120d;display:grid;grid-template-columns:120px 1fr;grid-template-rows:1fr auto;gap:0 14px;align-items:center;text-align:left;padding:18px;cursor:pointer;box-shadow:0 10px 0 rgba(0,0,0,.2)}.part-card i{grid-row:1/3;width:112px;height:92px;display:block;position:relative}.part-card strong{font-size:30px;letter-spacing:-.03em}.part-card small{font-weight:800;color:#6b5742}.part-card.battery i:before{content:"";position:absolute;inset:14px 24px;border-radius:8px;background:linear-gradient(135deg,#101112,#42403d);transform:rotate(-14deg);box-shadow:inset 0 0 0 4px #2a2a29}.part-card.battery i:after{content:"�s�";position:absolute;left:45px;top:30px;color:#fff;font-size:32px}.part-card.charge i:before{content:"";position:absolute;left:15px;top:24px;width:82px;height:48px;border-radius:14px;background:#393c3a;border:5px solid #171717}.part-card.charge i:after{content:"";position:absolute;left:44px;top:38px;width:26px;height:10px;border-radius:99px;background:#d5d1c7}.part-card.screen i:before{content:"";position:absolute;left:30px;top:7px;width:58px;height:88px;border-radius:14px;background:linear-gradient(#203c33,#95c55f);border:5px solid #1b1b18}.panel-page{padding:36px;min-height:620px}.howto-grid,.upgrade-grid,.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.howto-grid article,.upgrade-card,.result-grid article,.tasks{border:1px solid rgba(255,190,98,.22);border-radius:20px;background:rgba(255,255,255,.045);padding:18px}.howto-grid b,.result-grid b{font-size:36px;color:var(--orange)}.upgrade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.upgrade-card h3{margin:0 0 8px}.upgrade-card b{display:block;margin:14px 0;color:#fff;font-size:22px}.upgrade-card button{width:100%;background:linear-gradient(180deg,var(--orange2),var(--orange));color:#19120c}.upgrade-card button:disabled{background:#333;color:#999}.upgrade-card.owned{opacity:.58}.result-grid article span{display:block;color:var(--muted);font-weight:800}.tasks{display:flex;gap:10px;flex-wrap:wrap}.tasks h3{width:100%;margin:0}.tasks span{padding:9px 11px;border-radius:999px;background:rgba(242,154,53,.12);color:#ffd9a7}.settings-list{display:grid;gap:12px;max-width:360px}.repair-layout{display:grid;grid-template-columns:1fr 430px;gap:18px}.repair-bench{min-height:690px;border:3px solid rgba(242,154,53,.42);border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(242,154,53,.13),transparent 30%),linear-gradient(180deg,#20201d,#101211 70%,#342015);box-shadow:var(--shadow);position:relative;overflow:hidden;display:grid;place-items:center;padding:24px}.repair-bench:before{content:"";position:absolute;inset:24px;border-radius:24px;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px}.repair-panel{padding:28px}.step-meter{height:18px;margin:22px 0;border-radius:999px;background:#0c0d0d;border:3px solid #080808;overflow:hidden}.step-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#74d76d)}.precision-box{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding:18px;border-radius:18px;border:1px solid rgba(255,190,98,.28);background:rgba(255,255,255,.05)}.precision-box b{font-size:44px;color:#83df73}.mat{position:relative;width:min(620px,92vw);height:520px;border-radius:36px;background:linear-gradient(135deg,#2c332d,#121615);border:4px solid #4e3723;box-shadow:inset 0 0 0 8px rgba(0,0,0,.18),0 24px 70px rgba(0,0,0,.36);display:grid;place-items:center}.phone-open{position:relative;width:300px;height:440px;border-radius:36px;background:#121716;border:6px solid #363f3a;box-shadow:inset 0 0 0 2px rgba(255,255,255,.1)}.battery-cell{position:absolute;left:62px;top:82px;width:176px;height:250px;border-radius:20px;background:linear-gradient(180deg,#2f312e,#111);border:4px solid #555;color:#fff;display:grid;place-items:center;text-align:center;transform:rotate(-2deg)}.battery-cell.new{background:linear-gradient(180deg,#7cc957,#2e6a35)}.battery-cell span{position:absolute;left:22px;right:22px;bottom:26px;height:12px;border-radius:999px;background:rgba(255,255,255,.3)}.connector{position:absolute;right:22px;top:206px;width:70px;height:52px;border-radius:10px;background:#c3c5bf;color:#111;font-weight:1000;border:0}.connector.done{background:#7bd975}.screw{position:absolute;width:42px;height:42px;border-radius:50%;background:#1b1b1b;border:4px solid #8c8c80;color:#7bd975;font-weight:1000}.s1{left:24px;top:24px}.s2{right:24px;top:24px}.s3{left:24px;bottom:24px}.s4{right:24px;bottom:24px}.screw.done{background:#333;border-color:#75d772}.strip{position:absolute;left:58px;bottom:70px;width:182px;height:18px;border-radius:999px;background:#0c0c0c;overflow:hidden}.strip i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#fff2b2)}.tool-row{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:12px;z-index:2}.tool-main{background:linear-gradient(180deg,var(--orange2),var(--orange));color:#14100b;min-width:220px}.port-work{position:relative;width:min(620px,92vw);height:470px;border-radius:36px;background:linear-gradient(135deg,#2d2f2e,#101211);border:4px solid #4e3723;display:grid;place-items:center}.port{position:relative;width:430px;height:250px;border-radius:36px;background:#080909;border:10px solid #3d4644;box-shadow:inset 0 0 0 8px #1b1e1e}.port span{position:absolute;left:90px;right:90px;top:92px;height:58px;border-radius:22px;border:6px solid #777;background:#101010}.dust{position:absolute;width:34px;height:34px;border-radius:50%;border:0;background:radial-gradient(circle,#c89d55,#5d4224);box-shadow:0 0 18px rgba(242,154,53,.4);cursor:pointer}.dust.clean{opacity:.1;pointer-events:none}.d1{left:70px;top:55px}.d2{left:178px;top:62px}.d3{right:88px;top:54px}.d4{left:112px;bottom:52px}.d5{right:132px;bottom:60px}.d6{right:56px;bottom:110px}.tools-pick{bottom:104px}.tool-choice.selected{outline:3px solid #7bd975}.amp-meter{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);width:390px;height:34px;border-radius:999px;background:#0a0b0b;border:4px solid #050505}.amp-meter .safe{position:absolute;left:42%;width:20%;height:100%;background:rgba(115,217,113,.44)}.amp-meter b{position:absolute;top:-8px;width:18px;height:44px;border-radius:8px;background:#fff;transform:translateX(-50%);box-shadow:0 0 16px #fff}.screen-device{position:relative;width:min(560px,90vw);height:530px;border-radius:36px;background:#2b2118;border:4px solid #57361f;display:grid;place-items:center}.glass{position:relative;width:300px;height:450px;border-radius:38px;background:#050606;border:7px solid #4b4f4d;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}.glass>span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(242,154,53,.62),rgba(255,207,112,.18));transition:.2s}.glass.hot{box-shadow:0 0 36px rgba(242,154,53,.42),inset 0 0 0 2px rgba(255,255,255,.12)}.corner{position:absolute;width:56px;height:56px;border-radius:50%;background:linear-gradient(180deg,var(--orange2),var(--orange));border:0;color:#111;font-weight:1000}.c1{left:16px;top:16px}.c2{right:16px;top:16px}.c3{left:16px;bottom:16px}.c4{right:16px;bottom:16px}.corner.done{background:#76dc73}.flexes{position:absolute;left:26px;right:26px;bottom:92px;display:grid;gap:10px}.flex{height:46px;border-radius:10px;border:2px solid rgba(255,255,255,.16);background:#171b1a;color:#fff;font-weight:900}.flex.done{background:#2f6f35}.screen-device .tool-row{bottom:28px}.result-page h1{font-size:clamp(48px,6vw,82px)}@media(max-width:1160px){.game-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.hud-level,.brand{grid-column:auto}.arcade-start,.diagnosis-stage,.repair-layout{grid-template-columns:1fr}.diagnosis-panel{order:-1}.howto-grid,.upgrade-grid,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.speech-large{right:40px}.technician{left:48%}}@media(max-width:680px){.game-root{padding:10px}.game-hud{position:relative;top:auto;grid-template-columns:1fr 1fr;gap:8px}.hud-pill,.hud-level,.gear{height:56px;border-width:2px}.hud-pill b{font-size:20px}.hud-icon{width:34px;height:34px}.hud-level{grid-column:1/-1}.gear{width:auto}.arcade-start{min-height:auto}.start-copy,.panel-page,.diagnosis-panel,.repair-panel{padding:20px;border-radius:18px}h1{font-size:54px}.shop-scene{min-height:560px}.scene-sign{left:24px;top:28px;transform:scale(.72);transform-origin:left top}.shelf{display:none}.technician{left:50%;bottom:70px;transform:translateX(-50%) scale(.72);transform-origin:bottom center}.speech-large{left:22px;right:22px;top:130px;font-size:22px;padding:20px}.counter{height:130px}.customer-card-floating{left:18px;right:18px;bottom:18px;width:auto}.part-card{grid-template-columns:86px 1fr;min-height:118px}.part-card i{width:80px;height:70px}.part-card strong{font-size:24px}.repair-bench{min-height:560px;padding:12px}.mat,.port-work,.screen-device{transform:scale(.78)}.tool-row{bottom:16px;flex-wrap:wrap;justify-content:center;width:92%}.howto-grid,.upgrade-grid,.result-grid{grid-template-columns:1fr}}

/* Expanded fault catalogue */
.diagnosis-panel{max-height:680px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--orange) rgba(255,255,255,.08)}
.diagnosis-panel::-webkit-scrollbar{width:10px}.diagnosis-panel::-webkit-scrollbar-thumb{background:var(--orange);border-radius:999px}.diagnosis-panel::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.diagnosis-panel .parts-grid{padding-right:4px}
.diagnosis-panel .part-card{min-height:118px;grid-template-columns:88px 1fr;padding:14px;box-shadow:0 7px 0 rgba(0,0,0,.22)}
.diagnosis-panel .part-card i{width:82px;height:72px}.diagnosis-panel .part-card strong{font-size:24px}.diagnosis-panel .part-card small{font-size:13px}
.part-card.screen i:after{content:"";position:absolute;left:44px;top:22px;width:6px;height:50px;background:rgba(255,255,255,.45);transform:rotate(28deg)}
.part-card.charge i:before{box-shadow:0 0 0 8px rgba(242,154,53,.12)}
@media(max-width:1160px){.diagnosis-panel{max-height:none;overflow:visible}.diagnosis-panel .parts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.diagnosis-panel .parts-grid{grid-template-columns:1fr}.diagnosis-panel .part-card{min-height:108px}}

/* Charging port contact alignment mini game */
.contact-align{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);width:420px;max-width:82%;height:88px;border-radius:22px;background:linear-gradient(180deg,#0c0d0d,#171a19);border:4px solid #050505;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 14px 34px rgba(0,0,0,.35)}
.contact-align:before{content:"";position:absolute;left:24px;right:24px;top:34px;height:12px;border-radius:999px;background:#303532}.contact-align .target-zone{position:absolute;left:45%;top:24px;width:13%;height:32px;border-radius:14px;background:rgba(117,217,113,.45);box-shadow:0 0 22px rgba(117,217,113,.55)}
.probe-tip{position:absolute;top:12px;width:18px;height:56px;border-radius:10px;background:linear-gradient(#fff,#c9c4b7);transform:translateX(-50%);box-shadow:0 0 14px rgba(255,255,255,.42)}
.probe-tip:after{content:"";position:absolute;left:4px;right:4px;bottom:-10px;height:18px;border-radius:99px;background:var(--orange);box-shadow:0 0 18px rgba(242,154,53,.7)}
.contact-align small{position:absolute;left:0;right:0;bottom:7px;text-align:center;color:var(--muted);font-weight:900;font-size:12px}.align-controls{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;z-index:3}.align-controls .plain-btn,.align-controls .tool-main{min-width:112px;height:52px;min-height:52px;padding:0 14px}
@media(max-width:680px){.contact-align{bottom:104px;width:340px}.align-controls{bottom:18px;gap:6px}.align-controls .plain-btn,.align-controls .tool-main{min-width:88px;font-size:13px}}

/* Charging port layout fix */
.charge-tool-picker{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);display:flex;gap:14px;z-index:5;max-width:92%;justify-content:center;flex-wrap:wrap}.charge-tool-picker .tool-choice{min-width:150px;white-space:nowrap;padding:0 18px}.port.port-dimmed .dust{display:none}.contact-align{bottom:150px;width:500px;height:112px;z-index:4;background:linear-gradient(180deg,#101313,#242927);border-color:#111}.contact-align:before{top:43px;height:14px;background:#424a45}.contact-align .target-zone{top:28px;height:44px}.probe-tip{top:14px;height:72px;width:20px}.contact-align small{bottom:10px;font-size:15px;color:#fff4d9;text-shadow:0 2px 0 #000}.align-controls{bottom:38px;gap:14px}.align-controls .plain-btn,.align-controls .tool-main{min-width:138px;height:58px;min-height:58px;font-size:16px;white-space:nowrap}.charge-test-btn{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);z-index:5}.charge-test-btn:hover{transform:translateX(-50%) translateY(-2px)}
@media(max-width:680px){.charge-tool-picker{bottom:24px;gap:8px}.charge-tool-picker .tool-choice{min-width:120px;font-size:13px}.contact-align{bottom:138px;width:330px;height:104px}.align-controls{bottom:24px}.align-controls .plain-btn,.align-controls .tool-main{min-width:86px;font-size:12px;padding:0 10px}.charge-test-btn{bottom:28px}}

/* Three-choice diagnosis mode */
.diagnosis-panel{max-height:none;overflow:visible}.diagnosis-panel .parts-grid{padding-right:0}.diagnosis-panel .part-card{min-height:150px;grid-template-columns:112px 1fr;padding:18px}.diagnosis-panel .part-card i{width:108px;height:92px}.diagnosis-panel .part-card strong{font-size:28px}.diagnosis-panel .part-card small{font-size:14px;line-height:1.4}
@media(max-width:680px){.diagnosis-panel .part-card{min-height:118px;grid-template-columns:82px 1fr}.diagnosis-panel .part-card i{width:78px;height:68px}.diagnosis-panel .part-card strong{font-size:23px}}

/* Screen pixel calibration mini game */
.pixel-game{position:absolute;inset:24px;display:grid;grid-template-rows:1fr auto;gap:16px;z-index:4}.pixel-board{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:18px;border-radius:22px;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.14)}.pixel-slot{border:2px dashed rgba(255,255,255,.38);border-radius:18px;background:#0b0d0d;color:rgba(255,255,255,.45);font-size:28px;font-weight:1000}.pixel-slot.filled{border-style:solid;color:#101010;box-shadow:0 0 24px currentColor}.pixel-pieces{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pixel-piece{height:58px;border-radius:14px;border:3px solid rgba(255,255,255,.28);cursor:pointer;box-shadow:0 8px 0 rgba(0,0,0,.28)}.pixel-piece.red,.pixel-slot.red{background:linear-gradient(135deg,#ff6652,#b61f18)}.pixel-piece.blue,.pixel-slot.blue{background:linear-gradient(135deg,#4bb4ff,#1457d9)}.pixel-piece.green,.pixel-slot.green{background:linear-gradient(135deg,#81e56c,#238c38)}.pixel-piece.yellow,.pixel-slot.yellow{background:linear-gradient(135deg,#ffe066,#d99113)}.pixel-piece:hover{transform:translateY(-3px) rotate(-2deg)}
@media(max-width:680px){.pixel-game{inset:18px}.pixel-piece{height:48px}.pixel-slot{font-size:22px}}

/* Mobile touch-first gameplay */
button,[data-mini],[data-diagnose]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(242,154,53,.22);user-select:none}.repair-bench button,.part-card,.big-cta,.plain-btn,.tool-main,.tool-choice{min-height:56px}.screw,.corner,.dust{min-width:52px;min-height:52px}.dust{width:46px;height:46px}.pixel-piece{min-height:58px}.pixel-slot{min-height:92px}.flex{min-height:52px}.connector{min-width:78px;min-height:58px}.port,.glass,.phone-open{touch-action:manipulation}
@media(pointer:coarse){.repair-bench button,.part-card,.big-cta,.plain-btn,.tool-main,.tool-choice{min-height:60px}.screw,.corner{width:58px;height:58px}.dust{width:54px;height:54px}.pixel-piece{height:64px}.flex{height:58px}.diagnosis-panel .part-card{min-height:132px}.part-card small{font-size:15px}}
@media(max-width:680px){body{overflow-x:hidden}.game-root{padding:8px}.game-screen{width:100%}.game-hud{grid-template-columns:1fr 1fr}.hud-pill,.hud-level,.gear{min-width:0}.hud-pill b{font-size:18px}.hud-pill small{font-size:11px}.arcade-start,.diagnosis-stage,.repair-layout{gap:10px}.repair-layout{display:flex;flex-direction:column}.repair-panel{order:-1}.repair-bench{min-height:520px;overflow:hidden}.repair-panel h2{font-size:30px}.repair-panel p{font-size:15px}.precision-box{margin:12px 0;padding:12px}.precision-box b{font-size:32px}.step-meter{margin:14px 0}.screen-device,.mat,.port-work{transform:scale(.72);transform-origin:center center}.screen-device{margin:-54px 0}.mat,.port-work{margin:-38px 0}.tool-row{bottom:18px}.tool-main,.plain-btn{font-size:14px}.charge-tool-picker{position:absolute;left:14px;right:14px;bottom:20px;transform:none}.charge-tool-picker .tool-choice{flex:1 1 100%;min-width:0}.align-controls{left:12px;right:12px;bottom:20px;transform:none;display:grid;grid-template-columns:1fr 1.25fr 1fr}.align-controls .plain-btn,.align-controls .tool-main{width:100%;min-width:0}.contact-align{bottom:128px;width:calc(100% - 36px);max-width:360px}.pixel-game{inset:16px}.pixel-board{gap:10px;padding:12px}.pixel-slot{min-height:86px}.pixel-pieces{gap:8px}.part-card{box-shadow:0 5px 0 rgba(0,0,0,.22)}.customer-card-floating{display:none}.case-scene .shop-scene{min-height:520px}}
@media(max-width:430px){.screen-device,.mat,.port-work{transform:scale(.64)}.repair-bench{min-height:480px}.screen-device{margin:-82px 0}.mat,.port-work{margin:-62px 0}.hud-pill b{font-size:16px}.repair-panel h2{font-size:26px}.part-card strong{font-size:21px}.diagnosis-panel .part-card{grid-template-columns:72px 1fr}.diagnosis-panel .part-card i{width:70px;height:60px}}

/* Mobile HUD tap targets */
.hud-pill button{min-width:48px;min-height:48px}.gear{min-height:56px}
@media(max-width:680px){.hud-pill button{width:48px;height:48px}.hud-pill{gap:8px}.hud-icon{flex:0 0 34px}}

/* Battery arcade mini games */
.battery-pull-game,.battery-align-game{position:absolute;inset:42px 24px 28px;z-index:5;border-radius:24px;background:rgba(8,10,9,.78);border:2px solid rgba(255,190,98,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);display:grid;place-items:center}.balance-bar{position:absolute;left:28px;right:28px;top:50px;height:46px;border-radius:999px;background:#0b0d0d;border:4px solid #050505}.balance-bar:before{content:"";position:absolute;left:38%;width:24%;top:0;bottom:0;background:rgba(117,217,113,.35);border-radius:999px}.balance-bar span{position:absolute;left:0;right:0;top:17px;height:6px;background:#454a43}.balance-bar b{position:absolute;top:-8px;width:20px;height:58px;border-radius:10px;background:#fff;transform:translateX(-50%);box-shadow:0 0 16px rgba(255,255,255,.55)}.strip-progress{position:absolute;left:38px;right:38px;top:140px;height:24px;border-radius:999px;background:#171717;border:2px solid rgba(255,255,255,.16);overflow:hidden}.strip-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#78df70)}.battery-controls{position:absolute;left:18px;right:18px;bottom:16px;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px}.battery-controls .plain-btn,.battery-controls .tool-main{min-width:0;width:100%;padding:0 12px}.battery-align-game{background:rgba(5,7,6,.82)}.battery-target{position:absolute;left:38%;top:34%;width:34%;height:30%;border:4px dashed rgba(117,217,113,.85);border-radius:18px;background:rgba(117,217,113,.12);box-shadow:0 0 24px rgba(117,217,113,.28)}.moving-battery{position:absolute;width:34%;height:30%;border-radius:18px;background:linear-gradient(180deg,#8fe26d,#28733b);border:4px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#102011;font-weight:1000;transform:translate(-50%,-50%);box-shadow:0 10px 0 rgba(0,0,0,.28)}.battery-controls.align{grid-template-columns:repeat(5,1fr);bottom:-80px;left:-6px;right:-6px}.battery-controls.align .plain-btn,.battery-controls.align .tool-main{min-height:54px}
@media(max-width:680px){.battery-pull-game,.battery-align-game{inset:34px 18px 26px}.balance-bar{left:18px;right:18px}.strip-progress{left:24px;right:24px}.battery-controls{left:10px;right:10px;gap:7px}.battery-controls .plain-btn,.battery-controls .tool-main{font-size:12px}.battery-controls.align{grid-template-columns:repeat(3,1fr);bottom:-142px}.battery-controls.align .tool-main{grid-column:1/-1}.battery-target,.moving-battery{width:38%;height:28%}}

/* Realistic screen heating and touch scan */
.screen-tools{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px;width:min(520px,92%)}.screen-tools .plain-btn,.screen-tools .tool-main{min-width:0;width:100%}.heat-station{position:absolute;inset:20px;z-index:5;border-radius:26px;background:radial-gradient(circle at 52% 42%,rgba(255,128,38,.24),transparent 30%),linear-gradient(180deg,#0b0c0c,#181a19);border:2px solid rgba(255,190,98,.28);display:grid;place-items:center;overflow:hidden}.heat-gun{position:absolute;left:18px;top:44px;width:128px;height:70px;border-radius:22px;background:linear-gradient(135deg,#333,#111);border:3px solid #5b5b55;transform:rotate(-18deg)}.heat-gun:after{content:"";position:absolute;right:-45px;top:22px;width:60px;height:22px;border-radius:999px;background:#a66a32;box-shadow:22px 0 38px rgba(255,130,32,.34)}.thermo{position:absolute;right:26px;top:34px;width:44px;height:250px;border-radius:999px;background:#111;border:4px solid #3f3f3a;overflow:hidden}.thermo span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,#f04d2f,#ffb347,#74df6f)}.heat-station strong{font-size:58px;color:#fff4d9;text-shadow:0 4px 0 #000}.heat-station small{position:absolute;bottom:44px;font-weight:1000;color:#ffd9a4;font-size:16px}.smoke{position:absolute;left:42%;top:28%;opacity:0;pointer-events:none}.smoke i{position:absolute;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.24);filter:blur(4px);animation:smokeRise 1.6s infinite}.smoke i:nth-child(2){left:28px;animation-delay:.25s}.smoke i:nth-child(3){left:-28px;animation-delay:.5s}.heat-station.smoking .smoke{opacity:1}@keyframes smokeRise{0%{transform:translateY(30px) scale(.7);opacity:.15}50%{opacity:.5}100%{transform:translateY(-80px) scale(1.35);opacity:0}}.touch-scan-game{position:absolute;inset:18px;z-index:5;border-radius:24px;background:linear-gradient(180deg,#06100d,#0c1715);border:2px solid rgba(116,223,111,.28);padding:18px;display:grid;grid-template-rows:1fr auto;gap:12px}.scan-screen{position:relative;border-radius:20px;background:linear-gradient(180deg,#07100e,#020404);border:3px solid rgba(255,255,255,.12);overflow:hidden}.scan-line{position:absolute;border:0;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 2px rgba(255,255,255,.1);cursor:pointer}.scan-line span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,#78df70,transparent);opacity:.35;animation:scanGlow 1.1s infinite}.scan-line.done{background:rgba(116,223,111,.34);box-shadow:0 0 22px rgba(116,223,111,.4)}.scan-line.top{left:12%;right:12%;top:18%;height:28px}.scan-line.mid{left:8%;right:8%;top:45%;height:28px}.scan-line.low{left:16%;right:16%;bottom:18%;height:28px}.scan-line.edge{top:10%;bottom:10%;right:12%;width:28px}.touch-scan-game p{margin:0;text-align:center;color:#dfffdc;font-weight:900}@keyframes scanGlow{50%{opacity:.9;transform:translateX(10px)}}
@media(max-width:680px){.screen-tools{grid-template-columns:1fr;bottom:14px}.heat-station{inset:16px}.heat-station strong{font-size:46px}.thermo{height:190px}.heat-gun{transform:scale(.85) rotate(-18deg);transform-origin:left top}.touch-scan-game{inset:14px;padding:12px}.touch-scan-game p{font-size:13px}}

/* 24-scenario arcade repair engine */
.arcade-bench{display:grid;grid-template-rows:1fr auto;gap:14px}.arcade-repair{position:relative;width:min(620px,92vw);height:500px;border-radius:34px;background:linear-gradient(135deg,#2d312c,#0d0f0e);border:4px solid #5a3922;box-shadow:inset 0 0 0 8px rgba(0,0,0,.18),0 24px 70px rgba(0,0,0,.38);display:grid;place-items:center;overflow:hidden}.phone-core{position:absolute;inset:28px;border-radius:28px;background:#101413;border:4px solid #39443f;overflow:hidden}.arcade-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(560px,94%);z-index:8}.arcade-controls .plain-btn,.arcade-controls .tool-main{width:100%;min-width:0}.arcade-help{grid-column:1/-1;text-align:center;color:#ffd8a3;font-weight:1000}.clean-board,.inspect-board,.tool-pick-game,.sequence-game,.corner-game,.rotate-game,.gauge-game{position:absolute;inset:18px;border-radius:24px;background:rgba(5,7,6,.82);border:2px solid rgba(255,190,98,.24);display:grid;place-items:center}.clean-board .dust{position:absolute}.clean-board .d1{left:18%;top:18%}.clean-board .d2{left:48%;top:22%}.clean-board .d3{right:18%;top:20%}.clean-board .d4{left:26%;bottom:24%}.clean-board .d5{right:28%;bottom:20%}.clean-board .d6{right:14%;bottom:44%}.tool-pick-game{grid-template-columns:1fr;gap:14px;padding:34px}.tool-pick-game .tool-choice{width:min(320px,90%)}.rotate-game{gap:18px}.rotate-wheel{width:190px;height:190px;border-radius:50%;border:10px solid #8a633c;background:conic-gradient(from 0deg,var(--orange),#28231f,var(--orange2));color:#fff;font-size:36px;font-weight:1000;box-shadow:0 0 38px rgba(242,154,53,.28)}.rotate-game small{color:#ffd8a3;font-weight:1000}.sequence-game{grid-template-columns:repeat(2,1fr);gap:14px;padding:34px}.sequence-game .flex{width:100%;height:82px}.corner-game span{position:absolute;bottom:28px;color:#ffd8a3;font-weight:1000}.inspect-dot{position:absolute;width:74px;height:74px;border-radius:50%;border:4px solid rgba(255,255,255,.16);background:radial-gradient(circle,#3f4541,#141716)}.inspect-dot.bad{box-shadow:0 0 24px rgba(255,90,55,.44);background:radial-gradient(circle,#a2442e,#191716)}.inspect-dot.done{background:#78df70;box-shadow:0 0 28px rgba(120,223,112,.6)}.inspect-dot:nth-child(1){left:18%;top:18%}.inspect-dot:nth-child(2){left:45%;top:22%}.inspect-dot:nth-child(3){right:16%;top:16%}.inspect-dot:nth-child(4){left:24%;bottom:20%}.inspect-dot:nth-child(5){right:35%;bottom:24%}.inspect-dot:nth-child(6){right:14%;bottom:42%}.arcade-align{position:absolute;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(430px,88%)}.gauge-game .balance-bar{top:80px}.gauge-game .strip-progress{top:180px}.gauge-game strong{position:absolute;bottom:88px;color:#fff4d9;font-size:24px}.arcade-bench .battery-align-game{position:absolute;inset:34px}.arcade-bench .battery-controls.align{position:static;display:grid}.powerDown .phone-core:before{content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#78df70,#152015);box-shadow:0 0 60px rgba(120,223,112,.34)}
@media(max-width:680px){.arcade-repair{height:420px;transform:scale(.86);transform-origin:center}.arcade-controls{grid-template-columns:1fr;gap:8px}.sequence-game{padding:20px}.rotate-wheel{width:150px;height:150px}.inspect-dot{width:58px;height:58px}.arcade-align{width:330px}.gauge-game strong{font-size:19px}.repair-bench.arcade-bench{min-height:560px}}

/* Real scrub cleaning mechanic */
.scrub-pad{position:absolute;inset:18px;border-radius:24px;background:linear-gradient(180deg,#111817,#070908);border:2px solid rgba(255,190,98,.28);display:grid;grid-template-rows:1fr auto;gap:12px;padding:18px;touch-action:none;user-select:none;cursor:grab}.scrub-pad:active{cursor:grabbing}.scrub-phone{position:relative;border-radius:28px;background:linear-gradient(160deg,#101514,#2a302d);border:6px solid #47514c;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}.grime-mask{position:absolute;inset:0;background:radial-gradient(circle at 20% 25%,rgba(135,91,42,.85) 0 10%,transparent 11%),radial-gradient(circle at 75% 32%,rgba(105,72,41,.82) 0 12%,transparent 13%),radial-gradient(circle at 45% 68%,rgba(156,102,45,.78) 0 16%,transparent 17%),linear-gradient(135deg,rgba(96,73,46,.92),rgba(39,34,28,.9));transition:opacity .12s}.clean-shine{position:absolute;inset:0;background:linear-gradient(135deg,rgba(120,223,112,.22),rgba(255,255,255,.18));transition:clip-path .08s}.scrub-phone b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:52px;color:#fff4d9;text-shadow:0 4px 0 #000;z-index:3}.scrub-brush{position:absolute;width:78px;height:46px;border-radius:18px;background:linear-gradient(180deg,#fff5d8,#c69245);border:4px solid #6c4526;transform:translate(-50%,-50%) rotate(-12deg);box-shadow:0 16px 24px rgba(0,0,0,.35);z-index:4}.scrub-brush:after{content:"";position:absolute;left:10px;right:10px;bottom:-12px;height:16px;border-radius:0 0 12px 12px;background:repeating-linear-gradient(90deg,#d7c1a1 0 5px,#7a5130 5px 8px)}.scrub-pad small{text-align:center;color:#ffd9a7;font-weight:1000}.clean-board{display:none!important}
@media(max-width:680px){.scrub-pad{inset:12px;padding:12px}.scrub-phone b{font-size:40px}.scrub-brush{width:64px;height:40px}}

/* Gesture-first anti-click gameplay */
.heat-station,.gauge-game,.arcade-align,.battery-align-game{touch-action:none;cursor:grab;user-select:none}.heat-station:active,.gauge-game:active,.arcade-align:active,.battery-align-game:active{cursor:grabbing}.arcade-controls{grid-template-columns:1fr}.arcade-help{padding:14px 16px;border-radius:16px;background:rgba(255,190,98,.12);border:1px solid rgba(255,190,98,.28);font-size:16px}.gauge-game .balance-bar b,.arcade-align .probe-tip,.moving-battery{transition:none!important}.gauge-game:after,.arcade-align:after,.battery-align-game:after,.heat-station:after{content:"S�oR�oKLE";position:absolute;right:14px;top:14px;padding:6px 10px;border-radius:999px;background:rgba(242,154,53,.22);border:1px solid rgba(242,154,53,.45);color:#ffd9a7;font-weight:1000;font-size:12px;letter-spacing:.08em}.heat-station:after{content:"BASILI TUT"}.battery-target{animation:targetPulse 1.2s infinite}@keyframes targetPulse{50%{box-shadow:0 0 34px rgba(117,217,113,.7);transform:scale(1.03)}}
@media(max-width:680px){.arcade-help{font-size:13px;padding:12px}.gauge-game:after,.arcade-align:after,.battery-align-game:after,.heat-station:after{font-size:10px;right:10px;top:10px}}

/* Speaker replacement custom mini game */
.speaker-work{position:absolute;inset:18px;border-radius:24px;background:linear-gradient(180deg,#0b0f0e,#151918);border:2px solid rgba(255,190,98,.28);display:grid;grid-template-rows:1fr auto;gap:12px;padding:18px}.phone-bottom{position:relative;border-radius:26px;background:linear-gradient(180deg,#222b2a,#080a0a);border:6px solid #46524d;overflow:hidden}.phone-bottom:before{content:"";position:absolute;left:15%;right:15%;bottom:18px;height:62px;border-radius:22px;background:#101211;border:3px solid rgba(255,255,255,.12)}.speaker-bay,.speaker-target{position:absolute;left:36%;right:36%;bottom:28px;height:44px;border-radius:16px;background:rgba(117,217,113,.14);border:3px dashed rgba(117,217,113,.8);box-shadow:0 0 20px rgba(117,217,113,.25)}.micro-screw{position:absolute;width:58px;height:58px;border-radius:50%;border:5px solid #8f8a7f;background:#151515;color:#78df70;font-weight:1000}.micro-screw.done{background:#315b33;border-color:#78df70}.sp1{left:22%;bottom:36px}.sp2{left:50%;bottom:84px;transform:translateX(-50%)}.sp3{right:22%;bottom:36px}.old-speaker{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:220px;height:76px;border-radius:22px;background:linear-gradient(180deg,#303735,#111);border:4px solid #5c6762;color:#fff;font-weight:1000;box-shadow:0 12px 0 rgba(0,0,0,.3)}.new-speaker{position:absolute;width:220px;height:76px;border-radius:22px;background:linear-gradient(180deg,#9ee578,#2d7538);border:4px solid rgba(255,255,255,.28);display:grid;place-items:center;color:#102011;font-weight:1000;transform:translate(-50%,-50%);box-shadow:0 12px 0 rgba(0,0,0,.28);touch-action:none}.speaker-work small{text-align:center;color:#ffd9a7;font-weight:1000}.speaker-work.install{touch-action:none;cursor:grab}.speaker-work.install:active{cursor:grabbing}.speaker-work.install:after{content:"S�oR�oKLE";position:absolute;right:14px;top:14px;padding:6px 10px;border-radius:999px;background:rgba(242,154,53,.22);border:1px solid rgba(242,154,53,.45);color:#ffd9a7;font-weight:1000;font-size:12px;letter-spacing:.08em}
@media(max-width:680px){.old-speaker,.new-speaker{width:170px;height:64px}.micro-screw{width:52px;height:52px}.speaker-work{inset:12px;padding:12px}}

/* Better speaker replacement interaction */
.screw-stage .micro-screw{touch-action:none;cursor:grab;background:conic-gradient(from calc(var(--turn,0)*3.6deg),#78df70 0 calc(var(--turn,0)*1%),#151515 0);box-shadow:0 8px 0 rgba(0,0,0,.28),0 0 18px rgba(120,223,112,.18)}.screw-stage .micro-screw:active{cursor:grabbing}.micro-screw span{position:absolute;left:50%;top:50%;width:32px;height:7px;border-radius:99px;background:#aaa;transform:translate(-50%,-50%) rotate(calc(var(--turn,0)*3.6deg));box-shadow:inset 0 0 0 2px #333}.micro-screw.done span{background:#e8ffe4}.remove-stage .old-speaker{cursor:grab;touch-action:none}.remove-stage .old-speaker:active{cursor:grabbing}.old-speaker,.new-speaker{font-size:0}.old-speaker span,.new-speaker span{position:absolute;left:16px;right:16px;top:14px;height:16px;border-radius:999px;background:repeating-linear-gradient(90deg,#7d8983 0 8px,transparent 8px 15px)}.old-speaker i,.new-speaker i{position:absolute;left:26px;bottom:16px;width:54px;height:28px;border-radius:14px;background:radial-gradient(circle,#222 0 3px,transparent 4px),#0a0c0c;background-size:12px 12px;border:2px solid rgba(255,255,255,.12)}.old-speaker b,.new-speaker b{position:absolute;right:24px;bottom:18px;width:72px;height:24px;border-radius:12px;background:repeating-linear-gradient(90deg,#161a19 0 7px,#59645f 7px 11px)}.new-speaker span{background:repeating-linear-gradient(90deg,#285c34 0 8px,transparent 8px 15px)}.lift-arrow{position:absolute;left:50%;top:18%;width:54px;height:88px;transform:translateX(-50%);opacity:.75}.lift-arrow:before{content:"";position:absolute;left:23px;top:18px;width:8px;height:58px;border-radius:99px;background:#78df70;box-shadow:0 0 18px rgba(120,223,112,.6)}.lift-arrow:after{content:"";position:absolute;left:12px;top:8px;width:30px;height:30px;border-left:8px solid #78df70;border-top:8px solid #78df70;transform:rotate(45deg)}.speaker-bay:after,.speaker-target:after{content:"";position:absolute;inset:8px;border-radius:10px;background:repeating-linear-gradient(90deg,rgba(120,223,112,.28) 0 8px,transparent 8px 14px)}

/* Speaker positioning fix */
.remove-stage .old-speaker{bottom:auto!important;transform:translate(-50%,-50%)!important}.speaker-work.install .new-speaker{font-size:0}

/* Slower multi-zone scrub */
.scrub-zone{position:absolute;width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.28);background:rgba(255,190,98,.12);z-index:3;box-shadow:0 0 18px rgba(242,154,53,.22)}.scrub-zone.done{background:rgba(120,223,112,.55);border-color:#78df70;box-shadow:0 0 24px rgba(120,223,112,.55)}.scrub-zone.tl{left:18%;top:18%}.scrub-zone.tr{right:18%;top:18%}.scrub-zone.bl{left:18%;bottom:18%}.scrub-zone.br{right:18%;bottom:18%}
@media(max-width:680px){.scrub-zone{width:34px;height:34px}}

/* Face ID face matching mini game */
.face-match{position:absolute;inset:18px;border-radius:24px;background:linear-gradient(180deg,#07100f,#111716);border:2px solid rgba(74,184,255,.28);display:grid;grid-template-rows:1fr auto;gap:12px;padding:18px;touch-action:none}.face-silhouette{position:relative;border-radius:28px;background:radial-gradient(circle at 50% 42%,rgba(74,184,255,.12),transparent 38%),linear-gradient(180deg,#061010,#020404);border:3px solid rgba(255,255,255,.12);overflow:hidden}.face-silhouette:before{content:"";position:absolute;left:50%;top:52%;width:52%;height:68%;transform:translate(-50%,-50%);border-radius:46% 46% 42% 42%;border:4px solid rgba(255,255,255,.24);box-shadow:0 0 34px rgba(74,184,255,.2)}.face-silhouette:after{content:"";position:absolute;left:50%;top:50%;width:72%;height:72%;transform:translate(-50%,-50%);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 22px,rgba(74,184,255,.09) 23px 24px)}.face-match small{text-align:center;color:#cdefff;font-weight:1000}.target{position:absolute;width:34px;height:34px;border-radius:50%;border:3px dashed rgba(120,223,112,.8);background:rgba(120,223,112,.08);z-index:2}.target.eye-left{left:35%;top:34%;transform:translate(-50%,-50%)}.target.eye-right{left:65%;top:34%;transform:translate(-50%,-50%)}.target.nose{left:50%;top:52%;transform:translate(-50%,-50%)}.target.mouth{left:50%;top:72%;transform:translate(-50%,-50%)}.face-dot{position:absolute;width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.28);background:radial-gradient(circle,#7bd8ff,#1f72d8);box-shadow:0 0 24px rgba(74,184,255,.6);transform:translate(-50%,-50%);z-index:4;touch-action:none;cursor:grab;user-select:none;appearance:none;-webkit-appearance:none;transition:none!important;will-change:left,top}.face-dot:active,.face-dot.dragging{cursor:grabbing;z-index:8;filter:brightness(1.12);box-shadow:0 0 34px rgba(74,184,255,.86)}.face-dot:focus{outline:none}.face-dot.done{background:radial-gradient(circle,#b9ffb1,#28a044);box-shadow:0 0 28px rgba(120,223,112,.8)}.face-dot.leftEye:after,.face-dot.rightEye:after{content:"";position:absolute;left:13px;top:13px;width:10px;height:10px;border-radius:50%;background:#00141d}.face-dot.nose{border-radius:45% 45% 55% 55%}.face-dot.mouth{width:58px;height:32px;border-radius:999px}
@media(max-width:680px){.face-match{inset:12px;padding:12px}.face-dot{width:40px;height:40px}.target{width:30px;height:30px}}


/* 24 unique repair mission games */
.mission-game{position:absolute;inset:18px;border-radius:26px;background:linear-gradient(180deg,#101513,#050706);border:2px solid rgba(242,154,53,.34);padding:16px;display:grid;grid-template-rows:1fr 34px;gap:12px;touch-action:none;user-select:none;overflow:hidden;cursor:grab}.mission-game:active{cursor:grabbing}.mission-phone{position:relative;border-radius:24px;background:radial-gradient(circle at 50% 42%,rgba(255,177,68,.12),transparent 36%),linear-gradient(180deg,#202521,#090b0a);border:5px solid #3f4844;overflow:hidden}.mission-bg span{position:absolute;border-radius:999px;background:rgba(255,255,255,.045)}.mission-bg span:nth-child(1){left:10%;top:18%;width:76%;height:1px}.mission-bg span:nth-child(2){left:20%;top:70%;width:54%;height:1px}.mission-bg span:nth-child(3){left:18%;top:18%;width:1px;height:62%}.mission-bg span:nth-child(4){right:18%;top:16%;width:1px;height:66%}.mission-tool{position:absolute;z-index:8;min-width:72px;height:48px;padding:0 12px;border-radius:16px;border:3px solid rgba(255,255,255,.22);background:linear-gradient(180deg,#fff5dc,#ffad3d);color:#16110b;font-weight:1000;transform:translate(-50%,-50%);box-shadow:0 12px 0 rgba(0,0,0,.28),0 0 22px rgba(255,173,61,.28);touch-action:none}.mission-meter{position:relative;height:30px;border-radius:999px;background:#101211;border:2px solid rgba(255,255,255,.12);overflow:hidden}.mission-meter i{display:block;height:100%;background:linear-gradient(90deg,#ffad3d,#7eea76,#4ab8ff)}.mission-meter b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:13px;text-shadow:0 2px 0 #000}.battery-cell{position:absolute;left:18%;right:18%;top:34%;height:30%;border-radius:22px;background:#111;border:5px solid #5d665f;overflow:hidden}.battery-cell:after{content:"";position:absolute;right:-18px;top:34%;width:18px;height:32%;border-radius:0 8px 8px 0;background:#5d665f}.battery-cell i{display:block;height:100%;background:repeating-linear-gradient(90deg,#fff 0 22px,#e9e9e9 22px 30px);box-shadow:0 0 20px rgba(255,255,255,.36)}.red-stress{position:absolute;right:10%;top:30%;bottom:30%;width:8%;border-radius:14px;background:rgba(255,61,61,.22);border:2px solid rgba(255,61,61,.45)}.tape-ring{position:absolute;left:50%;top:48%;width:180px;height:180px;border-radius:50%;transform:translate(-50%,-50%);background:conic-gradient(#7eea76 calc(var(--p)*1%),rgba(255,255,255,.08) 0);border:10px solid #17201a;box-shadow:0 0 34px rgba(126,234,118,.24)}.tape-bed{position:absolute;left:24%;right:24%;bottom:18%;height:36px;border-radius:999px;background:rgba(255,255,255,.12)}.port-mouth{position:absolute;left:27%;right:27%;top:40%;height:96px;border-radius:30px;background:#070909;border:7px solid #4e5a55}.port-mouth i{position:absolute;left:20%;right:20%;top:36%;height:22px;border-radius:999px;background:#2b302d}.port-mouth .lint{position:absolute;left:45%;top:34%;width:44px;height:36px;border-radius:50%;background:radial-gradient(circle,#bfa985,#5c4d37);box-shadow:0 0 16px rgba(191,169,133,.55)}.port-mouth .lint.done{background:#7eea76}.exit-line{position:absolute;right:12%;top:48%;width:18%;height:4px;background:#7eea76;border-radius:99px}.module-target,.speaker-target{position:absolute;left:36%;right:36%;bottom:20%;height:72px;border:4px dashed #7eea76;border-radius:20px;background:rgba(126,234,118,.12)}.bottom-board{position:absolute;left:18%;right:18%;bottom:14%;height:112px;border-radius:28px;background:linear-gradient(180deg,#17201a,#0b0d0c);border:3px solid rgba(255,255,255,.12)}.screen-panel{position:absolute;left:22%;right:22%;top:20%;height:58%;border-radius:28px;background:linear-gradient(180deg,#0b1110,#020303);border:6px solid #4d5853;transform:translateY(calc(var(--lift)*-.28px));box-shadow:0 calc(var(--lift)*.22px) 36px rgba(74,184,255,.18)}.safe-gap{position:absolute;left:36%;right:36%;top:68%;height:34px;border-radius:99px;background:rgba(126,234,118,.18);border:2px dashed #7eea76}.flex-path{position:absolute;left:14%;top:24%;width:72%;height:56%;border-radius:46px;border:7px solid transparent;border-top-color:#4ab8ff;border-right-color:#ffad3d;border-bottom-color:#7eea76;transform:skewX(-14deg)}.socket-target{position:absolute;right:10%;top:18%;width:76px;height:46px;border:3px dashed #7eea76;border-radius:16px}.touch-grid{position:absolute;inset:16%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.touch-grid i{border-radius:12px;background:rgba(74,184,255,.1);border:2px solid rgba(74,184,255,.28)}.touch-grid i.done{background:rgba(126,234,118,.38);box-shadow:0 0 16px rgba(126,234,118,.38)}.apple-safe{position:absolute;left:50%;top:50%;width:100px;height:100px;border-radius:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.08);border:2px dashed rgba(255,255,255,.32)}.apple-safe:after{content:"AY";position:absolute;inset:0;display:grid;place-items:center;color:#ddd;font-weight:1000}.glass-dust{position:absolute;inset:10%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 3px,transparent 3px 12px)}.ois-ring,.lens-circle{position:absolute;left:50%;top:50%;width:190px;height:190px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#101716 0 38%,#1e2a26 39% 52%,#050606 53%);border:4px solid #5f6b66}.ois-ring i{position:absolute;left:50%;top:50%;width:80px;height:80px;border-radius:50%;transform:translate(-50%,-50%);background:#111;border:4px solid #4ab8ff}.center-lock{position:absolute;left:50%;top:50%;width:70px;height:70px;border:4px dashed #7eea76;border-radius:50%;transform:translate(-50%,-50%)}.lens-circle{background:conic-gradient(rgba(126,234,118,.55) var(--shine),rgba(255,255,255,.08) 0),radial-gradient(circle,#061014,#184566 46%,#050606 47%)}.polish-trail{position:absolute;left:30%;right:30%;top:30%;bottom:30%;border:2px dashed rgba(255,255,255,.22);border-radius:50%}.speaker-mesh{position:absolute;left:17%;right:17%;top:42%;height:92px;border-radius:24px;background:#060707;border:5px solid #59635d;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;padding:22px}.speaker-mesh i{border-radius:99px;background:#3e4944}.sound-wave{position:absolute;left:20%;right:20%;bottom:22%;height:18px;border-radius:99px;background:linear-gradient(90deg,#7eea76 var(--p),rgba(255,255,255,.12) 0)}.wave-target{position:absolute;left:12%;right:12%;top:47%;height:8px;border-radius:99px;background:#7eea76;box-shadow:0 0 18px rgba(126,234,118,.55)}.wave-line{position:absolute;left:16%;right:16%;top:var(--y);height:34px;border-radius:50%;border-top:6px solid #4ab8ff;border-bottom:6px solid #4ab8ff}.top-sensor{position:absolute;left:40%;right:40%;top:18%;height:54px;border:4px dashed #7eea76;border-radius:18px}.earpiece-slot{position:absolute;left:28%;right:28%;top:36%;height:22px;border-radius:999px;background:#111;border:3px solid #5a655f}.antenna-curve{position:absolute;left:12%;right:12%;top:18%;bottom:18%;border-left:7px solid #4ab8ff;border-top:7px solid #4ab8ff;border-radius:50% 0 0 0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}.wifi-dot{position:absolute;right:12%;top:22%;width:42px;height:42px;border-radius:50%;border:4px dashed #7eea76}.wifi-dot.done{background:#7eea76}.tower{position:absolute;right:17%;top:22%;width:96px;height:180px;border-radius:24px;background:#111;border:4px solid #5c675f}.tower i{display:block;margin:20px auto;width:55px;height:9px;border-radius:99px;background:#4ab8ff}.freq-band{position:absolute;right:11%;top:30%;height:22%;width:18%;border-radius:22px;background:rgba(126,234,118,.18);border:3px dashed #7eea76}.bath{position:absolute;top:36%;width:22%;height:30%;border-radius:24px;background:linear-gradient(180deg,rgba(74,184,255,.28),rgba(74,184,255,.08));border:4px solid rgba(74,184,255,.42)}.bath.done{background:rgba(126,234,118,.28);border-color:#7eea76}.b1{left:12%}.b2{left:39%}.b3{left:66%}.board-pads{position:absolute;inset:18%;background:#12392e;border:5px solid #0b211b;border-radius:22px}.board-pads i{position:absolute;width:44px;height:44px;border-radius:50%;background:#c89a4a;border:4px solid #ffdf91}.board-pads i.done{background:#7eea76}.board-pads i:nth-child(1){left:8%;bottom:10%}.board-pads i:nth-child(2){left:36%;top:32%}.board-pads i:nth-child(3){right:22%;bottom:20%}.board-pads i:nth-child(4){right:8%;top:10%}.trace-line{position:absolute;left:22%;bottom:30%;height:5px;width:calc(var(--p)*.55%);background:#7eea76;border-radius:99px}.haptic-ring{position:absolute;left:50%;top:62%;width:180px;height:90px;border-radius:50%;transform:translate(-50%,-50%);border:6px dashed #7eea76;background:rgba(126,234,118,.08)}.vibe-lines{position:absolute;left:30%;right:30%;top:24%;height:80px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,173,61,.32) 18px 24px)}.face-oval{position:absolute;left:50%;top:46%;width:160px;height:220px;border-radius:48%;transform:translate(-50%,-50%);border:5px solid rgba(255,255,255,.22);background:rgba(74,184,255,.08)}.focus-target{position:absolute;left:50%;top:46%;width:105px;height:105px;border:4px dashed #7eea76;border-radius:22px;transform:translate(-50%,-50%)}.heatmap i{position:absolute;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#ffad3d,#f04d2f,transparent 72%);filter:blur(1px)}.heatmap i.done{background:radial-gradient(circle,#7eea76,transparent 70%)}.heatmap i:nth-child(1){left:25%;top:40%}.heatmap i:nth-child(2){left:58%;top:32%}.heatmap i:nth-child(3){left:62%;top:68%}.boot-gates i{position:absolute;width:54px;height:86px;border-radius:16px;border:4px dashed #4ab8ff}.boot-gates i.done{border-color:#7eea76;background:rgba(126,234,118,.14)}.boot-gates i:nth-child(1){left:22%;bottom:22%}.boot-gates i:nth-child(2){left:47%;top:34%}.boot-gates i:nth-child(3){right:18%;bottom:22%}.apple-goal{position:absolute;right:8%;top:14%;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center}.apple-goal:after{content:"AY";color:#fff;font-weight:1000}.seal-frame{position:absolute;inset:15%;border-radius:34px;border:10px solid rgba(255,255,255,.1);box-shadow:inset 0 0 0 6px rgba(126,234,118,.18)}.seal-frame:after{content:"";position:absolute;inset:-10px;border-radius:34px;border:10px solid #7eea76;clip-path:polygon(0 0,var(--p) 0,var(--p) 100%,0 100%)}.seal-start{position:absolute;left:12%;top:12%;width:30px;height:30px;border-radius:50%;background:#ffad3d;box-shadow:0 0 18px rgba(255,173,61,.7)}
@media(max-width:680px){.mission-game{inset:12px;padding:12px}.mission-tool{min-width:60px;height:44px;font-size:12px}.tape-ring,.ois-ring,.lens-circle{width:148px;height:148px}.speaker-mesh{left:10%;right:10%;gap:4px}.screen-panel{left:18%;right:18%}}

/* Distinct atmosphere per mission root */
.battery-peel .mission-phone{background:radial-gradient(circle at 28% 48%,rgba(126,234,118,.2),transparent 34%),linear-gradient(180deg,#172018,#070908)}
.adhesive-roll .mission-phone{background:radial-gradient(circle at 50% 50%,rgba(255,173,61,.22),transparent 38%),linear-gradient(180deg,#21180d,#080604)}
.lint-hook .mission-phone{background:radial-gradient(circle at 50% 45%,rgba(191,169,133,.24),transparent 32%),linear-gradient(180deg,#171411,#070706)}
.port-module .mission-phone{background:radial-gradient(circle at 50% 72%,rgba(74,184,255,.2),transparent 34%),linear-gradient(180deg,#12191b,#060707)}
.screen-lift .mission-phone{background:radial-gradient(circle at 50% 36%,rgba(74,184,255,.24),transparent 38%),linear-gradient(180deg,#111a1c,#040606)}
.flex-route .mission-phone{background:radial-gradient(circle at 72% 25%,rgba(255,173,61,.2),transparent 28%),linear-gradient(180deg,#11151d,#050607)}
.touch-matrix .mission-phone{background:linear-gradient(180deg,#071421,#030506)}
.glass-scraper .mission-phone{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 28%),linear-gradient(180deg,#201f1b,#080706)}
.camera-stabilize .mission-phone{background:radial-gradient(circle at 50% 50%,rgba(74,184,255,.18),transparent 40%),linear-gradient(180deg,#0c1417,#030505)}
.lens-polish .mission-phone{background:radial-gradient(circle at 50% 48%,rgba(74,184,255,.32),transparent 34%),linear-gradient(180deg,#081622,#030507)}
.mesh-brush .mission-phone{background:linear-gradient(180deg,#181b18,#060706)}
.mic-wave .mission-phone{background:radial-gradient(circle at 50% 50%,rgba(126,234,118,.18),transparent 36%),linear-gradient(180deg,#09160f,#030504)}
.proximity-cal .mission-phone{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.16),transparent 30%),linear-gradient(180deg,#17191d,#050606)}
.antenna-trace .mission-phone{background:radial-gradient(circle at 20% 75%,rgba(74,184,255,.2),transparent 34%),linear-gradient(180deg,#081521,#030506)}
.signal-tower .mission-phone{background:radial-gradient(circle at 78% 42%,rgba(126,234,118,.18),transparent 34%),linear-gradient(180deg,#11171a,#040606)}
.liquid-bath .mission-phone{background:radial-gradient(circle at 50% 52%,rgba(74,184,255,.22),transparent 42%),linear-gradient(180deg,#071719,#030506)}
.board-probe .mission-phone{background:radial-gradient(circle at 48% 52%,rgba(126,234,118,.14),transparent 38%),linear-gradient(180deg,#07150f,#030504)}
.haptic-seat .mission-phone{background:radial-gradient(circle at 50% 65%,rgba(255,173,61,.18),transparent 34%),linear-gradient(180deg,#17140f,#060504)}
.selfie-focus .mission-phone{background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.13),transparent 34%),linear-gradient(180deg,#101821,#040607)}
.thermal-scan .mission-phone{background:radial-gradient(circle at 58% 50%,rgba(240,77,47,.25),transparent 42%),linear-gradient(180deg,#20100c,#060403)}
.boot-trace .mission-phone{background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.14),transparent 28%),linear-gradient(180deg,#12131b,#030405)}
.seal-tape .mission-phone{background:radial-gradient(circle at 50% 50%,rgba(126,234,118,.12),transparent 46%),linear-gradient(180deg,#111815,#050706)}
/* Arcade repair modes: tactile Tetris, pinball, rhythm and breakout */
.tetris-game .mission-phone,.pinball-game .mission-phone,.rhythm-game .mission-phone,.breakout-game .mission-phone{background:radial-gradient(circle at 50% 45%,rgba(255,176,64,.12),transparent 45%),linear-gradient(180deg,#151b1b,#050706)}
.tetris-head,.pin-score,.rhythm-label,.breakout-label{display:flex;justify-content:space-between;align-items:center;color:#fff2d3;font-size:13px;font-weight:1000;letter-spacing:.08em}.tetris-head span,.pin-score b,.rhythm-label b,.breakout-label b{color:#8dec7d}.tetris-grid{position:absolute;left:16%;right:16%;top:18%;bottom:12%;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(6,1fr);gap:4px;padding:8px;border:3px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(0,0,0,.28)}.tetris-grid i{border-radius:5px;background:rgba(74,184,255,.12);border:1px solid rgba(74,184,255,.18)}.tetris-grid i.wall{background:rgba(255,173,61,.28);border-color:rgba(255,173,61,.5)}.tetris-piece{position:absolute;width:54px;height:54px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;transform:translate(-50%,-50%);filter:drop-shadow(0 0 12px rgba(126,234,118,.5))}.tetris-piece i{border-radius:6px;background:linear-gradient(135deg,#eaffd9,#71df73);border:2px solid #baff9e}.tetris-next{position:absolute;right:6%;top:18%;padding:7px;border-radius:10px;background:rgba(255,173,61,.12);color:#ffd9a7;font-size:9px;line-height:1.4;text-align:center}.tetris-next b{font-size:16px;color:#ffb343}.pin-lane{position:absolute;inset:14%;border:3px solid rgba(74,184,255,.28);border-radius:28px;background:repeating-linear-gradient(90deg,transparent 0 24px,rgba(74,184,255,.06) 25px 26px)}.pin-bumper{position:absolute;width:42px;height:42px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffe1a0 0 18%,#e28e28 20% 48%,#37220d 51%);border:3px solid #ffc15a;box-shadow:0 0 20px rgba(255,174,61,.45)}.pin-bumper.done{background:radial-gradient(circle,#e8ffd7 0 18%,#62da6a 20% 48%,#102e16 51%);border-color:#8df28e}.pin-lint{position:absolute;left:50%;top:52%;width:38px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:#9f8765;box-shadow:0 0 18px rgba(255,190,96,.45)}.pin-lint.done{background:#7eea76}.pin-exit{position:absolute;right:7%;bottom:9%;padding:8px;border:2px dashed #7eea76;border-radius:9px;color:#a7ffa0;font-size:10px;font-weight:1000}.pinball-ball{min-width:42px!important;width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;font-size:23px;line-height:1}.rhythm-lane{position:absolute;left:10%;right:10%;top:28%;height:72px;border-radius:999px;background:#08120d;border:3px solid rgba(126,234,118,.26);overflow:hidden}.rhythm-lane:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed rgba(255,255,255,.18)}.rhythm-beat{position:absolute;top:50%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%);background:#ffb347;border:3px solid #ffe0a2;box-shadow:0 0 14px rgba(255,179,71,.5)}.rhythm-beat.done{background:#7eea76;border-color:#d6ffd2}.rhythm-sweep{position:absolute;top:12%;bottom:12%;width:8px;border-radius:99px;background:#4ab8ff;box-shadow:0 0 18px #4ab8ff;transform:translateX(-50%)}.mini-mesh{top:58%;height:58px;left:18%;right:18%;opacity:.75}.breakout-label{position:absolute;left:10%;right:10%;top:10%}.heat-block{position:absolute;width:23%;height:42px;border-radius:11px;background:linear-gradient(180deg,#ffbf5b,#e34b2f);border:3px solid #ffd98f;box-shadow:0 0 18px rgba(240,77,47,.45)}.heat-block.done{background:linear-gradient(180deg,#baf5a8,#3ebf69);border-color:#d8ffd0;box-shadow:0 0 18px rgba(126,234,118,.45)}.heat-ball{position:absolute;width:22px;height:22px;border-radius:50%;transform:translate(-50%,-50%);background:#fff5c9;box-shadow:0 0 18px #ff7b36,0 0 35px #ff3d2e}.heat-paddle{position:absolute;left:18%;right:auto;bottom:12%;width:24%;height:14px;border-radius:99px;transform:translateX(-50%);background:#8eea76;box-shadow:0 0 15px rgba(126,234,118,.65)}.heat-smoke{position:absolute;right:8%;bottom:8%;width:30px;height:58px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);filter:blur(5px);animation:smokeRise 1.8s ease-in-out infinite alternate}@keyframes smokeRise{to{transform:translateY(-18px);opacity:.45}}
.arcade-pad{position:absolute;left:8%;right:8%;bottom:7%;display:flex;gap:7px;justify-content:center;z-index:12}.arcade-pad button{min-width:38px;height:34px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(8,12,11,.9);color:#fff2d3;font-weight:900;touch-action:manipulation}.arcade-pad .drop{padding:0 12px;background:#ffad3d;color:#19120b}.pin-aim,.rhythm-timing,.breakout-help{position:absolute;left:12%;right:12%;bottom:18%;padding:8px;border-radius:10px;background:rgba(0,0,0,.52);color:#fff2d3;text-align:center;font-size:10px;font-weight:900;letter-spacing:.08em;z-index:5}.rhythm-timing{bottom:11%;color:#9deaff}.breakout-help{bottom:7%;color:#ffd27e}.tetris-piece.rot-1{transform:translate(-50%,-50%) rotate(90deg)}.tetris-piece.rot-2{transform:translate(-50%,-50%) rotate(180deg)}.tetris-piece.rot-3{transform:translate(-50%,-50%) rotate(270deg)}.tetris-ghost{position:absolute;bottom:17%;width:48px;height:48px;transform:translateX(-50%);border:2px dashed rgba(126,234,118,.38);border-radius:8px}.pinball-game .mission-tool{z-index:15}.pinball-game .pin-lane{box-shadow:inset 0 0 28px rgba(74,184,255,.1)}.heat-block.damaged{background:linear-gradient(180deg,#b86b45,#6e2c25);border-color:#d6a77d;box-shadow:0 0 10px rgba(255,143,77,.3);transform:scale(.94)}/* Realistic repair atlas: each mini-game keeps its own device/service scene. */
.mission-phone{background-image:linear-gradient(180deg,rgba(5,8,8,.28),rgba(5,8,8,.62)),url("../assets/repair-montage.png");background-size:cover,600% 400%;background-repeat:no-repeat,no-repeat;background-position:center,0% 0%;box-shadow:inset 0 0 0 2px rgba(255,190,87,.28),inset 0 -90px 100px rgba(0,0,0,.22),0 16px 32px rgba(0,0,0,.28)}
.battery-peel .mission-phone,.tetris-game .mission-phone{background-position:center,20% 0%}
.adhesive-roll .mission-phone{background-position:center,80% 100%}
.lint-hook .mission-phone,.pinball-game .mission-phone{background-position:center,80% 66.666%}
.port-module .mission-phone{background-position:center,40% 33.333%}
.screen-lift .mission-phone{background-position:center,0% 0%}
.flex-route .mission-phone{background-position:center,20% 66.666%}
.touch-matrix .mission-phone{background-position:center,80% 0%}
.glass-scraper .mission-phone{background-position:center,60% 0%}
.camera-stabilize .mission-phone{background-position:center,0% 33.333%}
.lens-polish .mission-phone{background-position:center,20% 33.333%}
.mesh-brush .mission-phone,.rhythm-game .mission-phone{background-position:center,80% 66.666%}
.mic-wave .mission-phone,.proximity-cal .mission-phone,.selfie-focus .mission-phone{background-position:center,40% 66.666%}
.antenna-trace .mission-phone{background-position:center,60% 66.666%}
.signal-tower .mission-phone,.boot-trace .mission-phone{background-position:center,40% 100%}
.liquid-bath .mission-phone{background-position:center,80% 66.666%}
.board-probe .mission-phone{background-position:center,60% 100%}
.haptic-seat .mission-phone{background-position:center,60% 33.333%}
.thermal-scan .mission-phone,.breakout-game .mission-phone{background-position:center,0% 100%}
.seal-tape .mission-phone{background-position:center,60% 100%}
.speaker-work .phone-bottom{background-image:linear-gradient(180deg,rgba(4,6,6,.18),rgba(4,6,6,.5)),url("../assets/repair-montage.png");background-size:cover,600% 400%;background-position:center,80% 33.333%;background-repeat:no-repeat;border-color:#d28a2d;box-shadow:inset 0 0 0 2px rgba(255,188,67,.24),0 16px 30px rgba(0,0,0,.3)}
.mission-phone::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.09),transparent 28%,transparent 72%,rgba(255,166,50,.08));mix-blend-mode:screen}
.tetris-game .tetris-grid,.pinball-game .pin-lane,.rhythm-game .rhythm-lane,.breakout-game .heat-block,.breakout-game .heat-ball,.breakout-game .heat-paddle{z-index:4}.game-goal-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:18;padding:10px 12px;border:1px solid rgba(255,190,98,.42);border-radius:12px;background:rgba(12,13,12,.92);box-shadow:0 8px 20px rgba(0,0,0,.3);display:grid;grid-template-columns:auto 1fr;gap:2px 8px;pointer-events:none}.game-goal-card b{color:#ffb347;font-size:10px;letter-spacing:.12em}.game-goal-card strong{color:#fff4dd;font-size:12px}.game-goal-card span{grid-column:1/-1;color:#d7c6a7;font-size:11px;line-height:1.25}.game-goal-card+*{z-index:19}
@media(max-width:680px){.mission-phone{background-size:cover,600% 400%}.mission-phone::after{opacity:.7}}

.touch-route-ui{position:absolute;inset:8%;display:flex;flex-direction:column;gap:12px;justify-content:center}.touch-route-head{display:flex;justify-content:space-between;align-items:center;color:#f5f1e7;font-size:11px;letter-spacing:.08em}.touch-route-head span{color:#9aacba;font-size:10px;letter-spacing:0}.touch-route-screen{position:relative;flex:1;min-height:220px;border-radius:18px;background:linear-gradient(180deg,#101c28,#071016);border:2px solid rgba(74,184,255,.4);overflow:hidden}.route-line{position:absolute;left:8%;right:8%;height:30px;display:flex;align-items:center;justify-content:space-between;border-top:3px dashed rgba(74,184,255,.45);border-bottom:3px dashed rgba(74,184,255,.16)}.route-line.r1{top:22%}.route-line.r2{top:47%}.route-line.r3{top:72%}.route-line i{width:12px;height:12px;border-radius:50%;background:#18374d;border:2px solid #4ab8ff}.route-line i.done{background:#7eea76;border-color:#d5ffd0;box-shadow:0 0 14px rgba(126,234,118,.8)}.finger-guide{position:absolute;right:9%;bottom:6%;padding:5px 8px;border-radius:7px;background:#ffad3d;color:#17110b;font-style:normal;font-size:10px;font-weight:900}.touch-route-help{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(126,234,118,.45);border-radius:10px;background:rgba(126,234,118,.08);color:#dcebd7;font-size:11px}.touch-route-help strong{color:#9bff92;font-size:10px;letter-spacing:.08em}

.route-line{z-index:2;overflow:visible}.route-line:after{content:"";position:absolute;left:0;top:-2px;height:4px;width:var(--fill,0%);background:#7eea76;box-shadow:0 0 12px rgba(126,234,118,.8);border-radius:99px;z-index:-1}.route-line i{position:relative;z-index:3}.route-line i.done{background:#7eea76;border-color:#eaffdf;box-shadow:0 0 16px rgba(126,234,118,.9);transform:scale(1.12)}

.touch-matrix .mission-tool{display:none}.touch-matrix .touch-route-screen{background:radial-gradient(circle at 50% 50%,rgba(74,184,255,.08),transparent 60%),linear-gradient(180deg,#0a1621,#04090d)}.touch-matrix .touch-route-help{justify-content:center;background:transparent;border:0;padding:4px;color:#9aacba}.touch-matrix .touch-route-help span{font-size:11px}.touch-matrix .route-line{border-top:1px solid rgba(74,184,255,.16);border-bottom:0}.touch-matrix .route-line:after{height:3px;top:-2px}.touch-matrix .route-line i{width:14px;height:14px;background:#0b1a27;border-color:#35a9ff}.touch-matrix .route-line i.done{background:#82f078;border-color:#dfffd7}

.touch-matrix .route-line:after{transition:width .24s cubic-bezier(.2,.8,.2,1)}.touch-matrix .route-line i{transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.touch-matrix .route-line i.done{animation:touchDotConnect .42s ease-out}@keyframes touchDotConnect{0%{transform:scale(.45);box-shadow:0 0 0 rgba(126,234,118,0)}65%{transform:scale(1.45);box-shadow:0 0 24px rgba(126,234,118,.95)}100%{transform:scale(1.12);box-shadow:0 0 16px rgba(126,234,118,.9)}}
/* Real repair photo game layer */
.photo-mission{width:min(100%,760px);margin:0 auto;touch-action:none}.photo-repair-stage{position:relative;isolation:isolate;overflow:hidden;min-height:390px;border:1px solid #e18418;border-radius:22px;background:#121416;box-shadow:0 18px 45px #0009,inset 0 0 0 1px #ffffff18;touch-action:none}.repair-photo-atlas{position:absolute;inset:0;background-image:url("../assets/repair-montage.png");background-size:600% 400%;background-position:var(--atlas-pos);background-repeat:no-repeat;transform:scale(1.015);filter:saturate(.92) contrast(1.08);z-index:-2}.photo-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#05070818,#05070800 45%,#050708b8),radial-gradient(circle at 50% 42%,transparent 35%,#020304a8);z-index:-1;pointer-events:none}.photo-topline{position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;color:#fff;font-size:10px;letter-spacing:.15em;text-shadow:0 2px 8px #000;pointer-events:none}.photo-topline b{padding:8px 11px;border:1px solid #f49a2caa;border-radius:999px;background:#111a;letter-spacing:.02em;font-size:11px}.photo-hotspot{position:absolute;width:62px;height:62px;transform:translate(-50%,-50%);border:1px solid #ffad3caa;border-radius:50%;box-shadow:0 0 0 8px #ff9f2c18,0 0 28px #ff9f2c88;cursor:grab}.photo-hotspot:before,.photo-hotspot:after{content:"";position:absolute;left:50%;top:50%;background:#ffc05c;transform:translate(-50%,-50%)}.photo-hotspot:before{width:32px;height:1px}.photo-hotspot:after{height:32px;width:1px}.photo-hotspot i{position:absolute;inset:12px;border:2px solid #fff7;border-radius:50%;animation:photoPulse 1.5s ease-in-out infinite}.photo-hotspot span{position:absolute;right:-5px;top:-5px;width:9px;height:9px;background:#70dc73;border:2px solid #121416;border-radius:50%}.photo-cursor{position:absolute;width:24px;height:24px;transform:translate(-50%,-50%);pointer-events:none;transition:left .06s linear,top .06s linear}.photo-cursor b{display:block;width:100%;height:100%;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #101214aa,0 0 18px #fff}.photo-cursor b:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;background:#ffab31;border-radius:50%;transform:translate(-50%,-50%)}.photo-status{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:10px;color:#fff;text-shadow:0 2px 8px #000}.photo-status strong{font-size:22px;color:#9df06c}.photo-status span{font-size:11px}.photo-mission-meta{display:flex;align-items:center;gap:10px;margin:12px 2px 8px;color:#e8e0d1;font-size:12px}.photo-mission-meta>b{color:#ffb34a;letter-spacing:.1em}.photo-mission-meta span{opacity:.9}.photo-mission-meta em{margin-left:auto;color:#8f9b99;font-style:normal;font-size:11px}.photo-mission .mission-meter{height:13px;border:1px solid #f49a2c88;background:#171a1b;border-radius:999px;overflow:hidden;position:relative}.photo-mission .mission-meter i{display:block;height:100%;background:linear-gradient(90deg,#ff9c31,#d8e65d,#67e68e);box-shadow:0 0 14px #b7e85caa}.photo-mission .mission-meter b{position:absolute;inset:0;text-align:center;color:#fff;font-size:10px;line-height:12px;text-shadow:0 1px 3px #000}@keyframes photoPulse{0%,100%{transform:scale(.85);opacity:.45}50%{transform:scale(1.15);opacity:1}}@media(max-width:720px){.photo-repair-stage{min-height:300px;border-radius:16px}.photo-topline{left:12px;right:12px;top:11px;font-size:8px}.photo-topline b{font-size:9px;padding:6px 8px}.photo-hotspot{width:52px;height:52px}.photo-status{left:12px;bottom:11px}.photo-status strong{font-size:18px}.photo-status span{font-size:10px}.photo-mission-meta{font-size:11px}.photo-mission-meta em{display:none}}