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