/* ВВУЗ 1.0.3 — presentation only; legacy DOM/actions and backend preserved. */
:root,:root[data-theme=light]{color-scheme:light;--bg:#f7f5ef;--panel:#fffdf8;--panel2:#efeee5;--text:#20282e;--muted:#596367;--line:#d3d7ca;--primary:#276347;--primary-soft:#dcead6;--green:#276347;--green-soft:#e1ebda;--orange:#805335;--accent:#276347;--accent-soft:#dcead6;--shadow:none;--radius:20px;--sidebar:258px;font-family:'Manrope Variable',sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#171e1a;--panel:#202a23;--panel2:#2c382e;--text:#eff2e9;--muted:#bbc5b7;--line:#435446;--primary:#b9dca1;--primary-soft:#334c36;--green:#b9dca1;--green-soft:#2e4432;--orange:#deb696;--accent:#b9dca1;--accent-soft:#334c36;--shadow:none}
body{font-family:'Manrope Variable',sans-serif;font-size:15px;background:var(--bg);color:var(--text);line-height:1.65}h1,h2,h3{font-family:'Onest Variable','Manrope Variable',sans-serif;letter-spacing:-.04em}h1{font-weight:450;font-size:clamp(30px,3vw,43px);line-height:1.16}h2{font-size:25px;font-weight:500;line-height:1.25}h3{font-size:18px;font-weight:550}.eyebrow,.nav-label{letter-spacing:.12em;font-weight:500}.card{box-shadow:none;border-radius:20px;padding:28px;border-color:var(--line)}.card .card{box-shadow:none}.btn{border-radius:8px;font-size:14px;min-height:46px;padding:12px 20px;font-weight:600;background:var(--primary);color:#fff}.btn:hover{filter:none;background:#1b4c35}.btn.secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.secondary:hover,.btn.ghost:hover{background:var(--panel2)}.btn.ghost{color:var(--muted);border-color:var(--line)}.btn.compact{min-height:39px;padding:8px 14px;font-size:12px}.btn:disabled{transform:none;filter:none;cursor:not-allowed}.btn:focus-visible,.icon-btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}[data-theme=dark] .btn{color:#18251a}[data-theme=dark] .btn:hover{background:#cceaba}[data-theme=dark] .btn.secondary,[data-theme=dark] .btn.ghost{color:var(--text);background:transparent}.icon-btn{border-radius:12px;border-color:var(--line);color:var(--muted)}.badge{font-size:11px;border-radius:7px;font-weight:500}.badge.blue{background:var(--primary-soft);color:var(--green)}.badge.green{background:var(--green-soft);color:var(--green)}
.vvuz-brand img{display:block;width:132px;height:32px;object-fit:contain;filter:brightness(0)}[data-theme=dark] .vvuz-brand img{filter:brightness(0) invert(1)}.vvuz-boot-logo{width:140px;height:35px;object-fit:contain;filter:brightness(0)}[data-theme=dark] .vvuz-boot-logo{filter:brightness(0) invert(1)}.sidebar{background:var(--bg);padding:29px 19px;border-color:var(--line);overflow-y:auto;scrollbar-width:thin}.sidebar .brand{margin-bottom:35px}.nav{gap:5px}.nav a{border-radius:10px;padding:11px 15px;font-size:13px;font-weight:500;color:var(--muted)}.nav a.active{background:var(--primary-soft);color:var(--green);box-shadow:inset 3px 0 var(--green)}.nav a:hover{background:var(--panel2);color:var(--text)}.sidebar-note{background:var(--green-soft);border-radius:15px;color:var(--muted);padding:17px}.sidebar-note strong{color:var(--green)}.main{max-width:1700px;padding-inline:42px}.topbar{height:88px;margin-bottom:35px}.avatar{background:var(--primary-soft);color:var(--green)}.page-head{margin-bottom:30px}.page-head p{font-size:14px;max-width:700px;line-height:1.7}.head-date{font-size:11px}.breadcrumb{font-size:12px}.section-title h2{font-size:23px;font-weight:450}.text-link{color:var(--green)}.foot-note{gap:20px;line-height:1.7}.mobile-nav{background:var(--panel);border-color:var(--line)}
.hero,.journey-hero,.daily-goal{background:var(--green-soft)!important;border-color:transparent;color:var(--text);border-radius:22px}.hero::before,.journey-hero::before{background:none!important}.hero h2,.journey-hero h2,.daily-goal h2{color:var(--text)!important;font-weight:450}.hero p,.journey-hero p,.daily-goal p{color:var(--muted)!important}.hero .eyebrow,.journey-hero .eyebrow{color:var(--green)!important}.hero .btn{background:var(--primary)!important}.hero .badge{background:var(--panel2);color:var(--green)}.math-orbit,.visual-orbit,.orbit-one,.orbit-two,.visual-path,.visual-formula{display:none}.formula-tile{background:var(--panel);box-shadow:none;color:var(--green);border-color:var(--line)}.journey-art{opacity:.75;color:var(--green)}.stats{gap:17px}.stat b{font-family:'Onest Variable',sans-serif;font-weight:500;font-size:29px}.stat p{font-size:12px}.stat-icon{background:var(--green-soft);color:var(--green)}.stat{border-radius:17px}.tip{background:var(--green-soft);color:var(--green)}
.field{font-size:13px;font-weight:550}.field input,.field select,.field textarea,.answer-input{border-radius:10px;border-color:var(--line);background:var(--bg);color:var(--text);min-height:45px}.field input:focus,.field select:focus,.field textarea:focus,.answer-input:focus{border-color:var(--green)}.field small,.small{line-height:1.65}.goal-option,.goal-toggle,.rhythm-day,.confidence-grid button{border-radius:12px}.goal-option:hover,.rhythm-day.selected{background:var(--primary-soft);border-color:var(--green);color:var(--green)}.goal-option.selected,.choice.selected,.theme-choice.selected{background:var(--primary-soft);border-color:var(--green);color:var(--green)}.load-note{border-radius:15px}.plan-result-goal strong{color:var(--green)}.scope-tags span{background:var(--green-soft);color:var(--green);border-radius:7px}.large-week{gap:10px}.rhythm-day{padding:19px 8px}.mini-week>div,.calendar-index{background:var(--panel2);border-radius:10px}.plan-targets{background:var(--green-soft);border-radius:14px}.plan-targets strong{color:var(--green)}.study-week article{border-radius:16px}.study-week h3{font-weight:450}.visible-hearts,.heart-meter{color:var(--green)}.visible-hearts .lost{color:var(--line)}.debt-warning,.debts-panel.has-debts{background:var(--panel);border-color:#bd8b70}.debt-warning h2{color:var(--orange)}.checkpoint-call{background:var(--green-soft);border-color:transparent}.recovery-section{background:var(--panel2);border-radius:15px}
.route-map{background:none;border-radius:24px;border:1px solid var(--line)}.route-message{background:var(--green-soft);border-color:transparent}.route-message h2{font-weight:450;color:var(--green)}.route-level>strong{font-family:'Onest Variable',sans-serif;font-weight:500}.level-circle{box-shadow:none;border-width:1.5px;background:var(--panel);color:var(--text)}.route-level.current .level-circle{border-color:var(--green);animation:none;box-shadow:0 0 0 6px var(--primary-soft)}.route-level.passed .level-circle{color:var(--green);background:var(--green-soft);border-color:var(--green)}.route-path{stroke:var(--line)}.route-level.planned .level-circle{background:var(--panel2);color:var(--muted)}
.module-folder{transition:background .15s,border-color .15s}.module-folder:hover{background:var(--green-soft);border-color:var(--green);transform:none}.folder-icon{background:var(--primary-soft);color:var(--green);border-radius:14px}.module-folder h2{font-size:23px;font-weight:500}.module-folder p{font-size:13px}.work-card{border-radius:16px;background:var(--panel);border-color:var(--line);box-shadow:none}.score-badge{border-radius:9px;font-weight:550}.score-badge.green{background:var(--green-soft);color:var(--green)}.score-badge.neutral{background:var(--panel2);color:var(--muted)}.lesson-row{border-color:var(--line);padding-block:20px}.lesson-number{border-radius:12px;background:var(--panel2)}.lesson-number.done{background:var(--green-soft);color:var(--green)}.lesson-row h3{font-size:15px}.lesson-row p{font-size:12px}.tabs{gap:9px;flex-wrap:wrap}.tabs a{border-radius:8px;padding:9px 14px}.tabs a.active{background:var(--green-soft);color:var(--green)}.task{border-color:var(--line)}.task-prompt{font-size:18px;line-height:1.8}.study-prose{line-height:1.8}.task-figure img{max-width:100%;height:auto}.upload-label{border-color:var(--muted);border-radius:10px}.homework-actions{gap:12px}.progress-track{height:7px;background:var(--panel2)}.progress-fill{background:var(--green)}.progress-ring{border-color:var(--panel2);border-top-color:var(--green)}.history-row{border-color:var(--line)}.ladder-steps span{background:var(--panel2);color:var(--muted);border-color:var(--line)}.ladder-steps .done{background:var(--green-soft);color:var(--green)}
.auth-container{gap:65px;align-items:center}.auth-card{border:1px solid var(--line);background:var(--panel);box-shadow:none}.auth-intro h1{font-size:clamp(36px,4vw,57px);font-weight:400}.auth-intro .hero{background:var(--green-soft)!important}.auth-intro p{color:var(--muted);max-width:430px}.public-header{border-bottom:1px solid var(--line)}.auth-links a{color:var(--green)}.auth-code-input{font-family:'Onest Variable',sans-serif;color:var(--text)}
.tutor-chat{background:var(--panel);border-color:var(--line)}.chat-message{background:var(--panel2);color:var(--text);border-radius:17px;border:1px solid transparent;padding:20px 23px}.chat-message.from-user{background:var(--green-soft);border-color:transparent}.chat-message strong{font-family:'Onest Variable',sans-serif;font-weight:550}.tutor-chat textarea{background:var(--bg)}.chat-new{box-shadow:none}.notice{background:var(--primary-soft);color:var(--green)}
.reward-number{background:var(--primary);font-family:'Onest Variable',sans-serif;font-weight:500;border-radius:14px}.reward-arrow,.reward-summary-icon .icon{color:var(--green)}.reward-step{border-radius:20px}.reward-step h2{font-weight:450;font-size:29px}.reward-balance{font-family:'Onest Variable',sans-serif;font-size:43px;font-weight:450;color:var(--green)}.reward-announcement{background:var(--green-soft);border-color:transparent}.reward-summary{background:var(--panel2)}.reward-preview fieldset{border-color:var(--line);border-radius:14px}.reward-table th{color:var(--muted);font-size:11px;letter-spacing:.04em;font-weight:550}.reward-table td{font-size:13px}.reward-table th,.reward-table td{border-color:var(--line);padding:17px 13px}.reward-table-scroll{border-radius:14px}.referral-admin-link{background:var(--bg);border:1px solid var(--line);padding:10px;border-radius:8px;color:var(--text)}
#analytics-panel{border-radius:20px}.analytics-days button,.analytics-tabs button{border-radius:8px}.admin-import{font-family:ui-monospace,monospace;font-size:13px}.review-photo{border-radius:12px}.alert-output{background:var(--panel2);color:var(--text);border-radius:12px}.empty{padding:44px 25px}.empty h2{font-weight:450}.boot{font-family:'Manrope Variable',sans-serif}.error{background:#f5dfd7;color:#8a382d}[data-theme=dark] .error{background:#4b2d26;color:#ffd0bd}.badge.red{background:#f5dfd7;color:#8a382d}#toast{background:var(--text);color:var(--bg);border-radius:12px;box-shadow:none}table{max-width:100%}button{touch-action:manipulation}
@media(min-width:1700px){.main{padding-inline:65px}}@media(max-width:1150px){.main{padding-inline:28px}.auth-container{gap:35px}.sidebar{padding-inline:17px}}
@media(max-width:700px){.main{margin-left:0;padding-inline:24px}.sidebar{background:var(--bg);box-shadow:none}.menu-button{display:grid}.topbar{height:76px}.card{padding:24px}.auth-container{gap:28px}.reward-step h2{font-size:25px}}
@media(max-width:600px){body{font-size:14px}.main{padding:0 18px 90px}.topbar{height:71px;margin-bottom:24px}.page-head h1{font-size:30px}.page-head p{font-size:13px}.head-date{display:none}.card{padding:22px;border-radius:17px}.stats{gap:10px}.stat{padding:16px 13px}.stat b{font-size:25px}.stat p{font-size:10px}.section-title{gap:15px}.section-title h2{font-size:22px}.hero,.journey-hero{padding:25px!important}.hero-copy{max-width:100%}.hero h2,.journey-hero h2{font-size:28px}.auth-intro h1{font-size:36px}.auth-container{padding-inline:20px;gap:24px}.auth-card{padding:24px 22px}.auth-links{gap:12px;flex-wrap:wrap}.mobile-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}.reward-step h2{font-size:25px}.reward-copy{gap:10px}.reward-number{height:42px;width:42px;font-size:21px}.reward-table th,.reward-table td{padding:13px 10px}.chat-message{padding:17px 18px}.work-card{gap:15px}.foot-note{flex-wrap:wrap}.large-week{gap:7px}.rhythm-day{padding:14px 5px}.rhythm-day strong{font-size:19px}.lesson-row h3{font-size:14px}.btn{min-height:44px}.vvuz-brand img{width:120px;height:29px}.page-head{gap:15px}.route-layout{gap:22px}.route-map{border-radius:18px}.topic-grid,.confidence-grid{gap:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

:root{--ink:var(--text);--soft:var(--primary-soft)}
.plan-preview,.planner-summary{background:var(--panel)}
