/* Тема «Бумажный коллаж»: голубая бумага + крафт + золото.
   Прежняя ночная тема сохранена в theme-night.css. */
:root{
  --ink:#2c3a4d;
  --muted:#5b6b7d;
  --paper:#f7f0e1;
  --kraft:#e8d9bd;
  --gold:#c8963e;
  --goldfill:#f2c46b;
  --gold2:#dfa843;
  --blue:#4a90d9;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.05'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;overflow-x:hidden}
body{
  font-family:'Nunito',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background-color:#c9dcec;
  background-image:var(--grain),linear-gradient(180deg,#d4e4f2 0%,#c9dcec 60%,#bfd4e6 100%);
  background-attachment:fixed;
  min-height:100vh;
}
.wrap{max-width:900px;margin:0 auto;padding:8px 22px 40px}
.brand{
  display:flex;align-items:center;justify-content:center;padding:20px 0 26px;
  background-color:var(--kraft);background-image:var(--grain);
  clip-path:polygon(0 0,100% 0,100% 78%,94% 96%,88% 80%,81% 98%,73% 82%,66% 100%,58% 84%,50% 97%,42% 81%,34% 99%,26% 83%,18% 96%,10% 80%,4% 95%,0 82%);
  margin-bottom:18px;
}
.brand .t{font-family:'Cormorant',serif;font-weight:700;font-size:30px;letter-spacing:2px;color:#4a3418}
h1,h2,.title{font-family:'Cormorant',serif;font-weight:700}
.title{font-size:26px;color:#33415c}
.label{color:var(--muted);font-size:14px;margin:0 0 8px}
.panel{
  position:relative;
  background-color:var(--paper);background-image:var(--grain);
  border:1px solid rgba(122,98,60,0.28);
  border-radius:6px;
  padding:26px 24px 24px;
  transform:rotate(-0.35deg);
  box-shadow:0 12px 26px rgba(60,50,30,0.16);
}
.panel::before{
  content:'';position:absolute;top:-11px;left:50%;width:110px;height:24px;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(236,228,206,0.85);
  border-left:1px dashed rgba(122,98,60,0.35);border-right:1px dashed rgba(122,98,60,0.35);
  box-shadow:0 2px 5px rgba(60,50,30,0.12);
}
.row{margin-bottom:16px}
.grid2{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:start}
.herobox{background:#fffdf6;border:1px solid rgba(122,98,60,0.3);border-radius:6px;padding:10px;transform:rotate(0.4deg)}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.btn{
  font-family:'Nunito';font-weight:800;font-size:16px;color:#3a2607;
  background:linear-gradient(180deg,var(--goldfill),var(--gold2));
  border:none;border-radius:999px;padding:13px 24px;cursor:pointer;
  outline:2px dashed rgba(58,38,7,0.4);outline-offset:-6px;
  box-shadow:0 6px 16px rgba(150,110,40,0.3);transition:filter .15s,transform .25s cubic-bezier(.2,.9,.3,1.4);
}
.btn:hover{filter:brightness(1.05);transform:translateY(-2px) scale(1.03)}
.btn:active{transform:scale(0.97)}
.badge{transition:transform .5s cubic-bezier(.2,.9,.3,1.3)}
.badge:hover{transform:rotate(2deg) translateY(3px)}
.badge-btn{font-size:13px;padding:8px 12px;width:100%;margin-top:4px;box-shadow:0 3px 8px rgba(150,110,40,0.25)}
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:99;opacity:0.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-page{max-width:1120px}
.hp-grid{display:grid;grid-template-columns:290px 1fr 250px;gap:18px;align-items:start}
.hp-left{
  background-color:#f7dce6;background-image:var(--grain);
  border-radius:20px;padding:16px;box-shadow:0 10px 24px rgba(150,90,110,0.18);
}
.hp-hero{max-width:190px;margin:0 auto 8px;background:rgba(255,255,255,0.45);border-radius:16px;padding:8px}
.hero-illus{display:block;width:100%;height:auto}
.hero-portrait{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;background:#fff}
.badge-hero{width:98px}
.badge-hero .hero-portrait{box-shadow:0 2px 7px rgba(60,50,40,0.22);border:2px solid #fff}
.tb-hero{overflow:hidden}
.tb-hero .hero-portrait{border-radius:50%}
.hero-illus.mini{width:100%}
.look-mini .hero-illus{max-height:130px;width:auto;margin:0 auto}
.hp-mid{
  background-color:#d7e7f4;background-image:var(--grain);
  border-radius:20px;padding:16px;box-shadow:0 10px 24px rgba(80,110,150,0.18);
}
.hp-caption{font-family:'Caveat',cursive;font-size:26px;color:#3f5b7a;margin:0 0 10px;text-align:center}
.hp-caption.small{font-size:20px;margin:14px 0 6px}
.looks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.look-card{
  background:rgba(255,255,255,0.72);border:2px solid transparent;border-radius:14px;
  padding:8px 6px 6px;cursor:pointer;text-align:center;
  transition:transform .25s cubic-bezier(.2,.9,.3,1.4), border-color .2s;
}
.look-card:hover{transform:translateY(-3px)}
.look-card.active{border-color:#e0538a;background:#fff}
.hero-page.male .look-card.active{border-color:#4d5aad}
.look-card.locked{position:relative}
.look-card.locked .look-mini{filter:grayscale(.55) brightness(.97)}
.look-card.locked::before{content:'🔒';position:absolute;top:6px;right:8px;font-size:15px;z-index:2}
.look-price{font-family:'Montserrat',sans-serif;font-weight:800;font-size:12px;color:#c98a1a;background:#fff6df;border-radius:10px;padding:1px 9px;display:inline-block;margin-top:3px}
.look-mini{max-width:78px;margin:0 auto}
.look-label{font-family:'Caveat',cursive;font-size:16px;color:#7a4a5a;line-height:1.15;margin-top:4px}
.hp-right{display:flex;flex-direction:column;gap:14px}
.locker{
  background:linear-gradient(165deg,#e8639a,#d64580);
  border-radius:18px;padding:14px;position:relative;
  box-shadow:0 12px 26px rgba(180,60,110,0.35), inset 0 2px 0 rgba(255,255,255,0.25);
}
.locker::after{
  content:'';position:absolute;right:12px;top:14px;width:34px;height:12px;
  background:repeating-linear-gradient(180deg,rgba(120,20,60,0.5) 0 2px,transparent 2px 5px);
  border-radius:2px;
}
.locker-shelf{
  background:rgba(120,20,60,0.32);border-radius:12px;padding:12px 10px;margin-bottom:10px;
  box-shadow:inset 0 3px 8px rgba(60,0,30,0.3);
}
.locker-shelf:last-child{margin-bottom:0}
.locker-label{color:#ffe3ef;font-weight:700;font-size:14px;text-align:center;margin-bottom:8px}
.locker-paper{
  background-color:#fffdf6;background-image:var(--grain);
  color:#a04a35;font-family:'Caveat',cursive;font-size:24px;text-align:center;
  border-radius:8px;padding:6px 10px;transform:rotate(-2deg);
  box-shadow:0 4px 8px rgba(60,0,30,0.25);
}
.hp-bubble{
  background:#fff;border:1px solid rgba(120,120,125,0.35);border-radius:16px;
  padding:10px 14px;font-family:'Caveat',cursive;font-size:21px;color:#2c3550;
  text-align:center;box-shadow:0 6px 14px rgba(50,50,60,0.15);position:relative;
}
.hp-bubble::before{
  content:'';position:absolute;left:26px;top:-8px;width:12px;height:12px;
  background:#fff;border:1px solid rgba(120,120,125,0.35);border-radius:50%;
}
@media(max-width:900px){.hp-grid{grid-template-columns:1fr 1fr}.hp-right{grid-column:1/-1}}
@media(max-width:640px){.hp-grid{grid-template-columns:1fr}}
.map-wrap{max-width:780px}
.map-title{text-align:center;font-family:'Cormorant',serif;font-weight:700;font-size:38px;letter-spacing:4px;margin:6px 0 2px}
.trail{position:relative;padding:6px 0 30px}
.trail-road{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:0;pointer-events:none}
.trail-goal.bottom{margin:6px 0 0}
.st-card{position:relative;z-index:2}
.trail-goal{position:relative;z-index:2}
.trail-goal{text-align:center;position:relative;z-index:2;margin-bottom:6px}
.goal-msu{display:block;width:100%;max-width:200px;margin:0 auto}
.goal-label{font-family:'Cormorant',serif;font-weight:700;font-size:22px;color:#a04a35;letter-spacing:2px;margin-top:2px}
.station{position:relative;min-height:100px;display:flex;align-items:center}
.st-node{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant',serif;font-size:22px;font-weight:700;
  background:#fffdf6;border:3px solid #c98f7f;color:#a04a35;box-shadow:0 4px 10px rgba(120,70,60,0.22);
}
.station.done .st-node{background:linear-gradient(180deg,var(--goldfill),var(--gold2));border-color:var(--gold2);color:#3a2607}
.station.locked .st-node{background:#e7e0ea;border-color:#cfc6d6;color:#9a92a6}
.station.open .st-node{border-color:#e0538a;color:#c23a6a;animation:nodePulse 2s ease-in-out infinite}
@keyframes nodePulse{0%{box-shadow:0 0 0 0 rgba(224,83,138,0.35)}70%,100%{box-shadow:0 0 0 12px rgba(224,83,138,0)}}
.st-card{
  width:41%;background-color:#fffdf6;
  border:1px solid rgba(160,120,100,0.28);border-radius:14px;padding:12px 14px;
  box-shadow:0 6px 16px rgba(120,90,70,0.14);
}
.station.left .st-card{margin-right:59%}
.station.right .st-card{margin-left:59%}
.station.locked .st-card{opacity:0.62}
.st-title{font-weight:700;font-size:15px;color:#3a2f28}
.st-sub{font-size:13px;color:#8a7a6a;margin:2px 0 8px}
.st-tag{font-size:13px;color:#8a7a6a}
.st-tag.done{color:#3b8a5a}
.st-go{padding:8px 14px;font-size:14px}
@media(max-width:600px){
  .trail::before{left:36px}
  .st-node{left:36px}
  .station.left .st-card,.station.right .st-card{margin:0 0 0 78px;width:auto}
  .map-title{font-size:30px}
}
@media (prefers-reduced-motion: reduce){
  .anim-title,.anim-zoom,.anim-late,.thought,.dream-path .draw,.path-star,.tower-svg,.w{
    animation-duration:0.01s !important;animation-delay:0s !important;
  }
}
.btn.secondary{background:transparent;color:#6b5327;outline:none;border:2px dashed rgba(122,92,34,0.55);box-shadow:none}
.field{width:100%;padding:12px 14px;border-radius:6px;border:1px dashed rgba(122,98,60,0.55);background:#fffdf6;color:var(--ink);font-size:16px;font-family:'Nunito'}
.field::placeholder{color:rgba(91,107,125,0.6)}
.swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(60,50,30,0.2);cursor:pointer;padding:0}
.swatch.active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,150,62,0.35)}
.stbtn{padding:9px 15px;border-radius:999px;border:1px dashed rgba(122,98,60,0.5);background:#fffdf6;color:var(--ink);cursor:pointer;font-weight:700;font-family:'Nunito';font-size:14px}
.stbtn.active{background:var(--blue);border-color:var(--blue);color:#fff}
.topbar{display:flex;align-items:center;gap:14px;max-width:900px;margin:0 auto;padding:6px 22px 0}
.tb-hero{width:46px;flex:0 0 46px;background:#fffdf6;border:1px solid rgba(122,98,60,0.3);border-radius:6px;padding:2px;overflow:hidden;transform:rotate(-1deg)}
.tb-info{flex:1}
.tb-name{font-family:'Cormorant',serif;font-weight:700;color:#4a3418;font-size:19px}
.tb-xp{color:#7a6a4a;font-size:13px}
.tb-xp .star{color:var(--gold)}
.tb-btn{padding:9px 14px;font-size:14px}
.tower{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.floor{
  position:relative;display:flex;align-items:center;gap:16px;
  background-color:#f9f2e2;background-image:var(--grain);
  border:1px solid rgba(122,98,60,0.3);border-radius:6px;padding:14px 18px;
  box-shadow:0 8px 18px rgba(60,50,30,0.12);
}
.floor:nth-child(odd){transform:rotate(0.35deg)}
.floor:nth-child(even){transform:rotate(-0.3deg)}
.floor::before{
  content:'';position:absolute;top:-7px;left:26px;width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#ffe09a,#c8963e 70%);
  box-shadow:0 2px 4px rgba(60,50,30,0.35);
}
.floor.locked{opacity:0.55;background-color:#efe6d2}
.floor.done::after{
  content:'✦';position:absolute;top:-13px;right:16px;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;font-size:20px;
  color:#b07f24;background:#fff7e0;border:1px solid rgba(200,150,62,0.55);
  border-radius:50%;transform:rotate(8deg);box-shadow:0 3px 7px rgba(60,50,30,0.2);
}
.floor-num{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant',serif;font-weight:700;font-size:19px;background:#efe2c6;color:#7a5c22;border:1px solid rgba(122,92,34,0.45)}
.floor-mid{flex:1}
.floor-title{font-weight:800;font-size:16px;color:#33415c}
.floor-sub{font-family:'Caveat',cursive;font-size:17px;color:#7a6a4a}
.floor-tag{font-family:'Caveat',cursive;font-size:18px;color:#7a6a4a}
.floor-tag.done{color:#3e7d4e}
.floor-go{padding:9px 18px}
.door{background-color:#efe2c6;background-image:var(--grain);border:1px dashed rgba(122,92,34,0.55);border-radius:6px;padding:14px;margin:10px 0 16px}
.door-title{font-weight:800;margin-bottom:10px;color:#4a3418}
.locks{display:flex;gap:14px;margin-bottom:8px}
.lockcell{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.lockicon{font-size:24px}
.runebox{width:34px;height:34px;border-radius:6px;border:1px solid rgba(122,98,60,0.4);display:flex;align-items:center;justify-content:center;font-family:'Cormorant',serif;font-weight:700;font-size:18px;color:#9aa7b5;background:#fffdf6}
.runebox.lit{color:#b07f24;border-color:var(--gold);background:#fff7e0}
.pcard{position:relative;background-color:#fffdf6;background-image:var(--grain);border:1px solid rgba(122,98,60,0.3);border-radius:6px;padding:14px 16px;margin-bottom:14px;box-shadow:0 6px 14px rgba(60,50,30,0.1)}
.pcard:nth-child(odd){transform:rotate(0.25deg)}
.pcard:nth-child(even){transform:rotate(-0.25deg)}
.ptopic{font-family:'Caveat',cursive;font-size:19px;color:var(--blue);margin-bottom:6px}
.pq{font-size:16px;margin-bottom:8px;color:var(--ink)}
.opt{display:block;width:100%;text-align:left;margin:7px 0;padding:11px 14px;border-radius:6px;border:1px solid rgba(90,80,60,0.3);background:#fdf8ec;color:var(--ink);cursor:pointer;font-size:15px;font-family:'Nunito'}
.opt:hover{background:#f4ecd9}
.opt.correct{background:#e4f2df;border-color:#7fb98a;color:#2f6d3d}
.opt.wrong{background:#f9e3de;border-color:#c98d7a;color:#8f3b2c}
.fb{font-size:14px;margin-top:8px}
.fb.ok{color:#2f6d3d}
.fb.no{color:#a04a35}
.towerwrap{display:flex;align-items:flex-end;justify-content:center;gap:26px;flex-wrap:wrap;position:relative;margin:4px 0 16px}
.rf{fill:#a8b6c4;stroke:rgba(90,100,115,0.55);stroke-width:1}
.dr{fill:#8a6a44;stroke:rgba(90,70,40,0.5);stroke-width:0.8}
.bush{fill:#9dbb8a}
.cl{fill:rgba(255,255,255,0.9)}
.badge{
  position:relative;width:150px;flex:0 0 150px;
  background:linear-gradient(160deg,#ffffff 0%,#f4f1e9 70%,#eceadf 100%);
  border:1px solid rgba(120,120,125,0.4);border-radius:10px;
  padding:24px 10px 12px;transform:rotate(5deg);
  box-shadow:0 12px 22px rgba(50,50,60,0.28), 0 2px 5px rgba(50,50,60,0.18);
  margin-bottom:8px;
}
.badge::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,0.6) 0%,rgba(255,255,255,0) 34%);
}
.badge-strap{
  position:absolute;top:-56px;left:50%;transform:translateX(-50%);
  width:24px;height:50px;background:#3f6fc4;
  background-image:repeating-linear-gradient(180deg,rgba(255,255,255,0.12) 0 3px,rgba(0,0,0,0.08) 3px 6px);
  border-radius:3px;box-shadow:0 2px 5px rgba(40,60,90,0.3);
}
.badge-clip{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  width:40px;height:24px;border-radius:6px;
  background:linear-gradient(180deg,#dfe3e8,#aab2bc);
  border:1px solid #8a929c;box-shadow:0 2px 4px rgba(40,50,60,0.35);
}
.badge-clip::after{
  content:'';position:absolute;left:50%;top:10px;transform:translateX(-50%);
  width:22px;height:5px;background:#f7f5ee;border-radius:3px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.25);
}
.badge-uni{
  font-family:'Cormorant',serif;font-weight:700;font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:#3f6fc4;
  text-align:center;margin-bottom:3px;
}
.badge-title{
  font-family:'Cormorant',serif;font-weight:700;font-size:13px;
  letter-spacing:1.5px;text-transform:uppercase;color:#a04a35;
  text-align:center;line-height:1.25;margin-bottom:6px;
}
.badge-hero{width:64px;margin:0 auto}
.badge-name{font-family:'Caveat',cursive;font-size:21px;color:var(--ink);text-align:center;margin-top:2px}
.teacher-img{
  position:absolute;bottom:-4px;left:6%;height:215px;z-index:2;
  transform:rotate(-2deg);
  filter:drop-shadow(0 10px 12px rgba(60,50,30,0.3));
}
.home-head{text-align:center;padding-top:14px}
.home-tag{max-width:520px;margin:0 auto 14px;font-size:15px;line-height:1.55;color:var(--muted)}
.home-menu{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.home-title{
  font-family:'Cormorant',serif;font-weight:700;
  font-size:clamp(42px, 6.5vw, 72px);
  letter-spacing:9px;margin:4px 0 10px;line-height:1.05;text-align:center;
}
.home-wrap.intro .anim-title{animation:titleUp 2.8s cubic-bezier(.3,.7,.3,1) both}
@keyframes titleUp{from{transform:translateY(36vh) scale(1.2)}to{transform:none}}
.home-wrap.intro .anim-late{opacity:0;animation:fadeIn 1.1s ease 2.6s forwards}
@keyframes fadeIn{to{opacity:1}}
.home-wrap.intro .anim-zoom{animation:zoomOut 3.2s cubic-bezier(.3,.7,.3,1) both;transform-origin:50% 100%}
@keyframes zoomOut{from{transform:scale(2.35)}to{transform:none}}
.home-badge-row{width:100%;max-width:1060px;margin:0 auto;display:flex;justify-content:flex-end;padding:48px 3% 0 0;position:relative;z-index:3}
.path-zone{
  position:absolute;left:0;right:0;top:64px;
  bottom:calc(min(40vh, min(1060px, 100vw - 44px)/1.9) - 22px);
  pointer-events:none;z-index:1;
}
.dream-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dream-path .dots{
  fill:none;stroke:#a04a35;stroke-width:5.5;stroke-linecap:round;
  stroke-dasharray:0.2 13;vector-effect:non-scaling-stroke;opacity:0.85;
}
.dream-path .draw{
  fill:none;stroke:#fff;stroke-width:22;
  stroke-dasharray:100;stroke-dashoffset:0;
}
.home-wrap.intro .dream-path .draw{stroke-dashoffset:100;animation:drawPath 2.8s ease-in-out 3.9s forwards}
@keyframes drawPath{to{stroke-dashoffset:0}}
.path-star{
  font-size:32px;fill:#e0a94a;opacity:1;
}
.home-wrap.intro .path-star{opacity:0;animation:starPop .6s cubic-bezier(.3,1.6,.5,1) 6.6s forwards}
@keyframes starPop{from{opacity:0;transform:scale(0.3);transform-origin:300px 252px}to{opacity:1;transform:scale(1)}}
.thought{
  position:absolute;left:26%;top:-3%;z-index:3;opacity:1;
  background:#ffffff;border:1px solid rgba(120,120,125,0.35);border-radius:18px;
  padding:9px 16px;font-family:'Caveat',cursive;font-size:22px;color:#2c3550;
  box-shadow:0 8px 18px rgba(50,50,60,0.18);
}
.home-wrap.intro .thought{opacity:0;animation:fadeIn 1.2s ease 3.6s forwards, floaty 3.5s ease-in-out 4.8s infinite alternate}
.thought::before{
  content:'';position:absolute;left:-11px;bottom:-9px;width:13px;height:13px;
  background:#fff;border:1px solid rgba(120,120,125,0.35);border-radius:50%;
}
.thought::after{
  content:'';position:absolute;left:-24px;bottom:-20px;width:8px;height:8px;
  background:#fff;border:1px solid rgba(120,120,125,0.35);border-radius:50%;
}
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-7px)}}
.attr-in{position:absolute;right:8px;bottom:6px;margin:0}
.home-wrap{padding-bottom:0;display:flex;flex-direction:column;min-height:100vh;position:relative}
.home-head{position:relative;z-index:4}
.msu-stage{position:relative;margin:auto auto 0;width:100%;max-width:1060px}
.msu-img{
  display:block;width:100%;border-radius:16px;
  filter:saturate(0.88) sepia(0.07);
  box-shadow:0 18px 40px rgba(50,50,60,0.25);
}
.msu-img.cut{
  border-radius:0;box-shadow:none;filter:saturate(0.92);
  width:100%;height:40vh;object-fit:contain;object-position:bottom center;
}
.home-teacher{
  position:absolute;left:3%;bottom:0;height:52vh;z-index:3;
  transform:rotate(-1.5deg);
  filter:drop-shadow(0 12px 26px rgba(38,16,64,0.45));
}
.home-badge-row{width:100%;max-width:780px;margin:0 auto;display:flex;justify-content:flex-end;padding:56px 3% 10px 0}
.attr{font-size:11px;color:var(--muted);text-align:right;max-width:780px;margin:0 auto 4px;opacity:0.75}
@media(max-width:640px){
  .home-teacher{height:32vh;left:2%}
  .msu-img.cut{height:38vh}
  .home-badge-row{padding:44px 2px 0 0;margin-bottom:0}
  .path-zone{top:150px}
  .home-badge-row .badge{transform:rotate(5deg) scale(0.85)}
  .thought{font-size:17px;left:30%;top:-6%}
}
@media(max-width:640px){.teacher-img{height:150px;left:0}}
.tower-svg{animation:towerRise .9s ease-out both;filter:drop-shadow(0 8px 12px rgba(60,50,30,0.22))}
@keyframes towerRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.bld{fill:#e8d9bd;stroke:rgba(110,85,50,0.6);stroke-width:1}
.bld.c{fill:#efe2c6}
.w{fill:#b9cede;stroke:rgba(80,70,50,0.3);stroke-width:0.6}
.w.on{fill:var(--goldfill)}
.w.amb{fill:rgba(242,196,107,0.5)}
.w.next{animation:windowPulse 2.2s ease-in-out infinite alternate}
@keyframes windowPulse{from{fill:#b9cede}to{fill:rgba(242,196,107,0.85)}}
.w.new{animation:windowFlicker 1.6s steps(1,end) forwards}
@keyframes windowFlicker{0%{fill:#b9cede}25%{fill:#f2c46b}40%{fill:#b9cede}55%{fill:#f2c46b}70%{fill:#b9cede}80%{fill:#f2c46b}100%{fill:#f2c46b}}
.escape{text-align:center;padding:6px 0}
.stars{color:var(--gold);font-size:22px;letter-spacing:4px}
.etitle{font-family:'Cormorant',serif;font-weight:700;font-size:22px;color:#4a3418;margin:4px 0}

/* Карта-кампус ЕГЭ */
.campus-wrap{max-width:1900px}
.campus{position:relative;margin:0 auto;line-height:0}
.campus-bg{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 20px rgba(60,47,40,.28))}
.cpoint{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:0;cursor:pointer;line-height:1;z-index:2}
.cdot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;background:#fff;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.28);transition:transform .15s}
.cpoint:hover .cdot{transform:scale(1.14)}
.clabel{font-family:'Caveat',cursive;font-size:16px;font-weight:700;color:#3a2f28;background:rgba(255,255,255,.86);padding:0 8px;border-radius:9px;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.cpoint.done .cdot{background:linear-gradient(180deg,#ffe08a,#e8b84a);color:#5a3d0a}
.cpoint.open .cdot{background:linear-gradient(180deg,#ff9ec4,#e0538a);color:#fff;animation:cpulse 1.8s ease-in-out infinite}
.cpoint.soon .cdot{background:#eef0f2;color:#9aa0a8}
.cpoint.special .cdot{background:linear-gradient(180deg,#8fd0ff,#4a9fe0);color:#fff}
@keyframes cpulse{0%,100%{box-shadow:0 3px 8px rgba(224,83,138,.5)}50%{box-shadow:0 3px 18px rgba(224,83,138,.95)}}
/* Туман войны на карте ЕГЭ: слой над фоном, под кнопками; клики проходят сквозь */
.campus-fog{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
@keyframes cpPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.cpoint.cp-new{animation:cpPop .5s ease-out .55s both}
/* Экран-коридор кабинетов (двери по номерам заданий) */
.doors-wrap{max-width:1000px}
.doors-panel{padding:4px 4px 14px}
.doors-title{font-family:'Cormorant',serif;font-weight:700;color:#a04a35;text-align:center;font-size:28px;margin:2px 0}
.doors-sub{text-align:center;color:#8a6d52;font-weight:700;font-size:14px;margin:0 0 18px}
.doors-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.door-card{width:130px;background:none;border:none;padding:0;cursor:pointer;transition:transform .15s}
.door-card:hover{transform:translateY(-5px)}
.door-art{position:relative;line-height:0}
.door-art svg,.door-img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 12px rgba(80,50,20,.22))}
.door-img{border-radius:8px}
.door-num{position:absolute;top:11%;left:50%;transform:translateX(-50%);min-width:26px;text-align:center;padding:2px 9px;background:#f6eeda;border:2.5px solid #cc9a3e;border-radius:9px;font-family:'Cormorant',serif;font-weight:700;font-size:20px;color:#7a4f2c;line-height:1.15;box-shadow:0 2px 6px rgba(80,50,20,.28)}
.door-cap{font-family:'Caveat',cursive;font-weight:700;font-size:21px;color:#5a3d28;margin-top:6px}
.door-st{font-size:12px;font-weight:700;margin-top:1px}
.door-st.open{color:#1e9e6a}.door-st.done{color:#c8963e}
@media(max-width:600px){.door-card{width:100px}.door-cap{font-size:18px}}
/* Экран кабинета: теория (страницы конспекта) инлайн */
.cab-wrap{max-width:900px}
.cab-bar{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.cab-title{font-family:'Cormorant',serif;font-weight:700;color:#a04a35;text-align:center;font-size:24px;margin:2px 0 14px}
.cab-pages{display:flex;flex-direction:column;gap:18px;align-items:center}
.cab-page{width:100%;max-width:820px;height:auto;border-radius:12px;box-shadow:0 8px 24px rgba(60,47,40,.18);display:block}
.cab-foot{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:12px}
.cab-soon{font-family:'Caveat',cursive;font-weight:700;font-size:19px;color:#8a6d52}
/* Библиотека: полка блокнотов */
.lib-wrap{max-width:1000px}
.lib-title{font-family:'Cormorant',serif;font-weight:700;color:#a04a35;text-align:center;font-size:28px;margin:4px 0 2px}
.lib-sub{text-align:center;color:#8a6d52;font-weight:700;font-size:14px;margin-bottom:22px}
.nb-shelf{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;align-items:flex-end}
.nb-card{background:none;border:none;padding:0;cursor:pointer;transition:transform .15s;width:210px}
.nb-card:hover{transform:translateY(-6px)}
.nb-wrap{position:relative;line-height:0}
.nb-img{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 18px rgba(60,47,40,.28))}
.nb-label{position:absolute;transform:translate(-50%,-50%);font-family:'Montserrat',sans-serif;font-weight:800;font-size:10px;color:#6b4a2a;text-align:center;line-height:1.12;width:38%;letter-spacing:.1px}
.nb-cap{font-family:'Caveat',cursive;font-weight:700;font-size:19px;color:#5a3d28;text-align:center;margin-top:8px}
@media(max-width:600px){.nb-card{width:150px}}
/* Список тем блока библиотеки */
.lt-grid{display:flex;flex-direction:column;gap:12px;max-width:580px;margin:0 auto}
.lt-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:#fff;border:2px solid rgba(122,98,60,.25);border-radius:14px;padding:14px 16px;cursor:pointer;box-shadow:0 3px 10px rgba(60,47,40,.1);transition:transform .12s,box-shadow .12s}
.lt-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(60,47,40,.16)}
.lt-num{font-family:'Cormorant',serif;font-weight:700;font-size:25px;color:#a04a35;min-width:54px;text-align:center}
.lt-t{flex:1;font-family:'Nunito',sans-serif;font-weight:800;font-size:16px;color:#3a2f28}
.lt-go{font-family:'Caveat',cursive;font-weight:700;font-size:17px;color:#1e9e6a;white-space:nowrap}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.lib-card{background:#fff;border-radius:10px;padding:12px;text-align:center;box-shadow:0 2px 8px rgba(60,47,40,.1)}
.lib-ic{font-size:26px}
.lib-t{font-weight:700;font-size:14px;color:#3a2f28;margin-top:4px}
.lib-s{font-size:12px;color:#9aa0a8;margin-top:2px}
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#3a2f28;color:#fff;padding:10px 20px;border-radius:22px;font-family:'Nunito',sans-serif;font-size:14px;z-index:200;opacity:0;transition:opacity .3s;box-shadow:0 6px 20px rgba(0,0,0,.3);pointer-events:none}
.toast.show{opacity:1}
@media(max-width:600px){.cdot{width:30px;height:30px;font-size:15px}.clabel{font-size:12px;padding:0 5px}}
/* Кампус: герой слева, карта, наставник справа */
.campus-stage{display:flex;align-items:flex-end;justify-content:center;gap:10px;max-width:1900px;margin:0 auto;min-height:calc(100vh - 132px)}
.campus{flex:1 1 auto;max-width:1500px;min-width:0;align-self:center}
.campus-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.campus-hero{line-height:0}
.campus-hero img,.campus-hero svg{height:min(56vh,460px);width:auto;max-width:180px;display:block;filter:drop-shadow(0 6px 12px rgba(60,47,40,.25))}
.teacher-guide{display:flex;flex-direction:column;align-items:center;max-width:230px}
.guide-bubble{background:#fff;border-radius:16px 16px 16px 4px;padding:10px 14px;font-family:'Caveat',cursive;font-size:19px;font-weight:700;color:#3a2f28;line-height:1.15;text-align:center;box-shadow:0 4px 14px rgba(60,47,40,.18);margin-bottom:8px;min-height:66px;display:flex;align-items:center;justify-content:center;transition:opacity .35s}
.guide-bubble.fade{opacity:0}
.guide-photo{height:min(46vh,380px);width:auto;max-width:210px;display:block;filter:drop-shadow(0 6px 12px rgba(60,47,40,.28))}
@media(max-width:980px){.campus-side{display:none}.campus{max-width:100%}}
/* Пропуск: нейтральный «?» вместо портрета (в игру заходят и парни) */
.badge-q{width:100%;aspect-ratio:1;border-radius:50%;background:#fff;border:2px solid #fff;box-shadow:0 2px 7px rgba(60,50,40,.22);display:flex;align-items:center;justify-content:center;font-family:'Cormorant',serif;font-weight:700;font-size:34px;color:#c99a3a}
/* Экран входа: фото МГУ вместо замка */
.auth-hero{text-align:center;margin:2px auto 16px;max-width:400px}
.auth-msu{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 18px rgba(60,47,40,.25))}
/* Теория: библиотека и страница темы */
.lib-card.ready{cursor:pointer;border:2px solid #cfe3d6;transition:transform .12s,box-shadow .12s;font-family:inherit}
.lib-card.ready:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(60,47,40,.16)}
.lib-s.ok{color:#3f9d6a;font-weight:700}
.th-task{display:inline-block;background:#f0e6d2;color:#a04a35;font-weight:700;font-size:12px;padding:2px 10px;border-radius:20px;font-family:'Nunito',sans-serif}
.th-sec{margin:14px 0}
.th-h{font-family:'Cormorant',serif;font-size:20px;color:#3a2f28;margin:0 0 4px}
.th-t{margin:0;color:#4a4038;line-height:1.55}
.th-words{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.th-word{background:#fff;border:1px dashed rgba(122,98,60,.5);border-radius:14px;padding:3px 10px;font-size:15px;color:#3a2f28}
.room-theory{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fbf4e2;border-left:4px solid #e0a94a;border-radius:8px;padding:10px 14px;margin:10px 0;font-size:14px;color:#5a4a32;line-height:1.45}
.th-link{background:none;border:none;color:#a04a35;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px;white-space:nowrap;padding:0}
.th-link:hover{text-decoration:underline}
.pr-bar{height:8px;background:#eee6d6;border-radius:6px;overflow:hidden;margin:6px 0 4px}
.pr-fill{height:100%;background:linear-gradient(90deg,#e0a94a,#d68a2a);border-radius:6px;transition:width .3s}
.pr-meta{font-size:13px;color:#8a7a5a;font-weight:700;margin-bottom:8px}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:400;overflow:hidden}
.confetti i{position:absolute;top:-16px;width:9px;height:15px;border-radius:2px;animation:confFall linear forwards}
@keyframes confFall{to{transform:translateY(106vh) rotate(720deg);opacity:.85}}
/* Мужская палитра «Мой герой»: панель и шкафчик — синие вместо розовых */
.hero-page.male .hp-left{background-color:#d5dcf2;box-shadow:0 10px 24px rgba(80,95,150,0.2)}
.hero-page.male .locker{background:linear-gradient(165deg,#4d5aad,#2e3872);box-shadow:0 12px 26px rgba(50,60,140,0.38), inset 0 2px 0 rgba(255,255,255,0.22)}
.hero-page.male .locker::after{background:repeating-linear-gradient(180deg,rgba(20,26,70,0.5) 0 2px,transparent 2px 5px)}
.hero-page.male .locker-shelf{background:rgba(22,28,78,0.34);box-shadow:inset 0 3px 8px rgba(10,14,50,0.35)}
.hero-page.male .locker-label{color:#dfe4ff}
.hero-page.male .locker-paper{color:#3a4790}
/* === Адаптив под телефон === */
@media(max-width:640px){
  .wrap{padding-left:14px;padding-right:14px}
  .topbar{flex-wrap:wrap;padding:8px 12px 2px;gap:8px;max-width:100%}
  .tb-btn{padding:7px 11px;font-size:12px}
  .tb-name{font-size:16px}
  .tb-xp{font-size:12px}
  .campus-stage{min-height:auto;padding-top:2px}
  .campus{align-self:flex-start}
  .doors-row{gap:12px 10px}
  .nb-shelf{gap:16px}
  .lt-card{gap:10px;padding:12px 12px}
  .lt-num{font-size:22px;min-width:40px}
  .lt-t{font-size:15px}
  .lt-go{font-size:15px}
  .cab-title,.doors-title,.lib-title{font-size:22px}
}
@media(max-width:380px){
  .tb-name{font-size:15px}
  .tb-btn{padding:6px 9px;font-size:11px}
  .nb-card{width:130px}
}

/* === Экран входа «Дорога к мечте»: сумеречное небо === */
.auth3{position:fixed;inset:0;overflow:hidden;font-family:'Nunito',sans-serif;color:#fff;
  background:
    url("../img/auth/sky.jpg?v=1") center/cover no-repeat,
    radial-gradient(ellipse 55% 45% at 80% 32%,rgba(255,176,208,0.55),transparent 62%),
    radial-gradient(ellipse 48% 42% at 15% 22%,rgba(150,144,238,0.5),transparent 62%),
    radial-gradient(ellipse 95% 55% at 50% 110%,rgba(122,104,216,0.55),transparent 70%),
    linear-gradient(158deg,#312a63 0%,#53408b 33%,#8a5aa4 64%,#d097b7 100%)}
.auth3 *{box-sizing:border-box}
.auth3::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 32% 15% at 60% 50%,rgba(255,224,238,0.34),transparent 72%),
    radial-gradient(ellipse 26% 13% at 26% 74%,rgba(228,214,255,0.3),transparent 72%),
    radial-gradient(ellipse 36% 17% at 88% 74%,rgba(255,206,224,0.3),transparent 72%);
  filter:blur(4px)}
.auth3-tower{position:absolute;right:6%;bottom:0;height:78%;width:auto;z-index:1;pointer-events:none;
  opacity:0.2;filter:brightness(1.8) saturate(0.35) drop-shadow(0 0 26px rgba(255,222,246,0.5));
  mix-blend-mode:screen}
.auth3-figure{position:absolute;left:11%;bottom:0;height:78%;width:auto;z-index:3;pointer-events:none;
  filter:drop-shadow(0 12px 46px rgba(38,16,64,0.45))}
.auth3-deco{position:absolute;inset:0;z-index:2;pointer-events:none}
.auth3-kicker{position:absolute;left:3.5%;top:6.5%;z-index:5;display:flex;align-items:flex-start;gap:8px;
  font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;
  font-size:12px;color:rgba(255,255,255,0.82);line-height:1.35}
.auth3-kicker .spk{font-size:17px;color:#ffc7de;line-height:1}
.auth3-main{position:absolute;z-index:5;top:50%;left:45%;transform:translateY(-50%);width:min(42%,430px)}
.auth3-title{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(38px,5.6vw,76px);line-height:0.92;letter-spacing:1px;margin:0;color:#fff;
  text-shadow:0 4px 30px rgba(38,18,68,0.5)}
.auth3-title .spk{color:#ffc7de;font-size:0.42em;vertical-align:0.5em;margin-left:6px}
.auth3-sub{margin:13px 0 22px;font-size:15px;line-height:1.42;color:rgba(255,255,255,0.82);max-width:350px}
.auth3-field{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:11px;margin-bottom:12px;padding:0 16px;height:52px;
  border-radius:15px;background:rgba(255,255,255,0.13);border:1px solid rgba(255,255,255,0.3);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.auth3-field svg{width:19px;height:19px;flex:none;opacity:0.85;stroke:#fff}
.auth3-field input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-size:15px;font-family:'Nunito',sans-serif}
.auth3-field input::placeholder{color:rgba(255,255,255,0.72)}
.auth3-field .eye{cursor:pointer;opacity:0.7}
#auErr{color:#ffd2d2;font-weight:700;font-size:12.5px;min-height:16px;margin:1px 2px 5px;text-shadow:0 1px 4px rgba(60,10,30,0.5)}
.auth3-go{width:100%;height:54px;border:none;border-radius:16px;background:#fff;color:#3a2c66;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 14px 34px rgba(28,14,58,0.4);transition:transform .12s}
.auth3-go:hover{transform:translateY(-1px)}
.auth3-go:disabled{opacity:0.75;cursor:default}
.auth3-go .arw{font-size:20px;line-height:1}
.auth3-sw{display:block;text-align:center;margin-top:15px;color:rgba(255,255,255,0.9);font-size:14px;text-decoration:none;
  text-shadow:0 1px 12px rgba(45,22,70,0.8),0 1px 3px rgba(45,22,70,0.55)}
.auth3-sw b{color:#ffb3d4;font-weight:800}
.auth3-badges{position:absolute;inset:0;z-index:4;pointer-events:none}
.auth3-badges .badge{position:absolute;display:flex;align-items:center;gap:11px;padding:11px 16px;border-radius:16px;
  background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.32);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(38,20,68,0.32);
  animation:afFloat 6s ease-in-out infinite alternate}
.auth3-badges .badge img{width:36px;height:36px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.35))}
.auth3-badges .badge span{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:1px;
  font-size:11px;line-height:1.25;color:rgba(255,255,255,0.92)}
.auth3-badges .badge.big{background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;flex-direction:column;align-items:flex-start;gap:0}
.auth3-badges .badge.big .n{font-family:'Oswald',sans-serif;font-weight:700;font-size:60px;line-height:0.85;color:rgba(255,255,255,0.42)}
.auth3-badges .badge.big small{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:4px;font-weight:600;color:rgba(255,255,255,0.42)}
@keyframes afFloat{from{translate:0 0}to{translate:0 -8px}}
/* Планшет/телефон: складываем в столбик */
@media(max-width:860px){
  .auth3-main{position:absolute;top:0;right:0;left:0;transform:none;width:auto;
    display:flex;flex-direction:column;justify-content:flex-start;
    padding:96px 22px 26px;box-sizing:border-box;height:100%;overflow-y:auto}
  .auth3-title{font-size:clamp(40px,12vw,60px)}
  .auth3-sub{margin-bottom:20px}
  .auth3-figure{height:50%;left:auto;right:-5%;bottom:0;filter:drop-shadow(0 8px 30px rgba(38,16,64,0.5))}
  .auth3-tower{opacity:0.14;right:-8%;height:66%}
  .auth3-badges{display:none}
}
@media(max-width:430px){
  .auth3-kicker{font-size:10.5px;letter-spacing:2px}
  .auth3-field{height:48px}
  .auth3-go{height:50px}
  .auth3-badges{display:none}
}

/* === Главный экран: то же сумеречное небо, что и на входе === */
.home-wrap::before{content:"";position:fixed;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(59,43,105,0.30) 0%,rgba(59,43,105,0.10) 36%,rgba(43,26,74,0.38) 100%),
  url("../img/auth/sky.jpg?v=1") center/cover no-repeat}
.home-wrap .home-title{color:#fff;text-shadow:0 4px 26px rgba(38,18,68,0.6),0 2px 6px rgba(38,18,68,0.45)}
.home-wrap .home-tag{color:rgba(255,255,255,0.9);text-shadow:0 1px 10px rgba(38,18,68,0.65)}
.home-wrap .btn.secondary{color:#ffeaf5;border-color:rgba(255,255,255,0.6)}
.home-wrap .attr{color:rgba(255,255,255,0.75)}
.home-wrap .dream-path .dots{stroke:#ffd9ec;opacity:0.95}
.home-wrap .path-star{fill:#ffd27a}

/* === Главный экран v2: стиль входного (сумерки, стекло, без золота) === */
.home2{position:fixed;inset:0;overflow:hidden;font-family:'Nunito',sans-serif;color:#fff;
  background:
    url("../img/auth/sky.jpg?v=1") center/cover no-repeat,
    radial-gradient(ellipse 55% 45% at 80% 32%,rgba(255,176,208,0.55),transparent 62%),
    linear-gradient(158deg,#312a63 0%,#53408b 33%,#8a5aa4 64%,#d097b7 100%)}
.home2 *{box-sizing:border-box}
.h2-main{position:absolute;left:0;right:0;top:8.5%;z-index:4;
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 22px}
.h2-title{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;margin:0;
  font-size:clamp(34px,4.6vw,62px);letter-spacing:2px;line-height:1;color:#fff;
  text-shadow:0 4px 30px rgba(38,18,68,0.5)}
.h2-title .spk{color:#ffc7de;font-size:0.45em;vertical-align:0.6em;margin-left:8px}
.h2-sub{margin:13px 0 24px;max-width:540px;font-size:15px;line-height:1.45;
  color:rgba(255,255,255,0.9);text-shadow:0 1px 10px rgba(38,18,68,0.65)}
.h2-menu{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.h2-btn{height:52px;padding:0 26px;border:none;border-radius:16px;background:#fff;color:#3a2c66;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:15.5px;cursor:pointer;
  display:flex;align-items:center;gap:10px;box-shadow:0 14px 34px rgba(28,14,58,0.4);transition:transform .12s}
.h2-btn:hover{transform:translateY(-1px)}
.h2-btn .arw{font-size:19px;line-height:1}
.h2-btn.ghost{background:rgba(255,255,255,0.13);border:1px solid rgba(255,255,255,0.32);color:#fff;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.h2-exit{position:absolute;top:2.4%;right:2.2%;z-index:5;color:rgba(255,255,255,0.88);
  font-weight:800;font-size:13.5px;text-decoration:none;padding:9px 18px;border-radius:999px;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.home2 .home-teacher{position:absolute;left:2.5%;bottom:0;height:52vh;z-index:3;
  transform:rotate(-1.5deg);filter:drop-shadow(0 12px 26px rgba(38,16,64,0.45))}
.h2-tower{position:absolute;right:-4vh;top:0;bottom:auto;height:54vh;width:auto;z-index:1;pointer-events:none}
.h2-path{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.home2.intro .h2-path{opacity:0;animation:fadeIn 1.4s ease .9s forwards}
.h2-star{position:absolute;right:calc(17.8vh - 15px);top:0.5vh;bottom:auto;z-index:2;
  color:#ffd27a;font-size:30px;line-height:1;text-shadow:0 0 20px rgba(255,210,122,0.85);
  animation:afFloat 4s ease-in-out infinite alternate}
.h2-thought{position:absolute;left:calc(2.5% + 8vh);bottom:calc(52vh + 3vh);z-index:3;
  font-family:'Caveat',cursive;font-size:23px;color:#fff;padding:8px 18px;border-radius:16px;
  background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.35);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  text-shadow:0 1px 8px rgba(38,18,68,0.6);animation:afFloat 5s ease-in-out infinite alternate}
.home2.intro .h2-main{opacity:0;animation:fadeIn .9s ease .15s forwards}
@media(max-width:760px){
  .h2-main{top:6.5%}
  .h2-sub{margin-bottom:18px}
  .h2-menu{flex-direction:column;width:min(330px,88%)}
  .h2-btn{width:100%;justify-content:center}
  .h2-path{display:none}
  .h2-tower{height:38vh;right:-5%;top:auto;bottom:0}
  .h2-star{right:calc(-5% + 14.5vh);top:auto;bottom:36.5vh;font-size:24px}
  .home2 .home-teacher{height:27vh;left:1.5%}
  .h2-thought{left:2%;bottom:calc(27vh + 2.5vh);font-size:19px}
}
