:root{--cpt-ctrl-h: 54px;--cpt-header-h: 56px}.cpt-wrapper{width:100%;height:calc(100dvh - var(--cpt-header-h) - var(--cpt-ctrl-h));display:flex;align-items:center;justify-content:center}.cpt-slide{position:relative;background:#fff;overflow:hidden;width:min(100%,calc((100dvh - var(--cpt-header-h) - var(--cpt-ctrl-h)) * 339 / 191));aspect-ratio:339 / 191}.cpt-anim-in{animation:cpt-fade-in .15s ease-out}@keyframes cpt-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.cpt-anim-in{animation:none}}.cpt-controls{height:var(--cpt-ctrl-h);background:var(--sb-bg);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px;font-family:var(--font-ui)}.cpt-step-group{display:flex;align-items:center;gap:8px}.cpt-step-label{color:var(--sb-muted);font-size:.8rem;font-weight:700}.cpt-step-btn{border:2px solid var(--sb-border);border-radius:var(--r-sm);background:#ffffff12;color:var(--sb-text);font-size:.82rem;font-weight:800;padding:5px 13px;cursor:pointer;transition:.2s;font-family:inherit}.cpt-step-btn:hover{border-color:var(--sb-accent)}.cpt-step-btn.active{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff;box-shadow:0 0 0 3px var(--sb-accent-bg)}.cpt-btn-home,.cpt-btn-records,.cpt-btn-fullscreen{border:2px solid var(--sb-border);border-radius:var(--r-sm);background:#ffffff12;color:var(--sb-text);font-size:.82rem;font-weight:800;padding:5px 13px;cursor:pointer;transition:.2s;white-space:nowrap;font-family:inherit}.cpt-btn-home:hover,.cpt-btn-fullscreen:hover{border-color:var(--sb-accent);background:#ffffff26}.cpt-btn-records{border-color:#d87a5566;background:var(--sb-accent-bg);color:var(--sb-accent)}.cpt-btn-records:hover{background:#d87a5547}.cpt-btn-fullscreen{padding:5px 11px;font-size:1rem}.cpt-slide-info{color:var(--sb-muted);font-size:.78rem;font-weight:600;white-space:nowrap;min-width:70px;text-align:right}.cpt-nav-btn{position:fixed;top:calc(50% + (var(--cpt-header-h) - var(--cpt-ctrl-h)) / 2);transform:translateY(-50%);background:#00000059;color:#fff;border:none;font-size:2.4rem;padding:1rem .8rem;cursor:pointer;z-index:30;opacity:0;transition:opacity .2s}body:hover .cpt-nav-btn{opacity:1}.cpt-nav-btn:hover{background:#0009}.cpt-nav-btn.prev{left:0}.cpt-nav-btn.next{right:0}.cpt-progress-track{position:fixed;bottom:calc(var(--cpt-ctrl-h) - 6px);left:0;right:0;height:14px;z-index:26;cursor:pointer;display:flex;align-items:flex-end}.cpt-progress-fill{height:3px;background:var(--accent);transition:width .15s;pointer-events:none}.cpt-records-banner{position:absolute;bottom:0;left:0;right:0;display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:4px 12px;background:#0009;backdrop-filter:blur(3px);z-index:20;pointer-events:none}.cpt-records-banner--visible{display:flex}.cpt-record-chip{display:flex;align-items:center;gap:6px;background:#ffd70026;border:1.5px solid rgba(255,215,0,.45);border-radius:var(--r-sm);padding:2px 11px 2px 4px}.cpt-chip-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;border:2px solid gold;color:#fff}.cpt-chip-name{font-size:.78rem;font-weight:800;color:#ffd54f;white-space:nowrap}.cpt-chip-star{font-size:.7rem}#toast{position:fixed;bottom:calc(var(--cpt-ctrl-h) + 12px);left:50%;transform:translate(-50%);background:var(--sb-bg);color:var(--sb-text);border-radius:var(--r-sm);padding:8px 22px;font-size:.85rem;font-weight:700;font-family:var(--font-ui);z-index:200;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1}#toast.ok{background:var(--success)}#toast.err{background:var(--unread)}.cpt-modal-overlay{position:fixed;inset:0;z-index:100;background:#0e2a2d99;backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}.cpt-modal-overlay.open{display:flex}.cpt-modal-panel{background:linear-gradient(160deg,#141e30,#1a2740);border-radius:var(--r-lg);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--shadow-lg),inset 0 1px #ffffff0f;border:1px solid rgba(255,255,255,.08);font-family:var(--font-ui)}.cpt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;position:sticky;top:0;background:#141e30f2;backdrop-filter:blur(6px);z-index:5}.cpt-modal-header h2{color:#f0f4f8;font-size:1.15rem;font-weight:800;letter-spacing:-.3px}.cpt-btn-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:34px;height:34px;font-size:1rem;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}.cpt-btn-close:hover{background:#ffffff24;color:#fff}.cpt-modal-body{padding:20px 28px;flex:1}.cpt-records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:22px}.cpt-grid-msg{color:#9ca3af;font-size:.9rem;text-align:center;padding:24px 0;grid-column:1 / -1}.cpt-grid-msg--err{color:#ef9a9a}.cpt-record-card{background:#ffffff0a;border-radius:var(--r-md);padding:16px 12px 12px;text-align:center;border:1px solid rgba(255,255,255,.07);transition:all .2s}.cpt-record-card:hover{background:#ffffff14;border-color:#ffffff24;transform:translateY(-2px)}.cpt-rc-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;color:#fff;margin:0 auto 8px;border:2.5px solid rgba(255,255,255,.15)}.cpt-rc-name{font-size:.85rem;font-weight:800;color:#e2e8f0}.cpt-rc-score{font-size:1.5rem;font-weight:800;color:#38bdf8;margin:4px 0 2px;letter-spacing:-.5px}.cpt-rc-label{font-size:.65rem;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cpt-rc-actions{display:flex;gap:6px;justify-content:center;margin-top:10px}.cpt-rc-btn{border:none;border-radius:var(--r-sm);padding:5px 11px;font-family:var(--font-ui);font-size:.7rem;font-weight:700;cursor:pointer;transition:.15s}.cpt-rc-btn--edit{background:#0ea5e933;color:#38bdf8}.cpt-rc-btn--edit:hover{background:#0ea5e959}.cpt-rc-btn--del{background:#ef444426;color:#f87171}.cpt-rc-btn--del:hover{background:#ef44444d}.cpt-form-wrap{background:#ffffff08;border-radius:var(--r-md);padding:18px 22px;border:1px solid rgba(255,255,255,.07)}.cpt-form-wrap h3{color:#94a3b8;font-size:.95rem;margin-bottom:14px;font-weight:800}.cpt-form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.cpt-form-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:120px}.cpt-form-field--score{max-width:140px}.cpt-form-field label{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.cpt-form-field input{padding:9px 14px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#f0f4f8;font-family:var(--font-ui);font-size:.9rem;font-weight:700;outline:none;width:100%;transition:.2s}.cpt-form-field input:focus{border-color:#0ea5e9;background:#0ea5e914}.cpt-form-btns{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.cpt-btn-save{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff;border:none;border-radius:var(--r-md);padding:10px 24px;font-family:var(--font-ui);font-size:.9rem;font-weight:800;cursor:pointer;transition:.2s;box-shadow:0 4px 16px #0ea5e94d}.cpt-btn-save:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e966}.cpt-btn-cancel-form{background:#ffffff0f;color:#94a3b8;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:10px 20px;font-family:var(--font-ui);font-size:.9rem;font-weight:700;cursor:pointer;transition:.15s}.cpt-btn-cancel-form:hover{background:#ffffff1f;color:#e2e8f0}#rec-msg{font-size:.8rem;margin-top:10px;min-height:16px;color:#94a3b8}#rec-msg.ok{color:#4ade80}#rec-msg.err{color:#f87171}.cpt-confirm-overlay{position:fixed;inset:0;z-index:105;background:#0e2a2d99;backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}.cpt-confirm-overlay.open{display:flex}.cpt-confirm-panel{background:linear-gradient(160deg,#141e30,#1a2740);border-radius:var(--r-lg);width:100%;max-width:360px;padding:24px 26px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.08);font-family:var(--font-ui)}.cpt-confirm-panel h2{color:#f0f4f8;font-size:1.05rem;font-weight:800;margin-bottom:8px}.cpt-confirm-text{color:#94a3b8;font-size:.85rem;margin-bottom:18px}.cpt-btn-danger{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3);border-radius:var(--r-md);padding:10px 20px;font-family:var(--font-ui);font-size:.9rem;font-weight:800;cursor:pointer;transition:.15s}.cpt-btn-danger:hover{background:#ef444452}.cpt-pal-slide{position:absolute;inset:0;background:linear-gradient(160deg,#0f172a,#1e293b,#0f172a);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2% 3% 1.5%;overflow:hidden}.cpt-pal-title{font-size:min(4.2vw,7vh);font-weight:800;color:#f0f4f8;letter-spacing:-.5px;margin-bottom:1.5%;flex-shrink:0;text-align:center}.cpt-pal-icon{color:#38bdf8}.cpt-pal-subtitle{font-size:min(1.8vw,3vh);font-weight:600;color:#64748b;margin-top:-.8%;margin-bottom:1.5%;letter-spacing:.3px}.cpt-pal-podium{display:flex;align-items:flex-end;justify-content:center;gap:min(1.5vw,1.2vh);margin-bottom:min(1.5vw,1.5vh);flex-shrink:0}.cpt-pal-podium-item{display:flex;flex-direction:column;align-items:center;gap:.3vh;padding:min(1vw,.8vh) min(1.2vw,1vh);border-radius:min(1.5vw,1.2vh);min-width:min(11vw,88px);position:relative}.cpt-pal-podium-item.rank-1{background:#facc1514;border:1.5px solid rgba(250,204,21,.2)}.cpt-pal-podium-item.rank-2{background:#94a3b80f;border:1.5px solid rgba(148,163,184,.15)}.cpt-pal-podium-item.rank-3{background:#b482500f;border:1.5px solid rgba(180,130,80,.15)}.cpt-pal-podium-rank{position:absolute;top:min(-.8vw,-.6vh);right:min(.6vw,.5vh);font-size:min(2vw,1.6vh);font-weight:800}.rank-1 .cpt-pal-podium-rank{color:#facc15}.rank-2 .cpt-pal-podium-rank{color:#94a3b8}.rank-3 .cpt-pal-podium-rank{color:#b4826a}.cpt-pca{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}.cpt-pal-podium-item .cpt-pca{width:min(7vw,5.5vh);height:min(7vw,5.5vh);font-size:min(2.6vw,2vh)}.rank-1 .cpt-pca{border:2.5px solid #FACC15}.rank-2 .cpt-pca{border:2.5px solid #94A3B8}.rank-3 .cpt-pca{border:2.5px solid #B4826A}.cpt-pal-podium-item .cpt-pcn{font-size:min(1.8vw,1.5vh);font-weight:700;color:#e2e8f0}.cpt-pal-podium-item .cpt-pcs{font-size:min(3vw,2.4vh);font-weight:800}.rank-1 .cpt-pcs{color:#facc15}.rank-2 .cpt-pcs{color:#cbd5e1}.rank-3 .cpt-pcs{color:#d4a883}.cpt-pal-cards{display:flex;flex-wrap:wrap;gap:min(1vw,.8vh);justify-content:center;align-items:flex-start;width:100%;overflow:hidden}.cpt-pal-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:min(1.5vw,1.2vh);padding:min(1vw,.8vh) min(1.2vw,1vh);display:flex;flex-direction:column;align-items:center;gap:.25vh;min-width:min(8vw,64px);transition:all .15s}.cpt-pal-card:hover{background:#ffffff14}.cpt-pal-card .cpt-pca{width:min(5vw,4vh);height:min(5vw,4vh);border:2px solid rgba(255,255,255,.15);font-size:min(2vw,1.6vh)}.cpt-pal-card .cpt-pcn{font-size:min(1.6vw,1.4vh);font-weight:700;color:#cbd5e1;text-align:center}.cpt-pal-card .cpt-pcs{font-size:min(2.4vw,2vh);font-weight:800;color:#38bdf8}.cpt-pal-empty{font-size:min(2.5vw,4vh);color:#64748b;font-weight:600;text-align:center;margin-top:3%}.cpt-pal-accent{color:#38bdf8}@keyframes cpt-confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.3}}.cpt-confetti-piece{position:fixed;top:0;border-radius:3px;z-index:50;pointer-events:none;animation:cpt-confetti-fall linear forwards}body.cpt-fullscreen-active .lc-header{display:none}body.cpt-fullscreen-active .cpt-wrapper{height:calc(100dvh - var(--cpt-ctrl-h))}.cpt-modal-panel::-webkit-scrollbar{width:6px}.cpt-modal-panel::-webkit-scrollbar-track{background:transparent}.cpt-modal-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.cpt-controls *:focus-visible,.cpt-modal-panel *:focus-visible,.cpt-confirm-panel *:focus-visible,.cpt-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media(max-height:850px)and (min-width:700px){:root{--cpt-ctrl-h: 40px}.cpt-controls{padding:0 8px;gap:6px;font-size:.75rem}.cpt-step-label{font-size:.7rem}.cpt-step-btn,.cpt-btn-home,.cpt-btn-records{font-size:.7rem;padding:4px 8px}.cpt-slide-info{font-size:.65rem;min-width:50px}.cpt-pal-title{font-size:min(3vw,5vh)}.cpt-pal-subtitle{font-size:min(1.5vw,2.5vh)}.cpt-pal-podium{gap:min(1vw,.8vh);margin-bottom:min(1vh,1vh)}.cpt-pal-podium-item{padding:min(.7vw,.6vh) min(1vw,.8vh)}.cpt-pal-cards{gap:min(.8vw,.6vh)}.cpt-record-chip{padding:1px 6px;font-size:.7rem}.cpt-record-card{padding:12px 10px}}.cpt-step-btn,.cpt-btn-home,.cpt-btn-records,.cpt-btn-fullscreen,.cpt-nav-btn,.cpt-btn-close,.cpt-record-card,.cpt-rc-btn,.cpt-btn-save,.cpt-btn-cancel-form,.cpt-btn-danger,.cpt-pal-card{touch-action:manipulation;min-height:48px}@media(hover:none){.cpt-step-btn:hover,.cpt-btn-home:hover,.cpt-btn-records:hover,.cpt-btn-fullscreen:hover,.cpt-nav-btn:hover,.cpt-btn-close:hover,.cpt-record-card:hover,.cpt-rc-btn:hover,.cpt-btn-save:hover,.cpt-btn-cancel-form:hover,.cpt-pal-card:hover{background:initial;transform:none;border-color:initial;color:initial}.cpt-step-btn:active,.cpt-btn-home:active,.cpt-btn-records:active,.cpt-btn-fullscreen:active,.cpt-nav-btn:active,.cpt-btn-close:active,.cpt-record-card:active,.cpt-rc-btn:active,.cpt-btn-save:active,.cpt-btn-cancel-form:active,.cpt-pal-card:active{opacity:.75;transform:scale(.97)}}
