@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}.block{display:block}.flex{display:flex}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Meiryo,sans-serif}*{box-sizing:border-box;margin:0;padding:0}.hidden{display:none!important}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html,body{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:manipulation;height:100%;overflow-x:hidden;overflow-y:auto}body{color:#eee;background:#222;flex-direction:column;align-items:center;height:auto;display:flex;overflow-y:auto}body.menu-open{overflow:hidden}:root{--player-1-color:#36f;--player-2-color:#e44;--player-3-color:#fc3;--player-4-color:#3b3;--player-1-text-color:#fff;--player-2-text-color:#fff;--player-3-text-color:#000;--player-4-text-color:#fff}.app-header{box-sizing:border-box;background:#222;justify-content:space-between;align-items:center;width:100%;padding:12px 20px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.header-logo{width:auto;height:40px}.header-title{color:#fff;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;margin:0;font-size:20px;font-weight:700}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.header-actions .toolbar-btn{flex-shrink:0}.header-menu{flex-wrap:wrap;gap:8px;display:flex;position:relative}.menu-trigger{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;text-decoration:none;display:flex}.menu-trigger:hover{background:#333}.menu-trigger:before{content:"";background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"white\"><rect x=\"3\" y=\"6\" width=\"18\" height=\"2\" rx=\"1\"/><rect x=\"3\" y=\"11\" width=\"18\" height=\"2\" rx=\"1\"/><rect x=\"3\" y=\"16\" width=\"18\" height=\"2\" rx=\"1\"/></svg>");background-position:50%;background-repeat:no-repeat;background-size:contain;width:20px;height:20px;display:block}.menu-dropdown{z-index:1300;opacity:1;pointer-events:auto;justify-content:flex-end;align-items:stretch;transition:opacity .2s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.menu-dropdown.hidden{opacity:0;visibility:hidden;pointer-events:none}.menu-backdrop{cursor:pointer;background:rgba(0,0,0,.25);border:none;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.menu-panel{background:#1f1f1f;border-radius:0;flex-direction:column;gap:12px;width:min(380px,100vw - 24px);max-width:380px;height:100%;padding:16px 18px 20px;transition:transform .3s;display:flex;position:relative;overflow-y:auto;transform:translate(0);box-shadow:-12px 0 32px rgba(0,0,0,.45)}.menu-dropdown.hidden .menu-panel{transform:translate(100%)}.menu-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.menu-auth-btn{color:#fff;cursor:pointer;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);border-radius:8px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.2;transition:background .2s,border .2s;display:inline-flex}.menu-auth-btn-content{align-items:center;gap:8px;min-width:0;display:inline-flex}.auth-avatar{-o-object-fit:cover;object-fit:cover;background:#2d2d2d;border-radius:999px;flex-shrink:0;width:24px;height:24px}.auth-avatar-fallback{color:#fff;text-transform:uppercase;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.auth-display-name{white-space:nowrap;text-overflow:ellipsis;max-width:160px;display:block;overflow:hidden}.menu-auth-btn:hover{background:rgba(255,255,255,.15)}.menu-auth-btn:disabled{opacity:.6;cursor:not-allowed}#auth-modal .modal-title{color:#fff;text-align:left;margin-bottom:4px;font-size:14px;font-weight:700}.auth-modal-desc{color:#fff;margin:0 0 4px;font-size:13px}.auth-modal-note{color:#fff;background:rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;font-size:13px}.auth-modal-note strong{margin-bottom:4px;font-size:13px;display:block}.auth-modal-actions{justify-content:flex-end;display:flex}.menu-close-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;line-height:1;transition:background .2s;display:flex}.menu-close-btn:hover{background:#333}.menu-accordion{flex-direction:column;gap:4px;width:100%;margin-bottom:8px;padding-bottom:0;display:flex}.menu-accordion .menu-item-btn{margin:0}.menu-accordion-trigger{justify-content:space-between;font-weight:600}.menu-accordion-trigger:after{content:"";background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M7 10l5 5 5-5z\"/></svg>");background-position:50%;background-repeat:no-repeat;background-size:14px;width:14px;height:14px;margin-left:6px;transition:transform .2s}.menu-accordion-trigger[aria-expanded=true]:after{transform:rotate(180deg)}.menu-accordion-panel{background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);border-radius:12px;width:100%;padding:12px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}.menu-item-btn{text-align:center;justify-content:center;align-items:center;width:100%;min-height:36px;margin:0 0 8px;padding:10px 14px;display:inline-flex}.menu-item-btn:before{width:20px;height:20px}.menu-panel .toolbar-btn:last-child{margin-bottom:0}.menu-panel .toolbar-btn{color:#f5f5f5;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:8px;justify-content:flex-start;min-height:44px;padding:10px 12px;font-weight:600}.menu-panel .toolbar-btn:before{opacity:.9}.menu-panel .toolbar-btn span{text-align:left;width:100%}.menu-panel .toolbar-btn:hover{background:rgba(255,255,255,.15)}.auth-panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);border-radius:12px;flex-direction:column;gap:10px;margin-top:12px;padding:12px;display:flex}.auth-panel-title{color:#fff;margin:0;font-size:14px;font-weight:700}.auth-panel-sub{color:rgba(255,255,255,.7);margin:0;font-size:12px}.auth-panel-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth-provider-grid{grid-template-columns:1fr;gap:8px;display:grid}.auth-provider-btn{color:#f5f5f5;cursor:pointer;background:#2d2d2d;border:1px solid rgba(255,255,255,.1);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px;font-weight:600;transition:background .2s,border .2s;display:flex}.auth-provider-btn:hover{background:#3a3a3a}.auth-provider-btn:disabled{opacity:.6;cursor:not-allowed}.auth-provider-btn.logout{background:#444}.auth-provider-btn.logout:hover{background:#555}.auth-provider-btn.danger{background:#a8232d;border-color:rgba(255,255,255,.08)}.auth-provider-btn.danger:hover{background:#bf1f2c}.auth-provider-btn.danger:disabled{opacity:.6}.auth-modal-actions{flex-direction:column;gap:12px;margin-top:12px;display:flex}.auth-feedback{color:#fff;background:rgba(255,255,255,.08);border-radius:8px;margin:0 0 8px;padding:8px 12px;font-size:13px}.button-spinner{border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite buttonSpin}@keyframes buttonSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:720px){.menu-panel{width:min(320px,100vw - 16px);max-width:320px;padding:14px 14px 18px}}@media (max-width:560px){.menu-panel{width:min(280px,100vw - 12px);max-width:280px;padding:12px 12px 16px}}.toolbar-btn{color:#fff;cursor:pointer;background:#555;border:none;border-radius:6px;align-items:center;padding:8px 12px;font-size:14px;font-weight:700;line-height:1;transition:all .2s;display:flex;position:relative}.toolbar-btn:hover{background:#666;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toolbar-btn:before{content:"";vertical-align:middle;background-position:50%;background-repeat:no-repeat;background-size:contain;width:22px;height:22px;margin-right:8px;display:inline-block}#share-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"6\" cy=\"12\" r=\"2.1\" fill=\"white\"/><circle cx=\"15\" cy=\"6\" r=\"2.1\" fill=\"white\"/><circle cx=\"15\" cy=\"18\" r=\"2.1\" fill=\"white\"/><line x1=\"7.8\" y1=\"11\" x2=\"13.2\" y2=\"7\"/><line x1=\"7.8\" y1=\"13\" x2=\"13.2\" y2=\"17\"/></svg>")}#layout-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h8v-2.5c0-2.33-4.67-3.5-7-3.5z\"/></svg>")}#color-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 11a1 1 0 0 1 .7-.95l13-4a1 1 0 0 1 1.3.95v5.5c0 4-3.5 7.5-7 7.5S5 16.5 5 12.5V12a1 1 0 0 1 1-1h4\"/><path d=\"M9 11c.5 1 1.5 1 2 0\"/><path d=\"M12 3v4\"/><path d=\"M15 5.5c0 .8-.7 1.5-1.5 1.5S12 6.3 12 5.5 12.7 4 13.5 4 15 4.7 15 5.5Z\"/><path d=\"M7 6.5c0 .8-.7 1.5-1.5 1.5S4 7.3 4 6.5 4.7 5 5.5 5 7 5.7 7 6.5Z\"/></svg>")}#rotate-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"white\"><path d=\"M7.11 8.53L5.7 7.11C4.8 8.27 4.24 9.61 4.07 11h2.02c.14-.87.49-1.72 1.02-2.47zM6.09 13H4.07c.17 1.39.72 2.73 1.62 3.89l1.41-1.42c-.52-.75-.87-1.59-1.01-2.47zm1.01 5.32c1.16.9 2.51 1.44 3.9 1.61V17.9c-.87-.15-1.71-.49-2.46-1.03L7.1 18.32zM13 4.07V1L8.45 5.55 13 10V6.09c2.84.48 5 2.94 5 5.91s-2.16 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93s-3.05-7.44-7-7.93z\"/></svg>")}#export-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"white\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3v13\"/><path d=\"M8 12l4 4 4-4\"/><path d=\"M5 19h14\"/></svg>")}#help-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"white\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"/></svg>")}#save-current-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"white\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 4h10l4 4v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z\" fill=\"rgba(255,255,255,0.08)\"/><path d=\"M9 4v4h6V4\"/><path d=\"M9 15h6\"/><path d=\"M12 12v6\"/></svg>")}#saved-boards-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"white\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"5\" width=\"16\" height=\"14\" rx=\"2\" ry=\"2\" fill=\"rgba(255,255,255,0.08)\"/><path d=\"M4 9h16\"/><path d=\"M8 5v14\"/></svg>")}#lang-btn.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"none\" stroke=\"white\" stroke-width=\"2\"/><path d=\"M2 12h20M4.5 7h15M4.5 17h15\" stroke=\"white\" stroke-width=\"1.5\" fill=\"none\"/><path d=\"M12 2c3 3 3 17 0 20M12 2c-3 5-3 15 0 20\" stroke=\"white\" stroke-width=\"1.5\" fill=\"none\"/></svg>")}#t-toggle.toolbar-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zm14.71-9.04a.996.996 0 0 0 0-1.41l-2.51-2.51a.996.996 0 1 0-1.41 1.41l2.51 2.51c.39.39 1.02.39 1.41 0z\"/></svg>")}.share-btn{box-sizing:border-box;text-align:center;border-radius:6px;justify-content:center;align-items:center;height:36px;margin:0 0 4px;padding:8px 12px;display:flex}.share-btn:before{content:"";vertical-align:middle;background-position:50%;background-repeat:no-repeat;background-size:contain;width:20px;height:20px;margin-right:8px;display:inline-block}.facebook-btn:before,.line-btn:before{position:relative;top:-1px}.twitter-btn{background:#1da1f2}.twitter-btn:before{display:none}.twitter-btn:hover{background:#0c85d0}.facebook-btn{background:#4267b2}.facebook-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"white\"><path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"></path></svg>")}.facebook-btn:hover{background:#3b5998}.line-btn{background:#06c755}.line-btn:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"white\"><path d=\"M24 10.304c0-5.369-5.383-9.738-12-9.738-6.616 0-12 4.369-12 9.738 0 4.817 4.269 8.857 10.035 9.622.391.084.923.258 1.058.592.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975 1.724-1.897 2.548-3.821 2.548-5.984z\"></path></svg>")}.line-btn:hover{background:#05b04b}.share-btn:not(.twitter-btn):not(.facebook-btn):not(.line-btn):before{display:none}.app-container{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:900px;padding:0;display:flex}#board{box-sizing:border-box;touch-action:manipulation;justify-content:center;align-items:center;width:100%;min-height:auto;margin:0;padding:20px;display:flex;position:relative;overflow:visible}#field{aspect-ratio:115/78;box-sizing:border-box;touch-action:manipulation;--piece-size:32px;background:0 0;border:4px solid #fff;width:100%;max-width:900px;min-height:100px;margin:0 auto;position:relative;overflow:visible}#field.field-init-hidden{visibility:hidden;pointer-events:none}#field{cursor:pointer}#field.vertical{aspect-ratio:78/115;max-width:620px}#field svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.piece{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move;z-index:10;display:block;position:absolute;transform:translate(-50%,-50%)}.piece>.player{position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.piece>.name{left:0;top:calc(var(--piece-size)*.56);font-size:calc(var(--piece-size)*.375);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.55);font-weight:700;position:absolute;transform:translate(-50%)}.player{width:var(--piece-size);height:var(--piece-size);color:#fff;font-weight:700;font-size:calc(var(--piece-size)*.375);z-index:5;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.55);background-image:url(/images/pieces/piece-shade.svg);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:visible;box-shadow:0 4px 10px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.35)}.player[data-text-color=dark]{color:#111;text-shadow:0 1px 1px rgba(255,255,255,.7),0 -1px 1px rgba(255,255,255,.6),0 0 2px rgba(255,255,255,.65);-webkit-text-stroke:.2px rgba(255,255,255,.65)}.player.c1{background-color:var(--player-1-color);color:var(--player-1-text-color)}.player.c2{background-color:var(--player-2-color);color:var(--player-2-text-color)}.player.c3{background-color:var(--player-3-color);color:var(--player-3-text-color)}.player.c4{background-color:var(--player-4-color);color:var(--player-4-text-color)}.player.ball{color:transparent;text-shadow:none;background-color:#fefefe;background-image:url(/images/pieces/piece-shade.svg),url(/images/balls/ball-classic.svg);background-position:50%;background-repeat:no-repeat;background-size:100% 100%,contain}.piece .name{white-space:nowrap;font-weight:700}#modal,#help-modal,#share-modal,#lang-modal,#auth-modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;box-sizing:border-box;background:rgba(0,0,0,.25);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}#modal.hidden,#help-modal.hidden,#share-modal.hidden,#lang-modal.hidden,#auth-modal.hidden{display:none}#modal .box,#help-modal .box,#share-modal .box,#lang-modal .box,#auth-modal .box{color:#fff;box-sizing:border-box;background:#333;border-radius:12px;flex-direction:column;gap:12px;width:320px;max-width:320px;padding:24px;line-height:1.4;display:flex;position:relative;box-shadow:0 8px 24px rgba(0,0,0,.4)}#modal .box{min-width:240px}#player-form{flex-direction:column;gap:12px;display:flex}#modal .close-btn,#help-modal .close-btn,#share-modal .close-btn,#lang-modal .close-btn,#auth-modal .close-btn{color:#fff;cursor:pointer;z-index:10;background:#444;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;line-height:1;transition:background .2s;display:flex;position:absolute;top:-14px;right:-14px;box-shadow:0 2px 4px rgba(0,0,0,.3)}#modal .close-btn:hover,#help-modal .close-btn:hover,#share-modal .close-btn:hover,#lang-modal .close-btn:hover,#auth-modal .close-btn:hover{background:#666}#share-modal .share-url-row{align-items:center;gap:10px;display:flex}#share-modal .share-url-field{resize:none;color:rgba(255,255,255,.75);box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;background:#444;border:1px solid rgba(255,255,255,.15);border-radius:8px;flex:1;height:44px;padding:10px 12px;font-size:14px;line-height:1.2;overflow:hidden}#share-modal .share-url-field:focus{outline:2px solid rgba(255,255,255,.25)}#share-modal .share-url-copy-btn{cursor:pointer;background:rgba(255,255,255,.1);border:none;border-radius:8px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;transition:background .2s,transform .2s;display:flex}#share-modal .share-url-copy-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}#share-modal .share-url-copy-btn:before{content:"";background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"11\" height=\"13\" rx=\"2\" ry=\"2\"/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/></svg>");background-position:50%;background-repeat:no-repeat;background-size:contain;width:22px;height:22px;display:block}#modal .colors,#color-panel .colors{justify-content:center;gap:12px;padding:8px 0;display:flex}#modal .color-option,#color-panel .color-option{cursor:pointer;box-sizing:border-box;border:0;border-radius:50%;width:32px;height:32px;transition:transform .2s,box-shadow .2s;position:relative}#modal .color-option:hover,#color-panel .color-option:hover{transform:scale(1.1)}#modal .color-option.selected,#color-panel .color-option.selected{transform:scale(1.05);box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(0,0,0,.25)}#modal .color-option.player.ball,#color-panel .color-option.player.ball{color:transparent;background-color:transparent;background-image:url(/images/pieces/piece-shade.svg),url(/images/balls/ball-classic.svg);background-position:50%;background-repeat:no-repeat;background-size:100% 100%,contain}#modal .chip-color-input,#color-panel .chip-color-input{opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}#modal .color-option:not(.selected) .chip-color-input{pointer-events:none}#modal input{color:#fff;box-sizing:border-box;background:#444;border:none;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:16px;transition:box-shadow .2s}#modal input:focus{box-shadow:0 0 0 2px rgba(255,255,255,.3)}#modal button{cursor:pointer;text-transform:uppercase;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:700;transition:all .2s}#modal .btn-group{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:8px;display:flex}#modal #save-btn{color:#fff;background:#4caf50;margin-left:auto}#modal #save-btn:hover{background:#45a049;box-shadow:0 4px 8px rgba(76,175,80,.3)}#modal #delete-btn{color:#fff;background:#f44336}#modal #delete-btn:hover{background:#d32f2f;box-shadow:0 4px 8px rgba(244,67,54,.3)}#help-modal.hidden,#share-modal.hidden,#lang-modal.hidden,#auth-modal.hidden{display:none}#help-modal .box .modal-title{color:#fff;text-align:left;margin-bottom:4px;font-size:14px;font-weight:700}#help-modal .box p{color:#fff;margin:0;font-size:14px;line-height:1.6}#share-modal .box .modal-title{color:#fff;text-align:left;margin-bottom:8px;font-size:14px;font-weight:700}#help-modal button,#share-modal button,#lang-modal button,#lang-modal a{color:#fff;cursor:pointer;text-align:center;background:#555;border:none;border-radius:6px;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-block}.layout-tabs{border-bottom:1px solid rgba(255,255,255,.2);gap:0;margin-bottom:8px;display:flex}.layout-tabs button{color:#aaa;cursor:pointer;background:0 0;border:none;flex:1;padding:10px 0;font-weight:600;position:relative}.layout-tabs button:after{content:"";background:0 0;width:100%;height:2px;transition:background .2s;position:absolute;bottom:-1px;left:0}.layout-tabs button.active{color:#fff}.layout-tabs button.active:after{background:#4caf50}.layout-mode-tabs,.layout-target-tabs{margin-top:-4px}.layout-target-tabs.hidden{display:none}.layout-size-panel{border:1px solid rgba(255,255,255,.1);border-radius:12px;margin-bottom:12px;padding:12px}.layout-size-panel.hidden{display:none}.layout-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.layout-button-grid button{color:#fff;text-align:center;cursor:pointer;background:#3c3c3c;border:none;border-radius:8px;padding:10px 12px;font-weight:600;transition:background .2s,transform .2s}.layout-button-grid button:hover{background:#4a4a4a;transform:translateY(-1px)}.layout-section{margin-top:4px}.layout-section button{text-align:center;color:#fff;background:#444;border:none;border-radius:8px;width:100%;margin-bottom:6px;padding:12px 16px;font-weight:700;transition:all .2s;display:block}.layout-section button:last-child{margin-bottom:0}.layout-section button:hover{background:#555;transform:translateY(-1px)}.layout-danger{border:none;border-radius:8px;font-weight:700;color:#fff!important;background:#f44336!important;padding:12px 16px!important}.layout-danger:hover{background:#d32f2f!important;box-shadow:0 4px 12px rgba(244,67,54,.4)!important}.app-footer{box-sizing:border-box;background:#222;width:100%;margin-top:auto;padding:10px 20px}.t-editor{max-width:900px;margin:0 auto 10px;padding:8px 0}.t-editor.hidden{display:none}.t-editor-label{color:#bbb;letter-spacing:.3px;margin:0 0 6px 2px;font-size:12px;display:block}.t-editor-textarea{resize:vertical;color:#eee;background:#111;border:1px solid #444;border-radius:6px;width:100%;min-height:72px;max-height:160px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;line-height:1.4}.t-editor-textarea:focus{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.15)}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:900px;margin:0 auto;display:flex}.footer-links{gap:16px;display:flex}.footer-btn{color:#aaa;cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:none;transition:color .2s}.footer-content,.footer-btn{font-weight:400}.footer-btn:hover{color:#fff;text-decoration:underline}#legal-link.footer-btn{padding:0}#lang-btn.footer-btn{align-items:center;gap:4px;display:inline-flex}#lang-btn.footer-btn:before{content:"";background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23ccc\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3a15 15 0 0 1 0 18M12 3a15 15 0 0 0 0 18\"/></svg>");background-position:50%;background-repeat:no-repeat;background-size:contain;width:16px;height:16px;display:inline-block}.footer-copyright{color:#888;font-size:14px}.footer-copyright a{color:inherit;text-decoration:none;transition:color .2s}.footer-copyright a:hover{color:#aaa;text-decoration:underline}@media (max-width:600px){#modal .box,#help-modal .box,#share-modal .box,#lang-modal .box,#auth-modal .box,.qb-modal-box{width:85%;min-width:unset;max-width:320px;margin:0 auto;padding:20px 16px}#modal .close-btn,#help-modal .close-btn,#share-modal .close-btn,#lang-modal .close-btn,#auth-modal .close-btn,.qb-modal-close{top:-12px;right:-12px}}.toast-container{z-index:1100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.4);opacity:0;background:rgba(0,0,0,.85);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;animation:2.5s forwards toastFade}@keyframes toastFade{0%{opacity:0;transform:translateY(8px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.qb-modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;box-sizing:border-box;background:rgba(0,0,0,.25);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.qb-modal-box{color:#fff;box-sizing:border-box;background:#333;border-radius:12px;flex-direction:column;gap:12px;width:320px;max-width:320px;padding:24px;display:flex;position:relative;box-shadow:0 8px 24px rgba(0,0,0,.4)}.qb-modal-box .modal-title{color:#fff;text-align:left;margin-bottom:4px;font-size:14px;font-weight:700}.qb-modal-close{color:#fff;cursor:pointer;z-index:10;background:#444;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;line-height:1;transition:background .2s;display:flex;position:absolute;top:-14px;right:-14px;box-shadow:0 2px 4px rgba(0,0,0,.3)}.qb-modal-close:hover{background:#666}.qb-modal-field{flex-direction:column;gap:6px;margin-top:4px;display:flex}.qb-modal-label{color:#fff;font-size:14px;font-weight:600;display:block}.qb-modal-input{color:#fff;background:#444;border:none;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:16px;transition:box-shadow .2s}.qb-modal-input:focus{box-shadow:0 0 0 2px rgba(255,255,255,.3)}.qb-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.qb-modal-action-btn{cursor:pointer;text-transform:uppercase;color:#fff;background:#555;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 2px 4px rgba(0,0,0,.2)}.qb-modal-action-btn:hover{background:#666}.qb-modal-action-btn.primary-btn{color:#fff;background:#4caf50}.qb-modal-action-btn.primary-btn:hover{background:#45a049;box-shadow:0 4px 8px rgba(76,175,80,.3)}.qb-modal-action-btn.secondary-btn{background:#444}.qb-modal-action-btn.secondary-btn:hover{background:#555}.saved-board-empty,.saved-board-team-placeholder{opacity:.8;font-size:.9rem}.saved-board-slot-delete{color:#666;justify-content:center;align-items:center;transition:color .2s;display:inline-flex}.saved-board-slot-delete.armed{color:#f44336}.qb-loading-overlay{z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:rgba(0,0,0,.3);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.qb-loading-spinner{border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite buttonSpin}@media (max-width:600px){#board{padding:8px 16px}#field{width:100%}.app-header{padding:12px}.app-footer{padding:8px 12px}.header-actions{gap:8px}.toolbar-btn{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.toolbar-btn:before{width:20px;height:20px;margin-right:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toolbar-btn span{display:none!important}.menu-item-btn{justify-content:center;align-items:center;min-height:36px;width:100%!important;height:auto!important;padding:10px 14px!important;display:flex!important}.menu-item-btn:before{width:20px;height:20px;margin-right:6px!important;position:static!important;transform:none!important}.menu-item-btn span{position:static;transform:none;display:inline!important}.footer-content{flex-direction:column;align-items:center;gap:12px}.footer-links{flex-wrap:wrap;justify-content:center}.footer-content .footer-copyright{text-align:center;width:100%;margin-top:4px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
