:root{color-scheme:dark;--bg:#080b12;--panel:#111723;--panel-2:#151c2a;--line:#283142;--muted:#8e9bae;--text:#f5f7fb;--lime:#c9ff62;--purple:#aa91ff;--cyan:#6edee5;--orange:#ffb46d;--shadow:0 28px 75px rgba(0,0,0,.27)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.5;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background-image:linear-gradient(rgba(138,159,197,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(138,159,197,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.22}
.ambient-one{width:520px;height:520px;top:-260px;right:-140px;background:#7962d8}
.ambient-two{width:420px;height:420px;left:-240px;top:540px;background:#2d7678;opacity:.14}
.page-shell{max-width:1250px;margin:auto;padding:0 38px}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(199,218,244,.12);gap:24px}
.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;white-space:nowrap}
.brand-mark{width:37px;height:37px;border:1px solid var(--lime);border-radius:9px;color:var(--lime);display:flex;align-items:center;justify-content:center;font-family:Consolas,monospace;font-weight:900;font-size:20px;letter-spacing:-5px;padding-right:5px;box-shadow:0 0 23px rgba(201,255,98,.12)}
.brand-mark span:first-child{transform:translateY(-1px)}
.brand-name{font-size:13px;font-weight:800;letter-spacing:.08em}
.brand-name b{font-weight:900;color:var(--lime)}
.brand-accent{color:var(--lime);padding:0 3px}
.header-right{display:flex;align-items:center;gap:20px}
.header-chip,.account-label,.board-tag,.status-pill{font-family:Consolas,"Courier New",monospace;font-size:11px;font-weight:800;letter-spacing:.12em}
.header-chip{display:flex;align-items:center;gap:9px;color:#b9c3d1}
.live-dot{display:inline-block;flex:0 0 auto;width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 4px rgba(201,255,98,.1),0 0 13px rgba(201,255,98,.6)}
.account-label{color:var(--lime);padding:7px 11px;border:1px solid rgba(201,255,98,.28);border-radius:6px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.text-button{border:0;background:transparent;color:#d3dce8;font-size:13px;font-weight:700;white-space:nowrap;padding:8px 0}
.text-button:hover{color:var(--lime)}
.text-button span{color:var(--lime);padding-left:3px}
.panel{background:linear-gradient(145deg,rgba(23,31,45,.96),rgba(14,19,29,.98));border:1px solid rgba(158,179,208,.16);border-radius:18px;box-shadow:var(--shadow)}
.eyebrow,.small-kicker,.card-topline,.time-note,.auth-footnote,.board-footer,.site-footer{font-family:Consolas,"Courier New",monospace;letter-spacing:.13em;font-weight:800}
.eyebrow{display:flex;align-items:center;gap:13px;color:var(--lime);font-size:12px}
.eyebrow-line{width:27px;height:1px;background:var(--lime);box-shadow:0 0 10px var(--lime)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Arial Black",Inter,"Segoe UI",sans-serif;letter-spacing:-.055em}
h1{font-size:clamp(54px,6vw,92px);line-height:.99;margin-bottom:26px;font-weight:900}
h1 em{font-style:normal;color:var(--lime)}
.auth-view{min-height:calc(100vh - 160px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;padding:66px 0 100px}
.auth-intro{padding-bottom:10px}
.auth-intro .eyebrow{margin-bottom:34px}
.auth-intro p{max-width:450px;color:#aeb9c9;font-size:18px;line-height:1.7;margin-bottom:43px}
.auth-metrics{display:flex;gap:0;border-top:1px solid var(--line);padding-top:23px;max-width:460px}
.auth-metrics div{display:flex;flex-direction:column;gap:1px;min-width:128px;padding-right:20px}
.auth-metrics div+div{border-left:1px solid var(--line);padding-left:25px}
.auth-metrics strong{font-family:Consolas,monospace;font-size:27px;line-height:1.2;color:#f5f7fb}
.auth-metrics span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.auth-card{padding:31px;position:relative;overflow:hidden}
.auth-card::before{content:"";position:absolute;height:3px;top:0;left:0;right:0;background:linear-gradient(90deg,var(--lime),var(--cyan),var(--purple))}
.card-topline{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--lime);margin-bottom:24px}
.topline-icon{font-size:23px;line-height:1;color:var(--purple)}
.role-toggle{display:grid;grid-template-columns:1fr 1fr;background:#0b101a;padding:4px;border:1px solid var(--line);border-radius:9px;margin-bottom:26px}
.role-button{border:0;background:transparent;color:#8e9bad;font-size:14px;font-weight:800;padding:11px;border-radius:6px;transition:.2s}
.role-button.active{background:#252e3c;color:#fff;box-shadow:0 2px 9px rgba(0,0,0,.3)}
.field-label{display:flex;justify-content:space-between;align-items:center;color:#cbd4df;font-size:13px;font-weight:800;margin-bottom:9px}
.student-picker{display:grid;gap:8px;margin-bottom:23px}
.student-choice{border:1px solid var(--line);background:#0d131e;border-radius:9px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;color:#e9edf2;transition:.2s}
.student-choice:hover{border-color:#77869d;transform:translateY(-1px)}
.student-choice.selected{border-color:var(--lime);background:rgba(201,255,98,.075);box-shadow:inset 0 0 0 1px rgba(201,255,98,.15)}
.student-choice-index{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:#212a39;color:#a7b4c7;font-family:Consolas,monospace;font-size:11px;font-weight:800}
.student-choice.selected .student-choice-index{color:#111a0c;background:var(--lime)}
.student-choice-name{font-weight:800;font-size:14px;flex:1}
.student-choice-arrow{color:var(--muted);font-size:15px}
.input{width:100%;border:1px solid #344056;border-radius:9px;background:#0b111c;color:#f4f7fa;padding:13px 14px;outline:none;font-size:14px;transition:.2s}
.input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(201,255,98,.1)}
.input::placeholder{color:#627188}
#loginCode{margin-bottom:23px}
.primary-button,.secondary-button,.subtle-button{border-radius:9px;font-weight:900;transition:transform .18s,background .18s,border-color .18s}
.primary-button{border:1px solid #e4ffad;background:var(--lime);color:#10170a;padding:13px 18px;box-shadow:0 6px 25px rgba(201,255,98,.16)}
.primary-button:hover:not(:disabled){background:#dcff9b;transform:translateY(-2px)}
.primary-button span{padding-left:4px}
.full-width{width:100%}
.auth-footnote{font-size:10px;color:#788598;text-align:center;margin-top:23px;letter-spacing:.04em}
.lock-icon{font-size:14px;color:var(--lime);margin-right:5px}
.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(199,218,244,.1);color:#617086;font-size:10px;padding:25px 0 30px}
.hero{display:flex;justify-content:space-between;align-items:stretch;gap:30px;margin:40px 0 24px;padding:47px 52px;overflow:hidden;position:relative;background:radial-gradient(circle at 74% 20%,rgba(104,77,151,.2),transparent 46%),linear-gradient(112deg,#172133,#111827 65%,#171e2e)}
.hero::before{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(201,255,98,.13);border-radius:50%;left:43%;top:-210px;box-shadow:0 0 0 60px rgba(201,255,98,.025),0 0 0 120px rgba(201,255,98,.018);pointer-events:none}
.hero-copy{position:relative;z-index:1}
.hero .eyebrow{margin-bottom:24px}
.week-dates{color:#9eacc1;font-size:10px;letter-spacing:.05em}
.hero h1{font-size:clamp(51px,6.2vw,82px);margin-bottom:15px}
.hero p{color:#aeb8c8;font-size:15px;margin-bottom:0}
.hero-stat{align-self:stretch;min-width:245px;border:1px solid rgba(201,255,98,.25);border-radius:15px;padding:24px 25px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(9,15,24,.58);position:relative;z-index:1}
.hero-stat-label{display:flex;justify-content:space-between;align-items:center;font-family:Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:.13em;color:#b5c0d0}
.hero-stat-number{font-family:"Arial Black",Inter,sans-serif;line-height:1;font-size:clamp(68px,8vw,104px);letter-spacing:-.08em;color:var(--lime);margin:9px 0 0}
.hero-stat-caption{color:#aeb8c8;font-size:12px;font-weight:700}
.hero-stat-bars{display:flex;align-items:end;gap:5px;height:30px;margin-top:18px}
.hero-stat-bars i{flex:1;background:rgba(201,255,98,.22);height:48%;border-radius:2px 2px 0 0}
.hero-stat-bars i:nth-child(3n){height:86%;background:var(--lime)}
.hero-stat-bars i:nth-child(4n){height:64%}
.hero-stat-bars i:nth-child(5n){height:100%;background:var(--lime)}
.hero-stat-bars i:nth-child(7n){height:29%}
.content-grid{display:grid;grid-template-columns:minmax(340px,.93fr) minmax(380px,1.07fr);gap:24px;align-items:stretch}
.mentor-view .content-grid{grid-template-columns:1fr}
.checkin-panel,.leaderboard-panel,.activity-panel,.mentor-setup,.history-panel{padding:29px}
.section-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:4px}
.small-kicker{color:var(--lime);font-size:10px;margin-bottom:9px}
.section-heading h2,.section-heading h3{font-size:26px;line-height:1.1;margin:0}
.section-hint{color:#8f9bae;font-size:13px;margin:13px 0 26px}
.status-pill{color:#9cabc0;border:1px solid #435064;border-radius:5px;padding:6px 8px;white-space:nowrap}
.status-pill.done{color:var(--lime);border-color:rgba(201,255,98,.4);background:rgba(201,255,98,.06)}
.checkin-panel .field-label{margin-top:18px}
.count-control{display:grid;grid-template-columns:48px 1fr 48px;gap:8px}
.count-control button{border:1px solid #354155;background:#172032;color:#d9e3ec;font-size:23px;border-radius:8px;line-height:1}
.count-control button:hover{border-color:var(--lime);color:var(--lime)}
.count-control input{width:100%;min-width:0;border:1px solid #354155;border-radius:8px;background:#0b111c;color:#fff;text-align:center;font-family:Consolas,monospace;font-size:31px;font-weight:900;padding:8px;appearance:textfield}
.count-control input::-webkit-outer-spin-button,.count-control input::-webkit-inner-spin-button{appearance:none;margin:0}
.textarea{resize:vertical;min-height:78px}
.note-area{min-height:66px}
.optional{color:#69778b;font-family:Consolas,monospace;font-size:10px;letter-spacing:.08em}
.checkin-panel .primary-button{margin-top:23px}
.subtle-button{background:transparent;border:0;color:#8594a6;padding:11px;margin-top:3px;font-size:12px}
.subtle-button:hover{color:#ffbdba}
.time-note{text-align:center;color:#607087;font-size:9px;margin-top:18px}
.board-tag{padding:6px 9px;border:1px solid rgba(170,145,255,.35);border-radius:5px;color:var(--purple);white-space:nowrap}
.leaderboard{display:grid;gap:12px}
.rank-card{position:relative;overflow:hidden;border:1px solid #303a4b;border-radius:11px;background:#111925;padding:15px 17px;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:13px}
.rank-card.first{background:linear-gradient(100deg,rgba(201,255,98,.1),rgba(23,32,44,.9) 52%);border-color:rgba(201,255,98,.36)}
.rank-number{font-family:Consolas,monospace;font-weight:900;font-size:17px;color:#8d9db2}
.rank-card.first .rank-number{color:var(--lime)}
.rank-main{min-width:0}
.rank-name{display:flex;align-items:center;gap:8px;font-weight:900;font-size:15px;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.you-tag{color:#151b0d;background:var(--lime);border-radius:4px;font-family:Consolas,monospace;font-size:9px;padding:2px 5px;letter-spacing:.04em}
.rank-bar{height:5px;background:#2e3a4a;border-radius:99px;overflow:hidden;margin-bottom:8px}
.rank-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--lime));border-radius:99px}
.rank-meta{display:flex;gap:15px;color:#8a9aaf;font-size:11px;font-weight:700}
.rank-meta span strong{color:#dfe6ed}
.rank-score{text-align:right;align-self:start;white-space:nowrap}
.rank-score strong{font-family:Consolas,monospace;font-size:27px;line-height:1;color:var(--text)}
.rank-card.first .rank-score strong{color:var(--lime)}
.rank-score span{display:block;font-size:9px;color:#8492a5;letter-spacing:.08em;font-weight:800}
.board-footer{font-size:10px;color:#65758a;border-top:1px solid var(--line);padding-top:18px;margin-top:22px;display:flex;align-items:center;gap:11px;letter-spacing:.04em}
.board-footer .live-dot{width:5px;height:5px}
.activity-panel{margin:24px 0 44px}
.activity-decoration{font-size:28px;color:var(--lime);line-height:1}
.activity-list{margin-top:22px;display:grid;gap:1px}
.activity-item{display:grid;grid-template-columns:43px 1fr auto;gap:15px;align-items:start;padding:17px 0;border-top:1px solid var(--line)}
.activity-avatar{height:37px;width:37px;border:1px solid rgba(170,145,255,.35);background:rgba(170,145,255,.1);color:#c4b5ff;border-radius:9px;display:grid;place-items:center;font-family:Consolas,monospace;font-weight:900;font-size:13px}
.activity-main{min-width:0}
.activity-title{font-size:13px;font-weight:700;color:#dce3ec;line-height:1.5}
.activity-title strong{color:#fff}
.activity-note{color:#96a4b5;font-size:12px;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.activity-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.activity-links a{font-size:11px;text-decoration:none;color:var(--cyan);padding:4px 7px;border:1px solid rgba(110,222,229,.24);border-radius:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-links a:hover{border-color:var(--cyan);background:rgba(110,222,229,.08)}
.activity-date{font-family:Consolas,monospace;font-size:10px;color:#8090a4;white-space:nowrap;padding-top:4px}
.empty-state{padding:30px;border:1px dashed #344056;border-radius:10px;text-align:center;color:#8d9caf;font-size:13px}
.empty-state strong{display:block;font-size:19px;color:#dfe7f1;margin-bottom:6px}
.mentor-panel{margin:0 0 52px}
.mentor-heading{padding:20px 0 12px}
.mentor-heading .eyebrow{margin-bottom:12px}
.mentor-heading h2{font-size:clamp(30px,4vw,47px);margin:0 0 7px}
.mentor-heading p{color:#9daabc;font-size:14px}
.mentor-setup,.history-panel{margin-top:20px}
.mentor-students{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mentor-student{background:#0d1420;border:1px solid #303b4e;border-radius:11px;padding:17px;min-width:0}
.mentor-student-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mentor-student-head strong{font-family:Consolas,monospace;color:var(--lime);font-size:11px;letter-spacing:.1em}
.mentor-student-head span{font-family:Consolas,monospace;font-size:10px;color:#94a1b0}
.mentor-student .input{padding:10px 11px;margin-bottom:10px}
.mentor-actions{display:flex;gap:7px}
.secondary-button{border:1px solid #475368;background:#1b2534;color:#e5ebf3;padding:10px 13px;font-size:12px}
.secondary-button:hover{border-color:var(--lime);color:var(--lime)}
.mentor-actions .secondary-button{flex:1;padding:9px 7px}
.pin-reveal{margin-top:12px;border:1px solid rgba(201,255,98,.3);background:rgba(201,255,98,.06);padding:10px;border-radius:7px;color:#d1fca1;font-family:Consolas,monospace;font-size:13px;text-align:center;word-break:break-word}
.pin-reveal small{display:block;color:#849777;font-size:10px;margin-top:4px}
.history-list{margin:20px 0 16px}
.history-item{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
.history-day{font-family:Consolas,monospace;color:#8e9daf;font-size:11px;padding-top:4px}
.history-name{font-weight:900;font-size:13px;margin-bottom:2px}
.history-detail{font-size:12px;color:#9aa8b9}
.history-detail a{color:var(--cyan);text-decoration:none}
.history-detail a:hover{text-decoration:underline}
.history-actions{display:flex;gap:5px}
.history-actions button{border:1px solid #3a4659;color:#becbdd;background:#1b2432;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:800}
.history-actions button:hover{border-color:var(--lime);color:var(--lime)}
#loadMoreHistory{display:block;margin:4px auto 0}
.edit-dialog{width:min(480px,calc(100vw - 24px));border:1px solid #58677c;border-radius:15px;background:#111a28;color:var(--text);padding:26px;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.edit-dialog::backdrop{background:rgba(2,5,10,.78);backdrop-filter:blur(5px)}
.edit-dialog h2{font-size:25px;margin:2px 0 21px}
.edit-dialog .field-label{margin-top:15px}
.dialog-actions{display:flex;justify-content:end;gap:8px;margin-top:20px}
.toast{position:fixed;bottom:24px;right:24px;z-index:30;max-width:min(370px,calc(100vw - 32px));padding:13px 18px;background:#d5ff8c;color:#11190b;border-radius:9px;box-shadow:0 12px 35px rgba(0,0,0,.35);font-size:13px;font-weight:900;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}
.toast.visible{opacity:1;transform:translateY(0)}
.toast.error{background:#ffc4bc;color:#3b1410}
@media(max-width:980px){.page-shell{padding:0 26px}.auth-view{gap:36px}.hero{padding:38px}.content-grid{grid-template-columns:1fr 1fr}.mentor-students{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.site-header{height:73px}.header-chip{display:none}.brand-name{font-size:11px}.auth-view{grid-template-columns:1fr;gap:34px;padding:62px 0 65px;min-height:0}.auth-intro h1{font-size:clamp(50px,12vw,76px);margin-bottom:18px}.auth-intro p{font-size:15px;margin-bottom:28px}.auth-intro .eyebrow{margin-bottom:21px}.auth-metrics{padding-top:18px}.hero{margin-top:24px;flex-direction:column;padding:31px}.hero h1{font-size:60px}.hero-stat{min-width:0;min-height:225px}.content-grid{grid-template-columns:1fr}.mentor-students{grid-template-columns:1fr 1fr}.activity-panel{margin-bottom:34px}}
@media(max-width:520px){.page-shell{padding:0 16px}.site-header{gap:9px}.brand{gap:7px}.brand-mark{height:31px;width:31px;font-size:17px}.brand-name{font-size:9px;letter-spacing:.04em}.account-label{max-width:90px;font-size:9px;padding:5px 7px}.header-right{gap:8px}.text-button{font-size:11px}.auth-view{padding-top:45px}.auth-card{padding:22px}.auth-metrics div{min-width:0;flex:1;padding-right:6px}.auth-metrics div+div{padding-left:12px}.auth-metrics strong{font-size:22px}.auth-metrics span{font-size:9px}.hero{padding:26px}.hero h1{font-size:53px}.hero-stat{padding:20px;min-height:195px}.checkin-panel,.leaderboard-panel,.activity-panel,.mentor-setup,.history-panel{padding:21px}.section-heading h2,.section-heading h3{font-size:23px}.mentor-students{grid-template-columns:1fr}.activity-item{grid-template-columns:35px 1fr;gap:10px}.activity-avatar{height:33px;width:33px}.activity-date{grid-column:2;padding-top:0;margin-top:-5px}.history-item{grid-template-columns:1fr auto;gap:7px}.history-day{grid-column:1 / -1}.history-actions{grid-column:2;grid-row:2}.site-footer{font-size:8px;flex-direction:column;gap:4px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
