:root{--tg-theme-bg-color: #e3f2fd;--tg-theme-text-color: #0d1b2a;--tg-theme-hint-color: #6b7b8d;--tg-theme-link-color: #1565c0;--tg-theme-button-color: #1565c0;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #bbdefb;--snow-white: #ffffff;--ice-light: #e3f2fd;--ice-medium: #90caf9;--ice-dark: #1565c0;--frost-accent: #4fc3f7;--winter-night: #0d1b2a}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column;align-items:center}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}button{cursor:pointer;border:none;outline:none;background:none}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--ice-medium),var(--frost-accent));outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--ice-dark);border:3px solid var(--snow-white);box-shadow:0 2px 6px #0003;cursor:pointer}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--ice-dark);border:3px solid var(--snow-white);box-shadow:0 2px 6px #0003;cursor:pointer}.app{width:100%;max-width:480px;min-height:100vh;margin:0 auto;padding:16px;position:relative;overflow:hidden}.snowflakes-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.snowflake{position:absolute;top:-30px;color:#fffc;animation:snowfall linear infinite;text-shadow:0 0 4px rgba(144,202,249,.6);filter:blur(.5px)}@keyframes snowfall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.form-container{position:relative;z-index:1;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:28px 20px;box-shadow:0 8px 32px #1565c01f,0 2px 8px #0000000f;border:1px solid rgba(144,202,249,.3)}.app-title{text-align:center;font-size:28px;font-weight:800;color:var(--ice-dark);margin-bottom:4px;line-height:1.2;white-space:pre-line}.app-subtitle{text-align:center;font-size:15px;color:var(--tg-theme-hint-color);margin-bottom:24px}.input-group{margin-bottom:20px}.input-group label{display:block;font-size:14px;font-weight:600;color:var(--winter-night);margin-bottom:8px}.input-group label strong{color:var(--ice-dark)}.text-input{width:100%;padding:12px 16px;border:2px solid var(--ice-medium);border-radius:12px;background:var(--snow-white);font-size:16px;color:var(--winter-night);transition:border-color .2s,box-shadow .2s;outline:none}.text-input:focus{border-color:var(--ice-dark);box-shadow:0 0 0 3px #1565c026}.text-input::placeholder{color:#aab}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--tg-theme-hint-color);margin-top:4px}.toggle-group{margin-bottom:18px}.toggle-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:var(--winter-night)}.toggle-btn{position:relative;width:52px;height:30px;border-radius:15px;background:#ccc;transition:background .3s;flex-shrink:0;padding:0}.toggle-btn.active{background:var(--ice-dark)}.toggle-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--snow-white);box-shadow:0 1px 3px #0003;transition:transform .3s}.toggle-btn.active .toggle-knob{transform:translate(22px)}.school-toggle{display:flex;gap:0;border-radius:10px;overflow:hidden;border:2px solid var(--ice-medium)}.school-btn{padding:6px 16px;font-size:13px;font-weight:600;background:var(--snow-white);color:var(--tg-theme-hint-color);transition:all .2s}.school-btn.active{background:var(--ice-dark);color:var(--snow-white)}.btn{display:block;width:100%;padding:16px;border-radius:14px;font-size:18px;font-weight:700;text-align:center;transition:transform .15s,box-shadow .15s,opacity .15s}.btn:active{transform:scale(.97)}.btn-predict{background:linear-gradient(135deg,#1565c0,#42a5f5);color:var(--snow-white);box-shadow:0 4px 16px #1565c059;margin-top:8px}.btn-predict:disabled{opacity:.5;cursor:not-allowed}.btn-predict:not(:disabled):active{box-shadow:0 2px 8px #1565c040}.btn-share{background:linear-gradient(135deg,#1565c0,#0d47a1);color:var(--snow-white);box-shadow:0 4px 16px #1565c04d;margin-bottom:12px}.btn-again{background:#1565c01a;color:var(--ice-dark);border:2px solid var(--ice-medium)}.btn-premium{background:linear-gradient(135deg,#f9a825,#ff8f00);color:var(--snow-white);box-shadow:0 4px 16px #f9a82559;margin:12px 0 8px}.premium-link{display:inline;background:none;color:var(--ice-dark);font-size:13px;font-weight:600;text-decoration:underline;margin-left:8px;padding:0}.remaining-text{text-align:center;font-size:13px;color:var(--tg-theme-hint-color);margin-top:12px}.limit-reached{text-align:center;padding:16px;background:#f9a82514;border-radius:14px;border:1px solid rgba(249,168,37,.2);margin-top:8px}.limit-reached p{font-size:14px;color:var(--winter-night);font-weight:600}.premium-desc{font-size:12px;color:var(--tg-theme-hint-color);font-weight:400!important}.calculating-phase{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh}.calculating-snowflakes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.calc-flake{position:absolute;top:-40px;color:#ffffffe6;animation:calcSnowfall linear infinite;text-shadow:0 0 8px rgba(79,195,247,.8)}@keyframes calcSnowfall{0%{transform:translateY(-40px) rotate(0) scale(.5);opacity:0}15%{opacity:1;transform:translateY(5vh) rotate(45deg) scale(1)}85%{opacity:.8}to{transform:translateY(100vh) rotate(720deg) scale(.3);opacity:0}}.calculating-text{position:relative;z-index:1;text-align:center;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;padding:40px 32px;box-shadow:0 8px 32px #1565c026}.big-snowflake{font-size:64px;animation:spinSnowflake 2s linear infinite;margin-bottom:16px}@keyframes spinSnowflake{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}.calculating-text p{font-size:18px;font-weight:700;color:var(--ice-dark);margin-bottom:16px}.loading-dots{display:flex;justify-content:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:var(--ice-dark);animation:dotBounce 1.4s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.result-container{position:relative;z-index:1;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:32px 20px;box-shadow:0 8px 32px #1565c01f,0 2px 8px #0000000f;border:1px solid rgba(144,202,249,.3);text-align:center;animation:resultSlideIn .5s ease-out}@keyframes resultSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.result-title{font-size:20px;font-weight:800;color:var(--ice-dark);margin-bottom:20px}.probability-display{font-weight:900;line-height:1;margin-bottom:12px;animation:probabilityPop .6s ease-out}@keyframes probabilityPop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.probability-number{font-size:96px;letter-spacing:-4px}.probability-percent{font-size:48px;vertical-align:super}.verdict-badge{display:inline-block;padding:8px 24px;border-radius:20px;font-size:18px;font-weight:800;color:var(--snow-white);margin-bottom:16px;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 12px #00000026}.result-message{font-size:16px;color:var(--winter-night);line-height:1.6;margin-bottom:24px;padding:0 8px;font-style:italic}.factors-list{text-align:left;background:#e3f2fd99;border-radius:14px;padding:16px;margin-bottom:24px}.factors-list h3{font-size:14px;font-weight:700;color:var(--ice-dark);margin-bottom:10px}.factors-list ul{list-style:none;padding:0}.factors-list li{font-size:13px;color:var(--winter-night);padding:4px 0;line-height:1.5}.result-actions{display:flex;flex-direction:column;gap:0}
