:root{--ink:#f3ead9;--muted:#f3ead980;--line:#f3ead938;--tata:#dcae62;--corka:#e9a79a;--mama:#a6c79e;--gosc:#93b6d8;--serif:"Cormorant Garamond", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:"Segoe UI", system-ui, -apple-system, sans-serif;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}html{-webkit-tap-highlight-color:transparent;background:#15110d}body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}canvas{touch-action:none;display:block}button,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}#backdrop{z-index:-1;background:#15110d;position:fixed;inset:0}#ui{pointer-events:none;color:var(--ink);font-family:var(--sans);-webkit-user-select:none;user-select:none;background:linear-gradient(#08060599,#0000 24%),radial-gradient(75% 70% at 50% 48%,#0000 55%,#0000006b 100%);position:fixed;inset:0}[data-player="0"]{--accent:var(--tata)}[data-player="1"]{--accent:var(--corka)}[data-player="2"]{--accent:var(--mama)}[data-player="3"]{--accent:var(--gosc)}#loader{z-index:20;text-align:center;color:var(--ink);font-family:var(--sans);-webkit-user-select:none;user-select:none;background:#0d0a08;place-content:center;padding-top:16dvh;transition:opacity .9s;display:grid;position:fixed;inset:0;overflow:hidden}#loader.done{opacity:0;pointer-events:none}.loader-bg{filter:blur(1.5px)brightness(.5)saturate(.9);opacity:0;background:calc(50vw - 164.5dvh) 100%/auto 125% no-repeat;transition:opacity 1.6s;animation:26s ease-out both loader-drift;position:absolute;inset:0}.loader-bg.on{opacity:1}@keyframes loader-drift{0%{transform:scale(1.12)}to{transform:scale(1.03)}}#loader:after{content:"";background:radial-gradient(70% 60% at 50% 56%,#0d0a08b8,#0d0a0859 70%,#0d0a08e6 100%);position:absolute;inset:0}.loader-box{z-index:1;justify-items:center;padding:0 16px;display:grid;position:relative}.loader-box>*{animation:1.1s cubic-bezier(.2,.7,.2,1) both loader-in}.loader-box>:nth-child(2){animation-delay:.1s}.loader-box>:nth-child(3){animation-delay:.2s}.loader-box>:nth-child(4){animation-delay:.3s}.loader-box>:nth-child(n+5){animation-delay:.45s}@keyframes loader-in{0%{opacity:0;transform:translateY(10px)}}.loader-faces{opacity:0;margin-top:34px;transition:opacity .8s;display:flex}.loader-faces.on{opacity:1}.loader-faces .avatar{--size:50px;border-width:1.5px;margin:0 -4px}.loader-title{font:500 min(84px, 10.5vw) / 1 var(--serif);letter-spacing:.2em;text-shadow:0 4px 30px #0009;margin:20px 0 22px;padding-left:.2em}.loader-sub{letter-spacing:.36em;color:var(--muted);padding-left:.36em;font-size:10.5px;line-height:2}.loader-sub em{color:var(--tata);font-style:normal}.loader-bar{background:var(--line);width:236px;height:1px;margin:34px 0 20px;position:relative}.loader-bar:after{content:"";background:linear-gradient(90deg,#0000 35%,#dcae62cc 50%,#0000 65%) 100% 0/300% 100%;animation:1.6s linear infinite loader-gleam;position:absolute;inset:0}#loader.running .loader-bar:after{display:none}@keyframes loader-gleam{to{background-position:0 0}}.loader-bar i{background:var(--tata);transform-origin:0;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 8px #dcae6299}.loader-status,.loader-note{letter-spacing:.4em;color:var(--muted);font-variant-numeric:tabular-nums;padding-left:.4em;font-size:10px}.loader-note{max-width:420px;color:var(--tata);margin-top:40px;line-height:2}#loader.error .loader-status{color:var(--corka)}.loader-foot{z-index:1;letter-spacing:.34em;color:var(--muted);opacity:.7;font-size:9px;position:absolute;bottom:26px;left:16px;right:16px}@media (width<=560px){.loader-faces .avatar{--size:42px}.loader-sub{letter-spacing:.22em;padding-left:.22em;font-size:9px}.loader-foot{letter-spacing:.2em;font-size:8px}}@media (height<=520px){#loader{padding-top:0}.loader-faces{display:none}}@media (prefers-reduced-motion:reduce){.loader-bg,.loader-box>*{animation:none}}.brand{opacity:.55;align-items:center;gap:11px;display:flex;position:absolute;top:26px;left:28px}.brand svg{width:18px;height:18px}.brand b{letter-spacing:.36em;font-size:10.5px;font-weight:600;display:block}.brand small{letter-spacing:.42em;color:var(--muted);margin-top:4px;font-size:8.5px;display:block}#turn{text-align:center;position:absolute;top:24px;left:50%;transform:translate(-50%)}#turn-player{font-family:var(--serif);letter-spacing:.3em;color:var(--accent);text-shadow:0 2px 18px #00000073;padding-left:.3em;font-size:34px;font-weight:500}#turn .label{letter-spacing:.46em;color:var(--muted);margin-top:5px;padding-left:.46em;font-size:10.5px}#turn-hint{letter-spacing:.3em;min-height:1em;color:var(--accent);opacity:.75;margin-top:12px;padding-left:.3em;font-size:9.5px;transition:opacity .3s}#turn.in{animation:.7s cubic-bezier(.2,.7,.2,1) turn-in}@keyframes turn-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}button{pointer-events:auto;cursor:pointer;color:var(--ink);border:1px solid var(--line);font:500 10px/1 var(--sans);letter-spacing:.32em;background:0 0;border-radius:2px;padding:11px 14px 11px 17px;transition:border-color .2s,color .2s,opacity .2s}@media (hover:hover){button:hover{border-color:var(--tata);color:#fff}}.actions{top:calc(18px + var(--sat));right:calc(20px + var(--sar));z-index:20;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:min(520px,85vw);display:flex;position:absolute}.actions button{opacity:.75;white-space:nowrap}@media (hover:hover){.actions button:hover{opacity:1}}.btn-lbl-full{display:inline}.btn-lbl-short{display:none}#music.off,#sfx.off{opacity:.4}#mute.is-muted{border-color:var(--corka);color:var(--corka);opacity:.9}#debug.has{color:#00f0ff;opacity:1;border-color:#00f0ff;box-shadow:0 0 10px #00f0ff59}#ui.menu #new-game{display:none}#scores{gap:9px;transition:opacity .3s;display:grid;position:absolute;top:76px;left:28px}#ui.menu #scores{opacity:0}.score{opacity:.45;align-items:center;gap:10px;transition:opacity .3s;display:flex}.score.current{opacity:1}.score .avatar{--size:26px;box-shadow:none;border-width:1.5px}.score span{letter-spacing:.3em;min-width:8em;font-size:10px}.score b{font-family:var(--serif);color:var(--accent);font-size:21px;font-weight:500}#scores .best{letter-spacing:.34em;color:var(--muted);margin-top:4px;font-size:8.5px}#points{text-align:center;font-family:var(--serif);color:var(--accent);text-shadow:0 2px 16px #0000008c;opacity:0;font-size:46px;font-weight:500;position:absolute;top:118px;left:50%;transform:translate(-50%)}#points:after{content:attr(data-label);font:500 10px var(--sans);letter-spacing:.42em;padding-left:.42em;display:block}#points.pop{animation:1.9s ease-out points-pop}@keyframes points-pop{0%{opacity:0;transform:translate(-50%,12px)scale(.8)}14%{opacity:1;transform:translate(-50%)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-26px)}}.trophy{vertical-align:-.28em;background:currentColor;width:1.2em;height:1.2em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v6a5 5 0 0 1-10 0zM11 13h2v5h-2zM7.5 18h9v3h-9z'/%3E%3Cpath d='M7 5H4.5v1.5A3.5 3.5 0 0 0 8 10M17 5h2.5v1.5A3.5 3.5 0 0 1 16 10' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v6a5 5 0 0 1-10 0zM11 13h2v5h-2zM7.5 18h9v3h-9z'/%3E%3Cpath d='M7 5H4.5v1.5A3.5 3.5 0 0 0 8 10M17 5h2.5v1.5A3.5 3.5 0 0 1 16 10' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") 50%/contain no-repeat}.hint{text-align:center;letter-spacing:.2em;width:max-content;max-width:calc(100% - 32px);color:var(--muted);opacity:.75;font-size:10px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}#over{text-align:center;opacity:0;background:radial-gradient(#0c090773,#0c0907d9);place-content:center;transition:opacity .9s;display:grid;position:absolute;inset:0}#over.show{opacity:1}#over.show #again{pointer-events:auto}#over:not(.show) #again{pointer-events:none}.kicker{letter-spacing:.55em;color:var(--muted);padding-left:.55em;font-size:11px}#over-winner{font-family:var(--serif);letter-spacing:.16em;color:var(--accent);margin:16px 0;padding-left:.16em;font-size:54px;font-weight:500}#again{justify-self:center;padding:14px 20px 14px 24px;font-size:11px}#over-awards{letter-spacing:.36em;color:var(--tata);justify-items:center;gap:9px;padding-left:.36em;font-size:11px;display:grid}#over-awards .record{color:var(--ink)}#over-scores{letter-spacing:.3em;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:20px 0 32px;font-size:10px;display:flex}#over-scores span{color:var(--accent)}#over-scores .lost{opacity:.45}#confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}#confetti i{opacity:0;border-radius:1px;width:7px;height:13px;animation-name:confetti;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-14px}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--drift), 105vh) rotate(var(--spin))}}#start{text-align:center;opacity:0;pointer-events:none;background:radial-gradient(#0c0907c7,#0c0907f0);place-content:safe center;justify-items:center;transition:opacity .5s;display:grid;position:absolute;inset:0;overflow-y:auto}#start.show{opacity:1;pointer-events:auto}#ui.menu #turn{opacity:0}.start-title{font-family:var(--serif);letter-spacing:.18em;margin:10px 0 26px;padding-left:.18em;font-size:46px;font-weight:500}.count{gap:10px;margin:-12px 0 30px;display:flex}.count button{opacity:.5}.count button.on{opacity:1;border-color:var(--tata)}#start[data-count="1"] .second,#start:is([data-count="1"],[data-count="2"]) .third,#start:not([data-count="4"]) .fourth{display:none}.slots{align-items:flex-start;gap:34px;margin-bottom:22px;display:flex}.slot input{box-sizing:border-box;width:100%;min-height:42px;font-family:var(--serif);letter-spacing:.16em;text-align:center;text-transform:uppercase;color:var(--accent);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#f3ead90f;border-radius:3px;outline:none;padding:7px 8px 9px;font-size:30px}.slot .awards{letter-spacing:.3em;color:var(--accent);opacity:.85;white-space:nowrap;padding-left:.3em;font-size:9.5px}.rules{letter-spacing:.26em;max-width:min(640px,90vw);color:var(--muted);margin-bottom:10px;font-size:9.5px;line-height:1.8}#record{letter-spacing:.34em;min-height:1em;color:var(--tata);margin-bottom:14px;font-size:10px}@media (width>=561px){#start[data-count="3"] .slots{gap:20px}#start[data-count="3"] .slot{width:min(220px,24vw)}#start[data-count="4"] .slots{gap:12px}#start[data-count="4"] .slot{width:min(190px,18vw)}#start[data-count="4"] .avatar-pick{--size:min(112px, 10vw)}#start[data-count="4"] .slot input{font-size:min(26px,2.4vw)}#start[data-count="4"] .slot span{letter-spacing:.2em;padding-left:.2em;font-size:8.5px}}.slot{justify-items:center;gap:12px;width:min(260px,38vw);display:grid}.slot span{letter-spacing:.3em;color:var(--muted);white-space:nowrap;padding-left:.3em;font-size:9.5px}.versus{font-family:var(--serif);letter-spacing:.2em;color:var(--muted);align-self:center;margin-top:-44px;font-size:22px}.avatar.avatar-pick{--size:124px;cursor:pointer;padding:0;transition:transform .2s,box-shadow .2s}@media (hover:hover){.avatar.avatar-pick:hover{border-color:var(--accent);transform:scale(1.04);box-shadow:0 10px 28px #0000008c}}@media (width<=560px){#start{padding:calc(14px + var(--sat)) 12px calc(18px + var(--sab));box-sizing:border-box}.start-title{margin:4px 0 14px;font-size:28px}.count{gap:6px;margin:-6px 0 14px}.count button{letter-spacing:.12em;padding:9px 8px;font-size:8.5px}.slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:360px;margin-bottom:12px;display:flex}.slot{gap:6px;width:44%}#start[data-count="1"] .slot{width:65%}#start[data-count="2"] .slot,#start[data-count="3"] .slot,#start[data-count="4"] .slot{width:44%}.versus{display:none}.avatar.avatar-pick{--size:68px}.photo-btn{letter-spacing:.12em;padding:6px 8px;font-size:8px}.slot span{display:none}.slot input{letter-spacing:.08em;min-height:36px;padding:4px 6px;font-size:17px}.slot .awards{letter-spacing:.1em;font-size:8px}.rules{letter-spacing:.1em;margin-bottom:8px;font-size:7.5px;line-height:1.5}#start-game{margin-top:6px;padding:12px 28px;font-size:11px}.btn-start-install{border-radius:12px;gap:10px;max-width:330px;margin:8px auto 0;padding:8px 12px}.btn-start-install .bsi-icon{font-size:20px}.btn-start-install .bsi-text b{font-size:11px}.btn-start-install .bsi-text small{font-size:9px}.btn-start-install .bsi-badge{padding:2px 6px;font-size:9px}}@media (height<=520px){#start{padding:calc(40px + var(--sat)) 10px calc(8px + var(--sab))}.start-title{margin:2px 0 8px;font-size:22px}.count{gap:6px;margin:-4px 0 8px}.count button{padding:6px 8px;font-size:8px}.slots{gap:8px;margin-bottom:8px}.slot{gap:4px;width:min(130px,22vw)}.avatar.avatar-pick{--size:46px}.photo-btn{padding:4px 6px;font-size:7px}.slot input{min-height:28px;padding:2px 4px;font-size:14px}.rules{display:none}#start-game{margin-top:4px;padding:8px 22px;font-size:10px}#ui:not(.menu) #btn-open-install{display:none}.btn-start-install{display:none!important}}.slot input:focus{border-color:var(--accent);background:#f3ead91a}.slot input::placeholder{font-family:var(--sans);letter-spacing:.3em;color:var(--accent);opacity:.7;font-size:.34em}.avatar{--size:56px;width:var(--size);height:var(--size);border:2px solid var(--accent);background:var(--img,none) 50% 16% / 122% no-repeat, radial-gradient(circle at 50% 38%, #5a4030, #1d1510 72%);border-radius:50%;box-shadow:0 6px 20px #00000073}#turn-avatar{--size:60px;position:absolute;top:-4px;right:calc(100% + 16px)}#over-avatar{--size:136px;border-width:3px;justify-self:center;margin-bottom:24px;position:relative}#over.solo #over-avatar:before{display:none}#over-avatar:before{content:"";background:var(--tata);width:64px;height:46px;position:absolute;top:-42px;left:50%;transform:translate(-50%)rotate(-9deg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 46'%3E%3Cpath d='M6 17l13 12L32 7l13 22 13-12-5 22H11zM11 41h42v4H11z'/%3E%3Ccircle cx='6' cy='14' r='4'/%3E%3Ccircle cx='32' cy='5' r='4'/%3E%3Ccircle cx='58' cy='14' r='4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 46'%3E%3Cpath d='M6 17l13 12L32 7l13 22 13-12-5 22H11zM11 41h42v4H11z'/%3E%3Ccircle cx='6' cy='14' r='4'/%3E%3Ccircle cx='32' cy='5' r='4'/%3E%3Ccircle cx='58' cy='14' r='4'/%3E%3C/svg%3E") 50%/contain no-repeat}.avatar.photo{background:var(--img,none) 50% 50% / cover no-repeat, #1d1510}.photo-btn{letter-spacing:.22em;opacity:.8;padding:8px 10px 8px 13px;font-size:9px}.photo-btn.has{border-color:var(--accent);color:var(--accent);opacity:1}@media (width<=560px){.photo-btn{letter-spacing:.12em;padding:7px 8px 7px 9px;font-size:8px}}#camera{z-index:5;text-align:center;background:#080605eb;place-content:center;justify-items:center;gap:20px;display:none;position:absolute;inset:0}#camera.show{pointer-events:auto;display:grid}#camera video{aspect-ratio:1;object-fit:cover;border:2px solid var(--accent);background:#1d1510;border-radius:50%;width:min(300px,60vmin);transform:scaleX(-1);box-shadow:0 10px 28px #0000008c}#camera-note{letter-spacing:.3em;min-height:1em;color:var(--muted);padding-left:.3em;font-size:10px}.camera-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}#camera-shoot:disabled{opacity:.4;pointer-events:none}#start-game{margin-top:10px;padding:14px 26px 14px 30px;font-size:11px}#pad,#rotate{--b:clamp(44px, 8vmin, 52px);--edge:clamp(28px, 4vmin, 32px)}#rotate{right:calc(var(--edge) + var(--sar));bottom:calc(var(--edge) + var(--sab) + 3 * var(--b) + 16px);opacity:0;z-index:15;gap:10px;transition:opacity .2s;display:flex;position:absolute}#rotate.show{opacity:1}#rotate:not(.show) button{pointer-events:none}#rotate button{width:var(--b);height:var(--b);font-size:calc(var(--b) * .45);letter-spacing:0;background:#0c0907b3;border-radius:50%;padding:0;box-shadow:0 4px 12px #0006}#pad button,#rotate button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#pad button{letter-spacing:0;touch-action:none;-webkit-user-select:none;user-select:none;background:#0c0907b3;padding:0;box-shadow:0 4px 12px #0006}#pad button:active{border-color:var(--accent);color:#fff;background:#3c2816d9;transform:scale(.96)}#ui.menu #pad{display:none}.arrows{right:calc(var(--edge) + var(--sar));bottom:calc(var(--edge) + var(--sab));grid-template:repeat(3, var(--b)) / repeat(3, var(--b));z-index:15;gap:5px;display:grid;position:absolute}.arrows button{font-size:calc(var(--b) * .36);border-radius:calc(var(--b) * .24);min-width:44px;min-height:44px}.arrows [data-dir=up]{grid-area:1/2}.arrows [data-dir=left]{grid-area:2/1}.arrows [data-dir=right]{grid-area:2/3}.arrows [data-dir=down]{grid-area:3/2}#pad-action{left:calc(var(--edge) + var(--sal));bottom:calc(var(--edge) + var(--sab));width:calc(var(--b) * 2.8);height:var(--b);border-color:var(--accent);border-radius:calc(var(--b) * .24);font-size:calc(var(--b) * .26);letter-spacing:.2em;z-index:15;background:linear-gradient(135deg,#1e140cd9 0%,#120c08f2 100%);padding-left:.2em;font-weight:700;position:absolute}.cam{left:calc(var(--edge) + var(--sal));bottom:calc(var(--edge) + var(--sab) + var(--b) + 12px);z-index:15;gap:6px;display:flex;position:absolute}.cam button{width:max(44px, calc(var(--b) * .82));height:max(44px, calc(var(--b) * .82));font-size:calc(var(--b) * .36);border-radius:50%}html:not(.pad) .hint.touch,html:not(.pad) #rotate,html:not(.pad) #pad,.pad .hint.mouse{display:none}@media (width<=768px){.brand,.btn-lbl-full{display:none}.btn-lbl-short{display:inline}#debug{display:none!important}}@media (width<=640px){#ui:not(.menu) #btn-open-install{display:none}.actions{top:calc(8px + var(--sat));right:calc(8px + var(--sar));z-index:20;justify-content:flex-end;gap:4px;max-width:calc(100vw - 172px)}.actions button{letter-spacing:.08em;border-radius:6px;min-height:28px;padding:6px 7px;font-size:8px}#turn{top:calc(46px + var(--sat));text-align:center;pointer-events:none;z-index:10;flex-direction:column;align-items:center;width:auto;max-width:calc(100vw - 32px);display:flex;left:50%;transform:translate(-50%)}#turn-avatar{--size:38px;margin:0 auto 2px;position:static}#turn-player{letter-spacing:.16em;padding-left:.16em;font-size:21px;line-height:1.1}#turn-stars{margin-top:2px;padding:1px 6px;font-size:10px}#turn .label{letter-spacing:.22em;margin-top:2px;padding-left:.22em;font-size:8px}#turn-hint{letter-spacing:.14em;margin-top:2px;padding-left:.14em;font-size:8px}#scores{top:calc(8px + var(--sat));bottom:auto;left:calc(8px + var(--sal));z-index:20;gap:4px}.pad #scores{top:calc(8px + var(--sat));bottom:auto;left:calc(8px + var(--sal))}.score{gap:6px}.score .avatar{--size:20px}.score span{letter-spacing:.12em;min-width:4.8em;font-size:8.5px}.score b{font-size:15px}#scores .best,.pad .hint.touch{display:none}#points{top:calc(138px + var(--sat));font-size:34px}.hint{bottom:calc(8px + var(--sab));letter-spacing:.1em;font-size:8px}#over-winner{letter-spacing:.08em;font-size:30px}}@media (height<=520px){.brand,.btn-lbl-full{display:none}.btn-lbl-short{display:inline}#debug{display:none!important}.actions{top:calc(6px + var(--sat));right:calc(8px + var(--sar));z-index:20;gap:4px}.actions button{letter-spacing:.08em;border-radius:5px;min-height:26px;padding:5px 7px;font-size:7.5px}#turn{top:calc(6px + var(--sat));z-index:10;flex-direction:row;align-items:center;gap:8px;display:flex;left:50%;transform:translate(-50%)}#turn-avatar{--size:26px;margin:0;position:static}#turn-player{letter-spacing:.14em;padding-left:.14em;font-size:17px;line-height:1}#turn-stars{margin-top:0;padding:1px 5px;font-size:9px}#turn .label,#turn-hint{display:none}#scores{top:calc(6px + var(--sat));left:calc(8px + var(--sal));z-index:20;gap:3px}.score{gap:4px}.score .avatar{--size:18px}.score span{letter-spacing:.1em;min-width:4.2em;font-size:8px}.score b{font-size:14px}#points{top:calc(44px + var(--sat));font-size:26px}.pad .hint.touch{display:none}.word-banner{top:calc(6px + var(--sat));left:calc(140px + var(--sal));z-index:25;width:auto;max-width:230px;padding:6px 10px;bottom:auto;right:auto;transform:none}}.debug-badge{color:#e2e8f0;letter-spacing:.08em;text-align:center;pointer-events:none;z-index:100;-webkit-backdrop-filter:blur(8px);background:#0c1018e0;border:1px solid #00f0ff59;border-radius:8px;flex-direction:column;gap:4px;padding:10px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0009,0 0 16px #00f0ff26}.debug-badge[hidden]{display:none!important}.debug-badge .badge-title{color:#00f0ff;letter-spacing:.14em;font-size:10.5px;font-weight:700}.debug-badge .badge-stats{color:#cbd5e1;font-size:11px}.debug-badge .stat-cyan{color:#38bdf8;font-weight:600}.debug-badge .stat-gold{color:#facc15;font-weight:600}.ctrl-variant-wrap{justify-content:center;margin:3px 0;display:flex}.ctrl-variant-badge{color:#00f0ff;letter-spacing:.08em;background:#00f0ff24;border:1px solid #00f0ff80;border-radius:4px;padding:3px 9px;font-family:inherit;font-size:9px;font-weight:600}.badge-telemetry{background:#00000073;border:1px solid #00f0ff33;border-radius:6px;flex-direction:column;gap:3px;margin:3px 0;padding:6px 10px;display:flex}.telemetry-row{color:#94a3b8;flex-wrap:wrap;justify-content:center;gap:12px;font-size:10px;display:flex}.telemetry-row span b{color:#f1f5f9;font-weight:600}.debug-badge .badge-legend{opacity:.9;justify-content:center;gap:12px;margin-top:2px;font-size:9.5px;display:flex}.debug-badge .leg-cyan{color:#00f0ff}.debug-badge .leg-gold{color:#ffb703}.debug-badge .leg-magenta{color:#ff007f}@media (width<=640px){.debug-badge{max-width:92vw;padding:8px 12px;font-size:9.5px;bottom:80px}.debug-badge .badge-legend{flex-wrap:wrap;gap:6px}}.turn-stars-badge{color:#fbbf24;letter-spacing:.05em;background:#f59e0b33;border:1px solid #f59e0b73;border-radius:12px;align-items:center;gap:4px;margin-top:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #f59e0b26}.score-stars{color:#f59e0b;margin:0 4px;font-size:11px;font-weight:600}.btn-reward-nav{transition:all .2s;box-shadow:0 2px 6px #0000004d;color:#fde68a!important;background:#1e1812bf!important;border-color:#f59e0b73!important;font-weight:600!important}@media (hover:hover){.btn-reward-nav:hover{transform:translateY(-1px);background:#f59e0b38!important;border-color:#f59e0b!important}}.word-banner{bottom:28px;right:var(--edge,24px);z-index:25;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120e0bf0;border:1.5px solid #f59e0ba6;border-radius:14px;flex-direction:column;gap:4px;max-width:250px;padding:10px 14px;animation:.3s cubic-bezier(.16,1,.3,1) both wb-slide-in;display:flex;position:absolute;box-shadow:0 8px 24px #000000a6,0 0 16px #f59e0b40}.pad .word-banner{top:calc(96px + var(--sat));box-sizing:border-box;z-index:30;width:min(320px,100vw - 24px);max-width:none;margin-inline:auto;bottom:auto;left:12px;right:12px;transform:none}.word-banner[hidden],#ui.menu .word-banner{display:none!important}@keyframes wb-slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.wb-badge{color:#f59e0b;letter-spacing:.12em;font-size:9px;font-weight:700}.wb-content{align-items:center;gap:10px;display:flex}.wb-icon{filter:drop-shadow(0 2px 4px #0006);font-size:26px}.wb-texts{flex-direction:column;display:flex}.wb-text{color:#fff;letter-spacing:.08em;font-size:15px;font-weight:800}.wb-clue{color:#cbd5e1;font-size:10.5px;line-height:1.3}.celebration-container{pointer-events:none;z-index:25;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.star-burst{filter:drop-shadow(0 0 20px #f59e0b)drop-shadow(0 0 40px #fbbf24);opacity:0;font-size:68px;position:absolute}.star-burst.pop-star{animation:1.1s cubic-bezier(.1,.8,.2,1) forwards star-burst-pop}@keyframes star-burst-pop{0%{opacity:0;transform:scale(.3)translateY(40px)}30%{opacity:1;transform:scale(1.4)translateY(-20px)}70%{opacity:1;transform:scale(1.1)translateY(-60px)}to{opacity:0;transform:scale(.8)translateY(-100px)}}.celebration-toast{opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;pointer-events:auto;background:#16110df2;border:1.5px solid #f59e0bcc;border-radius:16px;align-items:center;gap:14px;padding:12px 20px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:30px;left:50%;transform:translate(-50%)translateY(-30px);box-shadow:0 12px 32px #000000b3,0 0 20px #f59e0b59}.celebration-toast.show-toast{opacity:1;transform:translate(-50%)translateY(0)}.toast-icon{filter:drop-shadow(0 2px 8px #f59e0b66);font-size:32px}.toast-body{flex-direction:column;display:flex}.toast-title{color:#fbbf24;letter-spacing:.08em;font-size:13px;font-weight:800}.toast-desc{color:#f1f5f9;font-size:11.5px}.app-modal{z-index:50;pointer-events:auto;-webkit-user-select:text;user-select:text;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.app-modal[hidden]{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080604c7;position:absolute;inset:0}.modal-dialog{z-index:1;background:#191410;border:1.5px solid #f59e0b4d;border-radius:20px;flex-direction:column;width:100%;max-width:820px;max-height:88vh;animation:.28s cubic-bezier(.16,1,.3,1) both modal-zoom-in;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #000c,0 0 30px #00000080}.modal-dialog.modal-small{max-width:560px}@keyframes modal-zoom-in{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{background:#191410f2;border-bottom:1px solid #f3ead91f;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-title-wrap{flex-direction:column;display:flex}.modal-kicker{letter-spacing:.15em;color:#f59e0b;font-size:9.5px;font-weight:700}.modal-header h2{color:var(--ink);letter-spacing:.05em;margin:2px 0 0;font-size:18px}.modal-close{color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:grid}@media (hover:hover){.modal-close:hover{color:#fff;background:#ef444440;border-color:#ef4444}}.modal-tabs{background:#0e0b0899;border-bottom:1px solid #f3ead91a;gap:8px;padding:6px 16px 0;display:flex}.modal-tab{color:var(--muted);letter-spacing:.08em;cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:8px 14px 10px;font-size:11.5px;font-weight:700;transition:all .2s}@media (hover:hover){.modal-tab:hover{color:var(--ink)}}.modal-tab.active{color:#f59e0b;border-bottom-color:#f59e0b}.modal-body{flex:1;padding:20px;overflow-y:auto}.tab-pane{display:none}.tab-pane.active{display:block}.section-title{letter-spacing:.12em;color:#f59e0b;margin-bottom:12px;font-size:12px;font-weight:800}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.award-card{background:#1e1813bf;border:1.5px solid #f3ead91f;border-radius:14px;flex-direction:column;gap:6px;padding:14px;transition:all .2s;display:flex}.award-card.unlocked{background:#f59e0b1f;border-color:#f59e0b8c;box-shadow:0 4px 16px #f59e0b1a}.award-card.locked{opacity:.65;filter:grayscale(.5)}.award-card.trophy-card.unlocked{background:linear-gradient(135deg,#f59e0b33,#b453091a);border-color:#f59e0b}.award-icon{margin-bottom:4px;font-size:32px}.award-desc{color:#cbd5e1;flex:1;font-size:11px;line-height:1.35}.award-progress{color:#f59e0b;margin-top:6px;font-size:10px;font-weight:700}.stickers-header{margin-bottom:16px}.stickers-header p{color:var(--muted);margin:0 0 10px;font-size:12px}.theme-filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.filter-pill{color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:16px;padding:5px 12px;font-size:11px;transition:all .2s}@media (hover:hover){.filter-pill:hover{background:#ffffff1f}}.filter-pill.active{color:#1a120b;background:#f59e0b;border-color:#f59e0b;font-weight:700}.stickers-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.sticker-item{text-align:center;background:#1e1813b3;border:1.5px solid #f3ead91a;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px;transition:all .25s;display:flex}.sticker-item.unlocked{background:#3b82f626;border-color:#3b82f680;transform:translateY(-2px);box-shadow:0 4px 16px #3b82f626}.sticker-item.locked{opacity:.55;filter:grayscale(.8)}.sticker-icon{margin-bottom:4px;font-size:40px}.sticker-title{color:#fff;font-size:12px;font-weight:700}.words-summary-card{background:#1e1813b3;border:1px solid #f3ead91f;border-radius:14px;margin-bottom:16px;padding:14px 18px}.ws-progress-wrap{margin-bottom:12px}.ws-progress-bar{background:#ffffff1a;border-radius:4px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.ws-progress-fill{background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:4px;width:0%;height:100%;transition:width .4s}.ws-stats-row{color:#cbd5e1;justify-content:space-between;font-size:11.5px;display:flex}.ws-stats-row b{color:#f59e0b}.words-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.word-card-item{background:#1e1813bf;border:1.5px solid #f3ead91a;border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.word-card-item.discovered{background:#10b98114;border-color:#10b98166}.word-card-item.locked{opacity:.55}.wc-top{align-items:center;gap:10px;display:flex}.wc-icon{font-size:28px}.wc-text-wrap{flex-direction:column;display:flex}.wc-text{color:#fff;letter-spacing:.06em;font-size:14px;font-weight:800}.wc-clue{color:#94a3b8;font-size:10.5px;line-height:1.25}.wc-bottom{border-top:1px solid #ffffff12;flex-direction:column;gap:6px;padding-top:6px;display:flex}.wc-status-badge{border-radius:8px;align-self:flex-start;padding:2px 7px;font-size:9.5px;font-weight:700;display:inline-block}.wc-status-badge.status-poznane{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666}.wc-status-badge.status-ćwiczone{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.wc-status-badge.status-potwierdzone{color:#34d399;background:#10b98133;border:1px solid #10b98166}.wc-status-badge.locked{color:#64748b;background:#ffffff0d}.wc-repeats{color:#94a3b8;font-size:9.5px}.wc-actions{gap:5px;margin-top:2px;display:flex}.wc-actions button{color:var(--ink);cursor:pointer;letter-spacing:.02em;background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:4px 7px;font-size:9.5px;transition:all .2s}@media (hover:hover){.wc-actions button:hover{background:#ffffff26;border-color:#f59e0b}.wc-actions .wc-btn-confirm:hover{background:#10b98133;border-color:#10b981}}.profile-summary{margin-bottom:20px}.profile-header-card{background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:14px;align-items:center;gap:14px;margin-bottom:14px;padding:14px 18px;display:flex}.ph-avatar{font-size:34px}.ph-info h3{color:#fff;letter-spacing:.06em;margin:0;font-size:16px}.ph-stars{color:#fbbf24;margin-top:2px;font-size:13px}.stats-cards-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stat-box{text-align:center;background:#1e1813b3;border:1px solid #f3ead91a;border-radius:12px;padding:12px 8px}.stat-num{color:#f59e0b;font-size:20px;font-weight:800}.stat-lbl{color:#94a3b8;margin-top:3px;font-size:10px}.data-management-card{background:#1e1813b3;border:1px solid #f3ead91a;border-radius:14px;padding:16px}.dm-title{color:var(--ink);letter-spacing:.08em;margin-bottom:4px;font-size:12px;font-weight:800}.dm-desc{color:#94a3b8;margin:0 0 12px;font-size:11px;line-height:1.4}.dm-buttons{flex-direction:column;gap:8px;display:flex}.btn-dm{letter-spacing:.05em;cursor:pointer;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;padding:9px 14px;font-size:11px;font-weight:700;transition:all .2s}@media (hover:hover){.btn-dm:hover{background:#ffffff1f}}.btn-dm.primary{color:#15110d;background:#f59e0b;border-color:#f59e0b}@media (hover:hover){.btn-dm.primary:hover{background:#fbbf24}}.btn-dm.danger{color:#f87171;border-color:#ef44444d}@media (hover:hover){.btn-dm.danger:hover{background:#ef444426;border-color:#ef4444}}@media (prefers-reduced-motion:reduce){.star-burst.pop-star,.celebration-toast,.modal-dialog,.word-banner,.god-rays,.cel-hero-img,.hud-pulse-bounce,.sticker-wiggle{transition:opacity .2s!important;animation:none!important}}@media (width<=640px){.actions{flex-wrap:wrap;max-width:calc(100vw - 172px)}.stats-cards-grid{grid-template-columns:repeat(2,1fr)}.word-banner{top:calc(96px + var(--sat));box-sizing:border-box;z-index:30;width:min(320px,100vw - 24px);max-width:none;margin-inline:auto;padding:8px 12px;bottom:auto;left:12px;right:12px;transform:none}}.hud-pulse-bounce{animation:.65s cubic-bezier(.175,.885,.32,1.275) both hud-bounce}@keyframes hud-bounce{0%{transform:scale(1)}35%{filter:drop-shadow(0 0 16px #f59e0b)drop-shadow(0 0 28px #fbbf24);transform:scale(1.48)}65%{transform:scale(.92)}to{transform:scale(1)}}.celebration-modal{z-index:100;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.celebration-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle,#0f0b07d1 0%,#050302f5 100%);position:absolute;inset:0}.god-rays{pointer-events:none;opacity:.7;background:repeating-conic-gradient(#f59e0b1a 0deg 15deg,#0000 15deg 30deg);width:140vmax;height:140vmax;animation:40s linear infinite rotate-god-rays;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rotate-god-rays{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.celebration-card{z-index:2;text-align:center;background:linear-gradient(#201810f2 0%,#120d09fa 100%);border:2px solid #f59e0bbf;border-radius:28px;width:90%;max-width:440px;padding:36px 28px 28px;animation:.6s cubic-bezier(.16,1,.3,1) both cel-pop-in;position:relative;box-shadow:0 24px 64px #000000d9,0 0 40px #f59e0b59,inset 0 1px #fef08a66}@keyframes cel-pop-in{0%{opacity:0;transform:scale(.65)translateY(40px)}60%{transform:scale(1.04)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.cel-ribbon{white-space:nowrap;background:linear-gradient(90deg,#d97706,#fbbf24,#d97706);border:1px solid #fef08a;border-radius:20px;padding:8px 24px;position:absolute;top:-18px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080,0 0 12px #fbbf2499}.cel-ribbon-text{letter-spacing:.16em;color:#451a03;text-shadow:0 1px #ffffff80;font-size:13px;font-weight:900}.cel-3d-stage{justify-content:center;align-items:center;width:170px;height:170px;margin:10px auto 16px;display:flex;position:relative}.cel-3d-stage:before{content:"";background:radial-gradient(circle,#fbbf2466 0%,#0000 70%);border-radius:50%;animation:2.4s ease-in-out infinite alternate pulse-stage-glow;position:absolute;inset:-10px}@keyframes pulse-stage-glow{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.2)}}.cel-graphic-container{z-index:1;justify-content:center;align-items:center;width:140px;height:140px;animation:3.2s ease-in-out infinite alternate float-award;display:flex;position:relative}.cel-graphic-container svg{filter:drop-shadow(0 14px 28px #000000bf)drop-shadow(0 0 24px #f59e0b80);width:130px;height:130px}.cel-hero-img{z-index:1;object-fit:cover;border-radius:24px;width:150px;height:150px;animation:3.2s ease-in-out infinite alternate float-award;position:relative;box-shadow:0 12px 32px #0009,0 0 24px #f59e0b66}@keyframes float-award{0%{transform:translateY(0)rotate(-1deg)}to{transform:translateY(-8px)rotate(1.5deg)}}.cel-title{color:#fff;letter-spacing:.08em;text-shadow:0 2px 8px #000c,0 0 20px #f59e0b66;margin:8px 0 6px;font-size:22px;font-weight:900}.cel-desc{color:#e2e8f0;margin:0 0 16px;font-size:13px;line-height:1.45}.cel-reward-badge{color:#fde047;letter-spacing:.1em;background:#f59e0b2e;border:1px solid #f59e0b80;border-radius:12px;margin-bottom:20px;padding:4px 14px;font-size:11px;font-weight:800;display:inline-block}.btn-claim-reward{letter-spacing:.1em;color:#451a03;cursor:pointer;background:linear-gradient(#fbbf24 0%,#d97706 100%);border:1.5px solid #fef08a;border-radius:16px;width:100%;padding:14px 20px;font-size:15px;font-weight:900;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 24px #d9770680,inset 0 1px #fff9}@media (hover:hover){.btn-claim-reward:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 12px 32px #d97706b3,inset 0 1px #fffc}}.btn-claim-reward:active{transform:translateY(1px)scale(.98)}.item-inspect-modal{z-index:95;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.inspect-dialog{z-index:2;background:linear-gradient(#1c1610f5 0%,#0e0b08fa 100%);border:1.5px solid #f59e0b99;border-radius:24px;flex-direction:column;width:92%;max-width:580px;max-height:90vh;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 64px #000c,0 0 32px #f59e0b40}.inspect-header{border-bottom:1px solid #f59e0b40;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.inspect-category{letter-spacing:.12em;color:#fbbf24;font-size:11px;font-weight:800}.inspect-body{flex-direction:column;gap:16px;padding:20px;display:flex}.inspect-3d-canvas-wrap{cursor:grab;background:radial-gradient(circle,#2a1f14b3 0%,#0a0806f2 100%);border:1px solid #f59e0b40;border-radius:18px;width:100%;height:280px;position:relative;overflow:hidden}.inspect-3d-canvas-wrap:active{cursor:grabbing}.vault-3d-canvas{display:block;width:100%!important;height:100%!important}.inspect-hint{white-space:nowrap;color:#cbd5e1;letter-spacing:.08em;pointer-events:none;background:#0009;border:1px solid #ffffff26;border-radius:12px;max-width:calc(100% - 16px);padding:4px 12px;font-size:10px;font-weight:600;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.inspect-info{flex-direction:column;gap:8px;display:flex}.inspect-title{color:#fff;letter-spacing:.06em;margin:0;font-size:22px;font-weight:900}.inspect-status-badge{letter-spacing:.05em;border-radius:10px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:800}.inspect-status-badge.unlocked{color:#34d399;background:#10b98133;border:1px solid #10b98166}.inspect-status-badge.locked{color:#f87171;background:#ef444426;border:1px solid #ef444459}.inspect-desc{color:#cbd5e1;margin:0;font-size:13px;line-height:1.45}.inspect-lore{color:#fbbf24;opacity:.85;background:#f59e0b14;border-left:3px solid #f59e0b;border-radius:0 8px 8px 0;padding:8px 12px;font-size:12px;font-style:italic}.inspect-progress-wrap{color:#94a3b8;margin-top:4px;font-size:12px}.inspect-progress-wrap b{color:#f1f5f9}.badge-vault-card,.trophy-vault-card{cursor:pointer;text-align:center;background:#1a140fbf;border:1.5px solid #f59e0b40;border-radius:18px;flex-direction:column;align-items:center;padding:16px 14px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 16px #0006}@media (hover:hover){.badge-vault-card:hover,.trophy-vault-card:hover{border-color:#f59e0b;transform:translateY(-4px)scale(1.02);box-shadow:0 12px 28px #0009,0 0 18px #f59e0b4d}}.award-card.unlocked{background:linear-gradient(#261c12d9 0%,#16100be6 100%);border-color:#f59e0b99}.award-card.locked{opacity:.65;background:#120e0b99;border-color:#ffffff14}@media (hover:hover){.award-card.locked:hover{opacity:.9;border-color:#f59e0b66}}.award-emblem-wrap,.trophy-emblem-wrap{justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:10px;transition:transform .3s;display:flex}@media (hover:hover){.badge-vault-card:hover .award-emblem-wrap,.trophy-vault-card:hover .trophy-emblem-wrap{transform:scale(1.1)rotate(2deg)}}.award-emblem-svg,.trophy-emblem-svg{filter:drop-shadow(0 6px 12px #00000080);width:100%;height:100%}.trophy-emblem-wrap{width:84px;height:84px}.locked-silhouette svg{filter:grayscale()brightness(.25)contrast(1.5)drop-shadow(0 0 2px #f59e0b66);opacity:.55}.award-info-wrap{flex-direction:column;gap:4px;width:100%;display:flex}.award-title{color:#fff;letter-spacing:.05em;font-size:13.5px;font-weight:800}.trophy-title{color:#fbbf24;font-size:14px}.award-desc{color:#cbd5e1;margin-bottom:4px;font-size:11px;line-height:1.35}.award-progress{color:#94a3b8;background:#ffffff0d;border-radius:8px;padding:3px 8px;font-size:10.5px;font-weight:700}.award-progress.done{color:#fde047;background:#f59e0b2e;border:1px solid #f59e0b66}.sticker-collectible-card{cursor:pointer;text-align:center;background:#1a140f99;border:1px solid #f59e0b33;border-radius:20px;flex-direction:column;align-items:center;padding:14px 10px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 12px #00000059}@media (hover:hover){.sticker-collectible-card:hover{border-color:#f59e0b;transform:translateY(-4px)scale(1.04);box-shadow:0 10px 24px #0009,0 0 16px #f59e0b4d}}.sticker-collectible-card.unlocked{background:linear-gradient(#221911cc 0%,#120d09d9 100%);border-color:#f59e0b80}.sticker-collectible-card.locked{opacity:.5;border-color:#ffffff0f}.sticker-emblem-wrap{justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:8px;display:flex}.badge-svg{filter:drop-shadow(0 6px 12px #0000008c);width:100%;height:100%}.sticker-title{color:#fff;letter-spacing:.04em;margin-bottom:2px;font-size:12px;font-weight:800}.sticker-desc{color:#94a3b8;font-size:10px;line-height:1.25}.sticker-wiggle{animation:.5s ease-in-out both sticker-wiggle-anim}@keyframes sticker-wiggle-anim{0%{transform:scale(1)}25%{transform:scale(1.15)rotate(-6deg)}50%{transform:scale(1.1)rotate(6deg)}75%{transform:scale(1.05)rotate(-2deg)}to{transform:scale(1)rotate(0)}}.word-discovery-card{background:#1a140fb3;border:1px solid #f59e0b40;border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000059}@media (hover:hover){.word-discovery-card:hover{border-color:#f59e0b99;transform:translateY(-2px);box-shadow:0 8px 20px #00000080}}.word-discovery-card.discovered{background:linear-gradient(#201811d9 0%,#120d09e6 100%);border-color:#f59e0b73}.word-discovery-card.locked{opacity:.55;border-color:#ffffff14}.wc-header-row{justify-content:space-between;align-items:center;display:flex}.wc-category-pill{letter-spacing:.08em;color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:8px;padding:2px 7px;font-size:9px;font-weight:800}.btn-start-install{color:#fff;cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#d9770638 0%,#b4530959 100%);border:1.5px solid #fbbf24;border-radius:16px;justify-content:flex-start;align-items:center;gap:14px;width:100%;max-width:480px;margin:14px auto 0;padding:12px 18px;transition:all .22s cubic-bezier(.2,.8,.2,1);display:flex;box-shadow:0 4px 18px #f59e0b40}@media (hover:hover){.btn-start-install:hover{background:linear-gradient(135deg,#d9770661 0%,#b453098c 100%);border-color:#fef08a;transform:translateY(-2px);box-shadow:0 6px 24px #f59e0b73}}.btn-start-install .bsi-icon{font-size:26px;line-height:1;animation:3s ease-in-out infinite bsi-wiggle}@keyframes bsi-wiggle{0%,to{transform:scale(1)rotate(0)}10%,30%{transform:scale(1.15)rotate(-6deg)}20%,40%{transform:scale(1.15)rotate(6deg)}50%{transform:scale(1)rotate(0)}}.btn-start-install .bsi-text{text-align:left;flex-direction:column;line-height:1.25;display:flex}.btn-start-install .bsi-text b{color:#fef08a;letter-spacing:.04em;font-size:13px;font-weight:800}.btn-start-install .bsi-text small{color:#cbd5e1;font-size:11px;font-weight:500}.btn-start-install .bsi-badge{letter-spacing:.06em;color:#18120e;white-space:nowrap;background:#fbbf24;border-radius:20px;margin-left:auto;padding:4px 10px;font-size:10px;font-weight:900}.btn-install-nav{color:#fef08a!important;background:linear-gradient(135deg,#f59e0b4d 0%,#d9770673 100%)!important;border-color:#fbbf24!important;font-weight:800!important}@media (hover:hover){.btn-install-nav:hover{background:linear-gradient(135deg,#f59e0b8c 0%,#d97706bf 100%)!important;border-color:#fff!important}}.modal-install-dialog{flex-direction:column;width:94vw;max-width:760px;max-height:88vh;display:flex}.install-modal-body{flex-direction:column;gap:16px;padding:16px 20px 24px;display:flex;overflow-y:auto}.install-info-hero{background:linear-gradient(135deg,#1e293bcc 0%,#0f172ae6 100%);border:1px solid #94a3b840;border-radius:16px;align-items:center;gap:14px;padding:14px 18px;display:flex}.install-info-hero .iih-icon{flex-shrink:0;font-size:32px}.install-info-hero .iih-title{color:#38bdf8;letter-spacing:.05em;margin-bottom:4px;font-size:14px;font-weight:900}.install-info-hero .iih-desc{color:#cbd5e1;font-size:12px;line-height:1.45}.install-devices-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;display:grid}.device-card{background:#1a140fbf;border:1px solid #f59e0b40;border-radius:16px;flex-direction:column;gap:8px;padding:16px;transition:all .2s;display:flex;position:relative}@media (hover:hover){.device-card:hover{background:#201812d9;border-color:#f59e0b8c;transform:translateY(-2px)}}.device-card.recommended-card{border-color:#38bdf8;box-shadow:0 0 16px #38bdf840}.device-card.pulse-highlight{animation:1s ease-in-out infinite card-pulse}@keyframes card-pulse{0%,to{border-color:#f59e0b4d}50%{border-color:#4ade80;box-shadow:0 0 20px #4ade8066}}.dc-top{justify-content:space-between;align-items:center;display:flex}.dc-icon{font-size:26px;line-height:1}.dc-badge{letter-spacing:.06em;color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;border-radius:10px;padding:3px 8px;font-size:9px;font-weight:800}.dc-badge.gold{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b59}.dc-badge.purple{color:#c084fc;background:#c084fc26;border-color:#c084fc59}.dc-title{color:#f8fafc;margin:0;font-size:15px;font-weight:800}.dc-desc{color:#94a3b8;margin:0;font-size:12px;line-height:1.4}.btn-dc-action{letter-spacing:.04em;cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:12px;justify-content:center;align-items:center;margin-top:6px;padding:10px 14px;font-size:12px;font-weight:800;transition:all .18s;display:flex}@media (hover:hover){.btn-dc-action:hover{background:#ffffff26;transform:translateY(-1px)}}.btn-dc-action.primary{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#34d399;box-shadow:0 4px 12px #10b98159}@media (hover:hover){.btn-dc-action.primary:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 6px 16px #10b98180}}.btn-dc-action.gold{color:#fef08a;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);border-color:#fbbf24;box-shadow:0 4px 12px #d9770659}@media (hover:hover){.btn-dc-action.gold:hover{background:linear-gradient(135deg,#b45309 0%,#92400e 100%);box-shadow:0 6px 16px #d9770680}}.btn-dc-action.purple{color:#f5f3ff;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border-color:#c084fc;box-shadow:0 4px 12px #7c3aed59}@media (hover:hover){.btn-dc-action.purple:hover{background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 100%);box-shadow:0 6px 16px #7c3aed80}}.pwa-status-hint{color:#cbd5e1;margin-top:2px;font-size:11px;font-style:italic}.ios-steps{background:#00000059;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:6px;margin-top:4px;padding:8px 10px;display:flex}.ios-step{color:#e2e8f0;align-items:center;gap:8px;font-size:11px;display:flex}.ios-step .step-num{color:#0f172a;background:#38bdf8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:900;display:inline-flex}.server-card{background:linear-gradient(#23182dcc 0%,#140e1ce6 100%);border-color:#c084fc59;grid-column:1/-1}.server-help-box{color:#cbd5e1;background:#00000073;border:1px solid #c084fc33;border-radius:10px;margin-top:8px;padding:10px 14px;font-size:11px;line-height:1.5}.server-help-box ol{margin:6px 0;padding-left:20px}.server-help-box code{color:#c084fc;background:#c084fc26;border-radius:4px;padding:2px 5px;font-family:monospace}.server-help-link{color:#c084fc;margin-top:6px;font-size:11px;font-weight:700;text-decoration:underline;display:inline-block}.install-footer{justify-content:center;padding-top:8px;display:flex}.btn-close-and-play{letter-spacing:.05em;color:#18120e;cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:1.5px solid #fef08a;border-radius:14px;padding:12px 28px;font-size:13px;font-weight:900;transition:all .2s;box-shadow:0 4px 16px #f59e0b66}@media (hover:hover){.btn-close-and-play:hover{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b99}}@media (width<=640px){.modal-dialog{width:calc(100vw - 16px - var(--sal) - var(--sar));max-height:calc(100dvh - 24px - var(--sat) - var(--sab));border-radius:16px;margin:auto}.modal-header{padding:10px 14px}.modal-header h2{font-size:14px}.modal-close{width:34px;height:34px;font-size:16px}.modal-tabs{gap:4px;padding:0 8px;overflow-x:auto}.modal-tab{padding:9px 8px;font-size:9.5px}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px}.cards-grid{grid-template-columns:1fr;gap:8px}.words-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.install-devices-grid{grid-template-columns:1fr;gap:10px}}.app-version{right:calc(12px + var(--sar));bottom:calc(8px + var(--sab));letter-spacing:.12em;color:var(--muted);opacity:.7;pointer-events:none;font-size:10px;position:absolute}@media (width<=900px) and (orientation:portrait),(width<=640px){:root{--u:clamp(6px, 1.75vw, 12px)}.brand,#debug,.btn-lbl-full{display:none!important}.btn-lbl-short{display:inline}.hint,.pad .hint{display:none!important}#ui:not(.menu) #btn-open-install{display:none}.actions{top:calc(var(--u) * .9 + var(--sat));left:calc(var(--u) + var(--sal));right:calc(var(--u) + var(--sar));justify-content:flex-end;gap:calc(var(--u) * .5);flex-wrap:nowrap;max-width:none}.actions button{padding:calc(var(--u) * .8) calc(var(--u) * 1.1);font-size:calc(var(--u) * 1.2);letter-spacing:.04em;min-height:calc(var(--u) * 3.6);border-radius:calc(var(--u) * .6)}#scores,.pad #scores{top:calc(var(--u) * 7 + var(--sat));bottom:auto;left:calc(var(--u) + var(--sal));gap:calc(var(--u) * .5)}.score{gap:calc(var(--u) * .6)}.score .avatar{--size:calc(var(--u) * 3.2)}.score span{font-size:calc(var(--u) * 1.3);letter-spacing:.1em;min-width:0}.score b{font-size:calc(var(--u) * 2.1)}#scores .best{display:none}#turn{top:calc(var(--u) * 7 + var(--sat));text-align:center;width:auto;max-width:calc(100vw - 2 * var(--u));pointer-events:none;flex-direction:column;align-items:center;display:flex;left:50%;transform:translate(-50%)}#turn-avatar{--size:calc(var(--u) * 5.5);margin:0 auto calc(var(--u) * .3);position:static}#turn-player{font-size:calc(var(--u) * 3.4);letter-spacing:.14em;padding-left:.14em;line-height:1.1}#turn .label,#turn-hint{font-size:calc(var(--u) * 1.25)}#points{top:calc(var(--u) * 23 + var(--sat));font-size:calc(var(--u) * 5)}#pad,#rotate{--b:clamp(44px, 9vmin, 72px);--edge:clamp(28px, 4vmin, 32px)}.cam{bottom:calc(var(--edge) + var(--sab) + var(--b) * 1.45)}#pad-action{width:calc(var(--b) * 3);height:calc(var(--b) * 1.1);font-size:calc(var(--b) * .28)}}@media (width<=500px){.score span{display:none}}@media (width<=380px){.actions button{padding:calc(var(--u) * .7) calc(var(--u) * .9)}}@media (width>=901px) and (width<=1399px){.actions{max-width:none;left:calc(20px + var(--sal));pointer-events:none;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.actions button{pointer-events:auto;letter-spacing:.06em;padding:8px 12px;font-size:10px}.btn-lbl-full{display:none}.btn-lbl-short{display:inline}#turn{top:calc(46px + var(--sat))}#turn-player{font-size:28px}.pad #debug{display:none!important}#ui:not(.menu) .pad #btn-open-install,.pad #ui:not(.menu) #btn-open-install{display:none}.pad .word-banner{top:calc(58px + var(--sat));right:calc(20px + var(--sar));bottom:auto;left:auto;transform:none}}.icon-btn{place-items:center;width:40px;height:36px;padding:0;display:inline-grid}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:18px;height:18px}.icon-btn .slash,.icon-btn .cross{display:none}.icon-btn.off .slash{display:block}#mute.is-muted .waves{display:none}#mute.is-muted .cross{display:block}@media (width<=900px) and (orientation:portrait),(width<=640px){.actions .icon-btn{width:max(34px, calc(var(--u) * 3.8));height:max(30px, calc(var(--u) * 3.6));padding:0}.actions .icon-btn svg{width:max(16px, calc(var(--u) * 2.1));height:max(16px, calc(var(--u) * 2.1))}}.actions button{position:relative}@media (pointer:coarse){.actions button:after{content:"";position:absolute;inset:-12px 0}}@media (width<=520px){.btn-lbl-short .txt{display:none}.btn-lbl-short .ico{font-size:14px;line-height:1}.actions{left:calc(2px + var(--sal));right:calc(2px + var(--sar));gap:1px}#ui.menu .actions{flex-wrap:wrap;row-gap:2px}.actions button{min-width:44px;padding-left:0;padding-right:0}.actions .icon-btn{width:44px}#start{padding-top:calc(64px + var(--sat))}}@media (height<=520px) and (pointer:coarse){.btn-lbl-short .txt{display:none}.btn-lbl-short .ico{font-size:14px;line-height:1}.actions{flex-wrap:nowrap;gap:0}.actions button{min-width:44px;padding-left:0;padding-right:0}.actions .icon-btn{width:44px;height:26px}#turn{left:calc(50% - 80px)}.word-banner,.pad .word-banner{top:calc(54px + var(--sat));right:calc(8px + var(--sar));-webkit-backdrop-filter:none;backdrop-filter:none;z-index:12;border-radius:10px;gap:2px;width:auto;max-width:200px;padding:5px 8px;bottom:auto;left:auto;transform:none}.wb-badge{font-size:7.5px}.wb-content{gap:6px}.wb-icon{font-size:20px}.wb-text{font-size:12px}.wb-clue{font-size:9px;line-height:1.2}}.pad .word-banner{pointer-events:none}@media (height<=520px) and (pointer:coarse){.word-banner{pointer-events:none}}@media (width<=380px){.pad .cam{grid-template-columns:repeat(2,auto);display:grid}}#start{scroll-padding-block:24px}.slot input{scroll-margin-block:24px}@media (width<=640px) and (orientation:portrait){.pad .word-banner{top:calc(var(--u) * 25 + var(--sat))}}#rotate:before,.cam:before{text-align:center;letter-spacing:.14em;color:#e0b46c;text-shadow:0 1px 3px #000,0 0 6px #000;pointer-events:none;white-space:nowrap;font:700 9px/1 system-ui,sans-serif;position:absolute;top:-15px;left:-8px;right:-8px}#rotate:before{content:"OBRÓT KLOCKA"}.cam:before{content:"KAMERA"}#pad-action.pulse{border-color:var(--accent,#e0b46c);animation:1.1s ease-in-out infinite pad-pulse}@keyframes pad-pulse{0%,to{box-shadow:0 4px 12px #0006,0 0 #e0b46c8c}50%{box-shadow:0 4px 12px #0006,0 0 0 10px #e0b46c00}}@media (prefers-reduced-motion:reduce){#pad-action.pulse{animation:none;box-shadow:0 0 0 3px #e0b46cb3}}
