.academy-nav{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.academy-nav button[aria-pressed=true]{background:#3ff61c;color:#080b08}.academy-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:1.25rem}.academy-card{background:var(--panel,#191d19);border:1px solid #586158;padding:1.25rem;border-radius:14px;margin:.75rem 0}.academy-card h3{margin-top:0}.academy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.academy-root input,.academy-root select,.academy-root textarea{width:100%;box-sizing:border-box}.academy-root label{display:block;margin:.75rem 0}.academy-root button,.academy-root input,.academy-root select{min-height:44px}.academy-root textarea{min-height:110px}.academy-root pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;border:1px solid #667566;padding:1rem;max-height:400px;overflow:auto}.academy-root .hint{font-size:.9rem}.academy-root .dropzone{border:2px dashed #3ff61c;padding:1rem}.academy-root .dropzone.drag{background:#244124}.academy-root .actions{display:flex;gap:.5rem;flex-wrap:wrap}.academy-root .actions button{flex:0 1 auto}.academy-root .metric{font-size:2rem;color:#3ff61c}.academy-root .lesson-list{max-height:65vh;overflow:auto}.academy-root .lesson-list button{width:100%;text-align:left;margin:.2rem 0}.academy-root progress{width:100%}.academy-root .warning{border-left:4px solid #ffff00;padding:.8rem}.academy-root .review-attention{border-left:4px solid #fa0120}.academy-root .counter{display:flex;align-items:center;gap:.5rem}.academy-root .counter input{max-width:120px}.academy-root [hidden]{display:none!important}html[data-theme=light] .academy-card{background:#e5f4e9;color:#102719}html[data-theme=light] .academy-root .metric{color:#17491a}@media(max-width:750px){.academy-layout{grid-template-columns:1fr}.academy-root .lesson-list{max-height:280px}.academy-nav button{flex:1 1 40%}main{padding:1rem}}@media print{header,.academy-nav,button,input,select{display:none!important}.academy-card{break-inside:avoid;background:white;color:black}pre{max-height:none!important}}
.academy-nav button[aria-pressed=false]{background:transparent;color:inherit;border:1px solid #687568}.academy-root :focus-visible{outline:3px solid #ffff00;outline-offset:3px}.academy-root input[type=checkbox]{width:auto;min-height:24px;margin-right:.5rem}

.workspace-help{padding:16px;border:1px solid var(--line,#586158);border-radius:12px;margin:16px 0;background:var(--panel,#191d19)}.workspace-help summary{cursor:pointer;font-weight:700;min-height:32px;line-height:1.6}.workspace-help li{margin:10px 0}.workspace-help a{overflow-wrap:anywhere}.academy-grid [data-start]{text-align:left;padding:20px;white-space:normal;background:var(--panel,#191d19);color:inherit;border:1px solid var(--green,#3ff61c);border-radius:12px}.academy-grid [data-start] strong,.academy-grid [data-start] span{display:block}.academy-grid [data-start] span{margin-top:10px;font-size:1rem;line-height:1.5;font-weight:400}
.portfolio-copy{white-space:pre-wrap;overflow-wrap:anywhere}

.rp-confirm-dialog{width:min(92vw,680px);max-height:85dvh;overflow:auto;padding:24px;border:2px solid #9eff00;border-radius:16px;background:var(--panel,#141b12);color:var(--text,#fff)}.rp-confirm-dialog::backdrop{background:rgba(0,0,0,.8)}.rp-confirm-dialog label{display:grid;gap:8px;margin:16px 0}.rp-confirm-dialog input,.rp-confirm-dialog textarea{width:100%;box-sizing:border-box}.rp-confirm-dialog button{min-height:48px;margin:8px 8px 0 0}html[data-theme="light"] .rp-confirm-dialog{background:#fff;color:#172118}
.hurricane-ranks{--rank-accent:#aaff00;margin:1rem 0;color:var(--text,#fff)}.hurricane-ranks .rank-banner{display:block;position:relative;background:linear-gradient(115deg,#19251a,#101411 65%);border:1px solid #466c38;border-left:6px solid #aaff00;padding:28px;border-radius:18px;box-shadow:0 0 30px #74ff0010}.hurricane-ranks .rank-banner h2{font-size:clamp(1.8rem,5vw,3rem);margin:.5rem 0;color:#fff!important;animation:none!important;text-shadow:none!important}.rank-kicker{color:#aaff00;font-weight:800;letter-spacing:.13em;font-size:.85rem}.rank-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px}.rank-stats strong{font-size:1.6rem;color:#ffff00}.rank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px}.rank-toolbar label{max-width:300px}.rank-explainer,.rank-next{font-size:.95rem;color:var(--muted,#bac5b8)}.rank-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}.rank-player{min-width:0;position:relative;overflow:hidden;padding:24px;border:1px solid #52604c;border-radius:18px;background:linear-gradient(145deg,#20291e,#101611);transition:transform .2s,box-shadow .2s}.rank-player.rank-leader{border:2px solid #b5ed26;box-shadow:0 0 22px #adff0018}.rank-player-top{display:flex;gap:12px;align-items:center}.rank-position{font-size:2.6rem;font-weight:900;line-height:1;color:#ffff00}.rank-standing{font-size:.8rem;letter-spacing:.08em;color:#d0e3c3;font-weight:800}.hurricane-ranks .rank-player h3{font-size:1.8rem;overflow-wrap:anywhere;margin:24px 0 10px;color:#fff!important;animation:none!important;text-shadow:none!important}.rank-tier{display:inline-block;padding:5px 12px;border:1px solid #7fa655;border-radius:7px;color:#cfff81;background:#293b22;font-weight:700}.rank-score{margin:18px 0}.rank-score strong{font-size:3.2rem;font-variant-numeric:tabular-nums;line-height:1.2;color:#fff}.rank-score span{font-weight:800;color:#aaff00}.rank-track{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;flex-wrap:wrap}.rank-track strong{color:#ffff00}.rank-player progress{width:100%;height:12px;margin-top:10px;accent-color:#aaff00;border:0;border-radius:9px;overflow:hidden;background:#3a4436}.rank-player progress::-webkit-progress-bar{background:#3a4436}.rank-player progress::-webkit-progress-value{background:linear-gradient(90deg,#3ff61c,#ffff00)}.rank-player details{border-top:1px solid #47513f;padding-top:14px}.rank-player summary{cursor:pointer;font-weight:700;min-height:40px;color:#c9e7a5}.rank-player ol{padding-left:20px}.rank-player li{margin:12px 0;color:#adb5a8}.rank-player li span{display:block;font-size:.85rem}.rank-player li.rank-earned{color:#c7ff7d}.hurricane-ranks footer{margin-top:22px;font-size:.9rem;color:var(--muted,#bbc8b5)}@media(hover:hover){.rank-player:hover{transform:translateY(-3px);box-shadow:0 8px 28px #aaff0020}}@media(prefers-reduced-motion:reduce){.rank-player{transition:none}.rank-player:hover{transform:none}}html[data-theme=light] .hurricane-ranks .rank-banner,html[data-theme=light] .rank-player{background:linear-gradient(#fff,#e9edf1);color:#18231c}html[data-theme=light] .hurricane-ranks .rank-banner h2,html[data-theme=light] .hurricane-ranks .rank-player h3,html[data-theme=light] .rank-score strong{color:#18231c!important}html[data-theme=light] .rank-kicker,html[data-theme=light] .rank-score span,html[data-theme=light] .rank-player .rank-track strong,html[data-theme=light] .rank-player summary,html[data-theme=light] .rank-player li.rank-earned{color:#24590d}html[data-theme=light] .rank-position,html[data-theme=light] .rank-stats strong{color:#705000}html[data-theme=light] .rank-standing,html[data-theme=light] .rank-player li{color:#384738}@media(max-width:520px){.hurricane-ranks .rank-banner,.rank-player{padding:20px}.rank-toolbar{display:block}.rank-toolbar label{max-width:none}.rank-player-grid{grid-template-columns:1fr}}

.submit-checklist{margin:18px 0;padding:13px 15px;border-left:4px solid var(--yellow,#ffff00);background:color-mix(in srgb,var(--yellow,#ffff00) 10%,transparent);font-weight:700}.submit-checklist.ready{border-left-color:var(--green,#3ff61c);background:color-mix(in srgb,var(--green,#3ff61c) 10%,transparent)}
