:root{--kraft:#e8d7b2;--kraft-2:#d9c190;--ink:#2a2620;--cream:#f4efe6;--coral:#e07a5f;--mint:#9dcda5;--navy:#2f3e5c;--mustard:#d9a93e;--rose:#e8a7b4;--sky:#bfd9e8;--f-display:"Nunito", "Patrick Hand", system-ui, sans-serif;--f-marker:"Patrick Hand", "Nunito", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:var(--f-display);color:var(--ink);background:var(--kraft)}.app{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.error-banner{color:var(--ink);text-align:center;filter:drop-shadow(3px 4px #2a262033);border-left:6px solid var(--coral);background:#fff;border-radius:12px;max-width:500px;margin-bottom:16px;padding:12px 24px;font-size:1rem}.game-shell{filter:drop-shadow(0 14px 24px #2a262040);border-radius:22px;width:min(460px,100%);height:min(720px,95vh);position:relative;overflow:hidden}.game-kraft{background:var(--kraft);background-image:repeating-linear-gradient(0deg,#0000 0 5px,#2a262006 5px 6px),repeating-linear-gradient(90deg,#0000 0 5px,#2a262006 5px 6px);width:100%;height:100%;position:relative;overflow:hidden}.game-shell-inner{z-index:1;width:100%;height:100%;padding:22px;position:relative}.game-header{z-index:3;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;display:flex;position:relative}.game-header-start{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.word-area{z-index:3;justify-content:center;align-items:center;min-height:330px;margin-top:22px;display:flex;position:relative}.word-area.status-incorrect{animation:.5s paper-nudge}.game-footer{z-index:3;position:absolute;bottom:22px;left:22px}.mic-cluster{z-index:3;position:absolute;bottom:22px;right:22px}.hint-badge{background:var(--cream);cursor:pointer;-webkit-user-select:none;user-select:none;filter:drop-shadow(3px 4px #2a262038);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:background .15s;display:flex;position:absolute;bottom:8px;right:54px;transform:rotate(4deg)}.hint-badge input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.hint-badge--on{background:var(--mint)}.hint-badge:after{content:"Podpowiedz";background:var(--cream);color:var(--ink);font-family:var(--f-display);white-space:nowrap;filter:drop-shadow(2px 3px #2a26202e);opacity:0;pointer-events:none;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;transition:opacity .1s;position:absolute;top:50%;bottom:auto;right:110%;transform:translateY(-50%)rotate(-4deg)}.hint-badge:hover:after{opacity:1}.mic-cluster .paper-mic{position:absolute;bottom:0;right:0}.paper-mic:hover{transform:rotate(-3deg)translate(-1px,-1px)!important}.paper-mic:active{filter:drop-shadow(1px 2px #2a262038)!important;transform:rotate(-3deg)translate(2px,3px)!important}.celebration-overlay{pointer-events:none;z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cel-root{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.cel-center{pointer-events:none;position:absolute;top:48%;left:50%}@keyframes paper-pop{0%{opacity:0;transform:scale(.4)rotate(-6deg)}60%{opacity:1;transform:scale(1.12)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes paper-bouncy{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes paper-nudge{0%,to{transform:translate(0)}30%{transform:translate(-5px)rotate(-1deg)}70%{transform:translate(5px)rotate(1deg)}}@keyframes paper-float{to{opacity:0;transform:translateY(-26px)rotate(-3deg)}}@keyframes paper-confetti{to{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) rotate(var(--r));opacity:0}}@keyframes paper-stamp{0%{opacity:0;transform:translateY(-160px)scale(2)rotate(-30deg)}50%{opacity:1;transform:translateY(0)scale(1.15)rotate(-12deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(-8deg)}}@keyframes paper-multiply{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(0)}25%{opacity:1}to{transform:translate(calc(-50% + var(--mx)), calc(-50% + var(--my))) scale(1) rotate(var(--mr));opacity:0}}@keyframes paper-balloon{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}20%{transform:translate(calc(-50% + var(--bx)), -50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--bx)), calc(-50% - 150px)) scale(.95);opacity:0}}@keyframes paper-draw{to{stroke-dashoffset:0}}@keyframes paper-dotbeat{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.4)}to{opacity:.2;transform:scale(1)}}@keyframes paper-plusone{0%{opacity:0;transform:scale(.2)rotate(-30deg)}60%{opacity:1;transform:scale(1.25)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}@keyframes paper-fw{0%{stroke-dashoffset:50px;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes paper-fwdot{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2)}}.word-trans{justify-content:center;align-items:center;display:flex}.word-trans-slide{animation:.7s cubic-bezier(.3,1.4,.4,1) both paper-trans-slide}.word-trans-flip{transform-style:preserve-3d;animation:.7s both paper-trans-flip}.word-trans-drop{animation:.7s cubic-bezier(.3,1.6,.4,1) both paper-trans-drop}.word-trans-tear{animation:.7s both paper-trans-tear}.word-trans-pop{animation:.6s cubic-bezier(.4,1.6,.5,1) both paper-trans-pop}@keyframes paper-trans-slide{0%{opacity:0;transform:translate(-120%)rotate(-12deg)}50%{opacity:1;transform:translate(8%)rotate(4deg)}80%{transform:translate(-2%)rotate(-2deg)}to{transform:translate(0)rotate(0)}}@keyframes paper-trans-flip{0%{opacity:0;transform:perspective(800px)rotateY(-110deg)}50%{opacity:1;transform:perspective(800px)rotateY(-20deg)}to{opacity:1;transform:perspective(800px)rotateY(0)}}@keyframes paper-trans-drop{0%{opacity:0;transform:translateY(-180px)scale(.7)}50%{opacity:1;transform:translateY(12px)scale(1.06)}80%{transform:translateY(-4px)scale(.98)}to{transform:translateY(0)scale(1)}}@keyframes paper-trans-tear{0%{clip-path:inset(0 100% 0 0);transform:rotate(-2deg)}to{clip-path:inset(0);transform:rotate(0)}}@keyframes paper-trans-pop{0%{opacity:0;transform:scale(.2)rotate(-12deg)}60%{opacity:1;transform:scale(1.15)rotate(4deg)}to{transform:scale(1)rotate(0)}}@media (width<=540px){.game-shell{border-radius:0;height:100vh}}.back-btn{cursor:pointer;font-family:var(--f-display);color:var(--ink);opacity:.5;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:13px;font-weight:600;transition:opacity .15s;position:static}.back-btn:hover{opacity:1}.title-screen{flex-direction:column;justify-content:center;gap:16px;padding:32px 28px;display:flex}.title-logo{text-align:center;margin-bottom:8px}.title-bird{filter:drop-shadow(4px 6px #2a262038);margin-bottom:4px;font-size:64px;display:block;transform:rotate(-8deg)}.title-name{font-family:var(--f-display);color:var(--navy);filter:drop-shadow(3px 4px #2a26202e);font-size:48px;font-weight:800;line-height:1}.title-tagline{font-family:var(--f-marker);color:var(--ink);opacity:.6;margin-top:4px;font-size:16px}.change-link{cursor:pointer;font-family:var(--f-display);color:var(--coral);background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:13px;font-weight:600}.mode-toggle{gap:10px;display:flex}.mode-chip{background:var(--cream);font-family:var(--f-display);color:var(--ink);cursor:pointer;filter:drop-shadow(3px 4px #2a262026);border:none;border-radius:24px;flex:1;padding:12px 8px;font-size:14px;font-weight:700;transition:background .15s,filter .15s}.mode-chip--active{background:var(--coral);color:#fff;filter:drop-shadow(3px 5px #2a262038)}.categories-btn{background:var(--cream);width:100%;font-family:var(--f-display);color:var(--ink);cursor:pointer;filter:drop-shadow(3px 4px #2a262026);border:none;border-radius:24px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.cat-summary{opacity:.65;font-size:13px;font-weight:600}.play-btn{background:var(--coral);color:#fff;width:100%;font-family:var(--f-display);cursor:pointer;filter:drop-shadow(4px 6px #2a262038);border:none;border-radius:24px;padding:18px;font-size:22px;font-weight:800;transition:filter .1s,transform .1s}.play-btn:active{filter:drop-shadow(2px 3px #2a262038);transform:translateY(2px)}.scores-btn{background:var(--cream);width:100%;color:var(--ink);font-family:var(--f-display);cursor:pointer;filter:drop-shadow(3px 4px #2a262026);border:none;border-radius:24px;padding:13px;font-size:15px;font-weight:700}.modal-overlay{z-index:100;background:#2a262073;border-radius:22px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal-card{background:var(--kraft);filter:drop-shadow(0 8px 16px #2a262047);border-radius:20px;flex-direction:column;gap:10px;width:calc(100% - 48px);padding:20px 20px 16px;display:flex}.cat-scroll{flex-direction:column;gap:10px;max-height:52vh;padding-right:4px;display:flex;overflow-y:auto}.modal-header{font-family:var(--f-display);color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.modal-close{cursor:pointer;color:var(--ink);opacity:.6;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:18px}.cat-row{background:var(--cream);width:100%;font-family:var(--f-display);color:var(--ink);cursor:pointer;filter:drop-shadow(2px 3px #2a26201f);border:none;border-radius:24px;align-items:center;gap:10px;padding:12px 16px;font-size:15px;font-weight:700;transition:background .15s;display:flex}.cat-row--mustard{background:var(--mustard);color:#fff}.cat-row--mint{background:var(--mint)}.cat-row--slate{color:#fff;background:#8a8a8a}.cat-row--half{flex:1 1 0;justify-content:center;width:auto}.cat-all-none{gap:10px;display:flex}.modal-done-btn{background:var(--coral);color:#fff;width:100%;font-family:var(--f-display);cursor:pointer;filter:drop-shadow(3px 4px #2a262033);border:none;border-radius:24px;margin-top:4px;padding:13px;font-size:16px;font-weight:700}.player-chips{flex-wrap:wrap;gap:8px;display:flex}.player-chip{background:var(--cream);font-family:var(--f-display);color:var(--ink);cursor:pointer;filter:drop-shadow(2px 3px #2a26201f);border:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:700}.player-chip--active{background:var(--coral);color:#fff}.modal-divider{text-align:center;font-family:var(--f-display);color:var(--ink);opacity:.5;font-size:13px}.player-input{border:2px solid var(--kraft-2);background:var(--cream);width:100%;font-family:var(--f-display);color:var(--ink);border-radius:14px;outline:none;padding:12px 14px;font-size:16px;font-weight:600}.player-input:focus{border-color:var(--coral)}.scores-screen{flex-direction:column;gap:12px;padding:20px 22px;display:flex}.scores-header{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.scores-title{font-family:var(--f-display);color:var(--navy);filter:drop-shadow(2px 3px #2a262026);font-size:24px;font-weight:800}.scores-empty{text-align:center;font-family:var(--f-marker);color:var(--ink);opacity:.65;margin-top:60px;font-size:18px}.scores-list{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.score-rank{text-align:center;flex-shrink:0;width:32px;font-size:20px}.score-name{font-family:var(--f-display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:700;overflow:hidden}.score-value{font-family:var(--f-display);color:var(--coral);flex-shrink:0;font-size:18px;font-weight:800}.score-mode{flex-shrink:0;font-size:16px}.hat-screen{flex-direction:column;align-items:center;display:flex;position:relative}.hat-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:320px;margin-top:auto;margin-bottom:auto;display:grid}.hat-grid--shake{animation:.5s paper-nudge}.hat-card{aspect-ratio:1;background:var(--cream);cursor:pointer;filter:drop-shadow(4px 6px #2a262033);border:none;border-radius:20px;justify-content:center;align-items:center;transition:transform .1s,filter .1s;display:flex}.hat-card:hover:not(:disabled){filter:drop-shadow(5px 7px #2a262040);transform:scale(1.05)rotate(-2deg)}.hat-card:active:not(:disabled){transform:scale(.97)}.hat-card:disabled{cursor:default}.hat-emoji{filter:drop-shadow(2px 3px #2a262026);font-size:72px;line-height:1}@media (hover:none){.hat-card:hover:not(:disabled){filter:none;transform:none}.hint-badge:hover:after{opacity:0}.back-btn:hover{opacity:.5}.change-link:hover{opacity:1}}
