.wooltari-cup .counter{font-size:16px;padding:5px 10px;border-radius:5px;color:var(--accent);background:var(--accent-bg);border:2px solid transparent;transition:border-color .3s;margin-bottom:24px}@media (hover: hover){.wooltari-cup .counter:hover{border-color:var(--accent-border)}}.wooltari-cup .counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wooltari-cup .hero{position:relative}.wooltari-cup .hero .base,.wooltari-cup .hero .framework,.wooltari-cup .hero .vite{inset-inline:0;margin:0 auto}.wooltari-cup .hero .base{width:170px;position:relative;z-index:0}.wooltari-cup .hero .framework,.wooltari-cup .hero .vite{position:absolute}.wooltari-cup .hero .framework{z-index:1;top:34px;height:28px;transform:perspective(2000px) rotate(300deg) rotateX(44deg) rotateY(39deg) scale(1.4)}.wooltari-cup .hero .vite{z-index:0;top:107px;height:26px;width:auto;transform:perspective(2000px) rotate(300deg) rotateX(40deg) rotateY(39deg) scale(.8)}.wooltari-cup #center{display:flex;flex-direction:column;gap:25px;place-content:center;place-items:center;flex-grow:1}@media (max-width: 1024px){.wooltari-cup #center{padding:32px 20px 24px;gap:18px}}.wooltari-cup #next-steps{display:flex;border-top:1px solid var(--border);text-align:left}.wooltari-cup #next-steps>div{flex:1 1 0;padding:32px}@media (max-width: 1024px){.wooltari-cup #next-steps>div{padding:24px 20px}}.wooltari-cup #next-steps .icon{margin-bottom:16px;width:22px;height:22px}@media (max-width: 1024px){.wooltari-cup #next-steps{flex-direction:column;text-align:center}}.wooltari-cup #docs{border-right:1px solid var(--border)}@media (max-width: 1024px){.wooltari-cup #docs{border-right:none;border-bottom:1px solid var(--border)}}.wooltari-cup #next-steps ul{list-style:none;padding:0;display:flex;gap:8px;margin:32px 0 0}.wooltari-cup #next-steps ul .logo{height:18px}.wooltari-cup #next-steps ul a{color:var(--text-h);font-size:16px;border-radius:6px;background:var(--social-bg);display:flex;padding:6px 12px;align-items:center;gap:8px;text-decoration:none;transition:box-shadow .3s}@media (hover: hover){.wooltari-cup #next-steps ul a:hover{box-shadow:var(--shadow)}}.wooltari-cup #next-steps ul a .button-icon{height:18px;width:18px}@media (max-width: 1024px){.wooltari-cup #next-steps ul{margin-top:20px;flex-wrap:wrap;justify-content:center}.wooltari-cup #next-steps ul li{flex:1 1 calc(50% - 8px)}.wooltari-cup #next-steps ul a{width:100%;justify-content:center;box-sizing:border-box}}.wooltari-cup #spacer{height:88px;border-top:1px solid var(--border)}@media (max-width: 1024px){.wooltari-cup #spacer{height:48px}}.wooltari-cup .ticks{position:relative;width:100%}.wooltari-cup .ticks:before,.wooltari-cup .ticks:after{content:"";position:absolute;top:-4.5px;border:5px solid transparent}.wooltari-cup .ticks:before{left:0;border-left-color:var(--border)}.wooltari-cup .ticks:after{right:0;border-right-color:var(--border)}.candidate-card{display:flex;flex-direction:column;background:var(--bg);border:2px solid transparent;border-radius:var(--tournament-card-radius);overflow:hidden;cursor:pointer;transition:all var(--tournament-transition);box-shadow:var(--shadow);width:100%;max-width:400px;padding:0;text-align:left}@media (hover: hover){.candidate-card:hover:not(.candidate-card--disabled){transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px #00000026;background:var(--candidate-hover)}}.candidate-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.candidate-card--disabled{cursor:not-allowed;opacity:.6}.candidate-card--winner{animation:pulse .6s ease-out;border-color:var(--accent);box-shadow:0 0 24px var(--winner-glow);opacity:1!important}.candidate-card--loser{animation:fadeOut .6s ease-out forwards;pointer-events:none}.candidate-card__image-wrapper{position:relative;width:100%;height:100%;overflow:hidden;background:#f5f5f5}.candidate-card__image{top:0;left:0;width:100%;height:100%;aspect-ratio:1 / 1;-o-object-fit:cover;object-fit:cover}.candidate-card__content{margin-top:.25rem;display:flex;flex-direction:column;gap:.5rem}.candidate-card__name{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.candidate-card__desc{margin:0;font-size:.9rem;color:var(--text);opacity:.8;line-height:1.4}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes fadeOut{to{opacity:0;transform:scale(.95)}}@media (prefers-color-scheme: dark){.candidate-card__image-wrapper{background:#2a2a2a}}.progress-indicator{width:100%;max-width:600px;margin:0 auto var(--tournament-spacing);animation:fadeIn .6s ease-out;margin-inline:auto;margin-bottom:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-indicator__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-indicator__round{margin:0;font-size:1.5rem;font-weight:700;color:var(--accent)}.progress-indicator__counter{font-size:1rem;font-weight:600;color:var(--text);opacity:.8}.progress-indicator__bar-wrapper{width:100%;height:8px;background:#ef464633;border-radius:4px;overflow:hidden}.progress-indicator__bar{height:100%;transition:width .4s ease;border-radius:4px}@media (prefers-color-scheme: dark){.progress-indicator__bar-wrapper{background:#ef464633}}@media (max-width: 768px){.progress-indicator__round{font-size:1.25rem}.progress-indicator__counter{font-size:.9rem}}.match-view{width:100%;max-width:1200px;height:100%;margin:0 auto;opacity:1;transition:opacity .5s ease-out;display:flex;flex-direction:column}.match-view--transitioning{opacity:0;pointer-events:none}.match-view__arena{display:flex;align-items:center;justify-content:center;gap:2rem;min-height:0;height:100%}.match-view__candidate{flex:1;display:flex;justify-content:center;animation:fadeIn .6s ease-out;min-height:0}.match-view__vs{font-size:2rem;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.1);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;animation:fadeIn .6s ease-out}@media (max-width: 768px){.match-view{padding:1rem}.match-view__arena{flex-direction:column;gap:.25rem}.match-view__vs{font-size:1.5rem}.match-view__candidate{width:100%;max-width:100%}}@media (min-width: 769px) and (max-width: 1024px){.match-view__vs{font-size:1.75rem}}.share-button{position:relative;display:inline-block}.share-button__main{padding:.875rem 2rem;font-size:1rem;font-weight:600;color:var(--accent);background:transparent;border:2px solid var(--accent);border-radius:8px;cursor:pointer;transition:all var(--tournament-transition)}@media (hover: hover){.share-button__main:hover{transform:translateY(-2px)}}.share-button__main:active{transform:translateY(0)}.share-button__main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-button__options{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;display:flex;gap:.5rem;background:var(--bg);padding:.75rem;border-radius:8px;box-shadow:var(--shadow);animation:slideUp .2s ease-out;white-space:nowrap}.share-button__option{padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--text);background:var(--bg);border:1px solid rgba(0,0,0,.1);border-radius:6px;cursor:pointer;transition:all var(--tournament-transition)}@media (hover: hover){.share-button__option:hover{color:#fff}}.share-button__option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (prefers-color-scheme: dark){.share-button__option{border-color:#ffffff1a}}@media (max-width: 768px){.share-button,.share-button__main{width:100%}.share-button__options{position:static;transform:none;margin-top:.5rem;margin-bottom:0;flex-direction:column;width:100%}.share-button__option{width:100%}@keyframes slideUp{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}}.result-screen{width:100%;max-width:800px;margin:0 auto;padding:var(--tournament-spacing);animation:fadeIn .6s ease-out}.result-screen__content{text-align:center}.result-screen__title{margin:0 0 2rem;font-size:2.5rem;font-weight:900;animation:celebrateTitle 1s ease-out}.result-screen__trophy{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-out}.result-screen__champion{background:var(--bg);border:3px solid var(--accent);border-radius:var(--tournament-card-radius);padding:2rem;margin-bottom:2rem;box-shadow:0 0 32px var(--winner-glow)}.result-screen__champion-image-wrapper{width:250px;height:250px;margin:0 auto 1.5rem;border-radius:50%;overflow:hidden;border:4px solid var(--accent);box-shadow:0 4px 16px #0003}.result-screen__champion-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.result-screen__champion-name{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:var(--text)}.result-screen__champion-desc{margin:0;font-size:1.1rem;color:var(--text);opacity:.8}.result-screen__actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.result-screen__restart-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;color:#fff;background:#c084fc;border:none;border-radius:8px;cursor:pointer;transition:all 1s ease}@media (hover: hover){.result-screen__restart-button:hover{transform:translateY(-4px)}}.result-screen__restart-button:active{transform:translateY(0)}.result-screen__restart-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.result-screen__show-ranking-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;color:#fff;background:#c084fc;border:none;border-radius:8px;cursor:pointer;transition:all 1s ease}@media (hover: hover){.result-screen__show-ranking-button:hover{transform:translateY(-4px)}}.result-screen__show-ranking-button:active{transform:translateY(0)}.result-screen__show-ranking-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrateTitle{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-20px)}50%{transform:translateY(0)}75%{transform:translateY(-10px)}}@media (max-width: 768px){.result-screen{padding:1rem}.result-screen__title{font-size:2rem}.result-screen__trophy{font-size:3rem}.result-screen__champion{padding:1.5rem}.result-screen__champion-image-wrapper{width:180px;height:180px}.result-screen__champion-name{font-size:1.5rem}.result-screen__champion-desc{font-size:1rem}.result-screen__restart-button,.result-screen__show-ranking-button{width:100%}}.ranking-screen{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--tournament-spacing);animation:fadeIn .6s ease-out}.ranking-screen__content{width:100%;display:flex;flex-direction:column;gap:2rem;text-align:center}.ranking-screen__title{font-size:2.5rem;font-weight:900;color:var(--text);margin:0;text-transform:uppercase;letter-spacing:.05em}.ranking-screen__list{background:var(--bg);border-radius:var(--tournament-card-radius);padding:2rem;box-shadow:var(--shadow);min-height:300px;max-height:60vh;overflow-y:auto}.ranking-screen__placeholder{color:var(--text);opacity:.6;font-size:1rem;text-align:center;padding:4rem 0}.ranking-table{width:100%;display:flex;flex-direction:column;gap:.5rem}.ranking-table__header{display:grid;grid-template-columns:60px 80px 200px 1fr;gap:1rem;padding:1rem;font-weight:600;color:var(--text);border-bottom:2px solid var(--border);margin-bottom:.5rem}.ranking-table__row{display:grid;grid-template-columns:60px 80px 200px 1fr;gap:1rem;padding:1rem;align-items:center;background:var(--candidate-hover);border-radius:8px;transition:all .3s ease}@media (hover: hover){.ranking-table__row:hover{transform:translate(4px);box-shadow:var(--shadow)}}.ranking-table__cell{display:flex;align-items:center;justify-content:center}.ranking-table__cell--rank,.ranking-table__cell--image{justify-content:center}.ranking-table__cell--name{justify-content:flex-start}.ranking-table__cell--bar{justify-content:flex-start;flex:1}.ranking-number{font-size:1.5rem;font-weight:700;color:var(--text)}.ranking-number--top{color:var(--accent);font-size:2rem}.ranking-image{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--accent)}.ranking-name{font-size:1rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.ranking-bar-wrapper{position:relative;width:100%;height:32px;background:var(--bg);border-radius:12px;overflow:visible;box-shadow:inset 0 2px 4px #0000001a;display:flex;align-items:center;justify-content:center}.ranking-bar{position:absolute;left:0;top:0;height:100%;background:var(--accent);border-radius:12px;transition:width .6s ease-out;min-width:2%}.ranking-wins{position:relative;z-index:1;font-size:1rem;font-weight:700;color:var(--text);text-shadow:0 1px 0px rgba(255,255,255)}.ranking-screen__actions{display:flex;flex-direction:column;gap:1rem;width:100%}.ranking-screen__back-button{padding:1rem 2rem;font-size:1.125rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--tournament-card-radius);cursor:pointer;transition:all var(--tournament-transition);box-shadow:var(--shadow);border-radius:8px}@media (hover: hover){.ranking-screen__back-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}}.ranking-screen__back-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.ranking-screen{padding:0rem}.ranking-screen__title{font-size:1.75rem}.ranking-screen__list{padding:0rem}.ranking-table__header{grid-template-columns:40px 60px 120px 1fr;gap:.5rem;padding:.75rem;font-size:.875rem}.ranking-table__row{grid-template-columns:40px 60px 120px 1fr;gap:.5rem;padding:.75rem}.ranking-number{font-size:1.25rem}.ranking-number--top{font-size:1.5rem}.ranking-image{width:50px;height:50px}.ranking-name{font-size:.875rem;max-width:120px}.ranking-bar-wrapper{height:28px}.ranking-wins{font-size:.875rem}}.wooltari-cup{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--tournament-spacing);box-sizing:border-box}.wooltari-cup__loading{font-size:1.25rem;color:var(--text);text-align:center}@media (max-width: 768px){.wooltari-cup{padding:.5rem}}
