*,*:before,*:after{-webkit-user-select:none;user-select:none}input,select,textarea{-webkit-user-select:text;user-select:text}:root{--bg: #fffdf7;--paper: #fff9ed;--warm: #e8e0cc;--ink: #1a1208;--orange: #f4631e;--teal: #00a896;--yellow: #ffce00;--pink: #ff6b9d;--muted: #9a8f7a;--text: var(--ink);--surface: var(--paper);--border: var(--warm);--accent: var(--orange);--accent-contrast: #fff;--accent-2: var(--teal);--font-body: "Nunito", sans-serif;--font-display: "Righteous", sans-serif;--radius: 12px;--btn-weight: 800}html{height:100%}.screen{padding:24px 14px 40px;gap:14px}.joining-spinner{border-width:3.5px;width:44px;height:44px;margin-bottom:20px}.winner-gallery{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px;margin:20px 0}.gallery-item{background:var(--paper);border:2.5px solid var(--ink);border-radius:14px;padding:12px;box-shadow:4px 4px 0 var(--ink);animation:fadeInGal .5s ease backwards}.gallery-label{font-family:Righteous,sans-serif;color:var(--ink);font-size:1rem;margin-bottom:8px}.gallery-img{width:100%;height:auto;display:block;border-radius:8px;border:2px solid var(--ink)}@keyframes fadeInGal{0%{opacity:0;transform:translateY(10px)}}.back{border:2px solid var(--ink);border-radius:10px;font-weight:800;z-index:10}.title-main{font-size:clamp(2.4rem,10vw,4rem)}.btn{max-width:320px;-webkit-tap-highlight-color:transparent;transition:all .15s}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-orange{background:var(--orange);color:#fff;box-shadow:0 4px 20px #f4631e4d}.btn-ghost{border-width:2px}.input-field{border-width:2px;font-size:1.4rem}.code-big{letter-spacing:6px}#screen-lobby-host .label{font-size:.7rem;font-weight:800}#screen-lobby-guest h2{font-size:2.5rem!important}.prompt-card{background:var(--paper);border:2.5px solid var(--ink);border-radius:20px;padding:26px 22px;width:100%;max-width:380px;text-align:center;box-shadow:5px 5px 0 var(--ink)}.prompt-cat{font-size:.68rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:8px}.prompt-text{font-family:Righteous,sans-serif;font-size:clamp(1.3rem,5vw,1.8rem);line-height:1.25;color:var(--ink)}.half-badge{margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:var(--yellow);border-radius:99px;padding:6px 14px;font-size:.78rem;font-weight:800;color:var(--ink)}.toolbar{display:flex;gap:8px;align-items:center;width:100%;max-width:420px;background:var(--paper);border:2px solid var(--warm);border-radius:12px;padding:10px;flex-wrap:wrap}.color-dot{width:26px;height:26px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;flex-shrink:0}.color-dot.active{border-color:var(--ink);transform:scale(1.2)}.divider-v{width:1px;height:26px;background:var(--warm);flex-shrink:0}.size-btn{width:34px;height:34px;border-radius:8px;border:2px solid var(--warm);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;transition:all .15s}.size-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.tool-btn{width:34px;height:34px;border-radius:8px;border:2px solid var(--warm);background:transparent;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.tool-btn.active{background:var(--pink);border-color:var(--pink)}.color-dot.rainbow{background:linear-gradient(45deg,#f06,#f90,#ff0,#0f0,#0ff,#00f,#90f,#f06)!important;position:relative}.color-dot.rainbow.active:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--c, #000);border-radius:50%;border:1.5px solid white;box-shadow:0 0 2px #00000080}.canvas-wrap{position:relative;width:100%;max-width:420px;border:2.5px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:5px 5px 0 var(--ink);background:#fff;flex-shrink:0}.stitch-spinner{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:5px solid rgba(244,99,30,.2);border-top-color:var(--orange);animation:stitch-spin .8s linear infinite;display:none;pointer-events:none}.canvas-wrap.loading .stitch-spinner{display:block}@keyframes stitch-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.stitch-spinner{animation-duration:2.4s}}canvas{display:block;width:100%;touch-action:none}.canvas-divider{position:absolute;left:0;right:0;border-top:2.5px dashed var(--warm);pointer-events:none;z-index:2}.half-label{position:absolute;right:8px;font-size:.6rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);background:#fff;padding:2px 5px;border-radius:4px;pointer-events:none;z-index:3}.vote-row{display:flex;gap:10px;width:100%;max-width:420px}.vote-btn{flex:1;padding:14px;border-radius:12px;border:2.5px solid var(--ink);font-family:Nunito,sans-serif;font-size:.85rem;font-weight:800;cursor:pointer;transition:all .15s;background:var(--paper)}.vote-btn:active{transform:scale(.95)}.score-row{display:flex;gap:12px;width:100%;max-width:380px}.score-card{flex:1;background:var(--paper);border:2.5px solid var(--ink);border-radius:18px;padding:24px 16px;text-align:center;box-shadow:4px 4px 0 var(--ink)}.score-name{font-size:.65rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.score-num{font-family:Righteous,sans-serif;font-size:4rem;color:var(--ink);line-height:1}.score-num.pop{color:var(--orange)}.winner-title{font-family:Righteous,sans-serif;font-size:3rem;color:var(--orange);text-align:center}@keyframes wobble{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.1)}}@keyframes shake{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-14px)}}.disconnect-banner{top:auto;bottom:24px;background:#dc2626f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:14px 24px;border-radius:50px;box-shadow:0 8px 32px #dc262659;z-index:10000;gap:12px;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;font-family:inherit}@media (max-width: 768px){.back{top:12px!important;left:12px!important;padding:6px 12px!important;font-size:.8rem!important}.screen{padding-top:75px!important}}
