:root{--primary-color: #20B2AA;--primary-dark: #189A94;--secondary-color: #10b981;--background: #f8fafc;--surface: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border: #e2e8f0;--shadow: rgba(0, 0, 0, .1);--error: #ef4444;--success: #10b981;--warning: #f59e0b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.6;overflow-x:hidden;max-width:100vw}#app{max-width:100vw;overflow-x:hidden}.container{max-width:800px;width:100%;margin:0 auto;padding:1.5rem;min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box}.content{flex:1;margin:1.5rem 0;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}h1{font-size:2rem;font-weight:700;color:var(--primary-color);margin-top:0;margin-bottom:.5rem;text-align:center}h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:.5rem 0 1rem;text-align:center}h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem}p{margin-bottom:1rem;color:var(--text-primary)}.intro-text{font-size:1.1rem;font-weight:500;color:#1e40af;line-height:1.7;margin-bottom:1.5rem}.skills-list{list-style:none;margin-left:0}.skills-list li{padding-left:1.5rem;position:relative;margin-bottom:.75rem}ul,ol{margin:1rem 0 1rem 1.5rem}li{margin-bottom:.5rem}.page{display:none;opacity:0;transition:opacity .3s ease-in-out;position:relative}.page.active{display:block;opacity:1}.page.active .page-logo-header{text-align:center;margin-bottom:1rem;padding-top:1rem}.page.active .page-logo-footer{text-align:center;margin-top:2rem;padding:1.5rem 0;border-top:1px solid #e5e7eb}.page.active .page-logo{height:2.5rem;cursor:pointer;animation:logoShake 2s ease-in-out infinite;transform-origin:center}.page.active .page-logo.shake-intense{animation:logoShakeIntense .3s ease-in-out infinite}.page.active .page-logo.flipping{animation:logoFlipWithShake 4s ease-in-out forwards}.username-footer{margin-top:2rem;font-size:.75rem;color:#94a3b8;text-align:center;padding:.25rem .75rem;background:#94a3b81a;border-radius:12px;font-weight:500}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;width:100%;max-width:300px;display:block;margin:2rem auto 0;transition:background .2s;box-shadow:0 4px 6px var(--shadow)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 8px var(--shadow)}.btn-primary:active{transform:translateY(0)}.btn-finish{background:#f59e0b;color:#fff;border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;width:100%;max-width:300px;display:block;margin:0 auto;transition:background .2s;box-shadow:0 4px 6px var(--shadow)}.btn-finish:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 6px 8px var(--shadow)}.btn-finish:active{transform:translateY(0)}.btn-secondary{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--primary-color);color:#fff}.floating-btn{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;font-size:2rem;cursor:pointer;box-shadow:0 4px 12px var(--shadow);z-index:999;display:none;transition:transform .2s,box-shadow .2s;padding:0;align-items:center;justify-content:center;line-height:1}.floating-btn.visible{display:flex}.floating-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px var(--shadow)}.floating-btn:active{transform:scale(.95)}.info-box{background:#eff6ff;border-left:4px solid var(--primary-color);padding:1rem 1.5rem;border-radius:4px;margin:1rem 0}.highlight{background:#fef3c7;padding:1rem 1.5rem;border-radius:8px;font-weight:500;border-left:4px solid var(--warning)}.back-to-previous-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:#64748b;font-size:.9rem;font-weight:500;padding:.5rem .75rem;margin-bottom:1rem;cursor:pointer;transition:all .2s;border-radius:6px}.back-to-previous-btn:hover{background:#64748b1a;color:var(--primary-color)}.back-to-previous-btn svg{transition:transform .2s}.back-to-previous-btn:hover svg{transform:translate(-3px)}.back-to-previous-btn:active{transform:scale(.98)}.paper-card{background:var(--surface);border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 2px 8px var(--shadow);max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word}.paper-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.paper-id{display:inline-block;background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.paper-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:.5rem 0;text-align:left}.paper-section{margin:1.5rem 0}.paper-section h3{font-size:1.1rem;color:var(--primary-color);margin-bottom:.75rem}.paper-section p{color:var(--text-primary)}.rating-section{background:#f1f5f9;padding:1.5rem;border-radius:8px;margin:2rem 0}.rating-section h3{text-align:center;color:var(--text-primary);margin-bottom:1rem}.rating-scale{display:flex;justify-content:space-between;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.rating-option{flex:1;min-width:60px}.rating-option input[type=radio]{display:none}.rating-option label{display:block;background:#fff;border:2px solid var(--border);border-radius:8px;padding:1rem .5rem;text-align:center;cursor:pointer;transition:all .2s;font-weight:600}.rating-option label[for$="-1"]{background:#fee2e2;border-color:#ef4444;color:#991b1b}.rating-option label[for$="-2"]{background:#fed7aa;border-color:#fb923c;color:#9a3412}.rating-option label[for$="-3"]{background:#fef3c7;border-color:#facc15;color:#854d0e}.rating-option label[for$="-4"]{background:#fef9c3;border-color:#fde047;color:#713f12}.rating-option label[for$="-5"]{background:#d9f99d;border-color:#84cc16;color:#365314}.rating-option label[for$="-6"]{background:#bbf7d0;border-color:#22c55e;color:#14532d}.rating-option label[for$="-7"]{background:#a7f3d0;border-color:#10b981;color:#064e3b}.rating-option label:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.rating-option input[type=radio]:checked+label{transform:scale(1.05)}.rating-option input[type=radio]:checked+label[for$="-1"]{background:#ef4444;border-color:#ef4444;color:#fff}.rating-option input[type=radio]:checked+label[for$="-2"]{background:#fb923c;border-color:#fb923c;color:#fff}.rating-option input[type=radio]:checked+label[for$="-3"]{background:#facc15;border-color:#facc15;color:#1f2937}.rating-option input[type=radio]:checked+label[for$="-4"]{background:#fde047;border-color:#fde047;color:#1f2937}.rating-option input[type=radio]:checked+label[for$="-5"]{background:#84cc16;border-color:#84cc16;color:#fff}.rating-option input[type=radio]:checked+label[for$="-6"]{background:#22c55e;border-color:#22c55e;color:#fff}.rating-option input[type=radio]:checked+label[for$="-7"]{background:#10b981;border-color:#10b981;color:#fff}.rating-labels{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-secondary);margin-top:.15rem}.submit-rating{background:var(--success);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;width:100%;margin-top:1rem;transition:background .2s}.submit-rating:hover{background:#059669}.submit-rating:disabled{background:#cbd5e1;cursor:not-allowed}.results-box{background:#fff;border:2px solid var(--success);border-radius:12px;padding:.75rem 1.5rem 1.5rem;margin:0 0 1rem;text-align:center}.results-box h3{color:var(--success);margin-bottom:1rem}.rating-comparison{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0}.rating-scale-grid{background:#f8fafc;padding:1rem;border-radius:8px}.scale-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:600}.scale-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.scale-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#e2e8f0;font-size:.75rem;font-weight:600;color:#94a3b8;transition:all .2s ease}.scale-cell.active{font-size:1.25rem;font-weight:700;color:#fff;box-shadow:0 2px 4px #0003;transform:scale(1.1)}.scale-cell.active.rating-1{background:#3b82f6}.scale-cell.active.rating-2{background:#06b6d4}.scale-cell.active.rating-3{background:#10b981}.scale-cell.active.rating-4{background:#84cc16}.scale-cell.active.rating-5{background:#facc15}.scale-cell.active.rating-6{background:#fb923c}.scale-cell.active.rating-7{background:#ef4444}.rating-display{background:#f8fafc;padding:1rem;border-radius:8px}.rating-display .label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.rating-display .value{font-size:2rem;font-weight:700;color:var(--primary-color)}.participant-count{margin-top:.25rem;font-size:.875rem;color:var(--text-secondary)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080;overflow-y:auto}.modal.active{display:block}.modal-content{background:#fff;margin:2rem auto;padding:2rem;max-width:800px;border-radius:12px;position:relative;box-shadow:0 8px 24px #0003}.close{position:absolute;right:1.5rem;top:1.5rem;font-size:2rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:color .2s}.close:hover{color:var(--text-primary)}.modal-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border)}.tab-btn{background:none;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{display:none}.tab-content.active{display:block}.glossary-item{margin-bottom:1.5rem}.glossary-term{font-weight:700;color:var(--primary-color);font-size:1.1rem}.glossary-definition{margin-top:.25rem;color:var(--text-primary)}.rubric-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.rubric-table th{background:var(--primary-color);color:#fff;padding:.75rem;text-align:left;font-weight:600}.rubric-table td{padding:.75rem;border:1px solid var(--border);vertical-align:top}.rubric-table tr:nth-child(2n){background:#f8fafc}.spinner{border:4px solid var(--border);border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:2rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scoreUpdate{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.score-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:clamp(.5rem,1.5vh,.75rem) 1rem;min-height:2.5rem;max-height:4rem;display:flex;justify-content:space-between;align-items:center;z-index:998;box-shadow:0 2px 8px var(--shadow);font-weight:600}#total-score-header{background:#ffffff40;padding:.2rem .5rem;border-radius:12px;border:2px solid rgba(255,255,255,.4);display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;box-shadow:0 2px 4px #0000001a;min-width:80px}.navbar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center}.navbar-logo{height:2.5rem;width:2.5rem;cursor:pointer;animation:logoShake 2s ease-in-out infinite;transform-origin:center;background:#fff;border-radius:50%;padding:.4rem;box-shadow:0 2px 6px #00000026}.navbar-logo.shake-intense{animation:logoShakeIntense .3s ease-in-out infinite}.navbar-logo.flipping{animation:logoFlipWithShake 4s ease-in-out forwards}.navbar-right{display:flex;align-items:center;gap:1rem}.navbar-username{font-size:.85rem;opacity:.9;font-weight:500;display:none}.navbar-paper-number{font-size:.85rem;opacity:.9;font-weight:500}.medal-icon{font-size:1rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.score-banner+.page{margin-top:clamp(3rem,10vh,5rem)}#page-welcome{margin-top:0!important}#page-welcome .container{padding-top:2rem;min-height:auto}#page-welcome h1{margin-top:0;padding-top:0;margin-bottom:.15rem}.logo-text{background:linear-gradient(135deg,#20b2aa,#48d1cc 30%,#ff9a56 70%,#ff6b35);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;letter-spacing:-.02em}#page-welcome h2{margin-bottom:.5rem}#logo-icon{animation:logoShake 2s ease-in-out infinite;transform-origin:center;position:relative;z-index:1}#logo-icon.shake-intense{animation:logoShakeIntense .3s ease-in-out infinite}@keyframes logoShake{0%{transform:rotate(0)}12.5%{transform:rotate(-4deg)}25%{transform:rotate(-8deg)}37.5%{transform:rotate(-4deg)}50%{transform:rotate(0)}62.5%{transform:rotate(4deg)}75%{transform:rotate(8deg)}87.5%{transform:rotate(4deg)}to{transform:rotate(0)}}@keyframes logoShakeIntense{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}#logo-icon.flipping{animation:logoFlipWithShake 4s ease-in-out forwards}@keyframes logoFlipWithShake{0%{transform:rotate(0)}2%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}6%{transform:rotate(-12deg)}8%{transform:rotate(12deg)}10%{transform:rotate(-8deg)}12%{transform:rotate(8deg)}15%{transform:rotate(180deg)}85%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.droplet-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.droplet{position:absolute;background:radial-gradient(ellipse at 50% 30%,#fa3,#ff8c42 40%,#ff6b35,#cc5528);border-radius:50%;opacity:0;box-shadow:0 2px 6px #ff6b3580,0 4px 12px #ff6b354d,inset 0 -2px 4px #0003,inset 0 2px 4px #ffc8644d;animation:dropletDrop 3s cubic-bezier(.4,0,.6,1) forwards}@keyframes dropletDrop{0%{opacity:0;transform:translateY(0) scale(.5)}5%{opacity:.9;transform:translateY(10px) scale(1)}15%{transform:translateY(30px) scale(2)}40%{transform:translateY(50vh) scale(4)}70%{transform:translateY(80vh) scale(6)}to{opacity:.3;transform:translateY(120vh) scale(8)}}.droplet-star{background:linear-gradient(135deg,gold,#ffed4e,#fa0);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0;box-shadow:0 0 10px #ffd700cc,0 0 20px #ffd70080,0 2px 6px #ffaa0080}.droplet-heart{background:linear-gradient(135deg,#ff69b4,#ff1493,#c71585);border-radius:0;box-shadow:0 0 8px #ff69b499,0 2px 6px #ff149366}.droplet-heart:before{content:"";position:absolute;width:100%;height:100%;background:inherit;border-radius:50% 50% 0 0;transform:rotate(-45deg);transform-origin:0 100%}.droplet-heart:after{content:"";position:absolute;width:100%;height:100%;background:inherit;border-radius:50% 50% 0 0;transform:rotate(45deg);transform-origin:100% 100%}.droplet-sparkle{background:radial-gradient(circle,#fff,#add8e6 40%,#4bb3e3);border-radius:50%;box-shadow:0 0 15px #fff,0 0 30px #add8e6cc,0 0 45px #4bb3e399}.droplet-bubble{background:radial-gradient(circle at 30% 30%,#ffffffe6,#add8e699,#87ceeb4d);border-radius:50%;border:2px solid rgba(255,255,255,.5);box-shadow:inset 0 -10px 20px #87ceeb4d,inset 0 10px 20px #ffffff80,0 0 10px #add8e666}.droplet-celebration{background:linear-gradient(135deg,red,#ff7f00,#ff0,#0f0 42%,#00f 57%,indigo,#9400d3 85%,red);border-radius:50%;box-shadow:0 0 15px #ffd700cc,0 0 30px #ffd70099,0 0 45px #ffd70066,0 4px 10px #ffd70066;animation:dropletCelebrate 1.5s cubic-bezier(.25,.1,.25,1) forwards,rainbow-rotate 1s linear infinite}.droplet-celebration-refill{background:linear-gradient(135deg,red,#ff7f00,#ff0,#0f0 42%,#00f 57%,indigo,#9400d3 85%,red);border-radius:50%;box-shadow:0 0 12px #ffd700b3,0 0 24px #ffd70080,0 0 36px #ffd7004d;animation:rainbow-rotate 1s linear infinite}@keyframes dropletCelebrate{0%{opacity:0;transform:translateY(0) scale(.3) rotate(0)}10%{opacity:1;transform:translateY(15px) scale(.7) rotate(45deg)}25%{transform:translateY(35vh) scale(1.2) rotate(135deg)}55%{transform:translateY(60vh) scale(1.8) rotate(270deg)}85%{transform:translateY(85vh) scale(2.3) rotate(405deg)}to{opacity:.2;transform:translateY(120vh) scale(2.5) rotate(540deg)}}@keyframes rainbow-rotate{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes dropletRefill{0%{opacity:0;transform:translateY(0) scale(2.5)}8%{opacity:.95;transform:translateY(calc(var(--travel-distance) * .15)) scale(2)}25%{opacity:1;transform:translateY(calc(var(--travel-distance) * .4)) scale(1.2)}50%{opacity:.9;transform:translateY(calc(var(--travel-distance) * .65)) scale(.6)}75%{opacity:.6;transform:translateY(calc(var(--travel-distance) * .85)) scale(.25)}90%{opacity:.3;transform:translateY(calc(var(--travel-distance) * .95)) scale(.1)}to{opacity:0;transform:translateY(var(--travel-distance)) scale(.05)}}.droplet-refill{animation:dropletRefill 1.1s cubic-bezier(.25,0,.1,1) forwards}.session-timer{font-size:.85rem;opacity:.9;padding:.2rem .5rem;background:#fff3;border-radius:12px;border:2px solid rgba(255,255,255,.4);transition:color .3s ease;min-width:80px;text-align:center}.participant-count{font-size:.85rem;opacity:.9}.score-banner .participant-count{padding:.2rem .5rem;background:#fff3;border-radius:12px;border:2px solid rgba(255,255,255,.4);min-width:80px;text-align:center}.score-earned{background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:1.5rem;border-radius:12px;text-align:center;margin:1rem 0}.score-value{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.score-message{font-size:1.1rem;color:#fff;margin-top:.5rem;font-weight:600}.final-score-card{background:linear-gradient(135deg,var(--primary-color),#7c3aed);color:#fff;padding:2rem;border-radius:16px;text-align:center;margin:2rem 0;box-shadow:0 8px 24px #00000026}.final-score-card h2{color:#fff;margin-bottom:1rem}.final-score{font-size:4rem;font-weight:700;margin:1rem 0;text-shadow:3px 3px 6px rgba(0,0,0,.3)}.score-rank{font-size:1.2rem;opacity:.95;margin-top:.5rem}.leaderboard{background:#fff;border-radius:12px;padding:1.5rem;margin:2rem 0;box-shadow:0 2px 8px var(--shadow)}.leaderboard h3{text-align:center;color:var(--primary-color);margin-bottom:1rem}.leaderboard-entry{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:.75rem;padding:1rem;margin:.5rem 0;background:#f8fafc;border-radius:8px;border-left:4px solid var(--border)}.leaderboard-entry.current-user{background:#eff6ff;border-left-color:var(--primary-color);font-weight:600}.leaderboard-entry .rank{font-size:1.5rem;text-align:center;color:var(--text-primary)}.leaderboard-entry .username-container{display:flex;align-items:center;gap:.5rem;overflow:hidden;min-width:0}.leaderboard-entry .username{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.leaderboard-entry .score{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.you-badge{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;white-space:nowrap;flex-shrink:0}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.25rem}.container{padding:1rem}div[style*=linear-gradient]{padding:1.25rem!important}.leaderboard{padding:1rem}.leaderboard-entry{grid-template-columns:50px 1fr auto;gap:.5rem;padding:.75rem .5rem}.leaderboard-entry .rank{font-size:1.25rem}.leaderboard-entry .username{font-size:.9rem}.leaderboard-entry .score{font-size:1.1rem}.you-badge{padding:.2rem .5rem;font-size:.75rem}.score-banner+.page{margin-top:clamp(3.5rem,12vh,5.5rem)}.rating-scale{gap:.25rem}.rating-option label{padding:.75rem .25rem;font-size:.9rem}.floating-btn{width:50px;height:50px;bottom:1rem;right:1rem;font-size:1.7rem}.modal-content{margin:1rem;padding:1.5rem}.rubric-table{font-size:.75rem}.rubric-table th,.rubric-table td{padding:.4rem;font-size:.75rem}.rating-comparison{grid-template-columns:1fr}.rating-scale-grid{padding:.75rem}.scale-row{gap:.2rem}.scale-cell{font-size:.7rem}.scale-cell.active{font-size:1.1rem}}@media (max-width: 480px){h1{font-size:1.5rem}.btn-primary{font-size:1rem;padding:.875rem 1.5rem}div[style*=linear-gradient]{padding:1rem!important}.leaderboard{padding:.75rem}.leaderboard-entry{grid-template-columns:40px 1fr auto;gap:.4rem;padding:.6rem .4rem}.leaderboard-entry .rank{font-size:1.1rem}.leaderboard-entry .username{font-size:.85rem}.leaderboard-entry .score{font-size:1rem}.you-badge{padding:.15rem .4rem;font-size:.7rem}.rating-option{min-width:40px}.rating-option label{padding:.6rem .15rem;font-size:.85rem}.rating-scale-grid{padding:.5rem}.scale-row{gap:.15rem}.scale-cell{font-size:.65rem}.scale-cell.active{font-size:1rem;transform:scale(1.05)}}@media (max-width: 400px){.rating-scale{gap:.15rem}.rating-option{min-width:35px}.rating-option label{padding:.5rem .1rem;font-size:.8rem}.rating-scale-grid{padding:.4rem}.scale-row{gap:.1rem}.scale-label{font-size:.8rem;margin-bottom:.5rem}}@media (max-width: 360px){.rating-scale{gap:.1rem}.rating-option{min-width:30px}.rating-option label{padding:.4rem .05rem;font-size:.75rem}.scale-row{gap:.05rem}.scale-cell{font-size:.6rem;border-radius:4px}.scale-cell.active{font-size:.9rem}div[style*=linear-gradient]{padding:.75rem!important}.leaderboard{padding:.5rem}.leaderboard-entry{grid-template-columns:35px 1fr auto;gap:.3rem;padding:.5rem .3rem}.leaderboard-entry .rank{font-size:1rem}.leaderboard-entry .username{font-size:.8rem}.leaderboard-entry .score{font-size:.95rem}}.criterion-token-row{margin-bottom:1.25rem}.criterion-token-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.criterion-token-label span:first-child{font-weight:600;font-size:.95rem;color:#374151}.token-count-badge{background:#667eea;color:#fff;border-radius:12px;padding:2px 10px;font-size:.85rem;font-weight:700;min-width:32px;text-align:center;transition:background .2s}.token-count-badge.complete{background:#059669}.token-boxes{display:grid;grid-template-columns:repeat(20,1fr);gap:3px}.token-box{aspect-ratio:1;border:2px solid #d1d5db;border-radius:3px;background:#fff;cursor:pointer;transition:background .1s,border-color .1s,opacity .1s;min-width:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.token-box:hover:not(.disabled){border-color:#667eea;background:#e0e7ff}.token-box.filled{background:#667eea;border-color:#5b21b6}.token-box.filled:hover:not(.disabled){background:#4f46e5;border-color:#4338ca}.token-box.hover-fill:not(.filled):not(.disabled){background:#c7d2fe;border-color:#818cf8}.token-box.disabled{cursor:not-allowed;opacity:.25}@media (max-width: 480px){.token-boxes{gap:2px}}@media (max-width: 360px){.token-boxes{gap:1px}.token-box{border-width:1px;border-radius:2px}}
