@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url('/public/fonts/caveat-600.ttf') format('truetype')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url('/public/fonts/caveat-700.ttf') format('truetype')}
@font-face{font-family:'Patrick Hand';font-style:normal;font-weight:400;font-display:swap;src:url('/public/fonts/patrick-hand.ttf') format('truetype')}
/* Uma folha só: as mesmas tintas e pautas acompanham cada tela do caderno. */
:root{color-scheme:light;--bg:#f6f3e6;--paper:#fffcf2;--panel:#fffcf2;--text:#293e98;--ink:#293e98;--muted:#66709a;--line:#adb6d1;--cyan:#293e98;--coral:#b84452;--yellow:#f8d86a;--green:#38745c;--font:'Patrick Hand','Segoe Print',cursive;--display:'Caveat','Segoe Print',cursive;--rule:repeating-linear-gradient(0deg,transparent 0 31px,#5579bd25 31px 32px);--hatch:repeating-linear-gradient(132deg,transparent 0 4px,#293e981c 4px 5px);--edge:3px 8px 4px 10px / 8px 3px 9px 4px;--shadow:3px 4px 0 #293e9825;--pen:linear-gradient(100deg,#fffcf2f7 0%,#fffcf2cc 30%,#fffcf266 62%,#fffcf200 100%),repeating-linear-gradient(132deg,transparent 0 2px,#293e9821 2px 3.4px),repeating-linear-gradient(42deg,transparent 0 2px,#293e9821 2px 3.4px)}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{height:100dvh;display:flex;flex-direction:column;color:var(--text);background:var(--rule),var(--bg);font:18px/1.35 var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body::before{content:'';position:fixed;inset:0 auto 0 clamp(22px,6vw,92px);width:2px;background:#cc64775c;pointer-events:none}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer;border:1.5px solid var(--ink);background:var(--paper);border-radius:var(--edge);transition:background .15s,transform .15s}button:hover:not(:disabled){background-color:#f1e8bd}button:active:not(:disabled){transform:translateY(2px)}button:disabled{cursor:not-allowed;opacity:.48}button:focus,a:focus,input:focus,[tabindex]:focus{outline:3px dashed var(--coral);outline-offset:4px}input{min-width:0;user-select:text;-webkit-user-select:text}button svg{pointer-events:none}img,svg{-webkit-user-drag:none;user-select:none}svg{width:21px;height:21px;flex-shrink:0}h1,h2,h3,p{margin:0}[hidden]{display:none!important}::selection{background:var(--yellow);color:var(--ink)}
.site-header{position:relative;flex-shrink:0;display:flex;align-items:center;gap:28px;width:100%;min-height:78px;padding:10px max(28px,env(safe-area-inset-left));border-bottom:2px solid var(--ink);background:#f6f3e6eb}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:700 42px/1 var(--display);letter-spacing:-1px}.brand img{width:43px;height:43px}.brand-dot{color:var(--coral)}.header-tagline{font:600 22px var(--display);color:var(--muted)}.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.icon-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;box-shadow:2px 2px 0 #293e9818}.wallet-btn{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--yellow);font-size:17px}body.is-gate .wallet-btn{display:none}.layout{position:relative;display:flex;align-items:stretch;flex:1;min-height:0;width:100%}.intro-panel,.journey-panel,.site-footer,.game-bottom{display:none}
/* Formulário e demonstrações são recortes da mesma folha. */
.gate{flex:1;display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,76px);max-width:1220px;width:100%;min-height:0;margin:auto;padding:30px 36px;overflow-y:auto}.gate-copy{min-width:0}.auth{position:relative;padding:25px;border:2px solid var(--ink);border-radius:var(--edge);background:var(--paper);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:15px}.auth::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:var(--pen)}.auth>*{position:relative;z-index:1}.auth::before,.gate-card::before,.lobby-card::before,.profile-card::before,.top5::before{content:'';position:absolute;top:-12px;left:30px;width:72px;height:24px;background:#d7caa897;transform:rotate(-5deg);pointer-events:none;z-index:2}.auth-tabs{display:flex;gap:8px;padding-bottom:6px;border-bottom:1px dashed var(--line)}.auth-tabs button{flex:1;min-height:40px;font-size:20px;border-color:var(--line)}.auth-tabs button.is-active{background:var(--hatch),var(--yellow);border:2px solid var(--ink);box-shadow:2px 2px 0 #293e9820}.gate-google{display:flex;justify-content:center;align-items:center;gap:10px;min-height:45px;font-size:17px}.gate-google svg{width:19px;height:19px}.auth-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:15px}.auth-or i{flex:1;height:1px;background:var(--line)}.auth-form{display:flex;flex-direction:column;gap:13px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field span{font-size:17px}.auth-field input,.chat-form input{height:44px;padding:7px 12px;border:1px solid var(--line);border-bottom:2px solid var(--ink);border-radius:3px;background:#f9f6eb;font-size:19px}.auth-field input:focus,.chat-form input:focus{background:#fffdf7}.auth-error{color:var(--coral);font-size:16px}.auth-error:empty{display:none}.play-btn{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-height:46px;padding:7px 16px;background:var(--hatch),var(--yellow);border:2px solid var(--ink);box-shadow:var(--shadow);font-size:20px}.play-btn:hover:not(:disabled){background-color:#ffe894}.play-btn svg{width:18px;height:18px}.auth-submit{flex:none}.gate-stage{min-width:0}.stage-heading{margin-bottom:26px}.stage-heading h1{font:700 clamp(40px,4.3vw,64px)/.98 var(--display);max-width:540px;transform:rotate(-2deg)}.stage-heading p{margin-top:20px;font-size:19px;max-width:440px;color:var(--muted)}.gate-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:12px 4px}.gate-card{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:var(--edge);box-shadow:var(--shadow);transform:rotate(-2deg)}.gate-card:nth-child(2){transform:rotate(2deg) translateY(13px)}.gate-card:nth-child(3){transform:rotate(-1deg)}.gate-card::before{left:30%;width:50px;height:19px;top:-9px}.gate-card canvas{position:static;display:block;width:100%;height:clamp(180px,27vh,290px);border-radius:inherit}.gate-card span{display:block;padding:7px 8px;text-align:center;border-top:1px dashed var(--line);font:700 25px var(--display)}.stage-note{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:28px;font:600 23px var(--display)}.stage-note svg{color:var(--coral)}.top5{position:relative;margin-top:26px;padding:18px 16px 14px;font-size:16px;border:2px solid var(--ink);border-radius:var(--edge);background:var(--paper);box-shadow:var(--shadow)}.top5::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:var(--pen)}.top5>*{position:relative;z-index:1}.top5 h3{font:700 25px var(--display);margin-bottom:8px}.top5 ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.top5 li{display:flex;gap:10px;padding:6px 2px;border-bottom:1px solid var(--line)}.top5 li:last-child{border-bottom:0}.top5 li b{width:20px;color:var(--muted)}.top5 li span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top5 li i{font-style:normal}.top5 li:first-child b{color:#996c12}
.gate.is-register{grid-template-columns:minmax(0,1fr);max-width:890px}.gate.is-register .gate-stage,.gate.is-register #top5{display:none}.gate.is-register .auth{padding:30px}.gate.is-register .auth-form{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:14px 26px;align-items:start}.gate.is-register .captcha{grid-column:1;grid-row:1/span 3;height:100%}.gate.is-register .auth-field{grid-column:2}.gate.is-register .auth-error,.gate.is-register .auth-submit{grid-column:1/-1}.captcha{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--ink);border-radius:var(--edge);background:var(--rule),var(--paper);overflow:hidden}.captcha-half{display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 10px}.captcha-half+.captcha-half{border-left:1px dashed var(--ink)}.captcha-half b{align-self:flex-start;font-size:18px;font-weight:400}.captcha-half p{font-size:14px;line-height:1.35;color:var(--muted);text-align:center}.captcha-half p strong{color:var(--ink)}.captcha-half>svg,.captcha-grid{width:100%;height:auto;aspect-ratio:1;max-width:190px;border:1px solid var(--line);border-radius:3px;background:var(--paper)}.captcha-shape-number{fill:var(--paper);font:700 15px var(--font);text-anchor:middle;dominant-baseline:central}.captcha-shape-line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.captcha-shape-dot{fill:#bac0d3}.captcha-shape-dot.on{fill:var(--ink)}.captcha-grid{display:grid;grid-template-columns:repeat(3,1fr);place-items:center;padding:9px;touch-action:none;cursor:crosshair}.captcha-dot{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;padding:0;border:1px solid var(--ink);background:#e8eaf1;font-size:18px}.captcha-dot.on{background:var(--ink);color:var(--paper)}.captcha-reset{margin-top:auto;padding:5px 10px;font-size:14px}
/* O lobby é uma página de anotações; a conversa rola dentro da folha. */
.lobby{flex:1;display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;width:100%;min-height:0;max-width:1500px;margin:0 auto;padding:28px 32px}.lobby-side{display:flex;flex-direction:column;gap:23px;min-height:0}.player{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--edge)}.player-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px}.player-out{padding:4px 10px;font-size:15px;background:#f4d8d4;border-color:var(--coral);color:#92303e}.lobby-card{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;padding:26px 22px;background:var(--rule),var(--paper);border:2px solid var(--ink);border-radius:var(--edge);box-shadow:var(--shadow)}.lobby-kicker{font-size:18px;color:var(--muted)}.lobby-card h2{font:700 48px/1.1 var(--display);margin-top:7px}.lobby-card>p{color:var(--muted);font-size:19px}.my-rank{display:flex;gap:12px;align-items:center;padding:12px 0;margin-top:18px;border-block:1px dashed var(--ink)}.my-rank>div{flex:1;display:flex;flex-direction:column}.my-rank small{font-size:15px;color:var(--muted)}.my-rank strong{font:700 30px var(--display)}.my-rank>i{width:1px;height:36px;background:var(--line)}.lobby-stats{display:flex;gap:8px;margin:20px 0}.lobby-stats>div{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 4px;border:1px solid var(--line);border-radius:var(--edge);background:var(--paper)}.lobby-stats strong{font:700 29px var(--display)}.lobby-stats span{font-size:15px;color:var(--muted)}.stat-stars,.stat-coins{color:#946419}.lobby-menu{display:flex;flex-direction:column;gap:13px;margin-top:auto;padding-top:12px}.menu-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:8px 14px;border:2px solid var(--ink);font-size:22px;box-shadow:var(--shadow)}.menu-btn span{display:flex;align-items:center}.menu-map{background:var(--hatch),var(--yellow)}.menu-rank{background:var(--hatch),#dfe9f6}.menu-shop{background:var(--hatch),#efdadc}
.social{display:grid;grid-template-columns:minmax(0,1fr) 222px;gap:20px;min-width:0;min-height:0}.chat,.online{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1.5px solid var(--ink);border-radius:var(--edge);background:var(--rule),var(--paper);box-shadow:var(--shadow)}.chat-head,.online-head{display:flex;align-items:center;gap:9px;min-height:58px;padding:12px 16px;border-bottom:1.5px solid var(--ink);background:#eee9d6}.chat-head h3{font:700 29px var(--display);margin-right:auto}.chat-me{display:flex;gap:8px;align-items:center;font-size:15px;min-width:0}.chat-me>span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-avatar{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;overflow:hidden;border:1px solid var(--ink);border-radius:48% 52% 45% 55%;background:#dde5ee;color:var(--ink);font-size:14px;object-fit:cover}.chat-avatar>img{width:100%;height:100%;object-fit:cover}.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:13px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chat-line{display:flex;gap:9px;align-items:flex-start}.chat-line>div{min-width:0;padding:8px 13px;background:#f9f4df;border:1px solid var(--line);border-radius:var(--edge)}.chat-line.is-me{flex-direction:row-reverse}.chat-line.is-me>div{background:#e9eef5}.chat-line b{font-size:16px;font-weight:400}.chat-line i{font:13px var(--font);color:var(--muted);margin-left:7px}.chat-line p{margin-top:4px;font-size:18px;overflow-wrap:anywhere;white-space:pre-wrap}.chat-notice{padding:9px;color:var(--muted);font-size:16px;text-align:center}.chat-form{display:flex;gap:9px;padding:12px;border-top:1px solid var(--ink);background:var(--paper)}.chat-form input{flex:1}.chat-form .play-btn{flex:none;width:46px;min-height:44px;padding:0}.online-head{font-size:20px}.online-head b{margin-left:auto;color:var(--green)}.online-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:10px;overflow-y:auto;scrollbar-width:thin}.online-list li{display:flex}.online-row{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 5px;text-align:left;background:var(--paper);border-color:transparent;font-size:16px}.online-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-row .chat-avatar{width:26px;height:26px;font-size:12px}.online-row.is-playing{color:var(--green)}.chat-badges{display:inline-flex;align-items:center;gap:4px;margin-left:7px;vertical-align:middle}.chat-badges em,.badge-playing{font:12px/1 var(--font);white-space:nowrap;padding:3px 5px;border:1px solid var(--line);border-radius:3px}.badge-rank{background:#f4e5a7;color:#70521b}.badge-level{background:#e2e8f3;color:var(--ink)}.badge-playing{margin-left:5px;background:#dce9df;color:#29614a;border-color:#799f88}.online-row .chat-badges{margin-left:auto;flex:none}.online-row .chat-badges em{font-size:11px}
/* As pautas do campo são pintadas pelo mesmo canvas das prévias. */
body.is-playing .site-header,body.is-map .site-header{display:none}.game-shell{width:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.level-header{display:flex;flex-shrink:0;align-items:center;gap:13px;min-height:68px;padding:9px 24px;border-bottom:2px solid var(--ink);background:var(--paper)}.level-title{flex:1;min-width:0}.level-title>span{font-size:14px;color:var(--muted)}.level-title h2{font:700 28px/1.05 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-stars{font-size:28px;color:var(--muted);white-space:nowrap}.star{display:inline-flex;vertical-align:-.14em}.star svg{width:1em;height:1em}.star.on svg{fill:currentColor}.level-stars{display:flex;gap:7px;align-items:center}.level-stars .star.on{color:#bc851c}.level-stars.complete{color:#986a14}.board{position:relative;flex:1;min-height:0;width:100%;isolation:isolate;overflow:hidden;background:var(--bg)}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;z-index:1}.board-top{position:absolute;top:13px;left:13px;right:13px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:2}.board-tools{display:flex;gap:7px;pointer-events:auto}.board-icon{width:33px;height:33px;padding:0;display:grid;place-items:center;background:#fffcf2e6;border:1px solid var(--ink)}.board-icon svg{width:17px;height:17px}.board-icon[aria-pressed=true]{background:var(--yellow);outline:1px solid var(--ink);outline-offset:2px}.workbench{flex-shrink:0;display:flex;align-items:center;gap:20px;padding:14px max(24px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-bottom));border-top:2px solid var(--ink);background:var(--paper)}.tool-heading h3{font:700 26px var(--display)}.tool-heading h3 span{display:block;font:16px var(--font);color:var(--muted)}.piece-tray{flex:1;min-width:0;display:flex;align-items:stretch;justify-content:center;gap:10px;overflow-x:auto;padding:3px 2px 5px}.piece-card{flex-shrink:0;position:relative;width:96px;height:69px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:var(--bg);font-size:17px}.piece-card.active{background:var(--hatch),var(--yellow);outline:2px solid var(--ink);outline-offset:1px}.piece-card small{position:absolute;top:3px;right:5px;color:var(--muted);font-size:12px}.piece-preview{width:64px;height:27px;display:grid;place-items:center}.mini-ramp{width:53px;height:9px;border:1.5px solid var(--ink);background:var(--hatch),#e4dfc6;transform:rotate(-16deg);box-shadow:1px 2px 0 #293e9830}.mini-spring{width:27px;height:17px;border:2px solid var(--coral);border-radius:50%;transform:skewY(-15deg);position:relative;box-shadow:0 4px 0 -1px var(--coral)}.mini-spring::before{content:'';position:absolute;top:-6px;left:-8px;right:-8px;height:6px;background:#f0d1d1;border:1.5px solid var(--coral);transform:skewY(15deg)}.tray-note{font-size:16px;color:var(--muted);align-self:center}body.is-playing .tray-note{display:none}.game-actions{display:flex;gap:9px;min-width:275px}.secondary-btn{display:grid;place-items:center;width:44px;height:46px;padding:0}.selection-tools{position:absolute;transform:translate(-50%,-50%);pointer-events:none;touch-action:none;z-index:3}.rotation-dial{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.rotation-outline{fill:none;stroke:var(--ink);stroke-width:1.5}.rotation-axes{fill:none;stroke:#293e9877;stroke-width:1;stroke-dasharray:3 5}.rotation-dial text{fill:var(--ink);font:14px var(--font);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}#rotation-track{fill:none;stroke:transparent;stroke-width:24;pointer-events:stroke;cursor:grab;touch-action:none}#rotation{position:absolute;display:grid;place-items:center;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;background:var(--yellow);border:2px solid var(--ink);font-size:30px;pointer-events:auto;cursor:grab;touch-action:none;box-shadow:var(--shadow)}#rotation:active{cursor:grabbing}.selection-tools #angle{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);background:var(--paper);border:1px solid var(--ink);border-radius:var(--edge);padding:3px 10px;font:700 22px var(--display);white-space:nowrap}.selection-tools #delete-piece{position:absolute;right:0;top:0;width:36px;height:36px;display:grid;place-items:center;pointer-events:auto;border-radius:50%;background:#f4ded8;border:1px solid var(--coral);color:var(--coral)}#test.ready{background-color:#ffcf45;outline:2px dashed #b28831;outline-offset:3px}
/* Bilhetes sobre a página: resultados, ajuda, loja e configurações. */
dialog.is-wide{width:min(720px,calc(100% - 32px))}dialog{width:min(500px,calc(100% - 32px));max-height:85svh;padding:34px 28px 28px;background:var(--rule),var(--paper);border:2px solid var(--ink);border-radius:var(--edge);color:var(--text);box-shadow:8px 10px 0 #293e9833}dialog::backdrop{background:#48465b50;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:12px;right:12px;width:32px;height:32px}.dialog-kicker{color:var(--muted);font-size:14px;margin:6px 36px 7px 0}dialog h2{font:700 34px/1.1 var(--display);margin-bottom:14px}dialog p,dialog ol{font-size:18px;line-height:1.5}dialog ol{padding-left:22px}dialog li{padding:5px 0}.keyboard-help{padding:12px;border:1px dashed var(--line);background:var(--paper);font-size:15px}dialog .play-btn{width:100%;margin-top:20px}.result-panel{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;overflow-y:auto;text-align:center;background:#f6f3e6b8;backdrop-filter:blur(3px)}.win-card{width:min(360px,90vw);max-height:100%;overflow-y:auto;padding:22px;border:2px solid var(--ink);border-radius:var(--edge);background:var(--rule),var(--paper);box-shadow:6px 7px 0 #293e9830;display:flex;flex-direction:column;align-items:center;gap:6px}.win-stars{display:flex;gap:10px;margin-bottom:3px}.win-stars b{font-size:42px;line-height:1;transform:scale(.4);opacity:0;animation:star-pop .35s ease-out forwards}.win-stars b.on{color:#bc851c}.win-stars b.off{color:#c1beae}.win-card h2{font:700 33px/1 var(--display)}.win-card>p{font-size:17px}.win-prize{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 11px;background:#f6e7ae;border:1px solid #ac8842;border-radius:var(--edge)}.win-prize span{font-size:20px}.win-prize small{font-size:14px}.win-prize i{width:1px;height:20px;background:var(--line);margin:0 3px}.win-card .win-ledger{color:var(--muted);font-size:15px}.win-actions,.lost-actions{display:flex;flex-direction:column;gap:9px;width:100%;margin-top:9px}.win-actions button,.lost-actions button{min-height:44px;padding:7px 12px;font-size:19px}.win-next,.lost-retry{background:var(--hatch),var(--yellow);border:2px solid var(--ink)}.win-retry{background:#e3eddc}.win-map{background:#e2e8f2}.lost-lobby{background:#f0d6d2;border-color:var(--coral);color:#92303e}.lost-actions{width:min(300px,90%);padding:22px;margin:auto;border:2px solid var(--ink);border-radius:var(--edge);background:var(--paper);box-shadow:var(--shadow)}.lost-actions::before{content:'Mais uma ideia?';font:700 31px var(--display);margin-bottom:8px}.lost-actions button{display:flex;justify-content:center;align-items:center;gap:9px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;width:max-content;max-width:calc(100% - 28px);z-index:80;padding:11px 20px;border:2px solid var(--ink);border-radius:var(--edge);background:#fff0b8;color:var(--ink);font-size:18px;box-shadow:var(--shadow);transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:9px;max-height:54vh;overflow-y:auto;margin:16px 0 2px;padding:2px}.avatar-pick{padding:2px;aspect-ratio:1;border:1.5px solid var(--line);border-radius:50%;background:var(--paper)}.avatar-pick img{display:block;width:100%;height:100%;border-radius:50%}.avatar-pick.is-active{border:2.5px solid var(--ink);box-shadow:2px 2px 0 #293e9830}.avatar-open{margin-top:12px}.shop{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 16px;margin-top:18px}.shop-tabs{display:flex;flex-direction:column;gap:6px;padding-right:15px;border-right:1.5px solid var(--line)}.shop-tabs button{padding:9px 10px;text-align:left;font-size:17px;border-color:var(--line);background:var(--paper)}.shop-tabs button.is-active{background:var(--hatch),var(--yellow);border-color:var(--ink);box-shadow:2px 2px 0 #293e9820}.shop-shelf{display:grid;gap:11px;align-content:start;max-height:52vh;overflow-y:auto;padding-right:2px}.shop-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;text-align:left;background:var(--paper)}.shop-preview{width:76px;height:60px;display:grid;place-items:center;flex-shrink:0;border:1px dashed var(--line);overflow:hidden;background:var(--bg)}.shop-preview canvas{position:static;width:100%;height:auto;pointer-events:none}.shop-item-info{flex:1;min-width:85px}.shop-item small{display:block;margin-top:3px;font-size:15px;color:var(--muted)}.shop-item b{margin-left:auto;white-space:nowrap;color:#896315}.shop-item:disabled{opacity:1}.shop-item:disabled .shop-item-info,.shop-item:disabled b{opacity:.5}.rank-table{display:flex;flex-direction:column;gap:6px;margin-top:16px;max-height:55vh;overflow-y:auto}.rank-row{display:flex;align-items:center;gap:10px;padding:10px;text-align:left;width:100%;border-color:var(--line);background:var(--paper)}.rank-row.is-me{background:#f8eab7;border-color:var(--ink)}.rank-row>b{width:22px;font:700 24px var(--display)}.rank-name{flex:1;min-width:0;display:flex;flex-direction:column}.rank-name strong{font-weight:400;font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-name small,.rank-points small{font-size:13px;color:var(--muted)}.rank-points{text-align:right}.rank-points strong{display:block;font-size:21px}.profile-head{display:flex;align-items:center;gap:14px;margin:10px 0 20px}.profile-head .chat-avatar{width:54px;height:54px;font-size:23px}.profile-head h2{margin-bottom:2px}.profile-head p{font-size:15px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-grid>div{padding:12px 4px;border:1px solid var(--line);border-radius:var(--edge);background:var(--paper);text-align:center}.profile-grid strong{display:block;font:700 27px var(--display)}.profile-grid span{font-size:15px;color:var(--muted)}/* Painel do jogador: a mesma folha colada do login, com o rabisco de caneta ao fundo. As linhas nascem juntas, abrem no meio e fecham de novo - por isso sao um SVG e nao um repeating-linear-gradient, que so sabe espacar igual. */.profile-card{position:relative;padding:20px 18px 16px;margin:2px 0 16px;border:2px solid var(--ink);border-radius:var(--edge);background:var(--paper);box-shadow:var(--shadow)}.profile-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:var(--pen)}.profile-card>*{position:relative;z-index:1}.profile-card .profile-head{margin:6px 0 16px}.profile-card .profile-grid>div{background:#fffcf2c4}.sound-settings{display:flex;flex-direction:column;gap:13px;margin:18px 0 6px}.sound-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--edge);background:var(--paper)}.sound-switch{display:flex;align-items:center;gap:8px;min-width:100px;cursor:pointer}.sound-switch input{width:18px;height:18px;accent-color:var(--ink)}.sound-range{flex:1;min-width:0;height:24px;accent-color:var(--ink)}.sound-row output{font-size:15px;min-width:35px;text-align:right}dialog .sound-note{color:var(--muted);font-size:15px}
.coach{position:fixed;inset:0;z-index:60;display:grid;place-items:start center;padding-top:64px;pointer-events:none}.coach-hole{position:absolute;border:2px dashed var(--coral);border-radius:8px;box-shadow:0 0 0 9999px #f6f3e6da;pointer-events:none}.coach-card{position:relative;max-width:330px;margin:0 18px;padding:20px;background:var(--rule),var(--paper);border:2px solid var(--ink);border-radius:var(--edge);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;text-align:center}.coach-card h3{font:700 30px var(--display)}.coach-card p{font-size:18px}.coach-card .play-btn{pointer-events:auto;flex:none}.rotate-me{display:none}@keyframes star-pop{to{transform:scale(1);opacity:1}}
@media(max-width:1100px){.gate{gap:30px;padding:25px;grid-template-columns:330px minmax(0,1fr)}.lobby{padding:22px;gap:18px;grid-template-columns:270px minmax(0,1fr)}.social{grid-template-columns:minmax(0,1fr) 185px;gap:12px}.online-row{flex-wrap:wrap}}
@media(max-width:900px){.site-header{min-height:65px;padding:9px 18px}.brand{font-size:34px}.brand img{width:35px;height:35px}.header-tagline{font-size:19px}.gate{grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:22px;align-items:start;padding:30px 22px;margin:0 auto}.stage-heading h1{font-size:45px}.gate-previews{grid-template-columns:1fr 1fr;gap:12px}.gate-card:nth-child(3){display:none}.gate-card canvas{height:200px}.lobby{grid-template-columns:1fr;grid-template-rows:auto minmax(340px,1fr);overflow-y:auto}.lobby-side{gap:16px;min-height:auto}.lobby-card{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.lobby-card h2{font-size:38px}.lobby-card>p,.lobby-card h2,.lobby-kicker{grid-column:1}.my-rank{grid-column:2;grid-row:1/span 3;margin-top:0}.lobby-stats{margin:13px 0 0}.lobby-menu{grid-column:2;grid-row:4;gap:7px;padding-top:13px}.menu-btn{min-height:40px;font-size:18px}.social{grid-template-columns:minmax(0,1fr) 190px}}
.fold{display:none}@media(max-width:680px){.shop{grid-template-columns:1fr;gap:12px}.shop-tabs{flex-direction:row;overflow-x:auto;padding:0 0 10px;border-right:0;border-bottom:1.5px solid var(--line)}.shop-tabs button{flex:0 0 auto}.fold{flex:0 0 auto;display:grid;place-items:center;width:36px;height:31px;min-height:0;padding:0;background:#f4d8d4;border:1.5px solid var(--coral);color:#92303e;box-shadow:2px 2px 0 #b8445226}.lobby-card .fold{position:absolute;top:8px;right:10px;z-index:3}.fold svg{width:21px;height:21px;stroke-width:2.1}.fold:active{transform:translate(1px,1px);box-shadow:1px 1px 0 #b8445226}.lobby-card .my-rank{margin-right:44px}.lobby-card.is-folded{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:12px 56px 12px 16px}.lobby-card.is-folded h2{font-size:27px;margin:0}.lobby-card.is-folded .lobby-kicker{font-size:15px}.lobby-card.is-folded>p,.lobby-card.is-folded .my-rank,.lobby-card.is-folded .lobby-stats,.lobby-card.is-folded .lobby-menu{display:none}.chat.is-folded .chat-messages,.chat.is-folded .chat-form{display:none}.online.is-folded .online-list{display:none}.online.is-folded{max-height:none}.lobby:has(.is-folded),.social:has(.is-folded){align-content:start}.social:has(.chat.is-folded){grid-template-rows:auto minmax(0,1fr)}.social:has(.online.is-folded){grid-template-rows:minmax(280px,1fr) auto}.social:has(.chat.is-folded):has(.online.is-folded){grid-template-rows:auto auto}.lobby:has(.chat.is-folded){grid-template-rows:auto auto}.header-tagline{display:none}.gate{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding:25px max(22px,env(safe-area-inset-left)) 34px}.gate-copy{width:100%;max-width:420px;margin:auto}.auth{padding:20px}.gate-stage{width:100%;max-width:420px;margin:auto}.stage-heading h1{font-size:44px}.stage-heading p{font-size:18px}.gate-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gate-card:nth-child(3){display:block}.gate-card canvas{height:150px}.gate-card span{font-size:20px;padding:6px 2px}.gate-card::before{width:38px;left:24%}.stage-note{font-size:22px}.gate.is-register .auth{padding:20px}.gate.is-register .auth-form{display:flex;flex-direction:column}.gate.is-register .auth-field,.gate.is-register .captcha,.gate.is-register .auth-submit{width:100%}.social{grid-template-columns:1fr;grid-template-rows:minmax(280px,1fr) auto}.online{max-height:146px}.online-head{min-height:38px;padding:6px 12px;font-size:18px}.online-list{flex-direction:row;overflow-x:auto;padding:6px}.online-row{flex-direction:column;gap:4px;width:85px;flex-shrink:0;font-size:14px}.online-row>span{max-width:78px}.online-row .chat-badges{margin:0}.lobby{padding:20px 14px;grid-template-rows:auto minmax(430px,1fr)}.lobby-side .lobby-card{flex:0 0 auto}.lobby-card{gap:0 12px;padding:16px}.lobby-stats{gap:4px}.lobby-stats>div{padding:6px 2px}.lobby-stats span{font-size:13px}.my-rank{gap:8px}.my-rank strong{font-size:25px}.menu-btn{font-size:17px;gap:6px;padding:5px}.menu-btn svg{width:17px}}
@media(max-height:560px) and (orientation:landscape){body.menu-no-topo .header-tagline{display:none}.header-actions .menu-btn{min-height:36px;padding:4px 11px;font-size:17px;gap:7px;border-width:1.5px;box-shadow:2px 2px 0 #293e9825}.header-actions .menu-btn svg{width:18px;height:18px}.lobby-menu:empty{display:none}@media(max-width:620px){.brand{font-size:27px}.header-actions .menu-btn{padding:4px 8px;font-size:16px;gap:5px}}}@media(max-width:970px) and (orientation:landscape){.game-shell{display:grid;grid-template-columns:minmax(0,1fr) 198px;grid-template-rows:54px minmax(0,1fr)}.level-header{grid-column:1/-1;min-height:0;padding:5px 12px;gap:9px}.level-header .icon-btn{width:36px;height:36px}.level-title h2{font-size:23px}.level-title>span{font-size:11px}.level-stars{font-size:24px}.game-shell .board{grid-column:1;grid-row:2}.workbench{grid-column:2;grid-row:2;padding:9px;display:flex;flex-direction:column;justify-content:center;gap:10px;border-top:0;border-left:2px solid var(--ink)}.tool-heading h3{font-size:24px;text-align:center}.tool-heading h3 span{display:inline;margin-left:5px;font-size:14px}.piece-tray{flex:0 1 auto;flex-wrap:wrap;gap:6px;width:100%;max-height:158px;overflow-y:auto}.piece-card{width:80px;height:61px;font-size:15px}.game-actions{min-width:0;width:100%;gap:5px}.game-actions .play-btn{font-size:17px;padding:4px;gap:4px}.secondary-btn{width:33px;flex-shrink:0}.board-top{top:8px;left:8px;right:8px}.board-tools{gap:5px}.board-icon{width:29px;height:29px}.win-card{padding:12px;width:min(340px,94%)}.win-stars b{font-size:29px}.win-card h2{font-size:27px}.win-card>p{font-size:15px}}
@media(max-width:970px) and (orientation:portrait){.workbench{flex-wrap:wrap;padding:10px;gap:10px}.game-actions{width:100%;min-width:0}body.is-playing .rotate-me{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:32px;text-align:center;background:var(--rule),var(--bg)}.rotate-me span{font-size:65px}.rotate-me strong{font:700 36px var(--display)}.rotate-me p{font-size:20px;max-width:290px;color:var(--muted)}}
@media(max-width:380px){.site-header{padding:8px 12px;gap:7px}.header-actions{gap:5px}.header-actions .icon-btn{width:33px;height:36px}.brand{font-size:30px;gap:5px}.brand img{width:29px;height:29px}.wallet-btn{padding:6px;font-size:14px}.wallet-btn>span:last-child{display:none}.lobby-card{display:flex}.my-rank{margin-top:13px}.lobby-menu{margin-top:0}.sound-row{gap:7px;padding:8px}.sound-switch{min-width:85px;font-size:16px}dialog{padding:32px 18px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.win-stars b{opacity:1;transform:none}}

/* Controle: cursor movido pelo analogico direito e foco visivel de longe (TV). */
#pad-cursor {
  position: fixed; left: 0; top: 0; width: 40px; height: 48px; margin: -3px 0 0 -12px;
  pointer-events: none; z-index: 9999; opacity: 0; color: var(--ink);
  filter: drop-shadow(1px 3px 2px #0005); transition: opacity .2s;
}
#pad-cursor svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pad-hand-open, .pad-hand-pressed { fill: var(--paper); }
.pad-hand-pressed, .pad-click-lines { display: none; }
#pad-cursor.is-pressed .pad-hand-open { display: none; }
#pad-cursor.is-pressed .pad-hand-pressed, #pad-cursor.is-pressed .pad-click-lines { display: inline; }
#pad-cursor.is-on { opacity: 1; }
/* Tracos curtos unidos deixam uma cauda que apaga sem cobrir os botoes. */
.pad-spark {
  position: fixed; left: 0; top: 0; height: 4px; margin-top: -2px;
  pointer-events: none; z-index: 9998; border-radius: 3px; transform-origin: 0 50%;
  background: var(--yellow); box-shadow: 0 0 4px #eab94380;
  animation: pad-spark .42s linear forwards;
}
@keyframes pad-spark {
  from { opacity: .7; }
  to   { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .pad-spark { display: none; } }

/* Qualquer foto de jogador abre o painel dele. */
[data-profile]{cursor:pointer}

/* O X que fecha os paineis e uma saida: vermelho, igual ao "← Lobby" do mapa. */
.dialog-close{background:#f0d6d2;border-color:var(--coral);color:#92303e}

/* A faixa fica identificada junto ao botao que troca a musica. */
.sound-now{display:flex;flex-direction:column;gap:3px;padding:12px 15px;border:1.5px dashed var(--ink);border-radius:var(--edge);background:var(--hatch),var(--paper)}.sound-now small{color:var(--muted);font-size:15px}.sound-now strong{font:700 26px/1.15 var(--display)}.sound-now>span{font-size:17px;color:var(--muted)}

/* Replays: lista no painel e cartao de reproducao sobre o tabuleiro. */
.replay-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:52vh;overflow-y:auto;padding:2px}
.replay-empty{color:var(--muted);font-size:16px;padding:10px 2px}
.replay-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--edge);background:var(--paper)}
.replay-row.is-fav{border-color:#ac8842;background:var(--hatch),#fdf4d8}
.replay-id{flex:1;min-width:0;display:flex;flex-direction:column}
.replay-id strong{font:700 21px var(--display)}
.replay-id small{color:var(--muted);font-size:14px;letter-spacing:.5px}
.replay-acoes{display:flex;align-items:center;gap:6px;flex-shrink:0}
/* Reproduzir e uma acao de "vai": verde cheio, como pedem os botoes do jogo. */
.replay-play,.replay-go{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 14px;background:#bfe6b4;border:2px solid #2f6b34;color:#1f4a26;font-weight:700}
.replay-play:hover:not(:disabled),.replay-go:hover:not(:disabled){background-color:#a9dd9c}
.replay-play svg,.replay-go svg{width:17px;height:17px}
.replay-fav{width:40px;height:40px;font-size:19px;background:#f6e7ae;border-color:#ac8842;color:#79541b}
.replay-fav[aria-pressed="false"]{background:#efeade;border-color:var(--line);color:var(--muted)}
.replay-drop{width:40px;height:40px;background:#f0d6d2;border-color:var(--coral);color:#92303e}
.replay-open{display:flex;align-items:center;justify-content:center;gap:8px}
.replay-card{width:min(340px,90vw);padding:22px;margin:auto;text-align:center;border:2px solid var(--ink);border-radius:var(--edge);background:var(--rule),var(--paper);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.replay-card h2{font:700 29px/1.1 var(--display)}
.replay-card p{color:var(--muted);font-size:16px}
.replay-card .replay-go{min-height:48px;font-size:20px;margin-top:4px}
.replay-card #result-lobby,.replay-card #replay-back{min-height:44px;background:#f0d6d2;border-color:var(--coral);color:#92303e}
.win-save{background:#f6e7ae;border-color:#ac8842;color:#79541b;font-weight:700}
.win-save.is-saved{background:#efeade;border-color:var(--line);color:var(--muted)}

/* Guia (wiki): menu de topicos a esquerda, conteudo a direita. */
.wiki{display:grid;grid-template-columns:122px 1fr;gap:12px;margin:14px 0 4px;
  /* Altura fixa: o painel nao muda de tamanho quando o topico troca. */
  height:min(52vh,360px)}
.wiki-menu{display:flex;flex-direction:column;gap:4px;overflow-y:auto;border-right:1px dashed var(--line);padding-right:10px}
.wiki-menu button{padding:8px 9px;text-align:left;font-size:15px;line-height:1.15;background:transparent;border-color:transparent;border-radius:var(--edge)}
.wiki-menu button:hover:not(.is-active){background:#efeade}
.wiki-menu button.is-active{background:var(--hatch),var(--yellow);border-color:var(--ink);font-weight:700}
.wiki-body{height:100%;overflow-y:auto;padding-right:8px}
.wiki-body h2{font:700 27px/1.1 var(--display);margin-bottom:9px}
.wiki-body h3{font:700 20px var(--display);margin:16px 0 6px;color:var(--ink)}
.wiki-body p{font-size:16px;margin-bottom:9px}
.wiki-body ol{padding-left:19px;font-size:16px}
.wiki-body li{padding:4px 0}
/* Azul = o que fazer e o que se ganha. Vermelho = limite, perigo, perda. */
.wiki-body .az{color:#2647a8}
.wiki-body .vm{color:#a8283c}
.wiki-list{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:16px;margin:4px 0 8px}
.wiki-list dt{font-weight:700;white-space:nowrap}
.wiki-list dd{margin:0;color:var(--text)}
.wiki-body kbd{display:inline-block;min-width:22px;padding:1px 6px;text-align:center;border:1.5px solid var(--ink);border-radius:5px;background:var(--paper);box-shadow:0 2px 0 #293e9833;font:700 14px var(--font)}
.wiki-note{padding:9px 11px;border:1px dashed var(--line);border-radius:var(--edge);background:var(--paper);font-size:15px!important;color:var(--muted)}
@media(max-width:560px){
  .wiki{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:min(56vh,380px)}
  .wiki-menu{flex-direction:row;flex-wrap:wrap;overflow:visible;border-right:0;border-bottom:1px dashed var(--line);padding:0 0 9px}
  .wiki-menu button{font-size:14px;padding:6px 9px}
}

/* Celular: o guia ocupa a tela toda. Em pe o menu sobe; deitado ele fica ao lado,
   que e onde sobra espaco. */
@media(max-width:560px),(max-height:600px) and (orientation:landscape){
  dialog.is-guide{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:14px 13px 12px;border-width:0;border-radius:0}
  dialog.is-guide .dialog-close{top:9px;right:9px}
  dialog.is-guide .wiki{height:calc(100dvh - 132px);margin-top:10px}
  dialog.is-guide .play-btn{margin-top:8px}
}
@media(max-height:600px) and (orientation:landscape){
  dialog.is-guide .wiki{grid-template-columns:132px 1fr}
  dialog.is-guide .dialog-kicker{margin-bottom:2px}
}

/* Barras de rolagem no estilo do caderno: finas, discretas, sem cinza de sistema. */
.wiki-body,.wiki-menu,.rank-table,.replay-list,.avatar-grid,.shop-shelf,.chat-messages{scrollbar-width:thin;scrollbar-color:#b6b09a transparent}
.wiki-body::-webkit-scrollbar,.wiki-menu::-webkit-scrollbar,.rank-table::-webkit-scrollbar,.replay-list::-webkit-scrollbar,.avatar-grid::-webkit-scrollbar,.shop-shelf::-webkit-scrollbar,.chat-messages::-webkit-scrollbar{width:9px}
.wiki-body::-webkit-scrollbar-track,.wiki-menu::-webkit-scrollbar-track,.rank-table::-webkit-scrollbar-track,.replay-list::-webkit-scrollbar-track,.avatar-grid::-webkit-scrollbar-track,.shop-shelf::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track{background:transparent}
.wiki-body::-webkit-scrollbar-thumb,.wiki-menu::-webkit-scrollbar-thumb,.rank-table::-webkit-scrollbar-thumb,.replay-list::-webkit-scrollbar-thumb,.avatar-grid::-webkit-scrollbar-thumb,.shop-shelf::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb{background:#cfc8b1;border:2px solid var(--paper);border-radius:9px}
.wiki-body::-webkit-scrollbar-thumb:hover,.rank-table::-webkit-scrollbar-thumb:hover,.replay-list::-webkit-scrollbar-thumb:hover{background:#b6b09a}

/* Guia: selos das pecas e dos botoes citados no texto. */
.wiki-peca{display:inline-flex;align-items:center;justify-content:center;width:38px;height:30px;vertical-align:middle;margin-right:3px}
.wiki-peca i{transform:scale(.62)}
.wiki-peca .mini-ramp{transform:rotate(-16deg) scale(.62)}
.wiki-peca .mini-spring{transform:skewY(-15deg) scale(.62)}
/* Pedra e engrenagem nao estao na bandeja: dois selos simples, nas cores do campo. */
.mini-pedra{width:26px;height:20px;background:var(--hatch),#ddd8c4;border:1.5px solid #7b7663;border-radius:46% 54% 40% 60%/58% 44% 56% 42%}
.mini-engrenagem{width:24px;height:24px;border:2.5px dashed #b84452;border-radius:50%;background:#f0dcd5}
.wiki-bola{display:inline-block;width:15px;height:15px;vertical-align:-2px;border-radius:50%;background:#b84452;border:1.5px solid #7e2b36}
.wiki-portal{display:inline-block;width:15px;height:15px;vertical-align:-2px;border-radius:50%;background:#293e98;border:1.5px solid #1b2a6b}
/* Botao citado no texto: mesmo icone da tela, dentro de uma pilula. */
.wiki-botao{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;vertical-align:-3px;border:1.5px solid var(--ink);border-radius:var(--edge);background:var(--paper);font-size:15px;font-weight:700;white-space:nowrap}
.wiki-botao svg{width:15px;height:15px}
.wiki-list dt svg{width:17px;height:17px;vertical-align:-3px;margin-right:4px;color:var(--ink)}
.wiki-list dt{display:flex;align-items:center;gap:2px}

/* Rodape do login: exigido pelo Google para publicar o app, e honesto de ter. */
.gate-legal{width:100%;margin-top:14px;text-align:center;font-size:14px;color:var(--muted)}
.gate-legal a{color:var(--muted);text-decoration:underline}
.gate-legal a:hover{color:var(--ink)}

/* Boas-vindas e troca de apelido. */
.welcome-nick{display:block;margin:14px 0 8px}
.welcome-nick span{display:block;margin-bottom:5px;font-size:15px;color:var(--muted)}
.welcome-nick input{width:100%;min-height:46px;padding:8px 13px;border:1.5px solid var(--ink);border-radius:var(--edge);background:var(--paper);font-size:19px}
.welcome-aviso{padding:9px 11px;border:1px dashed var(--line);border-radius:var(--edge);background:var(--paper);font-size:15px;color:var(--muted)}
#welcome-done,#nick-save,#nick-back{margin-top:12px;width:100%}
#pick-nick small{font-weight:400;opacity:.8}

/* Captcha: o traco que liga os pontos marcados, por cima da grade. */
.captcha-grid{position:relative}
.captcha-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.captcha-line path{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.captcha-dot{position:relative;z-index:1}

/* Onde da para jogar: uma fileira de selos coloridos na tela de entrada.
   Cada plataforma tem a propria cor para o olho pegar de longe. */
.plays-label{margin-top:16px;font-size:15px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.stage-plays{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:0;list-style:none}
.stage-plays li{display:flex;align-items:center;gap:7px;padding:7px 13px;border:1.5px solid currentColor;border-radius:var(--edge);font-size:16px;font-weight:700;white-space:nowrap;box-shadow:2px 3px 0 #293e9826}
.stage-plays svg{width:19px;height:19px}
.play-pc{color:#1f5fa8;background:#dbe8f7}
.play-cel{color:#1c7a53;background:#d9efe3}
.play-pad{color:#96461f;background:#fae2cf}
.play-tv{color:#7a3a8f;background:#eddef2}
@media(max-width:620px){
  .stage-plays{gap:6px;margin-top:11px}
  .stage-plays li{padding:5px 10px;font-size:14px}
  .stage-plays svg{width:16px;height:16px}
}

/* Painel do jogador: os botoes de acao levam o icone do que fazem. */
.profile-card~.play-btn,#pick-avatar,#pick-nick,#see-replays,#back-to-rank{display:flex;align-items:center;justify-content:center;gap:9px}
#pick-avatar svg,#pick-nick svg,#see-replays svg,#back-to-rank svg{width:19px;height:19px}

/* "Lembrar meu e-mail": a senha fica com o gerenciador do navegador, nunca aqui. */
.auth-remember{display:flex;align-items:center;gap:8px;margin:2px 0 4px;font-size:15px;color:var(--muted);cursor:pointer}
.auth-remember input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink);cursor:pointer}
.auth-remember:hover span{color:var(--ink)}
