#world{pointer-events:none;z-index:2;font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0;overflow:hidden}#world>*{pointer-events:auto}.fw-tray{background:var(--tex-wood-h,none) padding-box, linear-gradient(#5a3c23, #3a2513 60%, #2a1a0d) padding-box, var(--brass-rim) border-box;transform-origin:50% 100%;touch-action:none;isolation:isolate;border:2px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:6px 8px;animation:.18s cubic-bezier(.34,1.56,.64,1) fw-pop;display:flex;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #100a05e6,inset 0 1px #ffdea633,0 6px 16px #08050280}.fw-tray:after{content:"";left:var(--tail,50%);z-index:-1;background:#2c1b0e;border-bottom:2px solid #b8913f;border-right:2px solid #b8913f;border-radius:0 0 3px;width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-11px;transform:rotate(45deg);box-shadow:1px 1px #100a05e6}.fw-tray.below{transform-origin:50% 0}.fw-tray.below:after{background:#5a3c23;top:-11px;bottom:auto;transform:rotate(225deg)}.fw-tray.shake{animation:.26s ease-in-out fw-shake}.fw-tray.hidden{opacity:0;pointer-events:none;transition:opacity .12s}.fw-tool{width:calc(var(--tap) + 8px);height:calc(var(--tap) + 8px);cursor:grab;touch-action:none;background:radial-gradient(at 50% 38%,#f8eed6,#e4d1a4 62%,#c9b07e);border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;transition:transform .12s;display:flex;position:relative;box-shadow:inset 0 2px 4px #462d1459,inset 0 -1px #fffaeb80,0 0 0 1px #c9a24e8c,0 1px #ffdea626}.fw-tool:hover{background:radial-gradient(at 50% 38%,#fffaf0,#efe0bb 62%,#d6c194);transform:translateY(-2px)}.fw-tool:active{transform:scale(.94)}.fw-tool img,.fw-tool svg{pointer-events:none;filter:drop-shadow(0 2px 2px #3c281459);width:44px;height:44px}.fw-tool .fw-count{color:#fff6dc;min-width:20px;font:800 12px/16px var(--font);text-align:center;background:linear-gradient(#4a301c,#24160b);border-radius:4px;padding:1px 5px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 0 0 1px #c9a24e,0 1px 2px #00000080}.fw-tool .fw-count.zero{background:radial-gradient(circle at 40% 35%,#c8573f,#8f2c1d 60%,#5a160c)}.fw-tool .fw-time{color:#fff6dc;font:700 11px/15px var(--font);white-space:nowrap;background:#24160bdb;border-radius:4px;padding:0 5px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #c9a24e8c}.fw-tool .fw-stars{color:#f0c75a;font:900 11px/12px var(--font);text-shadow:var(--text-stroke);letter-spacing:-1px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.fw-page{width:var(--tap);height:calc(var(--tap) + 8px);color:var(--c-gold-text);font:700 28px/1 var(--font-serif);text-shadow:0 1px 1px #000,0 0 3px #0009;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none}.fw-page:not(:disabled):hover{background:#ffdea614}.fw-page:disabled{opacity:.25}.fw-held{filter:drop-shadow(0 7px 5px #140e066b);z-index:5;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:0;left:0;pointer-events:none!important}.fw-held img,.fw-held svg{width:64px;height:64px}.fw-held.shake{animation:.26s ease-in-out fw-shake}.fw-timer{background:var(--tex-paper,none) padding-box, radial-gradient(ellipse at 50% 30%, #f8eed6, #e6d4aa) padding-box, var(--brass-rim) border-box;min-width:132px;color:var(--c-text);text-align:center;border:2px solid #0000;border-radius:7px;padding:6px 12px 8px;animation:.16s cubic-bezier(.34,1.56,.64,1) fw-pop-timer;position:absolute;top:0;left:0;transform:translate(-50%,-100%);box-shadow:0 0 0 1px #100a05d9,inset 0 0 10px #6e481e38,0 6px 14px #08050273;pointer-events:none!important}.fw-timer .fw-name{font:700 15px/18px var(--font-serif);color:var(--c-text-dark);white-space:nowrap}.fw-timer .fw-left{font:800 16px/20px var(--font);color:var(--c-text-dark);font-variant-numeric:tabular-nums}.fw-timer .fw-bar{background:linear-gradient(#1a0f07,#3a2614);border-radius:3px;height:8px;margin-top:4px;overflow:hidden;box-shadow:0 0 0 1px #8a6526,inset 0 1px 2px #0009}.fw-timer .fw-bar>i{background:linear-gradient(#a8c96a,#6f9a34 50%,#4a6e1e);border-radius:3px;width:0;height:100%;display:block}.fw-place{gap:10px;animation:.18s cubic-bezier(.34,1.56,.64,1) fw-pop-timer;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-100%)}.fw-place button{width:calc(var(--tap) + 6px);height:calc(var(--tap) + 6px);--e1:#8ab650;--e2:#4f7a26;--e3:#2f4c14;background:radial-gradient(circle at 40% 32%, var(--e1), var(--e2) 58%, var(--e3)) padding-box, var(--brass-ring) border-box;color:#fff8e6;font:700 26px/1 var(--font);text-shadow:0 1px 1px #000c,0 0 3px #00000080;cursor:pointer;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 0 0 1px #100a05e6,inset 0 2px 2px #fff0d24d,inset 0 -3px 5px #00000059,0 5px 12px #08050273}.fw-place .ok.bad{--e1:#b0a696;--e2:#847a6a;--e3:#5c5447}.fw-place .no{--e1:#c8573f;--e2:#8f2c1d;--e3:#5a160c}.fw-place .flip{--e1:#7aa3c8;--e2:#3a5d80;--e3:#1f3650}:root.colorblind .fw-place .ok:not(.bad){--e1:#7aa8d4;--e2:#2f6aa0;--e3:#1a3f66}:root.colorblind .fw-place .no{--e1:#f0b060;--e2:#c0701a;--e3:#7a400a}.fw-place.shake{animation:.26s ease-in-out fw-shake-c}.fw-ring{background:conic-gradient(#f2d98ef2 calc(var(--p,0) * 1turn), #1e120859 0);filter:drop-shadow(0 1px 2px #0a060299);border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:0;left:0;-webkit-mask:radial-gradient(circle,#0000 23px,#000 24px);mask:radial-gradient(circle,#0000 23px,#000 24px);pointer-events:none!important}.fw-tabs{z-index:200;background:var(--c-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fw-tabs .card{background:var(--tex-corner-tl,none) left top / 36px 36px no-repeat border-box, var(--tex-corner-tr,none) right top / 36px 36px no-repeat border-box, var(--tex-corner-bl,none) left bottom / 36px 36px no-repeat border-box, var(--tex-corner-br,none) right bottom / 36px 36px no-repeat border-box, var(--tex-paper,none) padding-box, var(--paper-face) padding-box, var(--tex-wood-h,none) border-box, linear-gradient(#6e4a2c, #4a2f19 40%, #2f1d0e) border-box;max-width:360px;color:var(--c-text);text-align:center;font:500 16px/1.4 var(--font);border:9px solid #0000;border-radius:8px;padding:22px 22px 18px;box-shadow:inset 0 0 0 1px #1c120a,inset 0 0 0 2.5px #c9a24e,inset 0 0 0 3.5px #4a3214,0 0 0 1px #120b05,0 18px 40px #0604028c}.fw-tabs h2{font:700 21px/1.2 var(--font-serif);color:var(--c-text-dark);text-shadow:var(--engrave);margin:0 0 8px}.fw-tabs button{min-height:var(--tap);background:linear-gradient(var(--c-btn-green-hi), var(--c-btn-green) 48%, var(--c-btn-green-lo)) padding-box, var(--brass-rim) border-box;color:#fbf0d2;font:700 18px var(--font-serif);text-shadow:0 1px 1px #000c;cursor:pointer;border:2px solid #0000;border-radius:6px;margin-top:14px;padding:0 26px;box-shadow:0 0 0 1px #140c06e6,inset 0 1px #fff4d661,0 3px 4px #00000059}@keyframes fw-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes fw-pop-timer{0%{opacity:0;transform:translate(-50%,-100%)scale(.7)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}@keyframes fw-shake{0%,to{translate:0}20%{translate:-5px}40%{translate:5px}60%{translate:-4px}80%{translate:3px}}@keyframes fw-shake-c{0%,to{margin-left:0}25%{margin-left:-6px}50%{margin-left:6px}75%{margin-left:-4px}}:root.reduced-motion .fw-tray,:root.reduced-motion .fw-timer,:root.reduced-motion .fw-place{animation:none}.fw-fade{z-index:6;background:radial-gradient(120% 90% at 50% 40%,#6fa3a8 0%,#2f6f80 45%,#173f52 100%);animation:.7s ease-out forwards fw-fade-out;position:absolute;inset:0;pointer-events:none!important}:root.reduced-motion .fw-fade{animation-duration:.22s}@keyframes fw-fade-out{0%,25%{opacity:1}to{opacity:0}}.fw-hand{z-index:30;transform-origin:28px 4px;filter:drop-shadow(0 4px 4px #140e0673)drop-shadow(0 0 1px #281a0a99);will-change:transform;width:64px;height:64px;position:absolute;top:0;left:0;pointer-events:none!important}.fw-hand svg{width:64px;height:64px;display:block}.fw-hand-ring{z-index:29;border:3px solid #fff6dcf2;border-radius:50%;width:44px;height:44px;position:absolute;top:-22px;left:-22px;box-shadow:0 0 0 3px #c9a24ea6,0 0 10px #f0c86e80;pointer-events:none!important}.fw-edge{background:radial-gradient(circle at 50% 40%, #f8eed6, #dcc59a) padding-box, var(--brass-ring) border-box;cursor:pointer;z-index:8;border:3px solid #0000;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;animation:1.6s ease-in-out infinite fw-edge-pulse;display:grid;position:absolute;top:-24px;left:-24px;box-shadow:0 0 0 1px #100a05d9,0 3px 6px #08050273}.fw-edge img{pointer-events:none;width:30px;height:30px}.fw-edge-arrow{pointer-events:none;position:absolute;inset:0}.fw-edge-arrow:after{content:"";filter:drop-shadow(1px 1px #100a05b3);border-top:9px solid #0000;border-bottom:9px solid #0000;border-left:12px solid #b8913f;margin-top:-9px;position:absolute;top:50%;right:-13px}@keyframes fw-edge-pulse{0%,to{box-shadow:0 0 0 1px #100a05d9,0 3px 6px #08050273,0 0 #f0c86ea6}50%{box-shadow:0 0 0 1px #100a05d9,0 3px 6px #08050273,0 0 0 7px #f0c86e00}}:root.reduced-motion .fw-edge{animation:none}@media (prefers-reduced-motion:reduce){.fw-tray,.fw-timer,.fw-place,.fw-edge{animation:none}}#splash.with-card{padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));box-sizing:border-box;justify-content:flex-start;gap:12px;overflow-y:auto}#splash.with-card .sun{flex:none;width:72px;height:72px;margin-top:auto}#splash.with-card .title{font-size:clamp(28px,6vw,44px)}#splash.with-card .hint:empty{display:none}@media (max-height:620px){#splash.with-card .sun{display:none}}.fw-login{box-sizing:border-box;background:var(--tex-corner-tl,none) left top / 36px 36px no-repeat border-box, var(--tex-corner-tr,none) right top / 36px 36px no-repeat border-box, var(--tex-corner-bl,none) left bottom / 36px 36px no-repeat border-box, var(--tex-corner-br,none) right bottom / 36px 36px no-repeat border-box, var(--tex-paper,none) padding-box, var(--paper-face,var(--c-panel)) padding-box, var(--tex-wood-h,none) border-box, linear-gradient(#6e4a2c, #4a2f19 40%, #2f1d0e) border-box;width:min(380px,100%);color:var(--c-text);text-align:left;text-shadow:none;letter-spacing:normal;font:500 15px/1.4 var(--font);border:9px solid #0000;border-radius:8px;margin-bottom:auto;padding:18px 20px 16px;animation:.22s ease-out fw-pop;box-shadow:inset 0 0 0 1px #1c120a,inset 0 0 0 2.5px #c9a24e,inset 0 0 0 3.5px #4a3214,0 0 0 1px #120b05,0 18px 40px #0604028c}.fw-login h2{text-align:center;font:700 22px/1.2 var(--font-serif);color:var(--c-text-dark);text-shadow:var(--engrave);margin:4px 0}.fw-login-lead{text-align:center;color:var(--c-text-soft);margin:0 0 12px}.fw-login-note{border-radius:var(--radius-sm);color:var(--c-text-dark);background:#9a5c1624;border:1px solid #9a5c1673;margin:0 0 12px;padding:8px 10px}.fw-login-tabs{background:#3a251329;border-radius:6px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;padding:3px;display:grid;box-shadow:inset 0 1px 2px #1e130a59}.fw-login-tab{min-height:36px;color:var(--c-text-soft);font:600 14px var(--font);cursor:pointer;background:0 0;border:0;border-radius:4px}.fw-login-tab[aria-pressed=true]{color:var(--c-text-dark);background:linear-gradient(#f6ead0,#e3cfa2);box-shadow:0 0 0 1px #5a3c228c,0 1px 2px #1e130a59}.fw-login-form{gap:10px;display:grid}.fw-login-form label{color:var(--c-text-dark);gap:4px;font-weight:600;display:grid}.fw-login-form input{box-sizing:border-box;border:1px solid var(--c-panel-border-dark);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--c-text-dark);font:500 17px var(--font);-webkit-user-select:text;user-select:text;background:#fbf3df;padding:0 12px;box-shadow:inset 0 2px 3px #3c261240}.fw-login-form input:focus-visible{outline:2px solid var(--c-btn-blue);outline-offset:1px}.fw-login-hint{color:var(--c-text-soft);font-size:13px;display:block}.fw-login-hint:empty,.fw-login-error:empty{display:none}.fw-login-error{border-radius:var(--radius-sm);color:#6e1f14;background:#8a2f221f;border:1px solid #8a2f2280;padding:7px 10px;font-weight:600}.fw-login-go,.fw-login-offline{box-sizing:border-box;width:100%;min-height:var(--tap);cursor:pointer;border-radius:6px;margin-top:4px;display:block}.fw-login-go{background:linear-gradient(var(--c-btn-green-hi), var(--c-btn-green) 48%, var(--c-btn-green-lo)) padding-box, var(--brass-rim) border-box;color:#fbf0d2;font:700 18px var(--font-serif);text-shadow:0 1px 1px #000c;border:2px solid #0000;box-shadow:0 0 0 1px #140c06e6,inset 0 1px #fff4d661,0 3px 4px #00000059}.fw-login-go:disabled{filter:saturate(.4)brightness(.9);cursor:progress}.fw-login-offline{border:1px solid var(--c-panel-border);color:var(--c-text-dark);font:600 15px var(--font);background:#fff9e873;margin-top:10px;padding:6px 10px}.fw-login-offline small{color:var(--c-text-soft);font-size:12.5px;font-weight:500;display:block}.fw-login-farm{border-radius:var(--radius-sm);border:1px solid var(--c-panel-border);text-align:center;background:#fff9e880;margin:0 0 12px;padding:10px 12px;list-style:none}.fw-login-farm li+li{color:var(--c-text-soft);margin-top:2px}
