@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
.hp{box-sizing:border-box;max-width:1100px;width:100%;margin:30px auto;padding:0 18px 40px;color:#16476a;font-family:Nunito,'Segoe UI',sans-serif}.hp *{box-sizing:border-box}.hp [hidden]{display:none!important}.hp .intro{text-align:center;max-width:820px;margin:0 auto 24px}.hp h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.2;font-weight:800;color:#0875ac;margin:0 0 12px}.hp h2{font-size:1.3rem;margin:0 0 12px}.hp h3{font-size:1.04rem;margin:0 0 9px}.hp p{line-height:1.65}.hp .intro p{font-size:1.1rem;margin:0}.hp .glass{padding:24px;border:1px solid white;border-radius:26px;background:linear-gradient(135deg,#ffffffed,#e7f9ffda);box-shadow:inset 0 1px white,0 12px 32px #1d779f26}.hp .grid{display:grid;gap:20px}.hp .two{grid-template-columns:1fr 1fr}.hp .three{grid-template-columns:repeat(3,minmax(0,1fr))}.hp .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hp .between{justify-content:space-between}.hp .mt{margin-top:20px}.hp .small{font-size:.83rem;color:#486e87;line-height:1.6}.hp .pill{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid white;border-radius:999px;background:linear-gradient(#faffff,#d9efff);color:#086591;font-size:.75rem;font-weight:800;box-shadow:inset 0 1px white,0 3px 10px #176b9815}.hp .purple{color:#6547a5;background:linear-gradient(#fff,#eee8ff)}.hp .team{border-top:4px solid #2193ce}.hp .team.purple{border-top-color:#8262bb;color:#16476a}.hp label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:800}.hp button,.hp input,.hp select{font:inherit;min-height:44px}.hp button{border-radius:999px;border:1px solid #8ac5e4;background:linear-gradient(#a8e4f7,#68bfdf 48%,#208fbc 51%,#0c75a9);color:white;box-shadow:inset 0 1px #ffffffcc,0 3px 8px #12658d25;text-shadow:0 1px 1px #07538066;padding:10px 16px;font-weight:800;cursor:pointer}.hp button:hover:not(:disabled){filter:brightness(1.05)}.hp button.secondary{background:linear-gradient(#fff,#e5f4ff);color:#17618d;border-color:#aacfe5;text-shadow:0 1px white}.hp button.danger{background:linear-gradient(#fff5ef,#ffdbca);color:#923d29;border-color:#d7a994;text-shadow:none}.hp button:disabled{opacity:.45;cursor:default;box-shadow:none}.hp :is(input,select){padding:10px 12px;border:1px solid #9fc7df;border-radius:12px;background:linear-gradient(#f5fbff,#fff);color:#16476a;width:100%}.hp input[type=checkbox]{width:20px;min-height:20px;accent-color:#1686b5}.hp .check{display:flex;flex-direction:row;align-items:center;gap:8px;padding:7px}.hp .choices{display:flex;gap:3px 10px;flex-wrap:wrap}.hp :focus-visible{outline:3px solid #0875ac;outline-offset:3px}.hp fieldset{border:1px solid #b4d5e8;border-radius:16px;padding:15px;margin:0;min-width:0}.hp legend{font-weight:900;padding:0 7px}.hp .field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hp .full{grid-column:1/-1}.hp .status{min-height:1.6em;font-size:.9rem;color:#316d91}.hp .warning{padding:12px 15px;background:#fff5de;border:1px solid #d5b96b;border-radius:12px;color:#805b1f}.hp .timer{font-size:1.3rem;font-weight:900;color:#086591;font-variant-numeric:tabular-nums}.hp .muted{color:#628399}.hp .pair-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.hp .pair{padding:16px;border:1px solid #b4d5e8;border-radius:16px;background:#ffffffad}.hp .pair ul{padding-left:18px;margin:8px 0}.hp .offline{opacity:.55}.hp .assign-table{width:100%;border-collapse:collapse;font-size:.85rem}.hp .assign-table td,.hp .assign-table th{padding:8px;text-align:left;border-bottom:1px solid #c5dfed}.hp .assign-table select{min-width:120px}.hp .table-scroll{overflow:auto}.hp .toolbar{padding:15px;background:linear-gradient(#fff,#e5f4ff);border:1px solid #b4d5e8;border-radius:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:end}.hp .toolbar label{min-width:95px}.hp .score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hp .measure{padding:4px 8px 8px;border:1px solid #b3d3e7;border-radius:14px;background:#fff;min-width:0;overflow:auto;position:relative}.hp .measure.incomplete{border-color:#d8b66c;background:#fffdf6}.hp .measure.playing{outline:3px solid #4cb5de;outline-offset:0}.hp .measure-label{font-size:.73rem;font-weight:800;color:#537b94;padding:7px 5px}.hp .staff{min-height:150px}.hp .staff svg{display:block}.hp .empty-measure{font-size:.78rem;color:#6d8b9e;margin:0 8px 8px}.hp .note-hit{fill:transparent;stroke:transparent;stroke-width:2;cursor:pointer;touch-action:none}.hp .note-hit.selected,.hp .note-hit:focus{fill:#79d0f644;stroke:#1686b5}.hp .note-hit.playing{fill:#f3c85766;stroke:#c69a28}.hp .approval{padding:16px;border-radius:16px;background:#e8f6ff;border:1px solid #b4d5e8}.hp .matching{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}.hp .audio-column{position:sticky;top:12px;align-self:start;max-height:75vh;overflow:auto}.hp .clip{padding:12px;border:1px solid #b4d5e8;border-radius:16px;background:#fff;margin:0 0 10px}.hp .clip.selected{outline:3px solid #1686b5;background:#e4f5ff}.hp .clip button{padding:7px 11px;min-height:40px;font-size:.8rem}.hp .clip strong{display:block;margin-bottom:8px}.hp .notation-card{border:2px solid #c0dceb;border-radius:18px;padding:14px;background:#ffffffdb;cursor:pointer}.hp .notation-card.selected,.hp .notation-card.matched{border-color:#1686b5;background:#e8f7ff}.hp .notation-card.correct{border-color:#2b916e}.hp .notation-card.wrong{border-color:#bb7058}.hp .notation-card .score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hp .notation-card .measure{padding:2px}.hp .notation-card .measure-label{font-size:.67rem}.hp .notation-card .staff{min-height:120px}.hp .sticky-selection{position:sticky;top:0;z-index:2;padding:12px;border:1px solid #a6d3ec;border-radius:13px;background:#edfafff2;backdrop-filter:blur(12px);font-size:.85rem;font-weight:800;margin-bottom:12px}.hp .score-total{font-size:2rem;font-weight:900}.hp .review-item{padding:16px 0;border-top:1px solid #c3dcea}.hp .error-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hp .error-breakdown>div{padding:14px;border-radius:14px;background:#ffffffa8;border:1px solid #bdd8e9}.hp details{margin-top:16px;line-height:1.7}.hp summary{font-weight:900;cursor:pointer}.hp .playback{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hp .playback button{font-size:.8rem;padding:8px 12px}.hp .roundbar{padding:16px 20px;position:sticky;top:0;z-index:8;backdrop-filter:blur(12px)}.hp .banner{background:#e5f4ff;border:1px solid #aad0e7;border-radius:16px;padding:16px}.hp .notice{border-left:4px solid #1686b5;padding:10px 14px;background:#ffffff99}.hp .loading{text-align:center;padding:40px}.hp .connection{color:#89631d;font-size:.83rem;min-height:1.2em}.hp a{color:#086591;font-weight:800}.hp button.approved{background:linear-gradient(#e9fff7,#a8e4d0);color:#256e56;border-color:#8dc3ae;text-shadow:none}
@media(max-width:800px){.hp .two,.hp .three{grid-template-columns:1fr}.hp .field-grid{grid-template-columns:1fr 1fr}.hp .matching{grid-template-columns:1fr}.hp .audio-column{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:none}.hp .clip{margin:0}.hp .notation-card .score{grid-template-columns:1fr}.hp .score{grid-template-columns:1fr}.hp .error-breakdown{grid-template-columns:1fr 1fr}.hp .glass{padding:18px}.hp .roundbar{position:static}.hp .toolbar{gap:8px}.hp .toolbar label{flex:1;min-width:115px}}
@media(max-width:480px){.hp{padding:0 9px 30px;margin-top:22px}.hp .field-grid{grid-template-columns:1fr}.hp .audio-column{grid-template-columns:1fr}.hp .intro p{font-size:1rem}.hp .pill{font-size:.7rem}.hp .error-breakdown{grid-template-columns:1fr 1fr}.hp .score-total{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.hp *{scroll-behavior:auto!important}}

body{margin:0;background:linear-gradient(135deg,#eafaff,#dff5ff 55%,#e9faf6);font-family:Nunito,'Segoe UI',sans-serif;color:#16476a}.hp .intro{max-width:950px}.hp .intro p{color:#456d85}.hp .icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(#fff,#c9f0ff);box-shadow:0 4px 14px #1d6b9221;color:#168cbb;font-size:2rem;margin-bottom:18px}.hp .station-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e0f5ff;color:#1783b4;font-weight:900;margin:10px 0}.hp .pipeline{margin-top:20px;padding:17px;border:1px solid #bcdcea;border-radius:14px;background:#ecf9ff;font-size:.8rem;font-weight:800;text-align:center;line-height:2}.hp .pipeline span{padding:0 10px;color:#73a8c1}.hp .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.hp .twofields{grid-template-columns:1fr 1fr}.hp fieldset{border:0;margin:0;padding:0;min-width:0}.hp fieldset:disabled{opacity:.78}.hp .topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px}.hp .topbar p{margin:5px 0 0}.hp .crew{padding:17px;border:1px solid #b7d7e7;border-radius:17px;background:#ffffffb5}.hp .crew p{margin:10px 0}.hp table{width:100%;border-collapse:collapse;font-size:.83rem}.hp th,.hp td{text-align:left;padding:12px 9px;border-bottom:1px solid #c9e2ed;white-space:nowrap}.hp th{color:#47819c;font-size:.73rem}.hp .mission-brief{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 0;margin-top:15px;border-top:1px solid #c4ddea;border-bottom:1px solid #c4ddea}.hp .mission-brief span{display:block;color:#5b7e93;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.hp .mission-brief strong{display:block;font-size:1.05rem;color:#0d77a4;margin-top:5px}.hp .tabs{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.hp .station-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.hp .station-heading h3{display:flex;gap:10px;align-items:center;margin:0}.hp .design-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center}.hp #rocket-art svg{width:100%;height:300px;display:block}.hp .chart{width:100%;height:280px;display:block;margin-top:20px;border:1px solid #c5dfea;border-radius:16px;background:#f2fbff}.hp .controls-map{margin:0;touch-action:none;cursor:crosshair}.hp .flight-map{height:310px}.hp .command-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.hp .command-chips button{min-height:34px;padding:7px 10px;font-size:.67rem}.hp .selected{outline:2px solid #188fbd}.hp .checks{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px}.hp .check{display:flex;gap:10px;border-radius:15px;padding:13px;border:1px solid #c6dfeb;background:#fff9;align-items:start}.hp .check>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;font-weight:900}.hp .pass>span{background:#ddf4e8;color:#287352}.hp .fail>span{background:#fae8ce;color:#9a6c2b}.hp .check strong{font-size:.8rem}.hp .check p{font-size:.74rem;color:#5b7b90;margin:5px 0 0}.hp .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.hp .metrics span{font-size:.72rem;color:#608396}.hp .metrics b{display:block;font-size:1rem;color:#237b9e;margin-top:5px}.hp details summary{font-weight:900;cursor:pointer;line-height:1.6}.hp .guide{margin-top:22px;font-size:.85rem}.hp .history{font-size:.8rem;line-height:2;max-height:320px;overflow:auto;padding-left:22px}.hp #connection{font-size:.75rem;color:#54849b;min-height:1em}.hp #message{min-height:1.4em;font-size:.85rem}.hp #assignment label{flex:1;min-width:180px}@media(max-width:850px){.hp .fields{grid-template-columns:1fr 1fr}.hp .topbar{align-items:flex-start;flex-direction:column}.hp .design-layout{grid-template-columns:130px minmax(0,1fr)}.hp .checks{grid-template-columns:1fr}}@media(max-width:650px){.hp .glass{padding:19px}.hp .mission-brief{grid-template-columns:1fr 1fr}.hp .design-layout{grid-template-columns:1fr}.hp #rocket-art svg{height:190px}.hp .metrics{grid-template-columns:1fr 1fr}.hp .tabs button{flex:1;min-width:140px}.hp .chart{height:260px}.hp .pipeline{text-align:left}.hp .intro p{font-size:.93rem}}@media(max-width:400px){.hp .fields{grid-template-columns:1fr}.hp .glass{padding:16px}.hp .tabs button{font-size:.78rem}}
