.app-top .brand img{height:44px}.app-top .bar{height:64px}.desk-only{display:none}@media (min-width:1100px){.desk-only{display:inline-grid}.greet{display:none}}.app-main{padding:20px 0 110px}.ph-title{font-size:clamp(26px,7.4vw,42px)!important;line-height:1.1}.page-head{margin-bottom:18px;display:grid;grid-gap:14px;gap:14px}.page-head .lead{margin-top:8px;font-size:15.5px}@media (min-width:820px){.page-head{grid-template-columns:1fr auto;align-items:end}}@media (max-width:560px){.page-head .btn{width:100%}}.hq-hero{padding:6px 0 18px}.panel{border-radius:18px;padding:18px 16px;margin-bottom:16px;background:linear-gradient(160deg,rgba(51,18,63,.82),rgba(22,7,30,.9));border:1px solid var(--line-dark)}@media (min-width:720px){.panel{padding:26px}}.panel-title{font-family:var(--head);font-weight:800;font-size:clamp(19px,4.6vw,24px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px;line-height:1.15}.status-msg{font-family:var(--head);font-weight:700;font-size:18px;color:#fff;margin:6px 0 0;line-height:1.35}.stat .of{font-size:.55em;color:var(--muted-dark);margin-left:2px}.v.gold{color:var(--gold)}.legend{display:flex;gap:16px}.legend .lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.legend .lg.passed{background:var(--gold)}.legend .lg.current{background:var(--pink)}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.link{color:var(--blue);font-weight:700}.link,a.link-card{text-decoration:none}a.link-card{color:inherit}a.link-card:hover{border-color:rgba(255,20,147,.6)}.class-panel{border-color:rgba(255,20,147,.45);background:radial-gradient(ellipse 60% 80% at 100% 0,rgba(255,20,147,.2),transparent 65%),linear-gradient(160deg,var(--plum),#1a0822)}.info-line{display:flex;align-items:center;gap:8px;color:var(--muted-dark);font-size:14px;margin:-6px 0 16px}.info-line svg{color:var(--gold);flex:none}.lcard .actions{display:flex;gap:8px;flex:none}.lcard.primary{border-color:rgba(255,20,147,.6);box-shadow:0 20px 50px -30px rgba(255,20,147,.7)}.confirm{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(255,70,110,.1);border:1px solid rgba(255,107,139,.45)}.confirm,.hint-line{font-size:14px;font-weight:600}.hint-line{color:var(--blue);margin:-8px 0 14px}.req{color:var(--pink)}.field{margin-bottom:14px;gap:6px}input:not([type]),input[type=date],input[type=email],input[type=text],input[type=time],select,textarea{min-height:48px;border-radius:12px;padding:10px 14px}textarea{min-height:96px}.unit-input{position:relative}.unit-input input{padding-right:62px}.unit-input span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted-dark);font-size:14px;font-weight:600;pointer-events:none}.num-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 12px;gap:0 12px}@media (min-width:900px){.num-grid{grid-template-columns:repeat(4,1fr)}}.num-grid .hint{font-size:12.5px;line-height:1.35}.form-group{border-radius:16px;padding:18px 16px;margin-bottom:14px;background:var(--plum);border:1px solid rgba(255,20,147,.22)}.form-group>h2{font-size:18px}.form-group>.group-sub{margin:0 0 14px;font-size:14.5px}.group-num{width:auto;min-width:34px;height:28px;padding:0 8px;border-radius:999px;font-size:13px}.goal-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (min-width:900px){.goal-grid{grid-template-columns:repeat(4,1fr)}}.toggle-group button{min-height:46px}.pass-banner{margin-top:14px;padding:12px 14px;border-radius:12px;text-align:center;font-family:var(--head);font-weight:800;letter-spacing:.04em;background:hsla(0,0%,100%,.05);color:var(--muted-dark);display:flex;align-items:center;justify-content:center;gap:8px}.pass-banner.on{background:rgba(255,212,59,.14);color:var(--gold);border:1px solid rgba(255,212,59,.5)}.sticky-save{position:-webkit-sticky;position:sticky;bottom:76px;z-index:5;padding:12px 0 6px;background:linear-gradient(180deg,transparent,var(--night) 40%)}@media (min-width:1100px){.sticky-save{bottom:0}}.goal-nums{display:flex;gap:18px;flex-wrap:wrap}.goal-nums div{display:grid}.goal-nums .k{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark)}.goal-nums .v{font-size:22px}.cat-label,.goal-nums .v{font-family:var(--head);font-weight:800}.cat-label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:8px}.cat-label.blue{color:var(--blue)}.cat-label.pink{color:#ff7bc0}.cat-label.gold{color:var(--gold)}.cat-grid.three{grid-template-columns:repeat(3,1fr)}.sub-label{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.16em;color:var(--pink);text-transform:uppercase;margin:6px 0 10px}.check-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:14px}.check-row label{display:flex;align-items:center;gap:10px;font-weight:600;min-height:44px}.check-row input{width:22px;height:22px;accent-color:var(--pink)}.bars{grid-gap:10px}.bar-row,.bars{display:grid;gap:10px}.bar-row{grid-template-columns:minmax(90px,34%) 1fr auto;grid-gap:10px;align-items:center}.bar-label{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:12px;border-radius:12px;background:hsla(0,0%,100%,.07);overflow:hidden}.bar-track i{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,var(--blue),var(--pink))}.bar-val{font-family:var(--head);font-weight:800;font-size:15px;min-width:44px;text-align:right}.spinner.inline{display:inline-block;width:16px;height:16px;border-width:2px;margin:0 6px -3px 0}.ask-row{display:grid;grid-gap:10px;gap:10px}@media (min-width:720px){.ask-row{grid-template-columns:1fr auto;align-items:end}}.ask-row textarea{min-height:56px}.chip-btn:disabled{opacity:.6}.lesson-list{display:grid;grid-gap:8px;gap:8px}.lesson-item{border-radius:14px;background:rgba(10,3,16,.5);border:1px solid var(--line-dark)}.lesson-item.current{border-color:rgba(255,20,147,.6)}.lesson-item.passed{border-color:rgba(255,212,59,.45)}.lesson-btn{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:12px;background:none;border:0;color:#fff;text-align:left;cursor:pointer;min-height:64px}.lesson-item.passed .lesson-num{background:var(--gold);color:#2a1e00}.lesson-text{display:grid;min-width:0}.lesson-text .stage-tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark)}.lesson-text .title{font-family:var(--head);font-weight:700;font-size:16px;line-height:1.25}.lesson-detail{padding:0 14px 14px 70px;color:var(--muted-dark)}.lesson-detail p{margin:0 0 8px}@media (max-width:520px){.lesson-detail{padding-left:14px}.lesson-btn .badge{display:none}}.id-card{display:flex;gap:16px;align-items:center}.avatar{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:linear-gradient(135deg,var(--pink),#8a1a9b);box-shadow:0 0 0 3px var(--night),0 0 0 5px rgba(255,212,59,.6)}.avatar,.id-name{font-family:var(--head);font-weight:800}.id-name{font-size:clamp(20px,5vw,26px);overflow-wrap:anywhere}.kv{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line-dark)}.kv span{color:var(--muted-dark)}.kv strong{overflow-wrap:anywhere}.greet{padding:0 0 10px;font-size:15px}.stage-badge{font-size:11px;padding:5px 10px}.empty{padding:26px 16px}.empty h3{font-size:19px}.toast-success h2{font-size:clamp(22px,5.6vw,32px)}.check-block{margin-bottom:14px}.check-list{display:grid;grid-gap:8px;gap:8px}@media (min-width:720px){.check-list{grid-template-columns:1fr 1fr}}.check-item{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:12px 14px;border-radius:14px;background:hsla(0,0%,100%,.04);border:1px solid var(--line-dark);color:#fff;font:inherit;font-size:15px;line-height:1.35;cursor:pointer;min-height:48px}.check-item .box{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid hsla(0,0%,100%,.35);display:grid;place-items:center;color:#0d0615}.check-item.on{border-color:rgba(8,212,244,.6);background:rgba(8,212,244,.08)}.check-item.on .box{background:var(--blue);border-color:var(--blue)}.check-item:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.rec-panel{text-align:left;margin:22px auto 0;max-width:640px;padding:18px;border-radius:18px;background:rgba(13,6,21,.55);border:1px solid var(--line-dark)}.rec-panel h3{margin:0 0 6px;font-family:var(--head);font-size:20px}.rec-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.rec{padding:12px 14px;border-radius:14px;background:hsla(0,0%,100%,.04);border:1px solid var(--line-dark);border-left:4px solid var(--gold);display:grid;grid-gap:6px;gap:6px}.rec.pink{border-left-color:var(--pink)}.rec.blue{border-left-color:var(--blue)}.rec-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rec-fix,.rec-top strong{font-size:15px}.rec-fix{display:flex;gap:8px;align-items:flex-start;color:#fff}.rec-fix svg{flex:none;margin-top:3px;color:var(--gold)}.rec-toggle{display:grid;grid-gap:10px;gap:10px;margin-top:4px}.badge.gold{background:rgba(255,212,59,.12);color:var(--gold);border:1px solid rgba(255,212,59,.5)}.goal-result{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border-radius:14px;background:rgba(10,3,16,.6);border:1.5px solid var(--line-dark)}.goal-result.hit{border-color:rgba(255,212,59,.55);background:rgba(255,212,59,.06)}.goal-result.miss{border-color:rgba(255,20,147,.45)}.goal-result .gr-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.goal-result .label{font-family:var(--head);font-weight:700}.goal-result .gr-nums{font-size:15px;color:var(--muted-dark)}.goal-result .gr-nums b{color:#fff;font-family:var(--head);font-size:17px}.goal-setup .goal-grid{align-items:start}.goal-setup .field{margin-bottom:6px}.goal-grid>*{min-width:0}.goal-result .gr-nums{overflow-wrap:anywhere}.goal-result .gr-top{flex-wrap:wrap}.welcome-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.welcome-steps li{display:flex;gap:12px;align-items:flex-start}.welcome-steps li>div{display:grid;grid-gap:2px;gap:2px}.welcome-steps .n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--head);font-weight:800;background:var(--pink);color:#12000a}.welcome-steps li.done .n{background:var(--gold);color:#2a1e00}.welcome-steps li.done strong{text-decoration:line-through;opacity:.7}.welcome-steps .btn-row .btn{width:auto}.shot-box{border-color:rgba(8,212,244,.45)}.shot-box>h2{display:flex;align-items:center;gap:8px}.shot-box>h2 svg{color:var(--blue)}.field.filled input{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,212,244,.18)}.lesson-about{display:block;font-size:.92rem;line-height:1.4;color:var(--muted-dark);margin-top:4px;font-weight:400;text-transform:none;letter-spacing:0}.why-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.why-row select{flex:1 1;min-width:0;max-width:100%}.why-out{margin-top:16px;padding-top:14px;border-top:1px solid hsla(0,0%,100%,.1)}.why-head{font-size:18px;font-weight:700;margin:0 0 10px}.why-k{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px;margin:14px 0 6px;color:#ffd43b}.why-k.up{color:#3ddc97}.why-k.down{color:#ff6b9a}.why-k.try{color:#08d4f4}.why-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;line-height:1.5}.mail-backdrop{position:fixed;inset:0;z-index:200;background:rgba(5,2,10,.72);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}.mail-box{width:100%;max-width:560px;margin:0}.mail-box textarea{width:100%;min-height:180px}.q-done summary{cursor:pointer;font-weight:700;color:#3ddc97}.q-done ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.q-done li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 12px;border:1px solid hsla(0,0%,100%,.1);border-radius:12px;opacity:.85}.q-done .t{flex:1 1 100%;overflow-wrap:anywhere}.rec.win{border-left-color:var(--gold);background:rgba(255,212,59,.06)}.rec.win .rec-fix svg{color:var(--gold)}input.locked{background:hsla(0,0%,100%,.04);color:#fff;font-weight:700;cursor:default;border-style:dashed}.cert-wrap{margin-bottom:22px}.cert{background:#fffbf2;color:#2a1630;border-radius:14px;padding:10px;box-shadow:0 24px 60px -30px rgba(255,212,59,.5);margin:0 auto 14px;max-width:900px}.cert-inner{border:3px double #c9a227;border-radius:10px;padding:clamp(18px,5vw,44px) clamp(14px,5vw,48px);text-align:center;display:grid;grid-gap:clamp(6px,1.6vw,12px);gap:clamp(6px,1.6vw,12px);justify-items:center;background:radial-gradient(ellipse 70% 60% at 50% 0,rgba(255,20,147,.07),transparent 70%)}.cert-logo{width:clamp(110px,26vw,190px);height:auto}.cert-kicker{font-family:var(--head);font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#b0127a;font-size:clamp(12px,2.6vw,16px)}.cert-small{font-size:clamp(13px,2.4vw,16px);color:#6b5872}.cert-name{font-family:var(--head);font-weight:800;font-size:clamp(26px,7vw,52px);line-height:1.1;color:#1b0b22;overflow-wrap:anywhere}.cert-handle{color:#b0127a;font-weight:700;font-size:clamp(13px,2.6vw,17px)}.cert-body{max-width:600px;font-size:clamp(13px,2.5vw,17px);line-height:1.5;color:#3a2a40}.cert-award{font-family:var(--head);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(16px,3.6vw,24px);color:#9a7a0e}.cert-foot{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(14px,5vw,60px);gap:clamp(14px,5vw,60px);width:100%;max-width:560px;margin-top:clamp(6px,2vw,16px)}.cert-foot span{font-size:12px;color:#6b5872;text-transform:uppercase;letter-spacing:.1em}.cert-line{border-bottom:1.5px solid #c9a227;padding-bottom:4px;font-weight:700;font-size:clamp(13px,2.6vw,17px)}.cert-sign{font-style:italic}.cert-id{font-size:11px;color:#8a7890;margin-top:6px}@media print{@page{size:landscape;margin:10mm}body{background:#fff!important}.app-top,.bottom-bar,.no-print,.site-footer{display:none!important}.app-main{padding:0!important}.cert{box-shadow:none;max-width:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cert-wrap{page-break-after:always;break-after:page;margin:0}}.chip-btn.on{background:var(--pink);color:#12000a;border-color:var(--pink)}.help-shot{margin-top:8px}.help-shot summary{cursor:pointer;color:var(--blue);font-weight:700;font-size:14px;list-style:none;display:inline-flex;gap:6px;align-items:center}.help-shot summary::-webkit-details-marker{display:none}.help-shot img{display:block;width:100%;max-width:520px;height:auto;border-radius:12px;margin-top:8px;border:1px solid var(--line-dark)}.help-shot .cap{font-size:12.5px;color:var(--muted-dark);margin-top:4px}.help-shot .hs-open{display:block;position:relative;padding:0;margin:0;border:0;background:none;width:100%;max-width:520px;cursor:zoom-in;text-align:left}.help-shot .hs-hint{position:absolute;right:8px;bottom:8px;display:inline-flex;gap:4px;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(13,6,21,.82);color:#fff;font-size:12px;font-weight:700}.hs-box{position:fixed;inset:0;z-index:200;background:rgba(5,2,10,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 8px 16px}.hs-x{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px;width:44px;height:44px;border-radius:50%;border:1px solid hsla(0,0%,100%,.25);background:hsla(0,0%,100%,.08);color:#fff;display:grid;place-items:center;cursor:pointer}.hs-scroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:10px}.hs-scroll,.hs-scroll img{max-height:calc(100dvh - 120px)}.hs-scroll img{display:block;margin:0;border:0;border-radius:0;max-width:none;width:min(100vw - 16px,1100px);height:auto;object-fit:contain;cursor:zoom-in}.hs-scroll.z img{width:auto;min-width:230vw;max-width:none;max-height:none;cursor:zoom-out}.hs-tip{color:hsla(0,0%,100%,.75);font-size:13px;margin:10px 0 0;text-align:center}