body{margin:0}.gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:20000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gate-modal{background:var(--bg-primary);border:3px solid var(--accent);border-radius:20px;padding:40px 45px;text-align:center;max-width:480px;width:92%;box-shadow:0 0 40px var(--accent),0 20px 60px #0006}.gate-modal h2{color:var(--accent);font-size:1.6rem;margin-bottom:8px}.gate-highlights{text-align:left;margin:14px 0;display:flex;flex-direction:column;gap:6px}.highlight-item{font-size:.85rem;color:var(--text-primary);padding:5px 10px;background:var(--bg-secondary);border-radius:6px;line-height:1.4}.highlight-item strong{color:var(--accent)}.gate-desc{color:var(--text-secondary);font-size:1rem;margin-bottom:20px}.gate-desc strong{color:var(--accent)}.gate-error{color:#e74c3c;font-size:.9rem}.gate-consent{margin:16px 0;text-align:left}.gate-consent label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text-primary);cursor:pointer;line-height:1.5}.gate-consent input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.gate-login-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;border:1px solid #dadce0;border-radius:10px;background:#fff;color:#3c4043;font-size:1.05rem;font-weight:600;cursor:pointer;transition:box-shadow .2s,transform .2s}.gate-login-btn:hover:not(:disabled){box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.gate-login-btn:disabled{opacity:.6;cursor:not-allowed}.gate-note{font-size:.8rem;color:var(--text-secondary);margin-top:10px;font-style:italic}.gate-promos{margin-top:24px;padding-top:20px;border-top:1px solid var(--bg-secondary)}.gate-promos p{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.gate-promo-links{display:flex;flex-direction:column;gap:8px}.gate-promo-links a{display:block;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--accent);border-radius:8px;text-decoration:none;color:var(--text-primary);font-size:.9rem;font-weight:600;transition:transform .2s,background .2s}.gate-promo-links a:hover{transform:translateY(-2px);background:var(--accent);color:#fff}.owl-mascot{display:inline-block;cursor:default;transition:transform .3s ease}.owl-body{transition:transform .4s ease}.owl-eye.blink circle{ry:1;transition:ry .1s ease}.owl-eye.blink .owl-pupil-left,.owl-eye.blink .owl-pupil-right{opacity:0}.owl-eye.spinning .owl-pupil-left{animation:spin-pupil-left .4s linear infinite;transform-origin:38px 35px}.owl-eye.spinning .owl-pupil-right{animation:spin-pupil-right .4s linear infinite;transform-origin:62px 35px}@keyframes spin-pupil-left{0%{transform:rotate(0) translate(3px)}to{transform:rotate(360deg) translate(3px)}}@keyframes spin-pupil-right{0%{transform:rotate(0) translate(3px)}to{transform:rotate(360deg) translate(3px)}}.owl-dizzy{animation:dizzy-wobble .5s ease-in-out infinite alternate}@keyframes dizzy-wobble{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.owl-bounce{animation:owl-bounce .6s ease-out}@keyframes owl-bounce{0%{transform:translateY(0)}30%{transform:translateY(-15px)}50%{transform:translateY(0)}70%{transform:translateY(-8px)}to{transform:translateY(0)}}.owl-wings.flap ellipse:first-child{animation:flap-left .3s ease-in-out 3}.owl-wings.flap ellipse:last-child{animation:flap-right .3s ease-in-out 3}@keyframes flap-left{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg);transform-origin:26px 55px}}@keyframes flap-right{0%,to{transform:rotate(0)}50%{transform:rotate(20deg);transform-origin:74px 55px}}.timer{display:inline-block;font-family:Courier New,Courier,monospace;font-size:1.1rem;font-weight:700;background:var(--bg-secondary);color:var(--text-primary);padding:6px 14px;border-radius:6px;letter-spacing:.08em;border:1px solid var(--text-secondary);-webkit-user-select:none;user-select:none}.theme-switcher{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:transform .15s ease,opacity .2s;-webkit-user-select:none;user-select:none}.theme-switcher:hover{transform:scale(1.05);opacity:.9}.theme-switcher:active{transform:scale(.97)}.theme-icon{font-size:1rem;line-height:1}.theme-label{font-weight:500}.install-btn{height:40px;padding:0 14px;border:2px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:.92rem;font-weight:800;cursor:pointer;white-space:nowrap}.install-btn:hover{background:var(--accent);color:#fff}.install-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:20px}.install-modal{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:28px 26px;border-radius:18px;background:#fff;color:#1f2937;box-shadow:0 8px 32px #0000004d}.install-icon{text-align:center;font-size:44px;margin-bottom:6px}.install-modal h2{text-align:center;font-size:1.25rem;margin-bottom:6px}.install-sub{text-align:center;color:#6b7280;font-size:.9rem;margin-bottom:14px}.install-steps{padding-left:1.4em;margin:12px 0 20px;line-height:1.7;font-size:.98rem}.install-steps li{margin-bottom:8px}.install-close{width:100%;min-height:50px;border:none;border-radius:12px;background:#e94560;color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer}@media(max-width:640px){.install-btn{padding:0 10px}.install-btn-long{display:none}}.app-header{background:var(--bg-secondary);border-bottom:1px solid color-mix(in srgb,var(--text-secondary) 25%,transparent);padding:10px 16px 0}.ah-top{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ah-brand{display:flex;align-items:center;gap:10px;border:none;background:none;color:inherit;cursor:pointer;text-align:left;padding:0}.ah-brand .owl-mascot svg{width:44px;height:48px}.ah-brand-text{display:flex;flex-direction:column}.ah-title{font-size:1.25rem;font-weight:800;letter-spacing:.5px;color:var(--accent)}.ah-subtitle{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-left:4px}.ah-meta{max-width:1280px;margin:6px auto 0;display:flex;align-items:center;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}.ah-dev{margin:0;font-size:.82rem;color:var(--text-secondary);line-height:1.5}.ah-dev a{margin-left:6px;color:var(--accent);text-decoration:none;white-space:nowrap}.ah-dev a:hover{text-decoration:underline}.ah-more{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.ah-sponsor-pill{min-height:32px;padding:0 14px;border:1px solid #f59e0b;border-radius:999px;background:color-mix(in srgb,#f59e0b 14%,transparent);color:#f59e0b;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap}.ah-sponsor-pill:hover{background:#f59e0b;color:#1c1300}.ah-apps{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ah-apps-label{font-size:.8rem;color:var(--text-secondary)}.ah-app{padding:3px 10px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:999px;color:var(--accent);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}.ah-app:hover{background:var(--accent);color:var(--bg-primary)}.ah-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ah-clock .timer{font-size:.95rem}.ah-tabs{max-width:1280px;margin:10px auto 0;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ah-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:8px 4px;border:none;border-radius:14px 14px 0 0;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:700;transition:background .2s,color .2s;border-bottom:4px solid transparent}.ah-tab:hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ah-tab.active{color:var(--accent);background:var(--bg-primary);border-bottom-color:var(--accent)}.ah-tab-icon{font-size:1.6rem;line-height:1.1}.ah-tab-label{font-size:.98rem;white-space:nowrap}.ah-lock{font-size:.7em;margin-left:2px}.ah-tab-classroom{border-left:1px dashed color-mix(in srgb,var(--text-secondary) 45%,transparent);border-radius:0 14px 0 0}@media(max-width:640px){.app-header{padding:8px 8px 0}.ah-clock,.theme-label,.ah-login-long{display:none}.ah-dev{font-size:.74rem}.ah-sponsor-pill{min-height:30px;font-size:.8rem}.ah-app{font-size:.76rem;padding:2px 8px}.ah-actions{gap:6px}.ah-title{font-size:1.05rem}.ah-subtitle{font-size:.82rem}.ah-tabs{gap:2px}.ah-tab{min-height:60px}.ah-tab-label{font-size:.8rem}.ah-tab-icon{font-size:1.45rem}}.footer{text-align:center;padding:16px;background:var(--bg-secondary);border-top:1px solid var(--text-secondary);margin-top:auto;font-size:.85rem;color:var(--text-secondary)}.footer-links{margin-bottom:8px}.footer-links a{color:var(--accent);text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-sep{margin:0 10px;color:var(--text-secondary)}.footer-copyright{display:flex;align-items:center;justify-content:center;gap:8px}.admin-entry{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;opacity:.4;padding:2px}.admin-entry:hover{opacity:1}.footer-sponsor{margin:8px auto 4px;display:block;min-height:40px;padding:0 18px;border:1px solid #f59e0b;border-radius:999px;background:transparent;color:#f59e0b;font-size:.9rem;font-weight:700;cursor:pointer}.footer-sponsor:hover{background:#f59e0b;color:#1c1300}.footer-mail{margin-left:8px;color:inherit}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-panel{background:var(--bg-primary);border-radius:12px;padding:32px;width:90%;max-width:380px;box-shadow:0 16px 48px #00000040;display:flex;flex-direction:column;gap:14px}.admin-panel h2{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.admin-panel input[type=password],.admin-panel input[type=text]{width:100%;padding:8px 12px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;box-sizing:border-box}.admin-error{font-size:.85rem;color:#e55;padding:4px 0}.admin-buttons{display:flex;gap:10px}.admin-buttons button{flex:1;padding:9px 16px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s}.admin-buttons button:hover{opacity:.85}.btn-secondary{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--text-secondary)!important}.admin-panel-full{max-width:520px;padding:0;overflow:hidden}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--text-secondary)}.admin-header h2{margin:0;font-size:1.1rem}.admin-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:4px;transition:color .2s}.admin-close:hover{color:var(--text-primary)}.admin-tabs{display:flex;border-bottom:1px solid var(--text-secondary);padding:0 24px;gap:4px}.admin-tabs button{padding:10px 16px;border:none;background:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}.admin-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.admin-section{padding:20px 24px;display:flex;flex-direction:column;gap:12px}.quote-mode-tabs{display:flex;gap:6px}.quote-mode-tabs button{padding:5px 14px;border:1px solid var(--text-secondary);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:background .2s,color .2s}.quote-mode-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.quote-add{display:flex;gap:8px}.quote-add input{flex:1;padding:7px 10px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem}.quote-add button{padding:7px 16px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.9rem;cursor:pointer;transition:opacity .2s}.quote-add button:hover{opacity:.85}.quote-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.quote-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;font-size:.9rem;gap:10px}.quote-item span{flex:1;color:var(--text-primary);word-break:break-all}.quote-item button{padding:3px 10px;border:none;border-radius:4px;background:#e55;color:#fff;font-size:.8rem;cursor:pointer;transition:opacity .2s;flex-shrink:0}.quote-item button:hover{opacity:.8}.empty-hint{font-size:.85rem;color:var(--text-secondary);text-align:center;padding:16px 0}.admin-section label{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text-primary);cursor:pointer}.admin-section label span{color:var(--text-primary)}.admin-section button{padding:8px 20px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s;align-self:flex-start}.admin-section button:hover{opacity:.85}.user-search{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.user-search input{flex:1;min-width:200px;margin-bottom:0!important}.user-search button{padding:8px 14px;border:none;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font-size:.85rem}.user-count{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.user-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--bg-secondary);border-radius:6px}.user-table{width:100%;border-collapse:collapse;font-size:.85rem}.user-table th{position:sticky;top:0;background:var(--bg-secondary);padding:8px 10px;text-align:left;font-weight:600;border-bottom:2px solid var(--accent)}.user-table td{padding:6px 10px;border-bottom:1px solid var(--bg-secondary)}.user-table tr:hover td{background:var(--bg-secondary)}.btn-delete-user{padding:3px 10px;border:none;border-radius:4px;background:#e55;color:#fff;font-size:.75rem;cursor:pointer}.btn-delete-user:hover{background:#c33}.sponsor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.sponsor-modal{background:#fff;border-radius:16px;padding:24px;max-width:440px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d}.sponsor-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.2em;color:#999;cursor:pointer}.sponsor-modal h2{text-align:center;color:#2c3e50;margin:0 0 4px;font-size:1.3em}.sponsor-desc{text-align:center;color:#888;font-size:.9em;margin:0 0 16px}.sponsor-social{text-align:center;padding:8px 12px;border-radius:8px;background:#3498db14;border:1px solid rgba(52,152,219,.15);font-size:.85em;color:#555;margin-bottom:16px}.sponsor-tiers{display:flex;gap:8px;margin-bottom:16px}.sponsor-tier{flex:1;padding:12px 8px;border:2px solid #ddd;border-radius:12px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.sponsor-tier:hover{border-color:#3498db}.sponsor-tier.selected{border-color:#3498db;background:#3498db0d}.sponsor-tier.recommended{border-color:#e67e22}.sponsor-tier.recommended.selected{border-color:#e67e22;background:#e67e220d}.tier-badge{position:absolute;top:-8px;right:-4px;background:#e67e22;color:#fff;font-size:.7em;padding:2px 8px;border-radius:8px;font-weight:700}.tier-label{font-size:.8em;color:#555;margin-bottom:6px;line-height:1.3}.tier-amount{font-size:1.2em;font-weight:800;color:#2c3e50}.sponsor-bank{background:#f8f9fa;border-radius:10px;padding:12px 16px;margin-bottom:16px}.sponsor-bank h3{font-size:.9em;color:#555;margin:0 0 8px}.bank-row{display:flex;justify-content:space-between;font-size:.85em;padding:4px 0;border-bottom:1px solid #eee}.bank-row:last-child{border-bottom:none}.bank-row span{color:#666}.bank-row strong{color:#2c3e50}.bank-memo strong{display:flex;align-items:center;gap:8px;color:#c0392b}.bank-copy{font-size:.85em;padding:2px 8px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#2c3e50;cursor:pointer}.bank-memo-note{font-size:.78em;color:#666;margin:8px 0 0;line-height:1.5}.sponsor-form{display:flex;gap:12px;margin-bottom:12px}.form-row{flex:1}.form-row label{display:block;font-size:.8em;color:#888;margin-bottom:4px}.form-row input{width:100%;padding:8px 10px;border:2px solid #ddd;border-radius:8px;font-size:.9em;box-sizing:border-box}.form-row input:focus{border-color:#3498db;outline:none}.sponsor-agree{display:flex;align-items:flex-start;gap:8px;font-size:.85em;color:#555;margin-bottom:12px;cursor:pointer}.sponsor-agree input{margin-top:2px}.sponsor-error{color:#e74c3c;font-size:.85em;text-align:center;margin-bottom:8px}.sponsor-submit{width:100%;padding:12px;border:none;border-radius:10px;background:#3498db;color:#fff;font-size:1.05em;font-weight:700;cursor:pointer;transition:all .2s}.sponsor-submit:hover:not(:disabled){filter:brightness(1.1)}.sponsor-submit:disabled{opacity:.4;cursor:not-allowed;background:#aaa}.sponsor-success{text-align:center;padding:20px 0}.success-icon{width:56px;height:56px;border-radius:50%;background:#2ecc71;color:#fff;font-size:2em;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.sponsor-close-btn{margin-top:16px;padding:10px 32px;border:none;border-radius:8px;background:#3498db;color:#fff;font-size:1em;cursor:pointer}@media(max-width:480px){.sponsor-tiers{gap:6px}.tier-label{font-size:.7em}.tier-amount{font-size:1em}.sponsor-form{flex-direction:column;gap:8px}}.sponsor-login-note{margin-top:12px;text-align:center}.sponsor-login-note p{font-size:.9rem;margin-bottom:10px;color:#555}.nudge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.nudge-modal{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;text-align:center;box-shadow:0 20px 60px #0000004d}.nudge-x{position:absolute;top:10px;right:12px;background:none;border:none;font-size:1.1em;color:#999;cursor:pointer}.nudge-modal h3{color:#2c3e50;margin:0 0 8px;font-size:1.15em}.nudge-subtitle{color:#777;font-size:.88em;margin:0 0 12px;line-height:1.5}.nudge-social{padding:8px 12px;border-radius:8px;background:#e67e220f;border:1px solid rgba(230,126,34,.15);font-size:.82em;color:#666;margin-bottom:14px}.nudge-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.nudge-tier{padding:10px 6px;border:2px solid #eee;border-radius:10px;position:relative}.nudge-tier.recommended{border-color:#e67e22;background:#e67e220a}.nudge-tier-label{font-size:.72em;color:#777;margin-bottom:4px;line-height:1.3}.nudge-tier-amount{font-size:1.05em;font-weight:800;color:#2c3e50}.nudge-tier-badge{position:absolute;top:-7px;right:-4px;background:#e67e22;color:#fff;font-size:.65em;padding:1px 6px;border-radius:6px;font-weight:700}.nudge-actions{display:flex;flex-direction:column;gap:8px}.nudge-sponsor-btn{padding:11px;border:none;border-radius:10px;background:#3498db;color:#fff;font-size:1em;font-weight:700;cursor:pointer;transition:all .2s}.nudge-sponsor-btn:hover{filter:brightness(1.1)}.nudge-logout-btn{padding:9px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#888;font-size:.9em;cursor:pointer}.nudge-cancel-btn{background:none;border:none;color:#aaa;font-size:.82em;cursor:pointer}@media(max-width:480px){.nudge-tiers{grid-template-columns:repeat(3,1fr);gap:6px}.nudge-tier{padding:8px 4px}.nudge-tier-label{font-size:.65em}.nudge-tier-amount{font-size:.9em}}.sponsor-nudge{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border-radius:16px;border:1px solid color-mix(in srgb,#f59e0b 45%,transparent);background:color-mix(in srgb,#f59e0b 10%,var(--bg-secondary));animation:sponsor-nudge-in .4s ease-out both}@keyframes sponsor-nudge-in{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.sponsor-nudge-owl{font-size:2.4rem;flex:none}.sponsor-nudge-text{display:flex;flex-direction:column;gap:4px;flex:1;font-size:.9rem;line-height:1.55}.sponsor-nudge-text strong{font-size:1rem}.sponsor-nudge-actions{display:flex;flex-direction:column;gap:6px;flex:none}.sponsor-nudge-yes{min-height:44px;padding:0 18px;border:none;border-radius:12px;background:#f59e0b;color:#1c1300;font-size:1rem;font-weight:800;cursor:pointer}.sponsor-nudge-yes:hover{filter:brightness(1.08)}.sponsor-nudge-later{min-height:36px;border:none;background:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer}@media(max-width:560px){.sponsor-nudge{flex-wrap:wrap}.sponsor-nudge-owl{font-size:2rem}.sponsor-nudge-text{flex-basis:calc(100% - 60px)}.sponsor-nudge-actions{flex-direction:row;width:100%}.sponsor-nudge-yes{flex:1}}.wheel-container{position:relative;display:inline-block;-webkit-user-select:none;user-select:none}.wheel-canvas{cursor:pointer;max-width:100%;height:auto}.wheel-canvas:focus{outline:3px solid var(--accent);outline-offset:4px;border-radius:50%}.wheel-active{cursor:default}.wheel-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0009;color:#fff;padding:12px 28px;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;pointer-events:auto;transition:opacity .3s}.wheel-overlay:hover{background:#000c}.name-input{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-primary);border-radius:6px}.list-switcher{display:flex;flex-direction:column;gap:8px}.list-switcher select{width:100%;padding:8px 10px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;cursor:pointer}.list-actions{display:flex;gap:6px;align-items:center}.list-actions input{flex:1;padding:6px 10px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem}.list-actions button{padding:6px 12px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.9rem;cursor:pointer;transition:opacity .2s}.list-actions button:hover{opacity:.85}.batch-input{display:flex;flex-direction:column;gap:8px}.batch-input textarea{width:100%;padding:8px 10px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;resize:vertical;font-family:inherit}.batch-actions{display:flex;gap:8px;align-items:center}.batch-actions button,.pdf-upload-btn{padding:7px 14px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.9rem;cursor:pointer;transition:opacity .2s}.batch-actions button:hover,.pdf-upload-btn:hover{opacity:.85}.pdf-upload-btn{display:inline-block;text-align:center}.btn-split{background:#27ae60!important}.btn-help{background:var(--text-secondary)!important;width:28px;height:28px;border-radius:50%!important;padding:0!important;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}.pdf-status{font-size:.8rem;color:var(--text-secondary);padding:4px 0}.pdf-error-help{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:14px;font-size:.85rem;color:#856404;line-height:1.6}.pdf-error-help strong{display:block;font-size:.95rem;color:#e74c3c;margin-bottom:6px}.pdf-error-help ol{margin:6px 0;padding-left:20px}.pdf-error-help p{margin:6px 0}.btn-dismiss{margin-top:8px;padding:5px 16px;border:1px solid #856404;border-radius:6px;background:transparent;color:#856404;cursor:pointer;font-size:.8rem}.btn-dismiss:hover{background:#856404;color:#fff}.format-help{background:var(--bg-secondary);border:1px solid var(--text-secondary);border-radius:8px;padding:12px 14px;font-size:.82rem;color:var(--text-primary);line-height:1.6}.format-help strong{display:block;margin-top:6px;margin-bottom:2px;color:var(--accent)}.format-help strong:first-child{margin-top:0}.format-help ul{margin:0;padding-left:18px}.format-help p{margin-top:8px;color:var(--text-secondary);font-style:italic}.name-list-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;color:var(--text-primary)}.name-list-actions{display:flex;gap:6px}.name-list-actions button{padding:4px 10px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.8rem;cursor:pointer;transition:opacity .2s}.name-list-actions button:hover{opacity:.85}.name-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto;padding-right:4px}.name-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:6px;background:var(--bg-secondary);font-size:.9rem;transition:background .2s}.name-item.drawn{opacity:.45;text-decoration:line-through}.name-text{flex:1;cursor:pointer;color:var(--text-primary)}.name-item input{flex:1;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.btn-remove{padding:2px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:color .2s}.btn-remove:hover{color:#e55}.group-tag{padding:2px 4px;border:1px solid var(--text-secondary);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;cursor:pointer;min-width:36px}.group-tag option{font-size:.8rem}.cloud-section{padding:10px;background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--accent)}.cloud-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.btn-cloud-save{padding:4px 12px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.8rem;cursor:pointer}.btn-cloud-save:disabled{opacity:.5;cursor:not-allowed}.cloud-list{display:flex;flex-direction:column;gap:4px}.cloud-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--bg-primary);border-radius:4px;font-size:.8rem}.cloud-item button{padding:2px 10px;border:none;border-radius:4px;background:var(--accent);color:#fff;font-size:.75rem;cursor:pointer}.cloud-item-actions{display:flex;gap:4px}.cloud-item-active{border:2px solid var(--accent);background:var(--accent-light, rgba(255, 255, 255, .15));font-weight:600}.btn-cloud-delete{padding:2px 8px;border:none;border-radius:4px;background:#e55;color:#fff;font-size:.75rem;cursor:pointer}.cloud-hint{font-size:.78rem;color:var(--text-secondary);text-align:center;padding:6px 0;margin:0}.cloud-login-hint{font-size:.82rem;color:var(--text-secondary);text-align:center;padding:4px 0}.format-help ol{margin:0;padding-left:18px}.batch-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--text-secondary)}.batch-group select{padding:4px 8px;border:1px solid var(--text-secondary);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem}.btn-clear-groups{padding:3px 10px;border:1px solid var(--text-secondary);border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.btn-danger{background:#e55!important;color:#fff!important}.btn-danger:hover{background:#c33!important}.repeat-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.repeat-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--accent);width:16px;height:16px}.step-section{display:flex;flex-direction:column;gap:8px}.step-label{font-size:.82rem;font-weight:700;color:var(--accent);letter-spacing:.5px;padding:2px 0;border-bottom:1px solid var(--accent);margin-bottom:2px}.step-collapsible{display:block}.step-collapsible>*+*{margin-top:8px}.step-collapsible>summary{cursor:pointer;list-style-position:inside}.step-collapsible:not([open])>summary{margin-bottom:0}.step-hint{font-weight:400;font-size:.8rem;color:var(--text-secondary);margin-left:4px}.batch-actions button,.pdf-upload-btn,.name-list-actions button,.list-actions button,.btn-cloud-save,.cloud-item button,.btn-clear-groups{min-height:40px;padding-left:14px;padding-right:14px;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center}.btn-help{min-width:40px;min-height:40px}.batch-group select,.list-switcher select,.list-actions input{min-height:40px;font-size:.95rem}.group-tag{min-height:32px}.btn-remove{min-width:32px;min-height:32px}.repeat-toggle input[type=checkbox]{width:20px;height:20px}.step-list-name{padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.step-list-name .list-actions{flex-wrap:wrap}.step-list-name .list-actions input{min-width:180px}.carry-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.carry-toggle input{width:18px;height:18px;accent-color:var(--accent)}@keyframes popIn{0%{opacity:0;transform:scale(.3) rotate(-5deg)}60%{transform:scale(1.08) rotate(1deg)}80%{transform:scale(.97)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes nameGlow{0%,to{text-shadow:0 0 20px var(--accent),0 0 40px var(--accent)}50%{text-shadow:0 0 40px var(--accent),0 0 80px var(--accent),0 0 120px var(--accent)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.result-modal{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:3px solid var(--accent);border-radius:24px;padding:50px 60px;text-align:center;min-width:420px;max-width:600px;width:92%;box-shadow:0 0 30px #0006,0 0 60px var(--accent),inset 0 1px #fff3;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275) both}.result-label{font-size:1.3rem;color:var(--text-secondary);margin-bottom:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.result-name{font-size:4.5rem;font-weight:900;color:var(--accent);margin-bottom:20px;line-height:1.2;word-break:break-all;animation:nameGlow 2s ease-in-out infinite;background:linear-gradient(90deg,var(--accent),#ff6b6b,var(--accent));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite,nameGlow 2s ease-in-out infinite}.result-quote{font-size:1.2rem;font-style:italic;color:var(--text-primary);margin-bottom:28px;line-height:1.7;padding:12px 20px;background:var(--bg-secondary);border-radius:12px;border-left:4px solid var(--accent)}.result-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.result-close{padding:14px 50px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #0003}.result-close:hover{transform:scale(1.08);box-shadow:0 6px 25px #0000004d}.result-close:active{transform:scale(.97)}.result-timer-btn{padding:10px 32px;border:2px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.result-timer-btn:hover{background:var(--accent);color:#fff}.result-promo{font-size:.8rem;color:var(--text-secondary);margin-top:12px}.result-promo a{color:var(--text-secondary);text-decoration:none;opacity:.6;transition:opacity .2s}.result-promo a:hover{opacity:1;text-decoration:underline}@media(max-width:768px){.result-modal{min-width:unset;padding:35px 25px}.result-name{font-size:3rem}}.quote-display{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quote-label{font-size:.9rem;color:var(--text-secondary);font-weight:700}.quote-modes{display:flex;gap:6px}.quote-mode-btn{padding:5px 12px;border:1px solid var(--text-secondary);border-radius:20px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:all .2s}.quote-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.quote-mode-btn:hover:not(.active){background:var(--bg-secondary)}.random-picker{display:flex;flex-direction:column;align-items:center;gap:20px;padding:30px}.picker-label{font-size:1em;font-weight:600;color:var(--accent, #3498db);background:#3498db1a;padding:4px 16px;border-radius:12px}.picker-display{width:280px;height:280px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:6px solid var(--accent, #3498db);background:#fffffff2;transition:border-color .2s,box-shadow .2s}.picker-display.running{box-shadow:0 0 30px #3498db66;animation:pulse-border .3s infinite alternate}.picker-display.empty{border-style:dashed;opacity:.5}.picker-name{font-size:2.2em;font-weight:700;color:#2c3e50;text-align:center;padding:10px;word-break:break-all}.picker-display.running .picker-name{color:var(--accent, #3498db)}.picker-btn{padding:12px 40px;font-size:1.3em;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .2s}.picker-btn.start{background:var(--accent, #3498db);color:#fff}.picker-btn.start:hover{transform:scale(1.05);filter:brightness(1.1)}.picker-btn.stop{background:#e74c3c;color:#fff;animation:pulse-btn .5s infinite alternate}.picker-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes pulse-border{0%{border-color:var(--accent, #3498db)}to{border-color:color-mix(in srgb,var(--accent, #3498db) 50%,white)}}@keyframes pulse-btn{0%{transform:scale(1)}to{transform:scale(1.05)}}.card-picker{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;width:100%}.card-label{font-size:1em;font-weight:600;color:var(--accent, #3498db);background:#3498db1a;padding:4px 16px;border-radius:12px}.card-hint{margin:0;font-size:.9em;color:#999}.card-empty{color:#aaa;font-size:1.1em;padding:60px}.card-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:500px}.card{width:72px;height:100px;perspective:600px;cursor:pointer;flex-shrink:0}.card:hover .card-inner{transform:scale(1.05)}.card-inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.card.flipped .card-inner{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:8px;display:flex;align-items:center;justify-content:center}.card-back{background:linear-gradient(135deg,var(--accent, #3498db),color-mix(in srgb,var(--accent, #3498db) 60%,#1a1a2e));border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #00000026}.card-back-icon{font-size:2em;font-weight:700;color:#ffffffb3}.card-front{background:#fff;border:2px solid var(--accent, #3498db);transform:rotateY(180deg);box-shadow:0 4px 16px #0003}.card-front-name{font-size:.85em;font-weight:700;color:#2c3e50;text-align:center;padding:4px;word-break:break-all;line-height:1.2}.card.flipped{z-index:10;animation:card-pop .5s ease-out}@keyframes card-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@media(max-width:480px){.card{width:58px;height:82px}.card-back-icon{font-size:1.5em}.card-front-name{font-size:.75em}.card-grid{gap:6px}}.slot-machine{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.slot-label{font-size:1em;font-weight:600;color:var(--accent, #3498db);background:#3498db1a;padding:4px 16px;border-radius:12px}.slot-empty{color:#aaa;font-size:1.1em;padding:60px}.slot-frame{position:relative;background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:16px;padding:20px 16px;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a;border:3px solid var(--accent, #3498db)}.slot-reels{display:flex;gap:8px}.slot-reel{width:90px;background:#0f0f23;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.1)}.slot-reel.spinning .slot-cell{animation:slot-blur .08s infinite}.slot-reel.stopped .slot-cell.center{animation:slot-land .3s ease-out;color:gold;font-weight:800}.slot-cell{padding:12px 6px;text-align:center;font-size:.85em;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:44px;display:flex;align-items:center;justify-content:center}.slot-cell.dim{opacity:.3;font-size:.75em}.slot-cell.center{font-size:1em;background:#ffffff0d}.slot-line{position:absolute;left:10px;right:10px;top:50%;height:2px;background:var(--accent, #3498db);box-shadow:0 0 8px var(--accent, #3498db);pointer-events:none}.slot-pull{padding:12px 48px;font-size:1.3em;font-weight:800;border:none;border-radius:30px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;cursor:pointer;transition:all .2s;letter-spacing:2px}.slot-pull:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 16px #e74c3c66}.slot-pull:disabled{opacity:.5;cursor:not-allowed}@keyframes slot-blur{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes slot-land{0%{transform:translateY(-8px)}60%{transform:translateY(3px)}to{transform:translateY(0)}}@media(max-width:480px){.slot-reel{width:72px}.slot-cell{font-size:.75em;padding:10px 4px;height:38px}.slot-cell.center{font-size:.85em}}.bubble-picker{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;width:100%}.bubble-label{font-size:1em;font-weight:600;color:var(--accent, #3498db);background:#3498db1a;padding:4px 16px;border-radius:12px}.bubble-hint{margin:0;font-size:.9em;color:#999}.bubble-empty{color:#aaa;font-size:1.1em;padding:60px}.bubble-field{position:relative;width:320px;height:320px}.bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),var(--bubble-color));display:flex;align-items:center;justify-content:center;cursor:pointer;animation:bubble-float 3s ease-in-out var(--float-delay, 0s) infinite alternate;transition:transform .2s;box-shadow:0 4px 12px #00000026,inset 0 -4px 8px #0000001a}.bubble:hover{transform:scale(1.12);box-shadow:0 6px 20px #00000040}.bubble-text{font-size:1.4em;font-weight:700;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.bubble.popped{animation:bubble-pop .4s ease-out forwards;pointer-events:none}.bubble.popped .bubble-text{display:none}.bubble-reveal{position:absolute;font-size:1.1em;font-weight:800;color:#2c3e50;background:#fff;padding:8px 16px;border-radius:20px;box-shadow:0 4px 16px #0003;white-space:nowrap;animation:reveal-pop .3s ease-out .2s both;z-index:10}@keyframes bubble-float{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-12px) rotate(3deg)}}@keyframes bubble-pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}to{transform:scale(0);opacity:0}}@keyframes reveal-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:480px){.bubble-field{width:280px;height:280px}}.gacha{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px}.gacha-label{font-size:1em;font-weight:600;color:var(--accent, #3498db);background:#3498db1a;padding:4px 16px;border-radius:12px}.gacha-empty{color:#aaa;font-size:1.1em;padding:60px}.gacha-machine{position:relative;width:180px;height:260px}.gacha-machine.shaking{animation:gacha-shake .15s infinite}.gacha-dome{width:160px;height:120px;margin:0 auto;background:linear-gradient(180deg,#ffffff4d,#ffffff1a);border:3px solid #ccc;border-bottom:none;border-radius:80px 80px 0 0;position:relative;overflow:hidden}.gacha-balls{position:absolute;top:0;right:0;bottom:0;left:0}.gacha-mini-ball{position:absolute;width:24px;height:24px;border-radius:50%;box-shadow:inset -3px -3px 6px #0003,0 2px 4px #0000001a}.gacha-machine.shaking .gacha-mini-ball{animation:ball-bounce .15s infinite alternate}.gacha-body{width:160px;height:80px;margin:0 auto;background:linear-gradient(180deg,var(--accent, #3498db),color-mix(in srgb,var(--accent, #3498db) 70%,#1a1a2e));border:3px solid color-mix(in srgb,var(--accent, #3498db) 80%,black);border-top:none;border-radius:0 0 20px 20px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}.gacha-slot{width:50px;height:20px;background:#1a1a2e;border-radius:0 0 10px 10px;border:2px solid #333}.gacha-capsule{position:absolute;left:50%;transform:translate(-50%);width:52px;height:52px}.gacha-capsule.dropping{top:180px;animation:capsule-drop .7s cubic-bezier(.34,1.56,.64,1) both}.gacha-capsule.opening{top:230px;animation:capsule-bounce .3s ease-out}.capsule-top{width:100%;height:50%;background:var(--capsule-color, #e74c3c);border-radius:26px 26px 0 0;box-shadow:inset -4px -2px 8px #00000026,inset 4px 4px 8px #ffffff4d}.capsule-bottom{width:100%;height:50%;background:#fff;border-radius:0 0 26px 26px;box-shadow:inset -4px 2px 8px #0000001a}.gacha-capsule.opening .capsule-top{animation:capsule-open-top .4s ease-out .3s both}.gacha-capsule.opening .capsule-bottom{animation:capsule-open-bottom .4s ease-out .3s both}.capsule-name{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.1em;font-weight:800;color:#2c3e50;background:#fff;padding:8px 18px;border-radius:20px;box-shadow:0 4px 20px #00000040;white-space:nowrap;z-index:10;animation:reveal-scale .3s ease-out .5s both}.gacha-btn{padding:12px 40px;font-size:1.2em;font-weight:700;border:none;border-radius:30px;background:var(--accent, #3498db);color:#fff;cursor:pointer;transition:all .2s}.gacha-btn:hover:not(:disabled){transform:scale(1.05);filter:brightness(1.1)}.gacha-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes gacha-shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-1deg)}75%{transform:translate(3px) rotate(1deg)}}@keyframes ball-bounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes capsule-drop{0%{top:140px;opacity:0;transform:translate(-50%) scale(.5)}to{top:230px;opacity:1;transform:translate(-50%) scale(1)}}@keyframes capsule-bounce{0%{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-8px)}to{transform:translate(-50%) translateY(0)}}@keyframes capsule-open-top{to{transform:translateY(-16px) rotate(-15deg);opacity:.5}}@keyframes capsule-open-bottom{to{transform:translateY(16px) rotate(10deg);opacity:.5}}@keyframes reveal-scale{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(1)}}@media(max-width:480px){.gacha-machine{width:150px;height:230px}.gacha-dome{width:140px;height:100px}.gacha-body{width:140px;height:70px}}.classroom{width:100%}.cr-gate{display:flex;justify-content:center;padding:24px 0 40px}.cr-gate-loading{color:var(--text-secondary)}.cr-gate-card{width:100%;max-width:560px;padding:28px 24px;border-radius:20px;background:var(--bg-secondary);box-shadow:0 10px 30px #0003;text-align:center}.cr-gate-icon{font-size:3.4rem}.cr-gate-card h2{font-size:1.5rem;margin:6px 0}.cr-gate-sub{color:var(--text-secondary);margin-bottom:14px}.cr-gate-list{list-style:none;text-align:left;display:flex;flex-direction:column;gap:8px;margin:0 auto 20px;max-width:440px;line-height:1.5}.cr-gate-login{width:100%;min-height:60px;border:none;border-radius:16px;background:var(--accent);color:#fff;font-size:1.25rem;font-weight:800;cursor:pointer}.cr-gate-login:hover{filter:brightness(1.08)}.cr-gate-note{margin-top:14px;font-size:.88rem;color:var(--text-secondary)}.mode-toggle{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px}.mode-btn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px;border:1px solid var(--text-secondary);border-radius:999px;background:transparent;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.mode-btn .mode-icon{font-size:1.15rem}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.mode-btn:hover:not(.active){border-color:var(--accent)}.cr-settings{width:100%;font-size:.88rem;color:var(--text-secondary)}.cr-settings summary{cursor:pointer;text-align:center;padding:8px;font-weight:600;list-style-position:inside}.cr-settings-body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border-radius:10px;background:var(--bg-secondary)}.classroom.fullscreen-mode{max-width:100%;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 20px)}.content-layout{display:flex;gap:20px;align-items:flex-start}.wheel-section{flex:0 0 auto;width:420px;display:flex;flex-direction:column;align-items:center;gap:10px}.wheel-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.spin-btn{min-height:56px;padding:12px 52px;border:none;border-radius:14px;background:var(--accent);color:#fff;font-size:1.35rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.spin-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #0003}.spin-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar{flex:1;min-width:280px;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:2px}.fullscreen-mode .content-layout{justify-content:center;width:100%;gap:0}.exit-fullscreen-btn{min-height:44px;padding:8px 20px;border:1px solid var(--text-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;cursor:pointer;margin-top:8px}.exit-fullscreen-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.wheel-fullscreen{flex:none;width:100%;max-width:700px}.wheel-fullscreen .wheel-canvas{width:100%;height:auto}.rotation-selector{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--text-secondary)}.rotation-selector select{padding:3px 6px;border:1px solid var(--text-secondary);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem}.current-group-badge{padding:3px 10px;border-radius:16px;background:#27ae60;color:#fff;font-size:.8rem;font-weight:700;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.group-info{font-size:.82rem;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 12px;border-radius:6px;text-align:center}@media(max-width:900px){.content-layout{flex-direction:column;align-items:center}.wheel-section{width:100%;max-width:400px}.sidebar{width:100%;max-width:100%;max-height:none}}.rv{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.rv-scene{position:relative;width:100%;height:270px;display:flex;align-items:center;justify-content:center}.rv-go{width:100%;max-width:400px}.rv-caption{position:absolute;bottom:0;font-size:1rem;font-weight:700;color:var(--text-secondary)}.rv-caption-strong{font-size:1.2rem;color:var(--accent)}.rv-stamp{display:inline-block;margin-right:8px;padding:2px 10px;border:3px solid #dc2626;border-radius:8px;background:#ffffffe6;color:#dc2626;font-size:.95rem;font-weight:900;vertical-align:middle;transform:rotate(-12deg);animation:rv-stamp .35s cubic-bezier(.2,1.6,.4,1) both}@keyframes rv-stamp{0%{transform:rotate(-12deg) scale(2.6);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:1}}.rv-burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}.rv-particle{position:absolute;left:0;top:0;font-size:calc(1.4rem * var(--s));animation:rv-fly .95s ease-out forwards}@keyframes rv-fly{0%{transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.4);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(1);opacity:0}}@keyframes rv-bob{50%{transform:translateY(-8px)}}@keyframes rv-jiggle{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-6px)}}@keyframes rv-spin{to{transform:rotate(360deg)}}.rv-heart-wrap{position:relative;width:210px;height:194px;display:flex;align-items:center;justify-content:center}.rv-heart-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:#ff4d8d;filter:drop-shadow(0 8px 20px rgba(255,77,141,.55))}.rv-heart-name{position:relative;max-width:150px;margin-top:-14px;color:#fff;font-size:1.7rem;font-weight:900;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rv-heart.rv-idle .rv-heart-wrap{animation:rv-beat 1.2s ease-in-out infinite}.rv-heart.rv-build .rv-heart-wrap{animation:rv-beat .5s ease-in-out infinite}.rv-heart.rv-build.rv-slow .rv-heart-wrap{animation:rv-beat-big .28s ease-in-out infinite}.rv-heart.rv-reveal .rv-heart-wrap{animation:rv-explode .45s ease-out forwards}.rv-heart.rv-reveal .rv-heart-name{opacity:0}@keyframes rv-beat{0%,to{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}45%{transform:scale(1.08)}}@keyframes rv-beat-big{0%,to{transform:scale(1.05)}50%{transform:scale(1.28)}}@keyframes rv-explode{to{transform:scale(1.9);opacity:0}}.rv-final{position:absolute;font-size:2.8rem;font-weight:900;text-align:center;animation:st-pop .5s .2s cubic-bezier(.2,1.5,.4,1) both}.rv-final-heart{color:#ff4d8d;text-shadow:0 4px 18px rgba(255,77,141,.45)}.rv-fist-hand{position:relative;z-index:1;font-size:8.5rem;line-height:1}.rv-fist.rv-idle .rv-fist-hand{animation:rv-bob 1.6s ease-in-out infinite}.rv-fist.rv-build .rv-fist-hand{animation:rv-pump .4s ease-in-out infinite}.rv-fist.rv-build.rv-slow .rv-fist-hand{animation-duration:.24s}.rv-fist.rv-reveal .rv-fist-hand{animation:rv-open .45s cubic-bezier(.2,1.6,.4,1) both}@keyframes rv-pump{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-30px) rotate(6deg)}}@keyframes rv-open{0%{transform:scale(.6) rotate(-20deg)}to{transform:scale(1.15)}}.rv-rays{position:absolute;width:340px;height:340px;border-radius:50%;background:repeating-conic-gradient(rgba(255,215,0,.38) 0 10deg,transparent 10deg 20deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 70%);mask:radial-gradient(circle,#000 25%,transparent 70%);animation:rv-spin 6s linear infinite}.rv-slip{position:absolute;z-index:2;top:52%;padding:10px 22px;border-radius:6px;background:#fffbe6;color:#1f2937;font-size:1.9rem;font-weight:900;white-space:nowrap;box-shadow:0 6px 16px #00000059;transform:rotate(-4deg);animation:rv-slip-in .5s .15s cubic-bezier(.2,1.5,.4,1) both}@keyframes rv-slip-in{0%{transform:translateY(30px) rotate(-4deg) scale(.5);opacity:0}to{transform:rotate(-4deg);opacity:1}}.rv-money .rv-scene{perspective:900px}.rv-note{position:relative;width:300px;height:142px;transform-style:preserve-3d}.rv-note-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px 24px #00000059}.rv-note-front{background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 6px,transparent 6px 12px),linear-gradient(135deg,#14532d,#16a34a 50%,#14532d);border:4px double #bbf7d0;color:#f0fdf4}.rv-note-bank{position:absolute;top:8px;left:12px;font-size:.8rem;font-weight:800;letter-spacing:2px}.rv-note-owl{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #bbf7d0;background:#ffffff29;font-size:2.4rem}.rv-note-value{position:absolute;right:14px;bottom:10px;font-size:1.5rem;font-weight:900;letter-spacing:3px}.rv-note-serial{position:absolute;left:12px;bottom:9px;font-size:.7rem;font-family:Consolas,monospace;opacity:.8}.rv-note-back{transform:rotateY(180deg);flex-direction:column;background:linear-gradient(135deg,#fef3c7,#fde68a);border:4px double #b45309;color:#78350f}.rv-note-name{max-width:90%;font-size:2.1rem;font-weight:900;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rv-note-back .rv-stamp{position:absolute;right:12px;top:10px;margin:0}.rv-money.rv-idle .rv-note{animation:rv-float 2.4s ease-in-out infinite}.rv-money.rv-build .rv-note{animation:rv-flipY .35s linear infinite}.rv-money.rv-build.rv-slow .rv-note{animation-duration:.8s}.rv-money.rv-reveal .rv-note{transform:rotateY(180deg);animation:rv-land .6s cubic-bezier(.2,1.4,.4,1)}@keyframes rv-float{50%{transform:translateY(-8px) rotate(-2deg)}}@keyframes rv-flipY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes rv-land{0%{transform:rotateY(0) scale(.9)}to{transform:rotateY(180deg) scale(1)}}.rv-sticks .rv-scene{height:340px;align-items:flex-end;padding-bottom:30px}.rv-tube-wrap{position:relative;width:120px;height:230px;transform-origin:bottom center}.rv-tube{position:absolute;left:0;bottom:0;z-index:2;width:120px;height:150px;display:flex;align-items:center;justify-content:center;border:3px solid #fbbf24;border-radius:12px 12px 18px 18px;background:linear-gradient(90deg,#7f1d1d,#dc2626 40%,#991b1b);box-shadow:0 10px 20px #00000059}.rv-tube span{color:#fde68a;font-size:3rem;font-weight:900;font-family:DFKai-SB,BiauKai,serif}.rv-stick-bundle{position:absolute;left:50%;bottom:140px;z-index:1;width:0;height:0}.rv-stick{position:absolute;left:-5px;bottom:-100px;width:10px;height:150px;border-radius:3px;background:linear-gradient(#d6a35c,#a16207);transform:rotate(var(--r));transform-origin:bottom center}.rv-lucky-stick{position:absolute;left:50%;bottom:40px;z-index:1;width:36px;height:150px;margin-left:-18px;display:flex;justify-content:center;padding-top:10px;border:2px solid #92400e;border-radius:4px;background:linear-gradient(#fde68a,#d6a35c);overflow:hidden;transition:transform .5s cubic-bezier(.2,1.5,.4,1)}.rv-lucky-name{writing-mode:vertical-rl;color:#7c2d12;font-size:1.2rem;font-weight:900;letter-spacing:2px;opacity:0;transition:opacity .3s .3s}.rv-sticks.rv-idle .rv-tube-wrap{animation:rv-sway 2.4s ease-in-out infinite}.rv-sticks.rv-build .rv-tube-wrap{animation:rv-shake .18s ease-in-out infinite}.rv-sticks.rv-build.rv-slow .rv-tube-wrap{animation-duration:.3s}.rv-sticks.rv-reveal .rv-lucky-stick{transform:translateY(-110px);z-index:3}.rv-sticks.rv-reveal .rv-lucky-name{opacity:1}@keyframes rv-sway{50%{transform:rotate(-3deg)}}@keyframes rv-shake{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.rv-coin .rv-scene{height:330px;flex-direction:column;justify-content:flex-end;perspective:800px}.rv-coin-body{position:relative;width:170px;height:170px;transform-style:preserve-3d}.rv-coin-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;border:6px solid #ca8a04;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fef08a,#eab308 55%,#a16207);box-shadow:inset 0 0 0 4px #ffffff59,0 8px 18px #0000004d;color:#713f12;font-size:1.5rem;font-weight:900;text-align:center;word-break:break-all;backface-visibility:hidden;-webkit-backface-visibility:hidden}.rv-coin-back{transform:rotateX(180deg)}.rv-coin-shadow{width:120px;height:14px;margin-top:10px;border-radius:50%;background:#00000059;filter:blur(3px)}.rv-coin.rv-idle .rv-coin-toss{animation:rv-bob 2s ease-in-out infinite}.rv-coin.rv-build .rv-coin-toss{animation:rv-toss 2s ease-in-out both}.rv-coin.rv-build .rv-coin-body{animation:rv-coinflip .22s linear infinite}.rv-coin.rv-reveal .rv-coin-body{animation:rv-coin-land .5s cubic-bezier(.2,1.6,.4,1)}.rv-coin .rv-caption{position:static;margin-top:6px}@keyframes rv-toss{0%{transform:translateY(0)}45%{transform:translateY(-120px)}to{transform:translateY(0)}}@keyframes rv-coinflip{to{transform:rotateX(360deg)}}@keyframes rv-coin-land{0%{transform:rotateX(90deg)}to{transform:none}}.rv-gift-box{position:relative;width:170px;height:170px;margin-top:40px}.rv-gift-base{position:absolute;left:10px;right:10px;bottom:0;z-index:2;height:120px;border-radius:6px;background:linear-gradient(90deg,#dc2626 44%,#fde047 44%,#fde047 56%,#dc2626 56%);box-shadow:0 10px 20px #00000059}.rv-gift-lid{position:absolute;top:18px;left:0;right:0;z-index:3;height:36px;display:flex;justify-content:center;border-radius:6px;background:linear-gradient(90deg,#b91c1c 44%,#facc15 44%,#facc15 56%,#b91c1c 56%)}.rv-gift-bow{position:absolute;top:-36px;font-size:2.6rem}.rv-gift.rv-idle .rv-gift-box{animation:rv-bob 2s ease-in-out infinite}.rv-gift.rv-build .rv-gift-box{animation:rv-jiggle .25s ease-in-out infinite}.rv-gift.rv-build.rv-slow .rv-gift-box{animation-duration:.14s}.rv-gift.rv-reveal .rv-gift-lid{animation:rv-lid-off .6s ease-out forwards}@keyframes rv-lid-off{to{transform:translate(90px,-120px) rotate(40deg);opacity:0}}.rv-gift-card{position:absolute;left:50%;bottom:60px;z-index:1;padding:12px 20px;border-radius:10px;background:#fff;color:#1f2937;font-size:1.8rem;font-weight:900;white-space:nowrap;box-shadow:0 8px 20px #0000004d;animation:rv-rise .7s .15s cubic-bezier(.2,1.4,.4,1) both}@keyframes rv-rise{0%{transform:translate(-50%,80px) scale(.6)}to{transform:translate(-50%,-48px) scale(1)}}.rv-bomb-body{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#6b7280,#111827 60%);box-shadow:0 12px 24px #00000073}.rv-bomb-body:before{content:"";position:absolute;top:-14px;left:50%;width:36px;height:22px;margin-left:-18px;border-radius:4px;background:#374151}.rv-fuse{position:absolute;top:-52px;left:50%;width:46px;height:46px;border:4px solid transparent;border-top-color:#a16207;border-radius:50%;transform:rotate(30deg)}.rv-spark{position:absolute;top:2px;right:-6px;width:16px;height:16px;border-radius:50%;background:radial-gradient(#fff,#fde047 40%,#f97316 70%,transparent 72%);opacity:0}.rv-bomb.rv-build .rv-spark{opacity:1;animation:rv-sparkle .12s infinite alternate}@keyframes rv-sparkle{to{transform:scale(1.6)}}.rv-bomb-label{color:#fff;font-size:3.4rem;font-weight:900}.rv-bomb.rv-build .rv-bomb-body{animation:rv-jiggle .3s ease-in-out infinite}.rv-bomb.rv-build.rv-slow .rv-bomb-body{animation-duration:.1s}.rv-bomb.rv-reveal .rv-scene{animation:rv-quake .45s}@keyframes rv-quake{0%,to{transform:none}20%{transform:translate(-8px,4px)}40%{transform:translate(7px,-5px)}60%{transform:translate(-5px,-3px)}80%{transform:translate(4px,5px)}}.rv-flash{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;z-index:5;border-radius:16px;background:#fff;pointer-events:none;animation:rv-flash-out .5s ease-out forwards}@keyframes rv-flash-out{0%{opacity:1}to{opacity:0}}.rv-boom{width:300px;height:230px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#fde047 0,#fde047 35%,#f97316 62%,#dc2626 82%);clip-path:polygon(50% 0%,61% 25%,88% 10%,77% 38%,100% 50%,77% 62%,88% 90%,61% 75%,50% 100%,39% 75%,12% 90%,23% 62%,0% 50%,23% 38%,12% 10%,39% 25%);animation:st-pop .5s cubic-bezier(.2,1.6,.4,1) both}.rv-boom-text{max-width:160px;color:#450a0a;font-size:1.9rem;font-weight:900;text-align:center}.rv-ticket{width:min(340px,100%);padding:14px;border-radius:16px;background:linear-gradient(135deg,#7c3aed,#db2777);box-shadow:0 10px 24px #00000059}.rv-ticket-title{margin-bottom:10px;color:#fff;font-size:1.1rem;font-weight:900;text-align:center;letter-spacing:2px}.rv-ticket-window{position:relative;height:140px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:#fff}.rv-ticket-name{color:#be185d;font-size:2.1rem;font-weight:900}.rv-scratch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:grab;transition:opacity .5s}.rv-scratch-canvas.cleared{opacity:0;pointer-events:none}@media(max-width:560px){.rv-fist-hand{font-size:7rem}.rv-note{width:270px;height:128px}.rv-final{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){.rv *,.rv *:before{animation-duration:.01ms!important;animation-iteration-count:1!important}}.st-tool{display:flex;flex-direction:column;gap:14px}.st-names{background:var(--bg-secondary);border-radius:12px;padding:12px 14px}.st-names-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.st-names-head label{font-weight:700;font-size:.95rem}.st-count{padding:1px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700}.st-names-head .st-link{margin-left:auto}.st-names textarea{width:100%;resize:vertical;min-height:74px;padding:10px 12px;border-radius:10px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-family:inherit;line-height:1.5}.st-names textarea:focus,.st-tool input:focus{outline:2px solid var(--accent);outline-offset:1px}.st-headcount{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.85rem;color:var(--text-secondary)}.st-headcount input{width:80px;height:40px;padding:4px 8px;border-radius:8px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem;text-align:center}.st-link{border:none;background:none;color:var(--accent);cursor:pointer;padding:6px 4px;font-size:.92rem;text-decoration:underline;font-family:inherit}.st-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:.92rem}.st-opt{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.st-muted{color:var(--text-secondary);font-size:.85rem}.st-check{cursor:pointer}.st-check input{width:22px;height:22px;accent-color:var(--accent)}.st-stepper{display:inline-flex;align-items:center;gap:4px}.st-stepper button{width:44px;height:44px;border-radius:12px;border:1px solid var(--text-secondary);background:var(--bg-secondary);color:var(--text-primary);font-size:1.35rem;cursor:pointer}.st-stepper button:disabled{opacity:.35;cursor:not-allowed}.st-stepper input{width:64px;height:44px;border-radius:12px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1.15rem;text-align:center}.st-unit{color:var(--text-secondary)}.st-chip{min-height:42px;padding:6px 16px;border-radius:999px;border:1px solid var(--text-secondary);background:transparent;color:var(--text-primary);cursor:pointer;font-size:.95rem;font-family:inherit}.st-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.st-seg{display:inline-flex;border:1px solid var(--accent);border-radius:999px;overflow:hidden}.st-seg button{min-height:42px;padding:6px 16px;border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;font-family:inherit;font-size:.95rem}.st-seg button.active{background:var(--accent);color:#fff}.st-amount{width:160px;height:46px;padding:6px 12px;border-radius:8px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1.2rem;font-family:inherit}.st-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.st-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:80px;padding:10px 4px;border-radius:14px;border:1px solid var(--text-secondary);background:transparent;color:var(--text-primary);cursor:pointer;font-size:.95rem;font-weight:700;font-family:inherit}.st-mode span{font-size:1.8rem;line-height:1}.st-mode.active{background:var(--accent);border-color:var(--accent);color:#fff}.st-love-inputs{display:flex;align-items:center;gap:10px}.st-love-inputs input{flex:1;min-width:0;padding:12px;border-radius:12px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1.05rem;text-align:center;font-family:inherit}.st-heart{font-size:1.6rem}.st-stage{position:relative;min-height:170px;display:flex;align-items:center;justify-content:center;padding:20px 16px;border-radius:16px;background:var(--bg-secondary);border:2px dashed color-mix(in srgb,var(--text-secondary) 40%,transparent);text-align:center}.st-stage:fullscreen{background:var(--bg-primary);border:none;border-radius:0;font-size:2.2vmin;overflow:auto}.st-stage-love{background:linear-gradient(135deg,#ff69b41f,#ffb6c12e)}.st-placeholder{color:var(--text-secondary);font-size:.95rem}.st-flash{font-size:2.6rem;font-weight:800;color:var(--accent);letter-spacing:1px}.st-stage:fullscreen .st-flash{font-size:14vmin}.st-result{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.st-result-label{color:var(--text-secondary);font-size:.95rem}.st-result-names{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.st-result-name{font-size:2.8rem;font-weight:800;color:var(--accent);animation:st-pop .45s cubic-bezier(.2,1.4,.4,1) both}.st-result-names.multi .st-result-name{font-size:1.6rem;padding:6px 16px;border-radius:12px;background:var(--bg-primary)}.st-stage:fullscreen .st-result-name{font-size:16vmin}.st-stage:fullscreen .st-result-names.multi .st-result-name{font-size:7vmin}.st-stage:fullscreen .st-result-label,.st-stage:fullscreen .st-result-line{font-size:4vmin}.st-result-line{font-size:.95rem;color:var(--text-primary)}.st-result-love .st-result-name{color:#ff4d8d}.st-hearts{font-size:1.8rem;animation:st-beat .9s ease-in-out infinite}.st-big-money{font-size:3rem;font-weight:800;color:var(--accent);animation:st-pop .45s both}.st-big-money small{font-size:1.2rem}.st-stage:fullscreen .st-big-money{font-size:15vmin}@keyframes st-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes st-beat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.st-money-list{list-style:none;width:100%;max-width:420px;display:flex;flex-direction:column;gap:4px;margin-top:4px}.st-money-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;background:var(--bg-primary);animation:st-slide .35s ease-out both}.st-money-name em{font-style:normal;font-size:.75rem;margin-left:8px;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.st-money-amount{font-weight:800;font-variant-numeric:tabular-nums}.st-stage:fullscreen .st-money-list{max-width:70vw}.st-stage:fullscreen .st-money-list li{font-size:3.4vmin;padding:1.2vmin 2vmin}@keyframes st-slide{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.st-project{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:12px;font-size:1.2rem;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.st-go{min-height:68px;padding:16px;border:none;border-radius:18px;background:var(--accent);color:#fff;font-size:1.5rem;letter-spacing:1px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 40%,transparent);transition:transform .15s,filter .15s}.st-go:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.st-go:active:not(:disabled){transform:translateY(1px)}.st-go:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.st-history{font-size:.82rem;color:var(--text-secondary);line-height:1.6}.st-stage-groups{display:block;text-align:left;border-style:solid;padding:14px}.st-group-actions{display:flex;gap:6px;justify-content:flex-end;margin-bottom:10px}.st-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.st-group{background:var(--bg-primary);border-radius:12px;padding:10px 12px;border-top:4px solid var(--accent);animation:st-pop .4s cubic-bezier(.2,1.3,.4,1) both}.st-group-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.st-group-head strong{font-size:1.05rem;color:var(--accent)}.st-group-head span{font-size:.78rem;color:var(--text-secondary)}.st-group ul{list-style:none;display:flex;flex-direction:column;gap:2px}.st-group li{font-size:.95rem}.st-stage-groups:fullscreen{padding:3vmin}.st-stage-groups:fullscreen .st-groups{grid-template-columns:repeat(auto-fill,minmax(28vmin,1fr));gap:2vmin}.st-stage-groups:fullscreen .st-group-head strong{font-size:4.5vmin}.st-stage-groups:fullscreen .st-group li{font-size:3.6vmin}@media(max-width:560px){.st-modes{grid-template-columns:repeat(3,1fr)}.pay-modes{grid-template-columns:repeat(2,1fr)}.pay-modes .st-mode{min-height:60px;flex-direction:row;gap:8px}.pay-modes .st-mode span{font-size:1.5rem}.st-result-name{font-size:2.2rem}}.st-fun-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:14px;border-radius:16px;background:var(--bg-secondary)}.st-fun-toggle button{min-height:48px;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);font-size:1.05rem;font-weight:700;cursor:pointer}.st-fun-toggle button.active{background:var(--bg-primary);color:var(--accent);box-shadow:0 2px 8px #00000026}.st-stage-shake{animation:st-shake .35s ease-in-out infinite}@keyframes st-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}.st-group-actions{align-items:center;flex-wrap:wrap}.st-move-hint{margin-right:auto;font-size:.85rem;color:var(--text-secondary)}.st-group{cursor:default;transition:box-shadow .2s}.st-group-target{cursor:pointer;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.st-group li{padding:4px 6px;border-radius:8px;cursor:pointer}.st-group li:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.st-group li.picked{background:var(--accent);color:#fff}.st-group li.st-empty{color:var(--text-secondary);cursor:default;font-size:.85rem}.st-styles{display:flex;flex-direction:column;gap:6px}.st-styles-label{font-size:.85rem;font-weight:700;color:var(--text-secondary)}.st-styles-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.st-style{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:66px;padding:6px 2px;border-radius:14px;border:1px solid var(--text-secondary);background:transparent;color:var(--text-primary);font-size:.9rem;font-weight:700;cursor:pointer}.st-style span{font-size:1.6rem;line-height:1.1}.st-style.active{background:var(--accent);border-color:var(--accent);color:#fff}.st-styles-note{font-size:.8rem;color:var(--text-secondary)}.st-stage-visual{border-style:solid;padding:16px 8px}.st-visual{width:100%;display:flex;justify-content:center}.st-wheel{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.st-wheel .wheel-canvas{width:min(400px,100%);height:auto}.st-go-wheel{width:100%;max-width:400px}@media(max-width:560px){.st-styles-row{grid-template-columns:repeat(4,1fr)}.st-style{font-size:.8rem}}.st-restart{display:block;margin:12px auto 0}.fist-games{grid-template-columns:repeat(3,1fr)}.fist-names{display:flex;align-items:center;gap:10px}.fist-names input,.fist-owl-name{flex:1;min-width:0;min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1.05rem;text-align:center;font-family:inherit}.fist-owl-name{display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--bg-secondary)}.fist-names>span{font-weight:900;color:var(--accent)}.fist-score{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;color:var(--text-secondary)}.fist-score strong{font-size:1.8rem;color:var(--accent);margin:0 8px;font-variant-numeric:tabular-nums}.fist-score-sep{font-size:1.4rem}.fist-stage{min-height:300px}.fist-pick,.fist-shake,.fist-result{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.fist-turn{font-size:1.1rem;font-weight:700}.fist-sub{font-size:.85rem;color:var(--text-secondary)}.fist-moves{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.fist-move{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px;padding:12px 10px;border-radius:18px;border:2px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s,border-color .15s}.fist-move:hover{transform:translateY(-3px);border-color:var(--accent)}.fist-move.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--bg-primary))}.fist-move-icon{font-size:3rem;line-height:1.1}.fist-calls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.fist-call{width:58px;height:58px;border-radius:50%;border:2px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1.3rem;font-weight:800;cursor:pointer}.fist-call.active{background:var(--accent);border-color:var(--accent);color:#fff}.fist-submit{width:100%;max-width:320px}.fist-hands{display:flex;gap:40px;font-size:5rem}.fist-shaking{display:inline-block;animation:fist-shake .45s ease-in-out infinite}.fist-mirror{animation-delay:.05s;transform:scaleX(-1)}@keyframes fist-shake{0%,to{transform:translateY(0)}50%{transform:translateY(-22px)}}.fist-mirror{animation-name:fist-shake-mirror}@keyframes fist-shake-mirror{0%,to{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-22px)}}.fist-chant{font-size:2.4rem;font-weight:900;color:var(--accent)}.fist-reveal{display:flex;align-items:center;justify-content:center;gap:18px}.fist-side{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 18px;border-radius:18px;border:3px solid transparent;animation:st-pop .4s cubic-bezier(.2,1.4,.4,1) both}.fist-side.win{border-color:#22c55e;background:#22c55e1f}.fist-side.lose{opacity:.75}.fist-big{font-size:4.2rem;line-height:1.1}.fist-who{font-weight:800;font-size:1.05rem}.fist-said{font-size:.9rem;color:var(--text-secondary)}.fist-vs{font-weight:900;color:var(--text-secondary)}.fist-total{font-size:1.1rem;font-weight:700}.fist-verdict{font-size:1.7rem;font-weight:900;color:var(--accent)}.fist-penalty-btn{font-size:1rem}.fist-penalty-wheel{width:100%;max-width:360px}.fist-penalty{font-size:1.3rem;padding:10px 18px;border-radius:14px;background:color-mix(in srgb,var(--accent) 15%,transparent);animation:st-pop .4s both}.fist-penalty strong{color:var(--accent);font-size:1.5rem}.fist-rules{font-size:.88rem;color:var(--text-secondary)}.fist-rules summary{cursor:pointer;color:var(--accent);font-weight:600;padding:6px 0}.fist-rules ul{padding-left:1.3em;line-height:1.7}.fist-warning{font-size:.78rem;color:var(--text-secondary);text-align:center}@media(max-width:560px){.fist-games{grid-template-columns:repeat(3,1fr)}.fist-move{min-width:80px}.fist-move-icon{font-size:2.4rem}.fist-big{font-size:3.2rem}.fist-hands{font-size:4rem}}.tf-host{position:relative}.tf{container-type:size;width:100%;height:100%;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:Microsoft JhengHei,Noto Sans TC,sans-serif;-webkit-user-select:none;user-select:none;background:#0b1020;color:#f8fafc;--c: #22c55e}.tf-phase-warn{--c: #f59e0b}.tf-phase-over{--c: #ef4444}.tf .tf-time{font-family:Consolas,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;white-space:nowrap}.tf .tf-label{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95%;opacity:.85}.tf-phase-over .tf-time{animation:tf-flash 1s steps(1) infinite}@keyframes tf-flash{50%{opacity:.45}}.tf-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqh;width:100%;height:100%}.tf-digital{transition:background .4s,color .4s}.tf-digital.tf-phase-warn{background:#f59e0b;color:#1c1300}.tf-digital.tf-phase-over{background:#dc2626;color:#fff}.tf-digital .tf-time{font-size:min(calc(150cqw / var(--chars)),62cqh)}.tf-digital .tf-label{font-size:min(9cqw,15cqh)}.tf-ring{background:#111827}.tf-ring-wrap{position:relative;width:min(94cqw,94cqh);aspect-ratio:1}.tf-ring-svg{width:100%;height:100%;transform:rotate(-90deg);display:block}.tf-ring-bg{fill:none;stroke:#ffffff1f;stroke-width:8}.tf-ring-fg{fill:none;stroke:var(--c);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .3s linear,stroke .4s}.tf-ring.tf-phase-over .tf-ring-fg{animation:tf-flash 1s steps(1) infinite}.tf-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqmin}.tf-ring .tf-time{font-size:calc(min(94cqw,94cqh) * 1.1 / var(--chars));color:#f8fafc}.tf-ring .tf-label{font-size:calc(min(94cqw,94cqh)*.09);max-width:65%}.tf-bar{padding:0 2cqw}.tf-bar-row{display:flex;align-items:center;gap:2cqw;width:100%;height:min(100cqh,18cqw)}.tf-bar .tf-label{font-size:min(45cqh,4cqw);max-width:25%;flex:none}.tf-bar-track{flex:1;height:36%;min-height:3px;background:#ffffff24;border-radius:999px;overflow:hidden}.tf-bar-fill{height:100%;background:var(--c);border-radius:999px;transition:width .3s linear,background .4s}.tf-bar.tf-phase-over .tf-bar-fill{animation:tf-flash 1s steps(1) infinite}.tf-bar .tf-time{font-size:min(60cqh,6cqw);flex:none;color:var(--c)}.tf-traffic-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqmin;width:100%;height:100%}.tf-traffic-box{display:flex;flex-direction:column;gap:3cqmin;padding:3cqmin;background:#1f2937;border:2px solid #374151;border-radius:6cqmin}.tf-lamp{width:min(18cqh,50cqw);aspect-ratio:1;border-radius:50%;background:#0b0f17;opacity:.35;transition:background .3s,opacity .3s,box-shadow .3s}.tf-lamp-red.on{background:#ef4444;opacity:1;box-shadow:0 0 5cqmin #ef4444;animation:tf-flash 1s steps(1) infinite}.tf-lamp-yellow.on{background:#facc15;opacity:1;box-shadow:0 0 5cqmin #facc15}.tf-lamp-green.on{background:#22c55e;opacity:1;box-shadow:0 0 5cqmin #22c55e}.tf-traffic-info{display:flex;flex-direction:column;align-items:center;gap:1cqmin}.tf-traffic .tf-time{font-size:min(calc(90cqw / var(--chars)),12cqh)}.tf-traffic .tf-label{font-size:min(8cqw,6cqh)}.tf-traffic.tf-phase-over .tf-time{animation:none}.tf-hourglass{--sand: #fbbf24}.tf-hourglass.tf-phase-warn{--sand: #fb923c}.tf-hourglass.tf-phase-over{--sand: #ef4444}.tf-hourglass-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqmin;width:100%;height:100%}.tf-hourglass-svg{height:66cqh;aspect-ratio:60 / 100;max-width:80cqw;display:block}.tf-hg-glass{fill:#ffffff0f;stroke:#ffffff8c;stroke-width:1.5}.tf-hg-cap{fill:#a16207}.tf-hg-sand{fill:var(--sand);transition:fill .4s}.tf-hg-stream{stroke:var(--sand);stroke-width:1.4;stroke-dasharray:2 2;animation:tf-stream .4s linear infinite}@keyframes tf-stream{to{stroke-dashoffset:-4}}.tf-hourglass-info{display:flex;flex-direction:column;align-items:center;gap:1cqmin}.tf-hourglass .tf-time{font-size:min(calc(90cqw / var(--chars)),14cqh);color:var(--sand)}.tf-hourglass .tf-label{font-size:min(8cqw,6cqh)}@container (orientation: landscape){.tf-traffic-wrap,.tf-hourglass-wrap{flex-direction:row;gap:5cqw}.tf-traffic-box{flex-direction:row}.tf-lamp{width:min(14cqw,40cqh)}.tf-traffic-info,.tf-hourglass-info{align-items:flex-start}.tf-traffic .tf-time{font-size:min(calc(55cqw / var(--chars)),32cqh)}.tf-traffic .tf-label,.tf-hourglass .tf-label{font-size:min(5cqw,12cqh)}.tf-hourglass-svg{height:86cqh}.tf-hourglass .tf-time{font-size:min(calc(90cqw / var(--chars)),30cqh)}}.tf-flip{--flip-fg: #f8fafc}.tf-flip.tf-phase-warn{--flip-fg: #fbbf24}.tf-flip.tf-phase-over{--flip-fg: #f87171}.tf-flip .tf-label{font-size:min(8cqw,14cqh)}.tf-flip-row{display:flex;align-items:center;gap:1.2cqw}.tf-flip-card{--w: min(calc(88cqw / var(--chars)), 40cqh);position:relative;width:var(--w);height:calc(var(--w) * 1.45);display:flex;align-items:center;justify-content:center;font:700 calc(var(--w) * 1.15) / 1 "Consolas","SF Mono",monospace;color:var(--flip-fg);background:linear-gradient(#2b3445 50%,#1f2633 50%);border-radius:calc(var(--w) * .12);box-shadow:0 .6cqh 1.2cqh #00000080;animation:tf-flip .35s ease-out}.tf-flip-card:after{content:"";position:absolute;left:0;right:0;top:50%;height:max(1px,.3cqh);background:#0000008c}.tf-flip-sep{font:700 min(calc(60cqw / var(--chars)),30cqh) / 1 "Consolas",monospace;color:var(--flip-fg)}@keyframes tf-flip{0%{transform:perspective(400px) rotateX(-80deg);filter:brightness(1.6)}to{transform:none;filter:none}}.tf-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.tf-btn{min-height:48px;padding:10px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#0f172ae0;color:#f8fafc;font-size:1.05rem;font-weight:600;cursor:pointer;font-family:inherit}.tf-btn:hover{background:#334155}.tf-btn-main{background:var(--accent);border-color:transparent}.tf-btn-main:hover{background:var(--accent);filter:brightness(1.1)}.tf-btn-alarm{background:#dc2626;border-color:#fecaca;animation:tf-flash 1s steps(1) infinite}.tf-controls-compact{position:absolute;right:6px;bottom:6px;gap:4px;opacity:0;transition:opacity .2s}.tf-host:hover .tf-controls-compact,.tf-controls-compact.tf-controls-alarm{opacity:1}.tf-controls-compact .tf-btn{min-height:30px;padding:3px 9px;font-size:14px;border-radius:8px}.tf-pip-body{margin:0;height:100vh;overflow:hidden;background:#000}.tf-host-pip{width:100vw;height:100vh}.tf-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000;display:flex;flex-direction:column}.tf-fullscreen>.tf{flex:1;height:auto}.tf-fullscreen>.tf-controls{position:absolute;left:0;right:0;bottom:24px;opacity:.2;transition:opacity .3s}.tf-fullscreen:hover>.tf-controls{opacity:1}.tf-loading{align-items:center;justify-content:center;color:#e2e8f0;font-size:1.2rem}@media(hover:none){.tf-fullscreen>.tf-controls,.tf-controls-compact{opacity:.9}}.tf-chip{position:fixed;right:16px;bottom:16px;z-index:2500;display:flex;align-items:center;gap:4px;padding:6px 8px 6px 14px;border-radius:999px;background:#0f172a;color:#f8fafc;box-shadow:0 6px 20px #00000059;font-weight:700;transition:background .3s}.tf-chip.tf-phase-warn{background:#b45309}.tf-chip.tf-phase-over{background:#b91c1c}.tf-chip-time{font-family:Consolas,monospace;font-size:1.05rem;margin-right:4px;font-variant-numeric:tabular-nums}.tf-chip button{width:40px;height:40px;font-size:1rem;border:none;border-radius:999px;background:#ffffff1f;color:inherit;cursor:pointer}.tf-chip button:hover{background:#ffffff40}.tp{display:flex;flex-direction:column;gap:14px}.tp-preview{height:240px;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px #00000040}.tp-section{background:var(--bg-secondary);border-radius:12px;padding:14px 16px}.tp-section h3{font-size:.95rem;margin-bottom:10px;color:var(--text-primary)}.tp-chips{display:flex;flex-wrap:wrap;gap:6px}.tp-chip{min-height:42px;padding:6px 16px;border-radius:999px;border:1px solid var(--text-secondary);background:transparent;color:var(--text-primary);cursor:pointer;font-size:.95rem;font-family:inherit}.tp-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.tp-custom{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap;color:var(--text-secondary);font-size:.9rem}.tp-custom input,.tp-input{padding:6px 8px;border-radius:8px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-family:inherit}.tp-custom input{width:72px;height:44px;text-align:center;font-size:1.1rem}.tp-input{width:100%}.tp-seg{display:inline-flex;border:1px solid var(--accent);border-radius:999px;overflow:hidden;margin-left:auto}.tp-seg button{min-height:42px;padding:6px 18px;border:none;background:transparent;color:var(--accent);cursor:pointer;font-weight:600;font-family:inherit}.tp-seg button.active{background:var(--accent);color:#fff}.tp-skins{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tp-skin{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;border-radius:12px;border:2px solid transparent;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;text-align:left;font-family:inherit}.tp-skin.active{border-color:var(--accent)}.tp-skin-preview{display:block;width:100%;aspect-ratio:3 / 2;border-radius:8px;overflow:hidden;margin-bottom:4px}.tp-skin strong{font-size:.9rem}.tp-skin small{color:var(--text-secondary);font-size:.74rem;line-height:1.35}.tp-launch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tp-launch-btn{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:16px;min-height:88px;border-radius:12px;border:1px solid var(--text-secondary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-family:inherit}.tp-launch-btn:hover:not(:disabled){border-color:var(--accent)}.tp-launch-btn strong{display:block;font-size:1.08rem}.tp-launch-btn small{display:block;color:var(--text-secondary);font-size:.78rem;margin-top:3px;line-height:1.4}.tp-launch-main{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tp-launch-btn:disabled{opacity:.45;cursor:not-allowed}.tp-launch-icon{font-size:2rem;line-height:1}.tp-note{font-size:.82rem;color:var(--text-secondary);margin-top:8px}.tp-note-warn{color:#e67e22}.tp-howto{margin-top:10px;font-size:.85rem;color:var(--text-secondary)}.tp-howto summary{cursor:pointer;color:var(--accent);font-weight:600}.tp-howto ol{padding-left:1.4em;margin:6px 0}.tp-howto li{margin:3px 0}.tp-more>summary{cursor:pointer;font-weight:700;font-size:.95rem;color:var(--text-primary)}.tp-more[open]>summary{margin-bottom:12px}.tp-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.tp-row:last-child{margin-bottom:0}.tp-row-label{font-size:.82rem;color:var(--text-secondary)}@media(max-width:640px){.tp-launch{grid-template-columns:1fr}.tp-skins{grid-template-columns:repeat(2,1fr)}.tp-seg{margin-left:0}}.pdf-show{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer}.pdf-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.pdf-stage canvas{display:block}.pdf-msg{position:absolute;color:#e2e8f0;font-size:1.2rem;display:flex;flex-direction:column;gap:12px;align-items:center}.pdf-timer{position:absolute;z-index:2;border-radius:1.2vmin;overflow:hidden;box-shadow:0 1vmin 3vmin #00000073;opacity:.94;width:24vmin;height:13.5vmin}.pdf-timer-tr{top:2vmin;right:2vmin}.pdf-timer-tl{top:2vmin;left:2vmin}.pdf-timer-br{bottom:2vmin;right:2vmin}.pdf-timer-bl{bottom:2vmin;left:2vmin}.pdf-timer-skin-ring{width:18vmin;height:18vmin;border-radius:50%}.pdf-timer-skin-traffic{width:12vmin;height:22vmin}.pdf-timer-skin-hourglass{width:13vmin;height:22vmin}.pdf-timer-skin-flip{width:28vmin;height:12vmin}.pdf-timer-top{top:0;left:0;right:0;width:auto;height:6vh;border-radius:0}.pdf-indicator{position:absolute;bottom:9vmin;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:999px;background:#0009;color:#fff;font-size:.9rem;opacity:0;transition:opacity .4s;pointer-events:none}.pdf-indicator.show{opacity:1}.pdf-toolbar{position:absolute;bottom:2vmin;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:10px;opacity:0;transition:opacity .3s;cursor:default;z-index:3}.pdf-toolbar:hover{opacity:1}.pdf-alarm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;padding:14px 28px;z-index:4}@media(hover:none){.pdf-toolbar{opacity:.8}}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--text-primary: #2c3e50;--text-secondary: #7f8c8d;--accent: #3498db}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft JhengHei,Noto Sans TC,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:background .3s,color .3s}button{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;margin:0 auto;padding:16px}.main-narrow{max-width:760px}.main-wide{max-width:1280px}.main-content.immersive{max-width:100%;padding:10px}.focus-bar{display:flex;justify-content:flex-end;margin-bottom:10px}.focus-bar button{min-height:44px;padding:0 16px;border:1px solid var(--text-secondary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;font-weight:700;cursor:pointer}.focus-bar button:hover{border-color:var(--accent);color:var(--accent)}.free-notice{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:0 auto 12px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,#22c55e 12%,transparent);border:1px solid color-mix(in srgb,#22c55e 40%,transparent);font-size:.92rem;font-weight:600;text-align:center}.mute-btn{min-width:40px;height:40px;background:none;border:1px solid var(--text-secondary);border-radius:10px;cursor:pointer;font-size:1.1rem;transition:transform .2s}.mute-btn:hover{transform:scale(1.06)}.user-menu{display:flex;align-items:center;gap:6px}.user-badge{padding:6px 12px;border-radius:10px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700}.login-btn{height:40px;padding:0 16px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:.92rem;cursor:pointer;font-weight:700;transition:opacity .2s}.login-btn:hover{opacity:.85}.sponsor-btn,.admin-btn,.logout-btn{height:36px;padding:0 12px;border-radius:10px;background:transparent;cursor:pointer;font-size:.88rem;font-weight:600}.sponsor-btn{border:1px solid #e67e22;color:#e67e22}.sponsor-btn:hover{background:#e67e22;color:#fff}.admin-btn{border:1px solid var(--accent);color:var(--accent)}.logout-btn{border:1px solid var(--text-secondary);color:var(--text-secondary)}.timer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;overflow-y:auto}.timer-modal{width:100%;max-width:760px;background:var(--bg-primary);color:var(--text-primary);border-radius:18px;padding:18px;box-shadow:0 20px 60px #0006}.timer-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.timer-modal-head h2{font-size:1.2rem}.timer-modal-close{width:44px;height:44px;border-radius:12px;border:1px solid var(--text-secondary);background:transparent;color:var(--text-primary);font-size:1.1rem;cursor:pointer}.ah-sponsor{height:40px;border-radius:10px;border:1px solid #f59e0b;color:#f59e0b;font-size:.92rem}.ah-sponsor:hover{background:#f59e0b;color:#1c1300}@media(max-width:640px){.ah-sponsor-label{display:none}}
