/* LINGUARIA 12.2: responsive visual refresh, no change to saved data */
:root{--bg:#080e21;--panel:#151e3b;--panel2:#202d50;--txt:#f8faff;--muted:#b4c3df;--primary:#a48bff;--cyan:#5ce1e6;--gold:#ffd77c;--green:#62e5b6;--red:#ff91a6;color-scheme:dark}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 80% 32% at 90% 0%,#40327a66,transparent 85%),radial-gradient(ellipse 70% 30% at 0% 42%,#124e6960,transparent 85%),#080e21;background-attachment:fixed;letter-spacing:.05px}
.shell{max-width:1000px;padding:20px clamp(14px,3vw,28px) 118px}.top{position:relative;min-height:52px;padding:5px 0 12px;border-bottom:1px solid #ffffff19}.brand{font-size:clamp(18px,4.5vw,25px);letter-spacing:1.2px;text-shadow:0 3px 22px #57cce522}.brand span{color:#75e9f3}.pill{background:#1f2b4e;border:1px solid #5b68955e;box-shadow:inset 0 1px #ffffff13;padding:9px 12px}.top .pills{gap:6px}
.hero{position:relative;overflow:hidden;background:linear-gradient(130deg,#5543a7 0%,#293a83 55%,#0e6873 100%);border:1px solid #a6a2ff80;border-radius:28px;padding:clamp(21px,5vw,38px);box-shadow:0 20px 60px #0005,inset 0 1px #ffffff33}.hero:before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-130px;background:#ffffff12;pointer-events:none}.hero h1{letter-spacing:-.8px}.hero p{color:#edf1ff}
.card,.ult-panel{background:linear-gradient(155deg,#1b2647,#121b35);border:1px solid #697ba252;border-radius:22px;box-shadow:0 10px 28px #02071438,inset 0 1px #ffffff0c}.card{padding:20px}.card h3{line-height:1.3}.sectiontitle{font-size:clamp(21px,4.5vw,26px);letter-spacing:-.4px}
.button{border-radius:15px;min-height:45px;box-shadow:0 7px 18px #040c2b35;transition:transform .18s,filter .18s}.button:not(:disabled):active{transform:scale(.975)}.button:hover:not(:disabled){filter:brightness(1.08)}.button.secondary{background:#29375e}.button.ghost{border-color:#8396c0}
.lesson,.lang-button,.cefr-button,.tier,.ult-tile{transition:transform .17s,border-color .17s,background .17s;box-shadow:inset 0 1px #ffffff0b}.lesson{background:linear-gradient(100deg,#1c2748,#18213d);border:1px solid #6075a466;border-radius:18px;min-height:70px}.lesson:hover,.lang-button:hover,.cefr-button:hover,.ult-tile:hover{border-color:#88d9e7;transform:translateY(-1px)}.lesson .number{background:linear-gradient(140deg,#6e59b7,#343f7b);color:white}.tier-done{background:#164a46}.progress{height:12px;background:#0b1530;border:1px solid #ffffff14}.progress>div{box-shadow:0 0 12px #63e2ec77}
.nav{z-index:30;background:#101b35f5;border-top:1px solid #8095c144;box-shadow:0 -10px 30px #02081750;padding:8px 7px max(10px,env(safe-area-inset-bottom))}.nav button{border-radius:15px;min-height:56px;transition:background .2s,color .2s}.nav button.active{background:linear-gradient(145deg,#56499d,#2b5682);color:#fff;box-shadow:inset 0 1px #ffffff33}.nav button b{font-size:23px}.answer{background:#1c2949;border-color:#536a95}.answer:active{transform:scale(.995)}.notice{background:#1a3150;border-left-color:#6ce5f2}
.mascot-hero{background:linear-gradient(125deg,#203969,#253d6e 65%,#174e65);border-color:#7f9fd3;border-radius:24px;box-shadow:0 12px 30px #02081745}.mascot-hero img{border:2px solid #ffffff38}.ult-tabs{scrollbar-width:thin}.ult-tabs button.sel{background:linear-gradient(115deg,#8a68eb,#456db2)}.ult-tile{background:linear-gradient(145deg,#25335b,#1a2545);border-color:#687bad75}.ult-tile:focus-visible{outline:3px solid #5ce1e6;outline-offset:2px}
button,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #74e9f2;outline-offset:3px}
@media(max-width:480px){.shell{padding:13px 12px 110px}.top{gap:7px}.brand{font-size:17px;letter-spacing:.5px}.top .pill{font-size:11px;padding:7px 8px}.hero{margin:15px 0;padding:22px 18px}.grid{grid-template-columns:1fr}.card{padding:17px}.mascot-hero{gap:10px}.mascot-hero img{width:84px;height:84px}.nav button{min-width:0;padding:8px 3px;font-size:10px}.nav button b{font-size:21px}.ult-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ult-tile{padding:12px;min-width:0}.lang-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.ult-grid{grid-template-columns:1fr}.top .pills{gap:3px}.top .pill{padding:6px}.brand{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
