.public-page{background:radial-gradient(ellipse at 50% 15%,#f4eddf 0,transparent 65%),#fbfcf9}.public-page .app{margin:0;min-height:100vh;display:flex;flex-direction:column}.public-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto;padding:26px 40px;gap:20px}.public-header .brand{font-size:24px}.public-login{display:flex;align-items:center;gap:9px;font-size:12px;color:#77816d}.public-login svg{width:16px;height:16px}.public-page main{width:100%;max-width:1080px;padding:28px 40px 0;flex:1;display:flex;flex-direction:column}.public-page footer{margin-top:auto;padding:24px 0}.public-page main>section:last-of-type,.public-page main>.form-layout{margin-bottom:40px}.simple-home{text-align:center;padding:28px 0 60px}.home-emblem{display:inline-grid;place-items:center;width:66px;height:66px;border-radius:20px;background:#ec713c;color:#fff;transform:rotate(-6deg);box-shadow:0 10px 25px #ec713c25;margin-bottom:24px}.home-emblem svg{width:36px;height:36px}.simple-home h1{font-size:52px;letter-spacing:-2px}.simple-home h1 span{font-weight:450}.simple-home .home-slogan{font-size:18px;color:#89917e;margin:12px 0 42px}.home-choices{max-width:780px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:left}.home-choice{display:block;background:#fffffff0;border:1px solid #e3e6db;border-radius:16px;padding:30px;transition:transform .2s,border-color .2s,box-shadow .2s}.home-choice:hover{transform:translateY(-4px);border-color:#dcbba6;box-shadow:0 12px 28px #7278500c}.home-choice .path-icon{width:48px;height:48px;margin-bottom:24px}.home-choice h2{font-size:24px}.home-choice p{font-size:12px;color:#919986;margin:12px 0 26px;line-height:1.8}.choice-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #eff0e9;padding-top:18px;font-size:12px;color:#d07748;font-weight:600}.choice-link svg{width:17px;height:17px}.home-choice:last-child .choice-link{color:#6d917b}.public-page .auth-wrap{min-height:0;margin:0 0 35px}.public-page .auth-card{max-width:470px}.public-page .page-heading{margin-top:15px}
@media(max-width:620px){.public-header{padding:22px}.public-header .brand{font-size:21px}.public-login{font-size:10px}.public-page main{padding:16px 22px 0}.simple-home{padding:22px 0 30px}.simple-home h1{font-size:38px}.simple-home .home-slogan{font-size:15px;margin-bottom:28px}.home-emblem{width:55px;height:55px;margin-bottom:20px}.home-choices{grid-template-columns:1fr;gap:16px}.home-choice{padding:23px}.home-choice .path-icon{margin-bottom:16px}.home-choice h2{font-size:21px}.home-choice p{margin:9px 0 18px}.public-page footer{font-size:8px}.public-page .auth-card{padding:24px}}
.public-page{--orange:#ed7435;--orange-dark:#ce5621;--green:#20845c;background:radial-gradient(ellipse at 12% 20%,#fff0df 0,transparent 48%),radial-gradient(ellipse at 90% 65%,#e1f2e7 0,transparent 50%),#fcfcf7;color:#213e31}
.public-header .brand{color:#e77031}.public-header .brand-light{color:#20845c}.public-login{color:#20744f;font-weight:600}.public-header .brand-mark{background:linear-gradient(145deg,#ff9c53,#e76327);box-shadow:inset 0 2px 2px #ffffff66,0 5px 0 #b95124,0 8px 14px #dc743026}
.simple-home{padding-top:14px}.simple-home h1{color:#e77031}.simple-home h1 span{color:#20845c}.simple-home .home-slogan{color:#56755f}.home-emblem{background:linear-gradient(145deg,#ff9950,#e86227);box-shadow:inset 0 3px 3px #ffffff66,0 6px 0 #c35926,0 16px 25px #e7763026;border:1px solid #f49a62;width:54px;height:54px;border-radius:17px;margin-bottom:19px}.home-emblem svg{width:30px;height:30px}
.home-choice{border:1px solid #f3d3b6;background:linear-gradient(145deg,#fff9f1,#fff1e1);box-shadow:0 8px 0 #f1dfcb66,0 14px 35px #995d1608;position:relative;overflow:hidden;padding:22px 28px 27px}.home-choice:last-child{border-color:#bddfca;background:linear-gradient(145deg,#f5fcf6,#e5f4e9);box-shadow:0 8px 0 #cdded366,0 14px 35px #1c72400a}.home-choice:hover{border-color:#e9a975;box-shadow:0 12px 25px #e7954220}.home-choice:last-child:hover{border-color:#7bb791;box-shadow:0 12px 25px #3b916120}.icon-3d{display:block;width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 9px 7px #8b6f3814)}.home-choice .icon-3d{margin:0 auto 14px;transition:transform .25s}.home-choice:hover .icon-3d{transform:translateY(-4px) rotate(-3deg)}.home-choice h2{color:#963f17}.home-choice:last-child h2{color:#1e6847}.home-choice p{color:#76664f}.home-choice:last-child p{color:#547761}.choice-link{color:#b34f20;border-color:#ebd6bf}.home-choice:last-child .choice-link{color:#216e49;border-color:#c8e3cf}.public-page .info-panel{background:#edf6ec;border-color:#cee2cf}.public-page .info-note{background:#e0efdf;color:#416a47;border-color:#c9dfc7}.public-page .eyebrow{color:#28825b}.public-page .auth-card{border-top:4px solid #28825b}.public-page .field{color:#416047}.public-page .green{background:#ddefe1;color:#26835c}.public-page .info-panel .icon-3d{margin:0 auto 12px}.public-page .info-panel h2{color:#286946}
@media(max-width:620px){.home-choice{padding:20px 23px}.home-choice .icon-3d{width:115px;height:115px;margin-bottom:10px}.simple-home .home-slogan{margin-bottom:25px}.home-emblem{width:48px;height:48px}.home-choice h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.home-choice,.home-choice .icon-3d{transition:none}.home-choice:hover,.home-choice:hover .icon-3d{transform:none}}
.school-home{background:#dcebe3;isolation:isolate}
.school-home::before{content:"";position:fixed;inset:0;z-index:-2;background:url('athirah-bone-background.png') center center/cover no-repeat;pointer-events:none}
.school-home::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,251,240,.8),rgba(249,250,238,.47) 45%,rgba(19,67,45,.22));pointer-events:none}
.school-home .public-header{background:rgba(255,255,248,.7);backdrop-filter:blur(12px);border:1px solid #ffffff8c;border-radius:0 0 20px 20px}
.school-home .simple-home h1{text-shadow:0 2px 18px #fff9e9,0 1px 2px #fff}
.school-home .home-slogan{display:table;margin-left:auto;margin-right:auto;background:#fffdf1dc;border:1px solid #ffffffad;border-radius:30px;padding:9px 22px;color:#315d44;box-shadow:0 4px 20px #2145290d}
.school-home .home-choice{background:linear-gradient(145deg,#fffaf1f5,#fff1e5e8);backdrop-filter:blur(12px);box-shadow:0 14px 35px #133e2720}
.school-home .home-choice:last-child{background:linear-gradient(145deg,#f4fff6f5,#e4f5e8e8)}
.school-home .home-choices{max-width:900px;grid-template-columns:1fr}
.school-home .home-choice:last-child{min-height:430px;padding:34px 48px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:24px;box-shadow:0 10px 0 #a9cdb56b,0 24px 48px #133e2726}
.school-home .home-choice:last-child .icon-3d{width:210px;height:210px;margin-bottom:4px}
.school-home .home-choice:last-child h2{font-size:32px}
.school-home .home-choice:last-child p{font-size:15px;margin:8px 0 22px}
.school-home .home-choice:last-child .choice-link{align-self:center;justify-content:center;gap:18px;padding:15px 24px;border:1px solid #79ad8c;border-radius:12px;background:linear-gradient(145deg,#43a976,#24734f);color:#fff;box-shadow:0 6px 0 #185638,0 10px 18px #1c724032;text-shadow:0 1px 1px #174d35;transition:transform .16s,box-shadow .16s,filter .16s}
.school-home .home-choice:last-child:hover .choice-link{transform:translateY(-2px);box-shadow:0 8px 0 #185638,0 14px 22px #1c72403b;filter:brightness(1.04)}
.school-home .home-choice:last-child:active .choice-link{transform:translateY(4px);box-shadow:0 2px 0 #185638,0 4px 8px #1c724032}
.school-home .home-choice:last-child .choice-link svg{width:19px;height:19px}
.school-home footer{color:#234d37;background:#ffffffe0;border-radius:12px 12px 0 0;padding:18px 20px;border:1px solid #ffffff80}
@keyframes school-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes school-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@media(prefers-reduced-motion:no-preference){
 .school-home .simple-home>h1,.school-home .home-slogan{animation:school-reveal .7s ease-out both}
 .school-home .home-slogan{animation-delay:.12s}
 .school-home .home-choice{animation:school-reveal .75s ease-out backwards;animation-delay:.2s}
 .school-home .home-choice:last-child{animation-delay:.35s}
 .school-home .icon-3d{animation:school-float 4.5s ease-in-out infinite}
 .school-home .home-choice:last-child .icon-3d{animation-delay:-2.2s}
 .school-home .home-choice:hover .icon-3d{animation-play-state:paused}
 .school-home .choice-link svg{transition:transform .25s}
 .school-home .home-choice:hover .choice-link svg{transform:translateX(5px)}
 .school-home .home-choice:hover{transform:translateY(-6px);box-shadow:0 20px 40px #133e2730}
}
@media(max-width:620px){.school-home::before{background-position:58% center}.school-home .public-header{border-radius:0}.school-home .home-slogan{padding:9px 16px}.school-home .home-choice:last-child{min-height:0;padding:25px 22px}.school-home .home-choice:last-child .icon-3d{width:160px;height:160px}.school-home .home-choice:last-child h2{font-size:26px}.school-home .home-choice:last-child p{font-size:13px}.school-home footer{padding:16px 12px}}

.voted-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 36px));padding:36px 34px 30px;border:1px solid #f0b8b8;border-radius:24px;background:linear-gradient(155deg,#fffafa,#fff0f0);color:#70252a;text-align:center;overflow:visible;box-shadow:0 12px 0 #e8b9bb,0 28px 75px #42151d45;animation:voted-pop .38s cubic-bezier(.2,.8,.2,1) both}
.voted-dialog::backdrop{background:#10241bcc;backdrop-filter:blur(5px)}
.voted-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#fde1e1;color:#9b363d;font-size:23px;line-height:1}
.voted-art{height:112px;position:relative;display:grid;place-items:center;margin:0 auto 15px;perspective:500px}
.voted-cube{z-index:1;display:grid;place-items:center;width:76px;height:76px;border:1px solid #eaa0a4;border-radius:20px;background:linear-gradient(145deg,#fa777d,#bd303b);color:white;font-size:43px;font-weight:800;transform:rotate(-8deg) rotateY(-12deg);box-shadow:inset 0 4px 4px #ffffff69,0 8px 0 #8e202b,0 16px 22px #76212b38}
.voted-orbit{position:absolute;width:126px;height:42px;border:2px solid #dc858a;border-radius:50%;transform:rotate(-19deg);opacity:.75}
.voted-kicker{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#a13a42}
.voted-dialog h2{font-size:23px;margin:9px 0 12px;color:#812b32}
.voted-dialog p{font-size:13px;color:#8e5559;margin:7px 0}
.voted-student{display:inline-block;margin:7px 0;padding:10px 18px;border:1px solid #efc3c4;border-radius:12px;background:#fde9e9;color:#8b2d35;font-size:16px;box-shadow:inset 0 1px #fff}
.voted-dialog .voted-help{font-size:12px;margin:12px 0 20px}
.voted-ok{min-width:160px;background:#bd303b!important;color:#fff!important;box-shadow:0 4px 0 #84222a!important}
@keyframes voted-pop{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.voted-dialog{animation:none}}

.vote-error-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 36px));padding:34px 32px 30px;border:1px solid #f1c495;border-radius:24px;background:linear-gradient(155deg,#fffdf8,#fff1df);color:#704317;text-align:center;overflow:visible;box-shadow:0 12px 0 #edcfaa,0 28px 75px #57381740;animation:voted-pop .38s cubic-bezier(.2,.8,.2,1) both}
.vote-error-dialog::backdrop{background:#2b2116b8;backdrop-filter:blur(5px)}
.vote-error-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#ffebd2;color:#976021;font-size:23px;line-height:1}
.vote-error-art{height:96px;position:relative;display:grid;place-items:center;margin:0 auto 12px;perspective:500px}
.vote-error-cube{z-index:1;display:grid;place-items:center;width:70px;height:70px;border:1px solid #e9ad6f;border-radius:19px;background:linear-gradient(145deg,#ffb64e,#ed7828);color:white;font-size:39px;font-weight:800;transform:rotate(-8deg) rotateY(-12deg);box-shadow:inset 0 4px 4px #ffffff78,0 8px 0 #bb591f,0 16px 22px #a75a2438}
.vote-error-orbit{position:absolute;width:118px;height:39px;border:2px solid #e4a862;border-radius:50%;transform:rotate(-19deg);opacity:.8}
.vote-error-kicker{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#ad6827}
.vote-error-dialog h2{font-size:21px;line-height:1.35;margin:9px 0;color:#74451d}
.vote-error-dialog p{font-size:13px;color:#8c6842;margin:8px 0 21px}
.vote-error-ok{min-width:175px!important;background:linear-gradient(145deg,#f49a35,#d86b20)!important;color:white!important;box-shadow:0 5px 0 #a94f1d!important}
