/* Academy: Freestyle Full Walkthrough + Practice Lab */
.walk{position:fixed;inset:0;z-index:4000;background:#0b141a;color:#eaf2f5;font-family:'Space Grotesk',system-ui,sans-serif;overflow:hidden;}
.w-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#16262f;transition:background-image .2s;}
.w-bg.w-zoom{transform:scale(1.04);}
.w-dim{position:absolute;inset:0;background:rgba(8,20,27,.62);}
.w-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) 33.3% 0/1px 100% no-repeat,linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) 66.6% 0/1px 100% no-repeat,linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) 0 33.3%/100% 1px no-repeat,linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) 0 66.6%/100% 1px no-repeat;}
.w-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:6;}
.w-flash.go{animation:wflash .35s;}
@keyframes wflash{0%{opacity:.9}100%{opacity:0}}
.w-top{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(rgba(8,20,27,.85),transparent);z-index:5;}
.w-title{flex:1;font-weight:700;font-size:16px;line-height:1.15;}
.w-title small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7fe7de;font-weight:600;}
.w-count{font-family:'JetBrains Mono',monospace;font-size:13px;background:rgba(0,224,208,.22);padding:4px 10px;border-radius:12px;}
.w-bar{position:absolute;left:0;right:0;top:0;height:4px;background:rgba(255,255,255,.12);z-index:7;}
.w-bar i{display:block;height:100%;background:#00e0d0;transition:width .4s;}
.w-card{position:absolute;left:12px;right:12px;bottom:112px;max-height:62vh;overflow:auto;background:rgba(8,20,27,.88);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 16px;z-index:5;max-width:560px;margin:0 auto;font-size:14.5px;line-height:1.45;}
.w-card.w-wide{bottom:16px;max-width:680px;}
.w-card p{margin:6px 0;}
.w-coach{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:#33ffe8;margin-bottom:2px;}
.w-tip{color:#b8cdd6;font-size:13.5px;}
.w-meta{font-size:12px;color:#7fe7de;margin-top:6px;}
.w-read{font-weight:700;font-size:17px;color:#fff;}
.w-dock{position:absolute;left:0;right:0;bottom:0;height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:5;background:linear-gradient(transparent,rgba(8,20,27,.85));}
.w-spacer{width:90px;}
.w-roll{display:flex;gap:6px;width:90px;}
.w-roll div{width:38px;height:38px;border-radius:6px;background-size:cover;background-position:center;border:2px solid #fff;}
.w-shutter{width:74px;height:74px;border-radius:50%;background:#fff;border:6px solid rgba(255,255,255,.45);box-shadow:0 0 0 3px rgba(0,0,0,.35);cursor:pointer;}
.w-shutter:disabled{opacity:.35;cursor:default;}
.w-shutter:active{transform:scale(.92);}
.w-go{background:#00e0d0;color:#04100e;border:none;border-radius:10px;padding:13px 20px;font-weight:700;letter-spacing:.06em;font-family:inherit;cursor:pointer;font-size:14px;margin-top:10px;}
.w-go:hover{background:#33ffe8;}
.w-ghost{background:transparent;color:#cfe3ea;border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:12px 18px;font-weight:600;font-family:inherit;cursor:pointer;font-size:14px;margin-top:10px;}
.w-ghost:disabled{opacity:.5;cursor:not-allowed;}
.w-intro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 50% 30%,#1b3b48,#0b141a);overflow:auto;}
.w-panel{max-width:620px;background:rgba(8,20,27,.9);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:22px;}
.w-panel .label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:#9fe9e2;}
.w-panel h2{margin:6px 0 10px;font-size:26px;}
.w-panel li{margin:6px 0;color:#c6d8df;}
.w-q{margin-top:10px;}
.w-qt{font-weight:700;margin-bottom:8px;}
.w-opt{display:block;width:100%;text-align:left;background:rgba(255,255,255,.08);color:#eaf2f5;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:10px 12px;margin:6px 0;font-family:inherit;font-size:14px;cursor:pointer;}
.w-opt:hover:not(:disabled){background:rgba(0,224,208,.2);border-color:#00e0d0;}
.w-opt.good{background:rgba(40,200,120,.3);border-color:#3fe08f;}
.w-opt.bad{background:rgba(230,80,60,.3);border-color:#ff7b66;}
.w-why{color:#d6e6ec;font-size:13.5px;}
.w-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:8px;}
.w-method{text-align:left;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:12px;color:#eaf2f5;font-family:inherit;cursor:pointer;}
.w-method:hover{border-color:#00e0d0;background:rgba(0,224,208,.15);}
.w-method span{font-size:26px;display:block;}
.w-method b{display:block;margin:4px 0;}
.w-method small{color:#b8cdd6;font-size:12.5px;line-height:1.35;display:block;}
.w-drop{border:2px dashed #00e0d0;border-radius:12px;padding:18px;text-align:center;cursor:pointer;margin:10px 0;background:rgba(0,224,208,.08);}
.w-drop span{font-size:26px;display:block;}
.w-drop small{display:block;color:#b8cdd6;}
.w-file{display:flex;gap:10px;align-items:center;font-family:'JetBrains Mono',monospace;font-size:12px;margin:4px 0;}
.w-prog{flex:1;height:6px;background:rgba(255,255,255,.15);border-radius:4px;overflow:hidden;}
.w-prog i{display:block;height:100%;width:0;background:#00e0d0;transition:width .06s;}
.w-thumbs{display:flex;gap:8px;margin:8px 0;}
.w-thumbs div{flex:1;height:70px;border-radius:8px;background-size:cover;background-position:center;}
.w-frame{position:absolute;left:50%;top:44%;width:76%;max-width:420px;height:30%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;transition:all .3s;}
.w-frame i{position:absolute;width:26px;height:26px;border:3px solid #fff;}
.w-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.w-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.w-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.w-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.w-frame.lock i{border-color:#33ffe8;box-shadow:0 0 12px #00e0d0;}
.w-laser{position:absolute;left:12%;right:12%;top:30%;height:3px;background:#33ffe8;box-shadow:0 0 16px #00e0d0;opacity:0;z-index:4;}
.w-laser.run{animation:wlaser 1.8s ease-in-out 2;}
@keyframes wlaser{0%{top:30%;opacity:1}50%{top:56%;opacity:1}100%{top:30%;opacity:0}}
.w-checks{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0;}
.w-checks span{font-size:12px;background:rgba(0,224,208,.18);border-radius:10px;padding:3px 9px;}
.w-think{font-family:'JetBrains Mono',monospace;font-size:12.5px;}
.w-tl{display:grid;grid-template-columns:20px 1fr;gap:0 8px;margin:7px 0;opacity:.9;}
.w-tl .dot{color:#ffb020;animation:wpulse 1s infinite;}
.w-tl.ok .dot{color:#3fe08f;animation:none;}
.w-tl b{color:#fff;}
.w-tl em{grid-column:2;font-style:normal;color:#9fb8c2;}
@keyframes wpulse{50%{opacity:.3}}
.w-res{display:grid;grid-template-columns:1fr;gap:2px;margin:6px 0;}
.w-res div{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding:4px 0;font-size:13px;}
.w-res span{color:#8fb0bc;flex:0 0 108px;}
.w-res b{font-weight:600;text-align:right;}
/* lab */
.lab{position:fixed;inset:0;z-index:4000;background:#0b141a;color:#eaf2f5;overflow:auto;font-family:'Space Grotesk',system-ui,sans-serif;}
.lab-wrap{max-width:920px;margin:0 auto;padding:18px 16px 60px;}
.lab-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.lab-head h2{margin:2px 0 8px;font-size:26px;}
.lab-head .label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:#9fe9e2;}
.lab-sub{color:#b8cdd6;line-height:1.5;}
.lab-count{margin:10px 0;color:#7fe7de;font-size:13px;}
.lab-item{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px;margin:8px 0;}
.lab-item small{display:block;color:#9fb8c2;margin-top:2px;}
.lab-empty{color:#9fb8c2;padding:20px 0;}
.lab-props{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:12px;}
.lab-prop{text-align:left;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0 0 12px;color:#eaf2f5;cursor:pointer;font-family:inherit;overflow:hidden;}
.lab-prop:hover{border-color:#00e0d0;}
.lab-prop b,.lab-prop small,.lab-prop em{display:block;padding:0 12px;margin-top:6px;}
.lab-prop small{color:#b8cdd6;} .lab-prop em{color:#7fe7de;font-style:normal;font-size:12px;}
.lp-img{background-size:cover;background-position:center;background-color:#16262f;}
.lab-prop .lp-img{height:140px;}
.lab-l{display:block;margin:14px 0 4px;font-weight:700;font-size:13px;}
.lab-in{width:100%;box-sizing:border-box;background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:10px;font-family:inherit;font-size:14px;}
.lab-cov{margin:14px 0;font-size:13px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.lab-cov span{padding:2px 9px;border-radius:10px;background:rgba(255,255,255,.1);color:#9fb8c2;}
.lab-cov span.on{background:rgba(40,200,120,.3);color:#d8ffe9;}
.lab-cov small{color:#9fb8c2;margin-left:auto;}
.lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.lab-ph{background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14);border-radius:12px;overflow:hidden;}
.lab-ph.sel{border-color:#00e0d0;}
.lab-ph .lp-img{height:130px;cursor:pointer;}
.lp-cap{padding:8px 10px;font-size:13px;font-weight:600;}
.lp-cap small{display:block;color:#7fe7de;font-weight:500;}
.lp-edit{padding:0 10px 10px;display:flex;flex-direction:column;gap:6px;}
.lp-edit textarea,.lp-edit select{background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:6px;font-family:inherit;font-size:13px;}
.lab-actions{margin-top:18px;}
.lab-msg{background:rgba(230,80,60,.25);border:1px solid #ff7b66;border-radius:8px;padding:8px 12px;margin-bottom:8px;}
.lab-report{position:relative;background:#fff;color:#1b2a31;border-radius:10px;padding:26px;margin-top:14px;overflow:hidden;}
.lab-wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;color:rgba(200,30,30,.12);transform:rotate(-24deg);text-align:center;pointer-events:none;line-height:1.1;}
.lr-cover{border-bottom:3px solid #00a99d;padding-bottom:12px;margin-bottom:12px;}
.lr-cover small{letter-spacing:.14em;color:#c0392b;font-weight:700;}
.lr-cover h1{margin:4px 0;font-size:28px;}
.lr-stats{display:flex;gap:12px;margin:12px 0;}
.lr-stats span{flex:1;background:#eef5f6;border-radius:8px;padding:10px;text-align:center;font-size:12px;}
.lr-stats b{display:block;font-size:22px;}
.lr-find{display:flex;gap:14px;margin:14px 0;padding-top:12px;border-top:1px solid #dde7ea;}
.lr-find .lp-img{width:170px;height:120px;flex:0 0 170px;border-radius:6px;}
.lr-find small{display:block;color:#5c7a85;}
.lab-coach{background:rgba(0,224,208,.1);border:1px solid rgba(0,224,208,.4);border-radius:12px;padding:12px 16px;margin-top:14px;}
.lab-coach .label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:#33ffe8;}
.lab-lock button{display:block;margin-top:8px}.lab-lock{margin-top:14px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.35);border-radius:12px;padding:12px 16px;color:#cfe3ea;}
@media (max-width:560px){.lr-find{flex-direction:column}.lr-find .lp-img{width:100%;flex:0 0 150px}.w-card{bottom:108px}}
@media print{body>*:not(#viewLab){display:none!important}.no-print{display:none!important}#viewLab{position:static!important;background:#fff!important;overflow:visible!important}.lab-wrap{max-width:none;padding:0}}
.w-deep{margin:8px 0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px 12px;font-size:13.5px;}
.w-deep summary{cursor:pointer;font-weight:700;color:#33ffe8;}
.w-deep ul{margin:4px 0 8px 18px;padding:0;} .w-deep b{display:block;margin-top:6px;color:#9fe9e2;font-size:12px;letter-spacing:.06em;text-transform:uppercase;}
.w-sample{border-left:3px solid #00e0d0;padding-left:10px;font-style:italic;}
