:root{--color-bg-primary: #040714;--color-bg-secondary: #0c0f28;--color-bg-card: #1c2541;--color-bg-canvas: #142042;--color-accent-primary: #ff5f6d;--color-accent-secondary: #576fff;--color-success: #4fe0af;--color-warning: #ffb347;--color-gold: #ffd700;--color-text-primary: #f7f7fb;--color-text-secondary: #a0aec0;--color-text-muted: rgba(255, 255, 255, .55);--shadow-btn: 0 15px 35px rgba(255, 95, 109, .35);--shadow-card: 0 12px 25px rgba(7, 9, 26, .65);--shadow-overlay: 0 20px 50px rgba(0, 0, 0, .5);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--transition-fast: .15s ease;--transition-normal: .2s ease}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{width:100%;min-height:100%;overflow-x:hidden}body{font-family:Space Grotesk,Inter,system-ui,-apple-system,sans-serif;background-color:var(--color-bg-primary);background-image:radial-gradient(circle at 20% 20%,rgba(255,95,109,.15),transparent 45%),radial-gradient(circle at 80% 0%,rgba(87,111,255,.18),transparent 40%);min-height:100vh;padding:0;color:var(--color-text-primary);touch-action:manipulation;overflow-x:hidden;width:100%;max-width:100vw}::selection{background:#ff5f6d80;color:#fff}.app-shell{max-width:520px;margin:0 auto;padding:24px 20px 40px;min-height:100vh}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md)}.user-chip{display:flex;align-items:center;gap:10px}.user-dot{width:12px;height:12px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 6px #4fe0af1f}.user-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-meta small{color:var(--color-text-muted);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.panel{animation:fadeSlideIn .3s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.primary-btn{background:var(--color-accent-primary);color:#fff;border:none;border-radius:14px;padding:16px 28px;font-size:1.05rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-btn);transition:transform var(--transition-fast),box-shadow var(--transition-normal);width:100%;text-align:center}.primary-btn:active{transform:translateY(2px) scale(.99);box-shadow:0 6px 20px #ff5f6d66}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.ghost-btn{background:transparent;color:#fffc;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);padding:12px 20px;font-size:.95rem;cursor:pointer;transition:border-color var(--transition-normal),color var(--transition-normal);white-space:nowrap}.ghost-btn:active{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.level-btn{border:none;border-radius:var(--radius-md);padding:16px;font-size:1.05rem;font-weight:600;color:#fff;background:#171a38;box-shadow:inset 0 0 0 1px #ffffff14,var(--shadow-card);cursor:pointer;transition:transform var(--transition-normal),background var(--transition-normal)}.level-btn:hover{outline:none;background:#2a2f65;transform:translateY(-3px)}.level-btn:active{transform:translateY(1px)}.card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:16px}.stat-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:14px;text-align:center}.stat-card p{color:var(--color-text-muted);font-size:.82rem;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.stat-card p .questionnaire-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.stat-card strong{font-size:1.2rem}.stat-card strong .text-input,.stat-card strong .feedback-select,.stat-card strong textarea.feedback-select{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:var(--color-text-primary);outline:none}.stat-card strong .text-input:focus,.stat-card strong .feedback-select:focus,.stat-card strong textarea.feedback-select:focus{border-color:var(--color-accent-secondary)}.stat-card strong .form-label{font-weight:600;color:var(--color-text-primary);margin-bottom:6px;display:block}.stat-card strong .toast-viewport{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:1000}.stat-card strong .toast{background:var(--color-bg-card);color:var(--color-text-primary);padding:12px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08)}.stat-card strong .toast-info{border-color:var(--color-accent-secondary)}.stat-card strong .toast-warning{border-color:var(--color-warning)}.stat-card strong .toast-error{border-color:var(--color-accent-primary)}.stat-card strong .toast-close{background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;font-size:16px;margin-left:auto}.stat-card.muted{opacity:.7}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);font-size:1.2rem;color:var(--color-text-primary);margin-bottom:10px}.stat-row .stat-card strong{font-size:1.2rem}.stat-row .questionnaire-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.stat-row .text-input,.stat-row .feedback-select,.stat-row textarea.feedback-select{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:var(--color-text-primary);outline:none}.stat-row .text-input:focus,.stat-row .feedback-select:focus,.stat-row textarea.feedback-select:focus{border-color:var(--color-accent-secondary)}.stat-row .form-label{font-weight:600;color:var(--color-text-primary);margin-bottom:6px;display:block}.stat-row .toast-viewport{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:1000}.stat-row .toast{background:var(--color-bg-card);color:var(--color-text-primary);padding:12px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08)}.stat-row .toast-info{border-color:var(--color-accent-secondary)}.stat-row .toast-warning{border-color:var(--color-warning)}.stat-row .toast-error{border-color:var(--color-accent-primary)}.stat-row .toast-close{background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;font-size:16px;margin-left:auto}h3{font-size:1.05rem;font-weight:600;margin-bottom:6px}.helper-text{display:block;text-align:center;font-size:.82rem;color:var(--color-text-muted);margin-top:10px}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.feedback-select{width:100%;padding:14px 16px;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text-primary);font-size:1rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px}.feedback-select option{background:var(--color-bg-card);color:var(--color-text-primary)}.other-input{width:100%;padding:12px 16px;margin-top:10px;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:var(--color-text-primary);font-size:.95rem}.other-input:focus{outline:none;border-color:var(--color-accent-primary)}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal)}.radio-option:hover{background:#ffffff0f;border-color:#ffffff26}.radio-option input[type=radio]{width:18px;height:18px;accent-color:var(--color-accent-primary)}.radio-label{color:var(--color-text-secondary);font-size:.95rem}.radio-option:has(input:checked){background:#ff5f6d1a;border-color:var(--color-accent-primary)}.radio-option:has(input:checked) .radio-label{color:var(--color-text-primary)}.emoji-selector{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.emoji-btn{width:52px;height:52px;font-size:1.8rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:50%;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.emoji-btn:hover{transform:scale(1.1);background:#ffffff1a}.emoji-btn.selected{background:#ff5f6d33;border-color:var(--color-accent-primary);transform:scale(1.15);box-shadow:0 0 20px #ff5f6d66}.question-block{margin-bottom:24px}.question-block>label{display:block;font-weight:600;margin-bottom:12px;color:var(--color-text-primary)}@media(max-width:400px){.app-shell{padding:16px 14px 32px}.level-grid{grid-template-columns:repeat(3,1fr)}.stat-row{grid-template-columns:repeat(2,1fr)}.stat-card:last-child{grid-column:span 2}}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.status{margin:8px 0 14px;text-align:center;padding:10px 14px;border-radius:16px;background:#9aa4ff1f;color:#9aa4ff;font-weight:600;min-height:42px;display:flex;align-items:center;justify-content:center;font-size:.95rem}.canvas-frame{border-radius:20px;background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.05);padding:14px;margin-bottom:16px}.game-canvas{width:100%;height:clamp(280px,50vh,400px);border-radius:16px;background:var(--color-bg-canvas);position:relative;overflow:hidden;cursor:pointer;touch-action:none;box-shadow:inset 0 0 0 1px #ffffff0f}.canvas-hint{text-align:center;margin-top:10px;font-size:.85rem;color:var(--color-text-muted)}.ball{position:absolute;border-radius:50%;background:var(--color-warning);box-shadow:inset -6px -8px 18px #ff6b5aa6,0 10px 18px #00000059;pointer-events:none}.hoop{position:absolute;bottom:60px;display:flex;justify-content:center;align-items:flex-end}.hoop-rim{width:100%;height:10px;background:var(--color-accent-primary);border-radius:8px;position:relative;box-shadow:0 4px 12px #ff5f6d59}.hoop-rim:before{content:"";position:absolute;width:120%;height:4px;background:#fff3;top:-12px;left:-10%;border-radius:50px}.hoop-net{position:absolute;width:80%;height:60px;bottom:10px;border-left:2px dashed rgba(255,255,255,.45);border-right:2px dashed rgba(255,255,255,.45)}.hoop-stand{position:absolute;width:4px;height:60px;bottom:10px;background:linear-gradient(180deg,#6b6dff,#373a9b);border-radius:999px}.level-result-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0c0f28f2;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.result-content{background:var(--color-bg-card);padding:40px;border-radius:var(--radius-xl);text-align:center;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-overlay);max-width:90%;width:320px;animation:scaleIn .3s cubic-bezier(.175,.885,.32,1.275)}.result-icon{font-size:4rem;margin-bottom:16px;display:block}.result-content h2{font-size:1.8rem;margin-bottom:8px;color:#fff}.result-content p{color:var(--color-text-secondary);margin-bottom:24px;font-size:1.1rem}.hero{text-align:center;margin-bottom:32px}.home-desc{color:var(--color-text-secondary);font-size:1rem;line-height:1.55;margin-bottom:20px}.hero-actions{margin-top:20px}.form-label{color:var(--color-text-secondary);font-weight:600;margin-bottom:6px;display:block}.text-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--color-text-primary);font-size:1rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-shadow:inset 0 1px #ffffff0a}.text-input::placeholder{color:var(--color-text-muted)}.text-input:focus{border-color:#ff5f6dcc;box-shadow:0 0 0 3px #ff5f6d33;background:#ffffff0f}.how-to{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:20px;margin-bottom:28px}.how-to ol{padding-left:20px;color:var(--color-text-secondary);line-height:1.7}.how-to li{margin-bottom:6px}.level-section{margin-top:28px}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.section-header p{color:var(--color-text-muted);font-size:.9rem}.round-intro-content{text-align:center;padding:20px 0}.round-instructions{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:20px;margin:24px 0;text-align:left}.round-instructions h3{margin-bottom:12px;color:var(--color-text-primary)}.round-instructions ul{list-style:none;padding:0}.round-instructions li{position:relative;padding-left:24px;margin-bottom:10px;color:var(--color-text-secondary);line-height:1.5}.round-instructions li:before{content:"→";position:absolute;left:0;color:var(--color-accent-primary)}.round-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.detail-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:16px;text-align:center}.detail-card p{font-size:.85rem;color:var(--color-text-muted);margin-bottom:4px}.detail-card strong{font-size:1.1rem;color:var(--color-text-primary)}.intro-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.skip-btn{color:var(--color-text-muted)}.payment-section{background:linear-gradient(135deg,#ffd7001a,#ff5f6d1a);border:1px solid rgba(255,215,0,.2);border-radius:var(--radius-lg);padding:24px;margin:24px 0}.qr-container{text-align:center;margin-bottom:20px}.qr-placeholder{width:160px;height:160px;background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 12px}.qr-icon{font-size:2.5rem;margin-bottom:8px}.qr-placeholder p{color:var(--color-text-secondary);font-weight:600}.qr-placeholder small{color:var(--color-text-muted);font-size:.8rem}.payment-amount{font-size:1.2rem;font-weight:700;color:var(--color-gold)}.payment-info{display:flex;flex-direction:column;gap:10px}.info-item{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary);font-size:.9rem}.info-icon{color:var(--color-success);font-weight:700}.questionnaire-content{padding:20px 0}.questionnaire-content>h1{text-align:center}.questionnaire-content>.round-badge{display:block;text-align:center;width:fit-content;margin:0 auto 20px}.questionnaire-desc{text-align:center;color:var(--color-text-secondary);margin-bottom:28px}.questionnaire-form{margin-bottom:28px}.questionnaire-actions{display:flex;flex-direction:column;gap:12px}.complete-content{text-align:center;padding:40px 20px}.complete-icon{font-size:5rem;margin-bottom:24px;display:block}.complete-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}.complete-actions{margin-top:32px}.wait-content{padding:20px 0;display:flex;flex-direction:column;gap:16px}.wait-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.wait-status{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:12px 16px;color:var(--color-text-secondary);min-width:160px;text-align:center;font-weight:600}.wait-error{color:var(--color-warning);background:#ff880014;border:1px solid rgba(255,136,0,.3);border-radius:var(--radius-md);padding:10px 12px}.wait-table-wrapper{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);overflow:hidden}.wait-table{width:100%;border-collapse:collapse}.wait-table th,.wait-table td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.wait-table th{background:#ffffff05;color:var(--color-text-secondary);font-weight:600}.wait-table tbody tr:last-child td{border-bottom:none}.wait-empty{text-align:center;color:var(--color-text-muted);padding:18px 0}.pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:700}.pill-success{background:#2ecc7126;color:#2ecc71}.pill-fail{background:#e74c3c26;color:#e74c3c}.pill-pending{background:#f1c40f26;color:#f1c40f}.wait-hint{color:var(--color-text-muted);text-align:center;margin-top:6px}
