:root{--bg:#000000;--card:rgba(28,28,30,0.75);--card-hover:rgba(44,44,46,0.85);--text:#FFFFFF;--sub:rgba(235,235,245,0.6);--accent:#0A84FF;--accent-dim:rgba(10,132,255,0.15);--on-accent:#FFFFFF;--separator:rgba(255,255,255,0.12);--danger:#FF453A;--success:#1a7a3a;--gr-5:#1a7a3a;--gr-4:#28a745;--gr-3:#D97706;--gr-2:#c32e2e;--rad-lg:34px;--rad-md:22px;--blur:40px;--shimmer:linear-gradient(90deg,transparent,rgba(255,255,255,0.05),transparent);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}body.t1{--bg:linear-gradient(135deg,#dac1ff 0%,#f3e5f5 100%);--card:rgba(255,255,255,0.45);--text:#4527a0;--sub:#7e57c2;--accent:#673ab7;--accent-dim:rgba(103,58,183,0.2);--on-accent:#FFFFFF;--separator:rgba(103,58,183,0.1)}body.t2{--bg:linear-gradient(160deg,#010D00 0%,#1A2610 100%);--card:rgba(26,38,16,0.7);--text:#F2FFD9;--sub:#9EAB84;--accent:#7BB353;--accent-dim:rgba(123,179,83,0.2);--on-accent:#010D00;--separator:rgba(123,179,83,0.15)}body.t3{--bg:linear-gradient(160deg,#FDF7E2 0%,#F5D3A3 100%);--card:rgba(255,255,255,0.8);--text:#3D2A2A;--sub:#8C6B5A;--accent:#F06060;--accent-dim:rgba(240,96,96,0.2);--on-accent:#FFFFFF;--separator:rgba(240,96,96,0.15)}body.t4{--bg:linear-gradient(160deg,#1A0A00 0%,#4D2610 100%);--card:rgba(77,38,16,0.65);--text:#FFE5C0;--sub:#C28E5E;--accent:#F2911B;--accent-dim:rgba(242,145,27,0.2);--on-accent:#1A0A00;--separator:rgba(242,145,27,0.2)}body.t5{--bg:linear-gradient(160deg,#F2D1B3 0%,#D9A08A 100%);--card:rgba(255,255,255,0.75);--text:#3B1F10;--sub:#8C5A40;--accent:#A66D5B;--accent-dim:rgba(166,109,91,0.2);--on-accent:#FFFFFF;--separator:rgba(166,109,91,0.15)}body.t6{--bg:linear-gradient(160deg,#032840 0%,#104A66 100%);--card:rgba(16,74,102,0.65);--text:#FFFFFF;--sub:#A8C8C0;--accent:#F2B872;--accent-dim:rgba(242,184,114,0.2);--on-accent:#032840;--separator:rgba(242,184,114,0.15)}body.t7{--bg:#000000;--card:rgba(20,20,20,0.98);--text:#E0E0E0;--sub:#888888;--accent:#FFFFFF;--accent-dim:rgba(255,255,255,0.1);--on-accent:#000000;--separator:rgba(255,255,255,0.1)}body.t23{--bg:linear-gradient(165deg,#14200F 0%,#243318 100%);--card:rgba(58,74,42,0.5);--text:#F0EAD6;--sub:#AEBE92;--accent:#C1121F;--accent-dim:rgba(193,18,31,0.25);--on-accent:#F0EAD6;--separator:rgba(212,175,55,0.30)}body.t23 .blobs{display:none}body.t23 .btn-accent,body.t23 button.btn-start,body.t23 .hw-start,body.t23 .btn-hw-start{background:linear-gradient(135deg,#C1121F,#7A0C14)!important;color:#F0EAD6!important;border:1.5px solid #D4AF37!important}body.t23 .ava,body.t23 .p-ava{background:linear-gradient(135deg,#4A5D32,#2C3A1E)!important;box-shadow:0 0 0 2px #D4AF37 inset,0 10px 24px rgba(0,0,0,0.6)!important}body.t23 .day.active{background:linear-gradient(135deg,#C1121F,#7A0C14)!important}body.t23 .day.active span,body.t23 .day.active b{color:#F0EAD6!important}.starfield{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;overflow:hidden;display:none}body.t23 .starfield{display:block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'><text x='25' y='40' font-size='20'>⭐</text><text x='130' y='55' font-size='21'>🎖️</text><text x='60' y='115' font-size='22'>🏅</text><text x='180' y='130' font-size='20'>🎗️</text><text x='100' y='180' font-size='21'>⭐</text><text x='210' y='95' font-size='22'>⭐</text><text x='35' y='205' font-size='20'>🎖️</text><text x='215' y='215' font-size='21'>🏅</text><text x='150' y='235' font-size='22'>🎗️</text></svg>");background-repeat:repeat;background-size:260px 260px;filter:brightness(0) invert(1);opacity:0.10}body.t14{--bg:linear-gradient(165deg,#2B0A14 0%,#4A0F22 100%);--card:rgba(120,30,60,0.42);--text:#FFF0F4;--sub:#E8A9BE;--accent:#FF4D7E;--accent-dim:rgba(255,77,126,0.28);--on-accent:#2B0A14;--separator:rgba(255,77,126,0.32)}body.t14 .blobs{display:none}body.t14 .btn-accent,body.t14 button.btn-start,body.t14 .hw-start,body.t14 .btn-hw-start{background:linear-gradient(135deg,#FF4D7E,#C1123F)!important;color:#FFF0F4!important;border:1.5px solid #FF8FB0!important}body.t14 .ava,body.t14 .p-ava{background:linear-gradient(135deg,#FF4D7E,#C1123F)!important;box-shadow:0 0 0 2px #FF8FB0 inset,0 10px 24px rgba(0,0,0,0.6)!important}body.t14 .day.active{background:linear-gradient(135deg,#FF4D7E,#C1123F)!important}body.t14 .starfield{display:block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'><text x='25' y='40' font-size='20'>💝</text><text x='130' y='55' font-size='21'>💌</text><text x='60' y='115' font-size='22'>🌹</text><text x='180' y='130' font-size='20'>💕</text><text x='100' y='180' font-size='21'>💖</text><text x='210' y='95' font-size='22'>💝</text><text x='35' y='205' font-size='20'>💌</text><text x='215' y='215' font-size='21'>🌹</text><text x='150' y='235' font-size='22'>💕</text></svg>");background-repeat:repeat;background-size:260px 260px;filter:brightness(0) invert(1);opacity:0.10}body.t8{--bg:linear-gradient(165deg,#3A1230 0%,#5C1F4A 100%);--card:rgba(140,50,110,0.40);--text:#FFF0FA;--sub:#E7B3D8;--accent:#E84FA8;--accent-dim:rgba(232,79,168,0.28);--on-accent:#3A1230;--separator:rgba(247,200,70,0.34)}body.t8 .blobs{display:none}body.t8 .btn-accent,body.t8 button.btn-start,body.t8 .hw-start,body.t8 .btn-hw-start{background:linear-gradient(135deg,#E84FA8,#B12877)!important;color:#FFF0FA!important;border:1.5px solid #F7C846!important}body.t8 .ava,body.t8 .p-ava{background:linear-gradient(135deg,#E84FA8,#B12877)!important;box-shadow:0 0 0 2px #F7C846 inset,0 10px 24px rgba(0,0,0,0.6)!important}body.t8 .day.active{background:linear-gradient(135deg,#E84FA8,#B12877)!important}body.t8 .starfield{display:block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'><text x='25' y='40' font-size='20'>🌷</text><text x='130' y='55' font-size='21'>🌸</text><text x='60' y='115' font-size='22'>💐</text><text x='180' y='130' font-size='20'>🌹</text><text x='100' y='180' font-size='21'>🌼</text><text x='210' y='95' font-size='22'>🌷</text><text x='35' y='205' font-size='20'>🌸</text><text x='215' y='215' font-size='21'>💐</text><text x='150' y='235' font-size='22'>🌹</text></svg>");background-repeat:repeat;background-size:260px 260px;filter:brightness(0) invert(1);opacity:0.10}body.thal{--bg:#1A0A1F;--card:rgba(80,40,100,0.45);--text:#FFF8E1;--sub:#C9A8E8;--accent:#FF7518;--accent-dim:rgba(255,117,24,0.28);--on-accent:#1A0A1F;--separator:rgba(255,117,24,0.32)}body.thal .blobs{display:none}body.thal .btn-accent,body.thal button.btn-start,body.thal .hw-start,body.thal .btn-hw-start{background:linear-gradient(135deg,#FF7518,#B84A00)!important;color:#FFF8E1!important;border:1.5px solid #FF7518!important}body.thal .ava,body.thal .p-ava{background:linear-gradient(135deg,#FF7518,#B84A00)!important;box-shadow:0 0 0 2px #6B2D8A inset,0 10px 24px rgba(0,0,0,0.6)!important}.batfield{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;overflow:hidden;display:none}body.thal .batfield{display:block}body.thal .batfield::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'><g><text x='25' y='40' font-size='22'>🎃</text><text x='130' y='55' font-size='20'>👻</text><text x='60' y='115' font-size='21'>🕷️</text><text x='180' y='130' font-size='23'>🦇</text><text x='100' y='180' font-size='19'>💀</text><text x='210' y='95' font-size='20'>🦴</text><text x='30' y='205' font-size='18'>🕸️</text><text x='220' y='215' font-size='19'>🍬</text><text x='155' y='235' font-size='21'>🦇</text></g></svg>");background-repeat:repeat;background-size:260px 260px;pointer-events:none;filter:brightness(0) invert(1);opacity:0.10}body.tsep{--bg:#0a1a2e;--card:rgba(23,60,96,0.55);--text:#F5F9FF;--sub:#A8C0E0;--accent:#D4AF37;--accent-dim:rgba(212,175,55,0.25);--on-accent:#0a1a2e;--separator:rgba(212,175,55,0.3)}body.tsep .blobs{display:none}body.tsep .snowfield{display:block!important}body.tsep .snowfield::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><g><text x='25' y='40' font-size='20'>📚</text><text x='130' y='55' font-size='18'>🔔</text><text x='55' y='110' font-size='19'>✏️</text><text x='170' y='135' font-size='22'>🎓</text><text x='95' y='170' font-size='17'>📓</text><text x='195' y='85' font-size='18'>📖</text><text x='25' y='195' font-size='16'>🍎</text><text x='205' y='210' font-size='17'>📐</text><text x='140' y='220' font-size='19'>🔬</text></g></svg>");background-repeat:repeat;background-size:240px 240px;pointer-events:none;filter:brightness(0) invert(1);opacity:0.12}body.tsep .snowflake{display:none}body.tsep .btn-accent,body.tsep button.btn-start,body.tsep .hw-start,body.tsep .btn-hw-start{background:linear-gradient(135deg,#2876C7,#1B4D87)!important;color:#F5F9FF!important;border:1.5px solid #D4AF37!important}body.tsep .ava,body.tsep .p-ava{background:linear-gradient(135deg,#2876C7,#173C60)!important;box-shadow:0 0 0 2px #D4AF37 inset,0 10px 24px rgba(0,0,0,0.4)!important}body.tnew{--bg:#0e1a14;--card:rgba(77,82,12,0.55);--text:#FFF8E1;--sub:#E1827C;--accent:#8B1C2A;--accent-dim:rgba(139,28,42,0.28);--on-accent:#FFF8E1;--separator:rgba(139,28,42,0.35)}body.tnew .blobs{display:none}body.tnew .btn-accent,body.tnew button.btn-start,body.tnew .hw-start,body.tnew .btn-hw-start{background:linear-gradient(135deg,#3E6B4E,#2c4f3a)!important;color:#FFF8E1!important;border:1.5px solid #8B1C2A!important}body.tnew .ava,body.tnew .p-ava{overflow:visible!important;background:linear-gradient(135deg,#2E5A3E,#1a3a25)!important;box-shadow:0 0 0 2px #8B1C2A inset,0 10px 24px rgba(0,0,0,0.45)!important}body.tnew .ava::after,body.tnew .p-ava::after{content:'';position:absolute;inset:-14px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><defs><radialGradient id='b' cx='0.3' cy='0.3'><stop offset='0' stop-color='%23E15050'/><stop offset='1' stop-color='%23801222'/></radialGradient></defs><g fill='%231a3a25'><ellipse cx='50' cy='7' rx='13' ry='8'/><ellipse cx='73' cy='12' rx='12' ry='8' transform='rotate(25 73 12)'/><ellipse cx='88' cy='27' rx='13' ry='8' transform='rotate(50 88 27)'/><ellipse cx='94' cy='50' rx='13' ry='8' transform='rotate(90 94 50)'/><ellipse cx='88' cy='73' rx='13' ry='8' transform='rotate(125 88 73)'/><ellipse cx='73' cy='88' rx='12' ry='8' transform='rotate(155 73 88)'/><ellipse cx='50' cy='93' rx='13' ry='8'/><ellipse cx='27' cy='88' rx='12' ry='8' transform='rotate(-155 27 88)'/><ellipse cx='12' cy='73' rx='13' ry='8' transform='rotate(-125 12 73)'/><ellipse cx='6' cy='50' rx='13' ry='8' transform='rotate(90 6 50)'/><ellipse cx='12' cy='27' rx='13' ry='8' transform='rotate(-50 12 27)'/><ellipse cx='27' cy='12' rx='12' ry='8' transform='rotate(-25 27 12)'/></g><g fill='%232E5A3E'><ellipse cx='50' cy='8' rx='9' ry='5'/><ellipse cx='75' cy='15' rx='9' ry='5' transform='rotate(30 75 15)'/><ellipse cx='86' cy='30' rx='9' ry='5' transform='rotate(55 86 30)'/><ellipse cx='92' cy='52' rx='9' ry='5' transform='rotate(90 92 52)'/><ellipse cx='85' cy='72' rx='9' ry='5' transform='rotate(130 85 72)'/><ellipse cx='72' cy='86' rx='9' ry='5' transform='rotate(160 72 86)'/><ellipse cx='50' cy='91' rx='9' ry='5'/><ellipse cx='28' cy='86' rx='9' ry='5' transform='rotate(-160 28 86)'/><ellipse cx='15' cy='72' rx='9' ry='5' transform='rotate(-130 15 72)'/><ellipse cx='8' cy='52' rx='9' ry='5' transform='rotate(90 8 52)'/><ellipse cx='14' cy='30' rx='9' ry='5' transform='rotate(-55 14 30)'/><ellipse cx='25' cy='15' rx='9' ry='5' transform='rotate(-30 25 15)'/></g><g fill='%234a8059'><ellipse cx='52' cy='10' rx='5' ry='2.5'/><ellipse cx='75' cy='17' rx='5' ry='2.5' transform='rotate(30 75 17)'/><ellipse cx='86' cy='32' rx='5' ry='2.5' transform='rotate(55 86 32)'/><ellipse cx='90' cy='52' rx='5' ry='2.5' transform='rotate(90 90 52)'/><ellipse cx='28' cy='84' rx='5' ry='2.5' transform='rotate(-160 28 84)'/><ellipse cx='10' cy='52' rx='5' ry='2.5' transform='rotate(90 10 52)'/></g><g><ellipse cx='32' cy='17' rx='3' ry='4' fill='%23603013' transform='rotate(-30 32 17)'/><ellipse cx='80' cy='62' rx='3' ry='4' fill='%23603013' transform='rotate(60 80 62)'/><ellipse cx='15' cy='40' rx='2.5' ry='3.5' fill='%23603013' transform='rotate(-70 15 40)'/></g><g fill='url(%23b)'><circle cx='62' cy='10' r='2.8'/><circle cx='60' cy='5' r='2.2'/><circle cx='88' cy='38' r='2.8'/><circle cx='84' cy='42' r='2.4'/><circle cx='90' cy='62' r='2.8'/><circle cx='83' cy='66' r='2.4'/><circle cx='66' cy='90' r='2.8'/><circle cx='62' cy='94' r='2.4'/><circle cx='35' cy='94' r='2.6'/><circle cx='14' cy='66' r='2.6'/><circle cx='10' cy='62' r='2.2'/><circle cx='12' cy='38' r='2.8'/><circle cx='38' cy='6' r='2.4'/><circle cx='42' cy='10' r='2.2'/><circle cx='6' cy='40' r='2.4'/></g><g fill='%23FFE0A0' opacity='0.85'><circle cx='62' cy='9' r='0.6'/><circle cx='88' cy='37' r='0.6'/><circle cx='90' cy='61' r='0.6'/><circle cx='66' cy='89' r='0.6'/><circle cx='12' cy='37' r='0.6'/></g><g transform='translate(50 7)'><path d='M -12 -1 Q -16 -7 -7 -3 Q -2 -1 0 0 Q -2 1 -7 3 Q -16 7 -12 1 Z' fill='%23A52030' stroke='%236b1620' stroke-width='0.4'/><path d='M 12 -1 Q 16 -7 7 -3 Q 2 -1 0 0 Q 2 1 7 3 Q 16 7 12 1 Z' fill='%23A52030' stroke='%236b1620' stroke-width='0.4'/><path d='M -3 1 Q -4 7 -6 12 L -2 12 Q -1 6 0 2 Z' fill='%238B1C2A'/><path d='M 3 1 Q 4 7 6 12 L 2 12 Q 1 6 0 2 Z' fill='%238B1C2A'/><ellipse cx='0' cy='0' rx='3' ry='2.5' fill='%236b1620'/><ellipse cx='-0.5' cy='-0.5' rx='1.2' ry='0.8' fill='%23B22838' opacity='0.7'/></g></svg>")!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:transparent!important;pointer-events:none;z-index:2;filter:drop-shadow(0 4px 10px rgba(0,0,0,0.5));animation:wreath-sway 6s ease-in-out infinite;transform-origin:50% 50%}body.tnew .p-ava::after{inset:-18px}@keyframes wreath-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}body.tnew .day.active{background:linear-gradient(145deg,#A52030,#6b1620)!important;border-color:#8B1C2A!important;color:#FFF8E1!important;box-shadow:0 8px 22px rgba(139,28,42,0.45),inset 0 0 0 1px rgba(255,255,255,0.08)!important}body.tnew .day.active span,body.tnew .day.active b{color:#FFF8E1!important}.snowfield{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;overflow:hidden;display:none}body.tnew .snowfield{display:block}.snowflake{position:absolute;top:-10vh;color:#FFF8E1;font-size:14px;user-select:none;opacity:0.85;text-shadow:0 0 6px rgba(255,248,225,0.55);animation:snow-fall linear infinite;will-change:transform}@keyframes snow-fall{0%{transform:translate3d(0,-10vh,0) rotate(0deg)}100%{transform:translate3d(var(--drift,0px),110vh,0) rotate(360deg)}}body.light{--bg:#F2F2F7;--card:rgba(255,255,255,0.8);--card-hover:rgba(255,255,255,0.95);--text:#000000;--sub:rgba(60,60,67,0.6);--separator:rgba(0,0,0,0.08);--accent:#007AFF;--on-accent:#FFFFFF;--accent-dim:rgba(0,122,255,0.1)}*{margin:0;padding:0;box-sizing:border-box;font-family:'Manrope',-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;outline:none}body{background:var(--bg);color:var(--text);overflow:hidden;height:100vh;width:100vw;transition:background 0.4s cubic-bezier(0.16,1,0.3,1);user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:manipulation}.blobs{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;filter:contrast(110%) brightness(90%)}.blob{position:absolute;width:80vw;height:80vw;border-radius:50%;filter:blur(160px);opacity:0.45;transition:1s ease}.blob-1{background:var(--accent);top:-20%;left:-20%;animation:orbit 22s infinite linear;opacity:0.15}.blob-2{background:var(--sub);bottom:-20%;right:-20%;animation:orbit 28s infinite linear reverse;opacity:0.15}.blob-3{background:var(--accent);top:30%;right:-10%;width:60vw;height:60vw;opacity:0.1;animation:orbit 15s infinite alternate ease-in-out}@keyframes orbit{from{transform:rotate(0deg) translateX(40px) rotate(0deg)}to{transform:rotate(360deg) translateX(40px) rotate(-360deg)}}header{padding:12px 20px;display:flex;justify-content:space-between;align-items:center;position:fixed;top:calc(15px + var(--safe-top));left:15px;right:15px;z-index:2500;background:var(--card);backdrop-filter:blur(35px) saturate(200%);-webkit-backdrop-filter:blur(35px) saturate(200%);border:1px solid var(--separator);border-radius:30px;transition:all 0.5s cubic-bezier(0.16,1,0.3,1);box-shadow:0 10px 30px rgba(0,0,0,0.3)}header.hidden{opacity:0;pointer-events:none;transform:translateY(-30px) scale(0.95)}header.scroll-hidden{opacity:0;pointer-events:none;transform:translateY(-80px)}#token-expired-banner{transition:transform 0.45s cubic-bezier(0.16,1,0.3,1),opacity 0.4s}#token-expired-banner.scroll-hidden{transform:translateY(-170px);opacity:0;pointer-events:none}.home-toggle-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--separator);border-radius:16px;margin-bottom:8px;cursor:pointer;position:relative}.home-toggle-info{flex:1;min-width:0}.home-toggle-title{font-size:14px;font-weight:800;color:var(--text);font-family:'Outfit',sans-serif}.home-toggle-sub{font-size:11px;color:var(--sub);font-weight:600;margin-top:2px}.home-toggle-row input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}.home-toggle-slider{width:42px;height:24px;background:rgba(255,255,255,0.12);border-radius:999px;position:relative;transition:background 0.2s;flex-shrink:0}.home-toggle-slider::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform 0.2s;box-shadow:0 2px 4px rgba(0,0,0,0.3)}.home-toggle-row input:checked ~ .home-toggle-slider{background:var(--accent)}.home-toggle-row input:checked ~ .home-toggle-slider::after{transform:translateX(18px)}.user-block{display:flex;align-items:center;gap:16px;transform:translateZ(0)}.ava{width:52px;height:52px;background:linear-gradient(135deg,var(--accent),var(--accent-dim));border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:#fff;box-shadow:0 10px 24px var(--accent-dim),inset 0 0 0 1px rgba(255,255,255,0.2);position:relative;overflow:hidden;transform:translateZ(0)}.ava::after,.p-ava::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,0.3) 0%,transparent 50%,rgba(255,255,255,0.1) 100%);pointer-events:none}.welcome{display:flex;flex-direction:column}.welcome span{font-size:10px;font-weight:850;color:var(--sub);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:2px}.welcome b{font-size:24px;font-weight:900;letter-spacing:-0.8px;font-family:'Outfit',sans-serif}.app-container{height:100vh;width:100vw;overflow:hidden;position:relative;z-index:1}.app-track{display:flex;height:100%;width:400%;transition:transform 0.32s cubic-bezier(0.25,0.46,0.45,0.94);will-change:transform;overflow:hidden;position:relative;left:0;top:0}.page{width:100vw;flex-shrink:0;height:100%;overflow-y:auto;overflow-x:hidden;padding:calc(105px + var(--safe-top)) 0 calc(130px + var(--safe-bottom));-webkit-overflow-scrolling:touch;position:relative;overscroll-behavior-y:contain}body.on-profile header{display:none}#page-profile{padding-top:calc(20px + var(--safe-top))}body.tok-ban .page{padding-top:calc(162px + var(--safe-top))}body.on-profile #token-expired-banner{display:none!important}body.tok-ban #row-mesh{border-color:rgba(229,90,60,0.6)!important;animation:tokRowPulse 2.4s ease-in-out infinite}@keyframes tokRowPulse{0%,100%{background:rgba(229,90,60,0.08)}50%{background:rgba(229,90,60,0.20)}}.profile-stack{display:flex;flex-direction:column;gap:12px;padding:0 16px 20px;max-width:500px;margin:0 auto}.settings-card{padding:6px!important}.set-row{display:flex;align-items:center;gap:12px;padding:13px 12px;cursor:pointer;border-radius:16px;border:1px solid transparent;transition:background 0.18s,border-color 0.18s}.set-row:active{background:rgba(255,255,255,0.05)}.set-ic{width:38px;height:38px;border-radius:11px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.set-ic svg{width:20px;height:20px}.set-main{flex:1;min-width:0}.set-name{font-size:16px;font-weight:750;color:var(--text)}.set-sub{font-size:13px;font-weight:600;color:var(--sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-val{font-size:14px;font-weight:800;color:var(--sub);flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:7px}.set-chev{width:9px;height:9px;border-right:2px solid var(--sub);border-bottom:2px solid var(--sub);transform:rotate(-45deg);flex-shrink:0;opacity:0.5;transition:transform 0.25s}.set-row.open .set-chev{transform:rotate(45deg)}.set-panel{padding:4px 10px 12px;animation:fadeUp 0.25s ease}.page::-webkit-scrollbar{display:none}.glass-card{background:var(--card);border:1px solid var(--separator);border-radius:var(--rad-lg);margin:0 auto 24px;max-width:500px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.15);transition:transform 0.15s,background 0.3s}.glass-card:active{transform:scale(0.99)}.bento-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px 20px;max-width:500px;margin:0 auto}.card-glass{background:var(--card);border:1px solid var(--separator);border-radius:var(--rad-lg);padding:20px;transition:0.3s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,0.2)}.card-glass:active{transform:scale(0.98)}.card-glass.wide{grid-column:span 2}.p-hero{display:flex;align-items:center;gap:16px;position:relative}.p-ava{width:72px;height:72px;border-radius:24px;background:linear-gradient(145deg,var(--accent),var(--accent-dim));display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:900;color:#fff;box-shadow:0 15px 35px var(--accent-dim),inset 0 0 0 1.5px rgba(255,255,255,0.25);position:relative;overflow:hidden;transform:translateZ(0);transition:0.4s cubic-bezier(0.175,0.885,0.32,1.275)}.p-ava:active{transform:scale(0.9) rotate(-3deg)}.p-details{flex:1}.p-name{font-size:20px;font-weight:900;font-family:'Outfit',sans-serif;margin-bottom:2px;letter-spacing:-0.3px}.p-sub{font-size:13px;color:var(--sub);font-weight:600}.btn-exit{background:rgba(255,69,58,0.12);color:#FF453A;padding:8px 14px;border-radius:14px;border:none;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:0.5px;cursor:pointer}.b-label{font-size:11px;font-weight:800;color:var(--sub);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;display:block}.inter-row{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.04);border:1px solid var(--separator);border-radius:22px;padding:16px;transition:background 0.2s}.inter-row:active{background:rgba(255,255,255,0.08)}.row-icon{width:40px;height:40px;border-radius:12px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;color:var(--accent)}.row-icon svg{width:22px;height:22px}.row-content{flex:1;margin-left:14px;min-width:0}.row-title{font-size:15px;font-weight:700;color:var(--text)}.row-hint{font-size:13px;color:var(--sub);margin-top:2px;line-height:1.3}#security-card:not(.wide) .inter-row{flex-direction:column;align-items:stretch;gap:10px;padding:12px}#security-card:not(.wide) .row-icon{display:none}#security-card:not(.wide) .row-content{margin-left:0}#security-card:not(.wide) .row-title{font-size:13px}#security-card:not(.wide) .row-hint{font-size:11px}#security-card:not(.wide) .inter-row>div:last-child{align-self:flex-start;font-size:12px!important}.theme-belt{display:flex;gap:20px;overflow-x:auto;padding:10px 0 25px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.theme-belt::-webkit-scrollbar{display:none}.theme-pill{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;min-width:50px;cursor:pointer;transition:transform 0.2s}.theme-pill:active{transform:scale(0.95)}.pill-circ{width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.1),0 0 0 0 transparent;transition:0.3s cubic-bezier(0.175,0.885,0.32,1.275);transform:translateZ(0);-webkit-font-smoothing:antialiased}.theme-pill span{font-size:9px;font-weight:850;color:var(--sub);text-transform:uppercase;letter-spacing:0.4px}.theme-pill.active .pill-circ{transform:scale(1.1) translateY(-2px);box-shadow:0 0 0 3px var(--accent),0 8px 24px var(--accent-dim)}.theme-pill.active span{color:var(--accent);font-weight:950}.section-header{padding:0 26px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:flex-end}.section-header h2{font-size:26px;font-weight:900;letter-spacing:-1.2px;font-family:'Outfit',sans-serif}.cal-row{padding:0 18px;margin-bottom:28px}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0 4px}.month-label{font-size:19px;font-weight:800;letter-spacing:-0.5px;font-family:'Outfit',sans-serif;text-align:center;flex:1}.cal-nav{display:flex;align-items:center;gap:8px}.arrow-btn{padding:0 12px;height:34px;border-radius:17px;background:var(--card);border:1px solid var(--separator);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(10px);transition:0.2s}.arrow-btn:active{transform:scale(0.92);background:var(--accent-dim)}.arrow-btn.icon-only{width:34px;font-size:18px;padding:0}.cal-grid{display:flex;gap:8px;justify-content:space-between}.day{flex:1;height:82px;background:var(--card);border:1px solid var(--separator);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:0.35s cubic-bezier(0.23,1,0.32,1);position:relative;overflow:hidden;cursor:pointer}.hw-card{background:rgba(255,255,255,0.12);padding:16px;border-radius:20px;font-size:15px;line-height:1.5;color:var(--text);font-weight:700;border-left:3px solid var(--accent);text-shadow:0 1px 1px rgba(0,0,0,0.1);overflow-wrap:anywhere;word-break:break-word;margin-bottom:15px;border:1px solid var(--separator)}body.light .hw-card,body.t1 .hw-card,body.t3 .hw-card,body.t5 .hw-card{background:rgba(0,0,0,0.04);border-left-width:4px}.day.active{background:rgba(255,255,255,0.12);color:var(--text)!important;border-color:var(--accent);transform:scale(1.05);box-shadow:0 0 20px var(--accent-dim)}.day.active::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--accent-dim),transparent);pointer-events:none}.day span{font-size:11px;font-weight:800;color:var(--sub);text-transform:uppercase;margin-bottom:6px}.day b{font-size:22px;font-weight:900;font-family:'Outfit',sans-serif}.day-dot{width:6px;height:6px;border-radius:50%;background:var(--separator);margin-top:8px;position:relative;z-index:2}.day.active span{color:var(--accent)}.day.active b{color:var(--text)}.day.has-hw .day-dot{background:var(--danger)!important;box-shadow:0 0 10px var(--danger)}.day.has-cdz .day-dot{background:var(--accent)!important;box-shadow:0 0 8px var(--accent-dim)}.sched-item{border-bottom:1px solid var(--separator);position:relative}.sched-item:last-child{border-bottom:none}.sched-main{padding:24px 22px;display:flex;gap:20px;cursor:pointer;transition:0.25s}.sched-main:active{background:rgba(255,255,255,0.06)}.time-wrap{min-width:60px;display:flex;flex-direction:column;justify-content:center}.time-start{font-size:18px;font-weight:900;color:var(--text);font-family:'Outfit',sans-serif}.time-end{font-size:13px;font-weight:600;color:var(--sub)}.info-wrap{flex:1}.subject-line{display:flex;justify-content:space-between;align-items:center;font-size:19px;font-weight:800;margin-bottom:6px;letter-spacing:-0.4px}.room-tag{font-size:14px;font-weight:700;color:var(--sub);display:flex;align-items:center;gap:4px}.chevron{font-size:14px;color:var(--sub);transition:0.35s cubic-bezier(0.175,0.885,0.32,1.275);opacity:0.5}.sched-item.open .chevron{transform:rotate(180deg);opacity:1;color:var(--accent)}.sched-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.38s cubic-bezier(0.25,0.46,0.45,0.94);overflow:hidden;contain:layout;will-change:grid-template-rows}.sched-item.open .sched-details{grid-template-rows:1fr}.sched-details-inner{min-height:0;padding:4px 22px 28px 84px;opacity:0;transform:translateY(10px);transition:opacity 0.28s ease,transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94)}.sched-item.open .sched-details-inner{opacity:1;transform:translateY(0)}.hw-label{font-size:10px;font-weight:900;color:var(--sub);text-transform:uppercase;margin-bottom:8px;letter-spacing:0.5px}.hw-text{font-size:16px;font-weight:600;line-height:1.55;color:var(--text)}.ai-btn{width:100%;padding:16px;background:var(--accent);color:#fff!important;border:none;border-radius:18px;font-size:16px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 24px var(--accent-dim);transition:0.3s}.ai-btn:active{transform:scale(0.96);opacity:0.9}.cdz-promo-card{padding:24px;background:linear-gradient(135deg,var(--card),var(--accent-dim));border:1px solid var(--accent);border-radius:var(--rad-lg);position:relative;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,0.3)}.cdz-promo-card::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--accent-dim) 0%,transparent 70%);opacity:0.3;pointer-events:none}.period-header{padding:32px 24px;text-align:center}.gpa-main{font-size:72px;font-weight:950;letter-spacing:-3px;color:var(--text);line-height:1;font-family:'Outfit',sans-serif;margin-bottom:8px}.subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px 40px;max-width:100vw;margin:0 auto}.tile-advanced{background:var(--card);border:1px solid var(--separator);border-radius:30px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;min-height:155px;position:relative;text-align:left;overflow:hidden;width:100%;border-left:4px solid var(--separator)}.tile-advanced .subj-name{font-size:15px;font-weight:800;line-height:1.25;margin-bottom:15px;opacity:0.9}.tile-advanced .subj-avg{font-size:38px;font-weight:950;color:var(--text);font-family:'Outfit',sans-serif}.subj-row{background:var(--card);border:1px solid var(--separator);border-radius:18px;padding:14px 16px 14px 14px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:transform 0.15s;border-left:4px solid var(--separator)}.subj-row:active{transform:scale(0.99)}.subj-row .subj-body{flex:1;min-width:0}.subj-row .subj-name{font-size:15px;font-weight:800;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subj-row .subj-meta{font-size:11px;font-weight:700;color:var(--sub);margin-top:3px}.subj-row .subj-avg{font-size:26px;font-weight:950;color:var(--text);font-family:'Outfit',sans-serif;line-height:1;flex-shrink:0}.subj-row .subj-finals{display:flex;gap:4px;margin-top:6px}.subj-row .subj-finals .fin{font-size:10px;font-weight:800;color:var(--sub);padding:2px 6px;border-radius:6px;background:var(--separator)}.subj-row .subj-finals .fin b{color:var(--text);font-weight:900;margin-left:3px}.forecast-tag{font-size:10px;font-weight:900;color:var(--success);background:rgba(50,215,75,0.15);padding:4px 10px;border-radius:8px;width:fit-content;margin-top:10px}.nav-bar{position:fixed;bottom:0;left:0;right:0;height:calc(85px + var(--safe-bottom));background:var(--card);backdrop-filter:blur(50px) saturate(180%);-webkit-backdrop-filter:blur(50px) saturate(180%);border-top:1px solid var(--separator);display:flex;justify-content:space-around;align-items:center;padding:0 10px var(--safe-bottom);z-index:2000;box-shadow:0 -10px 40px rgba(0,0,0,0.1)}body:not(.light):not(.t1):not(.t3):not(.t5) .nav-bar{background:rgba(10,10,12,0.85)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--sub);cursor:pointer;transition:color 0.2s;min-height:60px;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.nav-item.active{color:var(--accent)}.nav-item svg{width:28px;height:28px;fill:currentColor;transition:transform 0.3s}.nav-item.active svg{transform:translateY(-2px) scale(1.1)}.nav-item span{font-size:11px;font-weight:850;letter-spacing:0.3px}.shimmer{position:relative;overflow:hidden;background:rgba(255,255,255,0.05)}.shimmer::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.05),transparent);animation:shimmer-anim 2s infinite}@keyframes shimmer-anim{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.sk{background:rgba(255,255,255,0.06);border-radius:14px;position:relative;overflow:hidden}.sk::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,0.08) 50%,transparent 70%);animation:shimmer-anim 1.4s infinite}.sk-line{height:14px;margin-bottom:8px}.sk-block{height:60px;margin-bottom:12px}.sk-card{height:88px;margin-bottom:12px;border-radius:20px}.stagger>*{opacity:0;transform:translateY(12px);animation:stagger-in 0.42s cubic-bezier(0.16,1,0.3,1) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:100ms}.stagger>*:nth-child(4){animation-delay:150ms}.stagger>*:nth-child(5){animation-delay:200ms}.stagger>*:nth-child(6){animation-delay:250ms}.stagger>*:nth-child(7){animation-delay:300ms}.stagger>*:nth-child(8){animation-delay:350ms}.stagger>*:nth-child(n+9){animation-delay:400ms}@keyframes stagger-in{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}.tap-fx{transition:transform 0.12s cubic-bezier(0.4,0,0.2,1),opacity 0.12s}.tap-fx:active{transform:scale(0.97);opacity:0.85}.card-glass,.subj-row,.day,.glass-card,.theme-pill,.home-toggle-row,.arrow-btn,.btn-accent{transition:transform 0.15s cubic-bezier(0.4,0,0.2,1),opacity 0.15s,box-shadow 0.2s!important}.card-glass:active,.subj-row:active,.day:active,.glass-card:active,.theme-pill:active,.home-toggle-row:active,.arrow-btn:active,.btn-accent:active{transform:scale(0.93)!important;opacity:0.88!important}.num-anim{position:relative;display:inline-block;overflow:hidden;vertical-align:middle;line-height:1.2;padding:0.08em 0.04em}.num-anim .digit{display:block;line-height:1.2;transition:transform 0.42s cubic-bezier(0.16,1,0.3,1),opacity 0.42s}.num-anim .digit.out-up{transform:translateY(-100%);opacity:0;position:absolute;left:0;right:0}.num-anim .digit.out-down{transform:translateY(100%);opacity:0;position:absolute;left:0;right:0}.num-anim .digit.in-up{transform:translateY(100%);opacity:0}.num-anim .digit.in-down{transform:translateY(-100%);opacity:0}.num-anim .digit.show{transform:translateY(0);opacity:1}.num-anim.flash-green{animation:numFlashGreen 0.6s ease-out}.num-anim.flash-red{animation:numFlashRed 0.6s ease-out}@keyframes numFlashGreen{0%,100%{color:inherit;text-shadow:0 0 0 transparent}50%{color:#5BC76B;text-shadow:0 0 16px rgba(91,199,107,0.5)}}@keyframes numFlashRed{0%,100%{color:inherit;text-shadow:0 0 0 transparent}50%{color:#FF453A;text-shadow:0 0 16px rgba(255,69,58,0.5)}}.tilt-host{transition:transform 0.12s ease-out;transform-style:preserve-3d}@keyframes breathe-ava{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}.ava,.p-ava{animation:breathe-ava 3.5s ease-in-out infinite}body.tnew .ava,body.tnew .p-ava{animation:none}.sched-item .lesson-prog{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent) 50%,transparent);transform-origin:left;transition:transform 0.6s ease-out;pointer-events:none;opacity:0.85;display:none}.sched-item.current .lesson-prog{display:block}@keyframes big-five-pop{0%{transform:scale(1) rotate(0)}30%{transform:scale(1.4) rotate(-8deg)}50%{transform:scale(1.4) rotate(8deg)}70%{transform:scale(1.4) rotate(-4deg)}100%{transform:scale(1) rotate(0)}}.big-5-pop{animation:big-five-pop 0.7s cubic-bezier(0.175,0.885,0.32,1.275);z-index:5}.big-5-pop::after{content:'';position:absolute;inset:-8px;border:2px solid #5BC76B;border-radius:16px;animation:ring-fade 0.7s ease-out;pointer-events:none}@keyframes ring-fade{0%{transform:scale(0.8);opacity:1}100%{transform:scale(1.6);opacity:0}}.loading-phrase{text-align:center;padding:30px 16px;color:var(--sub);font-size:13px;font-weight:700;font-style:italic;animation:loadPhraseFade 1s ease-in-out}@keyframes loadPhraseFade{0%{opacity:0;transform:translateY(4px)}100%{opacity:1;transform:translateY(0)}}.marks-ribbon-sw{display:flex;gap:12px;overflow-x:auto;padding:10px 18px 24px;scroll-behavior:smooth}.marks-ribbon-sw::-webkit-scrollbar{display:none}.ribbon-mark{min-width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:950;font-family:'Outfit';border:1px solid var(--separator);box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:0.3s cubic-bezier(0.175,0.885,0.32,1.275);animation:popIn 0.5s cubic-bezier(0.175,0.885,0.32,1.275) both}.ribbon-mark:active{transform:scale(0.85)}@keyframes popIn{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes schedSlideIn{0%{transform:translateY(18px);opacity:0}100%{transform:translateY(0);opacity:var(--item-opacity,1)}}.sched-item.anim-in{animation:schedSlideIn 0.45s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes popBounce{0%{transform:scale(0);opacity:0}60%{transform:scale(1.18);opacity:1}80%{transform:scale(0.92)}100%{transform:scale(1)}}@keyframes countBarGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes resultPop{0%{transform:scale(0.6);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--separator);transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:2px;background-color:white;transition:.3s;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,0.25)}input:checked + .slider{background-color:#34C759}input:checked + .slider:before{transform:translateX(18px)}@keyframes tileIn{from{opacity:0;transform:translateY(30px) scale(0.96);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.tile-anim{animation:tileIn 0.6s cubic-bezier(0.16,1,0.3,1) both}.stagger-1{animation-delay:0.1s}.stagger-2{animation-delay:0.2s}.stagger-3{animation-delay:0.3s}.stagger-4{animation-delay:0.4s}#analysis-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);z-index:3000;display:none;flex-direction:column;padding-top:env(safe-area-inset-top);animation:slide-up 0.4s cubic-bezier(0.16,1,0.3,1)}@keyframes slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}.theme-sw-container{display:flex;gap:20px;overflow-x:auto;padding:20px 0 30px;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;margin:0 22px}.page{touch-action:pan-y;opacity:0.92;transition:opacity 0.25s ease}.page.active{opacity:1}.theme-item{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;width:72px;transition:0.3s}.theme-name{font-size:9px;font-weight:900;color:var(--text);opacity:0.45;letter-spacing:1px;text-transform:uppercase;text-align:center;width:100%;white-space:nowrap}.theme-dot{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;transition:0.4s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;backface-visibility:hidden;transform:translateZ(0);will-change:transform;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05)}.theme-dot:active{transform:scale(0.9) translateZ(0);opacity:0.9}.theme-dot.active{box-shadow:0 0 0 2.5px var(--accent),0 0 20px var(--accent-dim);transform:scale(1.1) translateZ(0)}.theme-dot.active + .theme-name{opacity:1;color:var(--accent);font-weight:900}.theme-sw-container{display:flex;gap:22px;overflow-x:auto;padding:10px 24px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.theme-sw-container::-webkit-scrollbar{display:none}@media screen and (max-width:380px){.subject-grid,.bento-grid,#subjects-stats-grid{grid-template-columns:1fr!important;padding:0 16px 20px!important}.card-glass.wide{grid-column:auto}.gpa-main{font-size:64px}.section-header h2{font-size:24px}.tile-advanced .subj-name{font-size:14px}.tile-advanced .subj-avg{font-size:34px}}.timer-circle-container{position:relative;width:240px;height:240px;margin:30px auto;transform:translateZ(0)}.timer-circle{width:100%;height:100%;transform:rotate(-90deg)}.timer-circle circle{fill:none;stroke-width:8;stroke-linecap:round}.timer-circle-bg{stroke:var(--separator);opacity:0.3}.timer-circle-progress{stroke:var(--accent);stroke-dasharray:691;stroke-dashoffset:691;transition:stroke-dashoffset 1s linear,stroke 0.3s;filter:drop-shadow(0 0 8px var(--accent-dim))}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:100%}.timer-time{font-size:58px;font-weight:950;font-family:'Outfit',sans-serif;color:var(--text);line-height:1;letter-spacing:-1px}.timer-label{font-size:13px;font-weight:850;color:var(--sub);text-transform:uppercase;letter-spacing:1.5px;margin-top:6px}#smart-study-overlay{background:var(--bg);background-image:radial-gradient(circle at 50% -10%,var(--accent-dim) 0%,transparent 50%)}@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}.study-btn-main{background:var(--accent);color:#fff;border:none;border-radius:20px;padding:18px;font-size:16px;font-weight:950;font-family:'Outfit';cursor:pointer;box-shadow:0 12px 32px var(--accent-dim);transition:0.3s cubic-bezier(0.16,1,0.3,1);transform:translateZ(0)}.study-btn-main:active{transform:scale(0.96);opacity:0.9}.region-toggle{display:flex;background:rgba(255,255,255,0.05);border-radius:14px;padding:4px;margin-bottom:20px;border:1px solid var(--separator)}.region-btn{flex:1;padding:10px;border-radius:11px;border:none;background:transparent;color:var(--sub);font-size:12px;font-weight:800;cursor:pointer;transition:0.25s cubic-bezier(0.4,0,0.2,1)}.region-btn.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-dim)}.ap-chips{display:flex;flex-wrap:wrap;gap:8px}.ap-chip{padding:9px 14px;border-radius:12px;background:rgba(255,255,255,0.05);border:1px solid var(--separator);font-size:13px;font-weight:800;color:var(--sub);cursor:pointer;transition:0.2s}.ap-chip.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.pm-car{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 2px;scrollbar-width:none}.pm-car::-webkit-scrollbar{display:none}.pm-plan{flex:0 0 calc(100% - 30px);scroll-snap-align:center;border-radius:24px;padding:22px;border:1px solid var(--separator);background:var(--card);position:relative}.pm-plan.plus{border-color:var(--accent);box-shadow:0 12px 36px var(--accent-dim)}.pm-badge{display:inline-block;margin-bottom:10px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;padding:5px 10px;border-radius:20px;letter-spacing:0.3px}.pm-name{font-family:'Outfit',sans-serif;font-size:21px;font-weight:900;letter-spacing:-0.5px}.pm-price{font-family:'Outfit',sans-serif;font-size:30px;font-weight:950;letter-spacing:-1px;margin:6px 0 14px;color:var(--text)}.pm-price span{font-size:14px;color:var(--sub);font-weight:700}.pm-feat{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;font-weight:600;color:var(--text);padding:6px 0}.pm-feat b{color:var(--accent);font-weight:900}.pm-dots{display:flex;gap:7px;justify-content:center;margin:12px 0 4px}.pm-dot{width:7px;height:7px;border-radius:50%;background:var(--separator);transition:0.25s}.pm-dot.act{background:var(--accent);width:22px;border-radius:4px}.pm-sku{flex:1;border:1px solid var(--separator);border-radius:16px;padding:12px 6px;text-align:center;background:var(--card);cursor:pointer}.pm-sku.sel{border-color:var(--accent);background:var(--accent-dim)}.pm-sku .pl{font-size:11px;color:var(--sub);font-weight:700}.pm-sku .pp{font-family:'Outfit',sans-serif;font-weight:900;font-size:16px;margin-top:3px;color:var(--text)}.pm-sku .pd{font-size:9px;color:var(--accent);font-weight:800;margin-top:2px;min-height:11px}.stepper{display:flex;flex-direction:column;gap:0;padding-left:10px}.step-item{display:flex;gap:16px;position:relative;padding-bottom:24px}.step-item:last-child{padding-bottom:0}.step-item::before{content:"";position:absolute;left:14px;top:30px;bottom:-2px;width:2px;background:var(--separator);opacity:0.5}.step-item:last-child::before{display:none}.step-icon{width:30px;height:30px;border-radius:50%;background:var(--card);border:2px solid var(--separator);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:var(--text);flex-shrink:0;z-index:1;transition:0.3s}.step-item.active .step-icon{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 15px var(--accent-dim)}.step-content{padding-top:4px}.step-title{font-size:14px;font-weight:850;color:var(--text);margin-bottom:4px}.step-desc{font-size:12.5px;color:var(--sub);line-height:1.5;font-weight:600}#global-loading{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0D0D14;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.5s ease}#global-loading.hidden{opacity:0;pointer-events:none}.spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,0.05);border-top:5px solid var(--accent);border-radius:50%;animation:spin 1s cubic-bezier(0.4,0,0.2,1) infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loading-text{margin-top:24px;font-size:11px;font-weight:900;color:var(--sub);text-transform:uppercase;letter-spacing:3px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:0.4}50%{opacity:1}}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,0.04) 25%,rgba(255,255,255,0.13) 50%,rgba(255,255,255,0.04) 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s infinite ease-in-out;border-radius:12px}@keyframes skeleton-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}#cdz-errors-input::-webkit-outer-spin-button,#cdz-errors-input::-webkit-inner-spin-button,#cdz-custom-mins::-webkit-outer-spin-button,#cdz-custom-mins::-webkit-inner-spin-button,#solve-all-modal input[type=number]::-webkit-outer-spin-button,#solve-all-modal input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#cdz-errors-input,#cdz-custom-mins,#solve-all-modal input[type=number]{-moz-appearance:textfield;appearance:textfield}.btn-accent{background:var(--accent)!important;color:var(--on-accent)!important;border:none!important;display:inline-flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;transition:transform 0.1s}.btn-accent:active{transform:scale(0.96)}.btn-accent svg{fill:var(--on-accent)}.btn-secondary{background:var(--separator);color:var(--text);border:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.badge-accent{background:var(--accent);color:var(--on-accent);border-radius:20px;padding:2px 8px;font-size:10px;font-weight:900;text-transform:uppercase}