/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-page:#101216;--color-page-2:#15181d;--color-surface:#1b1f25;--color-surface-2:#242930;--color-surface-3:#2d333c;--color-line:#333a45;--color-line-strong:#46505e;--color-ink:#eceef1;--color-ink-dim:#a2abb8;--color-ink-faint:#737d8b;--color-coral:#ff6b4a;--color-coral-deep:#c9462b;--color-coral-soft:#ffa089;--color-on-coral:#24100a;--color-mint:#14b8a6;--color-mint-deep:#0b7f73;--color-mint-soft:#6ff0dc;--color-on-mint:#04201d;--color-walnut:#6e4529;--color-walnut-dark:#3f2514;--color-walnut-light:#9a6a43;--color-oak:#b48553;--color-oak-dark:#7d5631;--color-oak-light:#d4a873;--color-brass:#c9a25e;--color-brass-dark:#8a6b33;--color-plate:#2f3641;--color-plate-light:#48525f;--color-plate-dark:#1d2229;--color-hole:#090b0e;--color-ivory:#f1e8d4;--color-ivory-light:#fbf6ea;--color-ivory-dark:#d6c6a2;--color-hole-wood:#2a1b10;--color-laser:#fff4d8;--color-focus:#ffc861;--color-danger:#e5484d;--color-shadow:#000;--color-highlight:#fff;--font-display:"Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Hiragino Sans", "Noto Sans JP", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-10{margin-block:calc(var(--spacing) * 10)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.grid\!{display:grid!important}.hidden{display:none}.table{display:table}.h-14{height:calc(var(--spacing) * 14)}.min-h-\[90px\]{min-height:90px}.min-h-\[250px\]{min-height:250px}.max-w-\[70ch\]{max-width:70ch}.max-w-\[640px\]{max-width:640px}.max-w-\[760px\]{max-width:760px}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.scroll-mt-16{scroll-margin-top:calc(var(--spacing) * 16)}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-0{padding:0}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.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, )}@media (width>=48rem){.md\:flex{display:flex}}}.fiar-app{--plate-hi:var(--color-plate-light);--plate:var(--color-plate);--plate-lo:var(--color-plate-dark);--hole:var(--color-hole);--rail-hi:var(--color-walnut-light);--rail:var(--color-walnut);--rail-lo:var(--color-walnut-dark);--rim-shadow:#0000008c}@supports (color:color-mix(in lab, red, red)){.fiar-app{--rim-shadow:color-mix(in srgb, var(--color-shadow) 55%, transparent)}}.fiar-app{--rim-light:#ffffff24}@supports (color:color-mix(in lab, red, red)){.fiar-app{--rim-light:color-mix(in srgb, var(--color-highlight) 14%, transparent)}}.fiar-app{--label:#f1e8d4b3}@supports (color:color-mix(in lab, red, red)){.fiar-app{--label:color-mix(in srgb, var(--color-ivory) 70%, transparent)}}.fiar-app{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.fiar-app[data-theme=wood]{--plate-hi:var(--color-ivory-light);--plate:var(--color-ivory);--plate-lo:var(--color-ivory-dark);--hole:var(--color-hole-wood);--rail-hi:var(--color-oak-light);--rail:var(--color-oak);--rail-lo:var(--color-oak-dark);--rim-shadow:#3f25148c}@supports (color:color-mix(in lab, red, red)){.fiar-app[data-theme=wood]{--rim-shadow:color-mix(in srgb, var(--color-walnut-dark) 55%, transparent)}}.fiar-app[data-theme=wood]{--rim-light:#ffffff73}@supports (color:color-mix(in lab, red, red)){.fiar-app[data-theme=wood]{--rim-light:color-mix(in srgb, var(--color-highlight) 45%, transparent)}}.fiar-app[data-theme=wood]{--label:#3f2514cc}@supports (color:color-mix(in lab, red, red)){.fiar-app[data-theme=wood]{--label:color-mix(in srgb, var(--color-walnut-dark) 80%, transparent)}}@media (width>=940px){.fiar-app{grid-template-columns:minmax(0,1fr) 320px;gap:32px}}.stage{--rail-w:14px;--board-w:clamp(240px, min(100cqi - 2 * var(--rail-w), 100svh - 340px), 560px);--cell:calc(var(--board-w) / 7);flex-direction:column;align-items:center;min-width:0;display:flex;container-type:inline-size}@media (width<=600px){.stage{--rail-w:10px}}.stage.has-pop{--board-w:clamp(240px, min(100cqi - 2 * var(--rail-w), 100svh - 384px), 560px)}.scorebar{width:calc(var(--board-w) + 2 * var(--rail-w));justify-content:space-between;align-items:center;gap:10px;max-width:100%;display:flex}.player-chip{--c:var(--color-coral);background:var(--color-surface);border:1px solid var(--color-line);border-radius:999px;flex:1 1 0;align-items:center;gap:8px;min-width:0;max-width:40%;padding:5px 12px 5px 5px;transition:border-color .16s,box-shadow .16s;display:flex}.player-chip.p2{--c:var(--color-mint);text-align:right;flex-direction:row-reverse;padding:5px 5px 5px 12px}.player-chip.is-active{border-color:var(--c);box-shadow:0 0 0 3px var(--c)}@supports (color:color-mix(in lab, red, red)){.player-chip.is-active{box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent)}}.chip-disc{flex:none;place-items:center;width:30px;height:30px;display:grid}.chip-disc .disc-face{width:100%;height:100%}.chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.tally{flex-direction:column;flex:none;align-items:center;display:flex}.tally-score{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;line-height:1.1}.tally-draws{color:var(--color-ink-faint);font-size:.75rem}.status-line{text-align:center;min-height:1.6em;margin:10px 0 2px;font-size:1.02rem;font-weight:600}.status-line.is-over{font-family:var(--font-display);font-size:1.15rem}.sub-status{min-height:1.5em;color:var(--color-ink-dim);text-align:center;max-width:calc(var(--board-w) + 2 * var(--rail-w));margin:8px 0 0;font-size:.88rem}.turn-timer{height:16px;width:calc(var(--board-w) + 2 * var(--rail-w));align-items:center;gap:10px;max-width:100%;margin-bottom:4px;display:flex}.timer-track{background:var(--color-surface-2);border-radius:999px;flex:1;height:6px;overflow:hidden}.timer-fill{transform-origin:0;background:var(--color-ink-faint);width:100%;height:100%;transition:transform .1s linear;display:block}.timer-track.mine .timer-fill{background:var(--color-mint)}.timer-track.low .timer-fill{background:var(--color-coral)}.timer-text{color:var(--color-ink-dim);font-variant-numeric:tabular-nums;text-align:right;min-width:7.5em;font-size:.8rem}.rack{-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;align-items:center;display:flex;position:relative}.rack-hover{width:var(--board-w);height:var(--cell);position:relative}.hover-disc{width:var(--cell);height:var(--cell);transform:translateX(calc(var(--col) * 100%));pointer-events:none;place-items:center;transition:transform .11s ease-out;display:grid;position:absolute;bottom:0;left:0}.hover-disc .disc-face{animation:1.4s ease-in-out infinite alternate hover-bob}.rack-body{filter:drop-shadow(0 14px 22px #00000073);align-items:stretch;display:flex}@supports (color:color-mix(in lab, red, red)){.rack-body{filter:drop-shadow(0 14px 22px color-mix(in srgb, var(--color-shadow) 45%, transparent))}}.rack-rail{width:var(--rail-w);background:repeating-linear-gradient(172deg, var(--rail-lo) 0 2px, transparent 2px 9px), linear-gradient(90deg, var(--rail-lo), var(--rail) 35%, var(--rail-hi) 55%, var(--rail) 75%, var(--rail-lo))}@supports (color:color-mix(in lab, red, red)){.rack-rail{background:repeating-linear-gradient(172deg, color-mix(in srgb, var(--rail-lo) 35%, transparent) 0 2px, transparent 2px 9px), linear-gradient(90deg, var(--rail-lo), var(--rail) 35%, var(--rail-hi) 55%, var(--rail) 75%, var(--rail-lo))}}.rail-left{border-radius:8px 0 0}.rail-right{border-radius:0 8px 0 0}.rack-grid{width:var(--board-w);aspect-ratio:7/6;position:relative}.rack-back{background:radial-gradient(120% 90% at 50% 20%, var(--hole), var(--hole));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.rack-back{background:radial-gradient(120% 90% at 50% 20%, color-mix(in srgb, var(--hole) 75%, var(--plate-lo)), var(--hole))}}.disc-layer{clip-path:inset(-300% -4px 0);position:absolute;inset:0}.rack-plate{background:linear-gradient(170deg, #ffffff14, transparent 40%), linear-gradient(160deg, var(--plate-hi), var(--plate) 42%, var(--plate-lo));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.rack-plate{background:linear-gradient(170deg, color-mix(in srgb, var(--color-highlight) 8%, transparent), transparent 40%), linear-gradient(160deg, var(--plate-hi), var(--plate) 42%, var(--plate-lo))}}.rack-plate{-webkit-mask-image:radial-gradient(circle closest-side, transparent 79%, var(--color-shadow) calc(79% + 1px));-webkit-mask-image:radial-gradient(circle closest-side, transparent 79%, var(--color-shadow) calc(79% + 1px));-webkit-mask-image:radial-gradient(circle closest-side, transparent 79%, var(--color-shadow) calc(79% + 1px));mask-image:radial-gradient(circle closest-side, transparent 79%, var(--color-shadow) calc(79% + 1px));pointer-events:none;-webkit-mask-size:14.2857% 16.6667%;mask-size:14.2857% 16.6667%;-webkit-mask-repeat:repeat;mask-repeat:repeat}.rack-plate-rims{background:radial-gradient(circle closest-side, transparent 72%, var(--rim-shadow) 79%, transparent 80%, transparent 85%, var(--rim-light) 88%, transparent 93%) 0 0 / calc(100% / 7) calc(100% / 6);pointer-events:none;box-shadow:inset 0 1px 0 var(--rim-light), inset 0 -2px 0 var(--rim-shadow);position:absolute;inset:0}.rack-base{width:calc(var(--board-w) + 2 * var(--rail-w));height:calc(var(--rail-w) * 1.9);background:repeating-linear-gradient(90deg, var(--rail-lo) 0 2px, transparent 2px 11px), linear-gradient(180deg, var(--rail-hi), var(--rail) 45%, var(--rail-lo));border-radius:0 0 10px 10px;position:relative}@supports (color:color-mix(in lab, red, red)){.rack-base{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--rail-lo) 30%, transparent) 0 2px, transparent 2px 11px), linear-gradient(180deg, var(--rail-hi), var(--rail) 45%, var(--rail-lo))}}.rack-base{box-shadow:0 10px 18px #0006}@supports (color:color-mix(in lab, red, red)){.rack-base{box-shadow:0 10px 18px color-mix(in srgb, var(--color-shadow) 40%, transparent)}}.col-labels{left:var(--rail-w);right:var(--rail-w);text-align:center;font-size:clamp(9px, calc(var(--rail-w) * .85), 13px);color:var(--label);grid-template-columns:repeat(7,1fr);align-items:center;font-weight:600;display:grid;position:absolute;top:0;bottom:0}.lever{width:calc(var(--rail-w) * 1.8);height:calc(var(--rail-w) * .9);margin-top:calc(var(--rail-w) * -.45);background:linear-gradient(180deg, var(--color-brass), var(--color-brass-dark));border-radius:4px;position:absolute;top:50%;left:4px;box-shadow:0 1px 2px #00000080}@supports (color:color-mix(in lab, red, red)){.lever{box-shadow:0 1px 2px color-mix(in srgb, var(--color-shadow) 50%, transparent)}}.lever{z-index:1;transition:transform .22s cubic-bezier(.3,1.4,.6,1);transform:translate(0)}.rack.is-releasing .lever{transform:translateX(calc(var(--rail-w) * 2.6))}.disc{left:calc(var(--col) * 100% / 7);bottom:calc(var(--row) * 100% / 6);will-change:transform;place-items:center;width:14.2857%;height:16.6667%;display:grid;position:absolute}.disc-face{--c:var(--color-coral);--c-hi:var(--color-coral-soft);--c-lo:var(--color-coral-deep);background:radial-gradient(circle at 34% 28%, var(--c-hi) 0 10%, var(--c) 48%, var(--c-lo) 100%);width:84%;height:84%;box-shadow:inset 0 0 0 1.5px #ffffff38, inset 0 -3px 6px var(--c-lo), 0 2px 3px #00000059;border-radius:50%;place-items:center;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.disc-face{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--color-highlight) 22%, transparent), inset 0 -3px 6px color-mix(in srgb, var(--c-lo) 80%, transparent), 0 2px 3px color-mix(in srgb, var(--color-shadow) 35%, transparent)}}.disc-face.p2{--c:var(--color-mint);--c-hi:var(--color-mint-soft);--c-lo:var(--color-mint-deep)}.disc-face:before{content:"";border:1.5px solid var(--c-lo);border-radius:50%;position:absolute;inset:17%}@supports (color:color-mix(in lab, red, red)){.disc-face:before{border:1.5px solid color-mix(in srgb, var(--c-lo) 70%, transparent)}}.disc-face:before{box-shadow:0 1px #ffffff2e}@supports (color:color-mix(in lab, red, red)){.disc-face:before{box-shadow:0 1px 0 color-mix(in srgb, var(--color-highlight) 18%, transparent)}}.disc-symbol{width:40%;height:40%;fill:var(--c-lo)}@supports (color:color-mix(in lab, red, red)){.disc-symbol{fill:color-mix(in srgb, var(--c-lo) 72%, var(--color-shadow))}}.disc-symbol{opacity:.78;filter:drop-shadow(0 1px #ffffff4d)}@supports (color:color-mix(in lab, red, red)){.disc-symbol{filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--color-highlight) 30%, transparent))}}.disc.last .disc-face:after{content:"";background:var(--color-ivory-light);border-radius:50%;width:14%;height:14%;position:absolute;box-shadow:0 0 0 2px #00000040}@supports (color:color-mix(in lab, red, red)){.disc.last .disc-face:after{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-shadow) 25%, transparent)}}.disc.ghost .disc-face{opacity:.3;box-shadow:none;outline:2px dashed #ffffff8c}@supports (color:color-mix(in lab, red, red)){.disc.ghost .disc-face{outline:2px dashed color-mix(in srgb, var(--color-highlight) 55%, transparent)}}.disc.ghost .disc-face{outline-offset:-2px}.disc.anim-drop{animation-name:disc-drop;animation-fill-mode:both}.disc.anim-shift{animation:.3s both disc-shift}.disc.anim-popout{animation:.42s cubic-bezier(.5,0,1,.5) forwards disc-popout}.disc.anim-release{animation-name:disc-release;animation-timing-function:cubic-bezier(.55,0,1,.45);animation-fill-mode:both}.disc.win .disc-face{box-shadow:0 0 0 3px #fff4d8d9, 0 0 18px var(--c);animation:.9s ease-in-out infinite alternate win-pulse}@supports (color:color-mix(in lab, red, red)){.disc.win .disc-face{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-laser) 85%, transparent), 0 0 18px color-mix(in srgb, var(--c) 90%, transparent)}}@keyframes disc-drop{0%{transform:translateY(calc(var(--fall) * -100%));animation-timing-function:cubic-bezier(.55,0,1,.45)}62%{animation-timing-function:cubic-bezier(0,.55,.45,1);transform:translateY(0)scale(1.04,.94)}79%{animation-timing-function:cubic-bezier(.55,0,1,.45);transform:translateY(-11%)scale(1)}91%{animation-timing-function:cubic-bezier(0,.55,.45,1);transform:translateY(0)scale(1.01,.98)}96%{transform:translateY(-2.5%)}to{transform:translateY(0)}}@keyframes disc-shift{0%,10%{animation-timing-function:cubic-bezier(.55,0,1,.45);transform:translateY(-100%)}65%{animation-timing-function:cubic-bezier(0,.55,.45,1);transform:translateY(0)}82%{transform:translateY(-7%)}to{transform:translateY(0)}}@keyframes disc-popout{0%{transform:translateY(0)}to{transform:translateY(140%)}}@keyframes disc-release{to{transform:translateY(calc(var(--fall) * 100%))}}@keyframes win-pulse{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes hover-bob{0%{transform:translateY(-3%)}to{transform:translateY(5%)}}.win-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.win-line{stroke:var(--color-laser);stroke-width:12px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;filter:drop-shadow(0 0 5px var(--color-laser)) drop-shadow(0 0 14px var(--color-coral));animation:.52s cubic-bezier(.3,.7,.3,1) .26s forwards draw-line}@keyframes draw-line{to{stroke-dashoffset:0}}.col-buttons{grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:-16.6667% 0 0}.col-btn{appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;margin:0;padding:0}.col-btn[aria-disabled=true]{cursor:default}@media (hover:hover){.col-btn:not([aria-disabled=true]):hover{background:linear-gradient(#0000 14.2857%,#ffffff0d)}@supports (color:color-mix(in lab, red, red)){.col-btn:not([aria-disabled=true]):hover{background:linear-gradient(180deg, transparent calc(100% / 7), color-mix(in srgb, var(--color-highlight) 5%, transparent))}}}.col-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.pop-row{width:var(--board-w);grid-template-columns:repeat(7,1fr);margin-top:8px;display:grid}.pop-btn{border:1px solid var(--color-line);background:var(--color-surface);width:72%;height:30px;color:var(--color-ink-faint);cursor:pointer;border-radius:8px;justify-self:center;place-items:center;display:grid}.pop-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.pop-btn:not(:disabled){color:var(--color-ink);border-color:var(--color-line-strong);background:var(--color-surface-2)}.pop-btn:not(:disabled):hover{border-color:var(--color-focus)}.pop-btn:disabled{cursor:default;opacity:.45}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:16px;flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}.mode-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-btn{border:1px solid var(--color-line);background:var(--color-surface-2);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;min-height:66px;padding:10px 12px;font-size:.88rem;font-weight:600;line-height:1.25;transition:border-color .14s,background-color .14s;display:flex}.mode-btn:hover{border-color:var(--color-line-strong)}.mode-btn[aria-pressed=true]{border-color:var(--color-coral);background:#403233}@supports (color:color-mix(in lab, red, red)){.mode-btn[aria-pressed=true]{background:color-mix(in srgb, var(--color-coral) 13%, var(--color-surface-2))}}.mode-btn .icon{color:var(--color-coral-soft)}.mode-hint{color:var(--color-ink-dim);margin:-4px 0 0;font-size:.86rem}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.settings,.prefs,.room-info{flex-direction:column;gap:12px;display:flex}.prefs{border-top:1px solid var(--color-line);padding-top:14px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--color-ink-dim);font-size:.8rem}.segmented{border:1px solid var(--color-line);background:var(--color-page-2);border-radius:10px;gap:3px;padding:3px;display:flex}.seg-btn{min-width:0;color:var(--color-ink-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1 1 0;padding:7px 6px;font-size:.84rem;line-height:1.25}.seg-btn:hover{color:var(--color-ink)}.seg-btn[aria-pressed=true]{background:var(--color-surface-3);color:var(--color-ink);box-shadow:0 1px 2px #0006}@supports (color:color-mix(in lab, red, red)){.seg-btn[aria-pressed=true]{box-shadow:0 1px 2px color-mix(in srgb, var(--color-shadow) 40%, transparent)}}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions .btn{flex:auto}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.92rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--color-coral);color:var(--color-on-coral)}.btn-primary:not(:disabled):hover{background:var(--color-coral-soft)}.btn-secondary{background:var(--color-surface-2);border-color:var(--color-line);color:var(--color-ink)}.btn-secondary:not(:disabled):hover{border-color:var(--color-line-strong);background:var(--color-surface-3)}.btn-quiet{color:var(--color-ink-dim);background:0 0}.btn-quiet:hover{color:var(--color-ink)}.btn-danger{background:var(--color-danger);color:var(--color-ink)}.btn-compact{flex:none;padding:8px 12px}.toggles{flex-wrap:wrap;gap:8px 16px;display:flex}.toggle{color:var(--color-ink-dim);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;font-size:.86rem;display:inline-flex}.toggle-track{background:var(--color-surface-3);border:1px solid var(--color-line-strong);border-radius:999px;flex:none;width:34px;height:20px;transition:background-color .14s;position:relative}.toggle-thumb{background:var(--color-ink-dim);border-radius:50%;width:14px;height:14px;transition:transform .14s,background-color .14s;position:absolute;top:2px;left:2px}.toggle[aria-checked=true]{color:var(--color-ink)}.toggle[aria-checked=true] .toggle-track{background:#226f6c}@supports (color:color-mix(in lab, red, red)){.toggle[aria-checked=true] .toggle-track{background:color-mix(in srgb, var(--color-mint) 45%, var(--color-surface-3))}}.toggle[aria-checked=true] .toggle-track{border-color:var(--color-mint)}.toggle[aria-checked=true] .toggle-thumb{background:var(--color-ink);transform:translate(14px)}.invite{background:#233439;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.invite{background:color-mix(in srgb, var(--color-mint) 8%, var(--color-surface-2))}}.invite{border:1px solid #276c6c}@supports (color:color-mix(in lab, red, red)){.invite{border:1px solid color-mix(in srgb, var(--color-mint) 40%, var(--color-line))}}.invite-intro{margin:0;font-size:.88rem}.invite-row{gap:6px;min-width:0;display:flex}.invite-input{border:1px solid var(--color-line);background:var(--color-page-2);min-width:0;color:var(--color-ink);font-family:var(--font-mono);border-radius:8px;flex:auto;padding:8px 10px;font-size:.8rem}.room-code{margin:0;font-size:.9rem}.room-code code{font-family:var(--font-mono);color:var(--color-ink);font-size:1rem;font-weight:700}.error-text{color:var(--color-coral-soft);margin:0;font-size:.86rem}.mm-backdrop{z-index:60;background:#101216b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.mm-backdrop{background:color-mix(in srgb, var(--color-page) 72%, transparent)}}.mm-backdrop{backdrop-filter:blur(6px);animation:.18s ease-out fade-in}.mm-dialog{text-align:center;border:1px solid var(--color-line-strong);background:var(--color-surface);border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);max-height:calc(100svh - 32px);padding:24px 22px 18px;display:flex;overflow-y:auto;box-shadow:0 30px 80px #0009}@supports (color:color-mix(in lab, red, red)){.mm-dialog{box-shadow:0 30px 80px color-mix(in srgb, var(--color-shadow) 60%, transparent)}}.mm-dialog{animation:.22s cubic-bezier(.2,.9,.3,1.1) rise-in}.mm-title{font-family:var(--font-display);margin:0;font-size:1.25rem}.mm-loader{padding:8px 0 4px}.mm-slot{background:linear-gradient(180deg, var(--color-plate-light), var(--color-plate-dark));width:64px;height:120px;box-shadow:inset 0 0 0 1px var(--color-line-strong), inset 0 6px 14px #00000080;border-radius:14px;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.mm-slot{box-shadow:inset 0 0 0 1px var(--color-line-strong), inset 0 6px 14px color-mix(in srgb, var(--color-shadow) 50%, transparent)}}.mm-slot{overflow:hidden}.mm-disc{background:radial-gradient(circle at 34% 28%, var(--color-coral-soft) 0 10%, var(--color-coral) 48%, var(--color-coral-deep));border-radius:50%;width:48px;height:48px;animation:1.8s cubic-bezier(.55,0,1,.45) infinite mm-drop;position:absolute;bottom:8px;left:8px}.mm-disc.p2{background:radial-gradient(circle at 34% 28%, var(--color-mint-soft) 0 10%, var(--color-mint) 48%, var(--color-mint-deep));animation-delay:.9s}@keyframes mm-drop{0%{opacity:1;transform:translateY(-150px)}28%{animation-timing-function:cubic-bezier(0,.55,.45,1);transform:translateY(0)}36%{animation-timing-function:cubic-bezier(.55,0,1,.45);transform:translateY(-14px)}44%{opacity:1;transform:translateY(0)}50%,to{opacity:1;transform:translateY(70px)}}.mm-status{margin:4px 0 0;font-weight:600}.mm-timer{flex-direction:column;align-items:center;margin:0;display:flex}.mm-timer-label{color:var(--color-ink-faint);font-size:.78rem}.mm-timer-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1.1}.mm-ai{width:100%;margin-top:8px;padding:14px 16px;font-size:1.05rem}.mm-hint{color:var(--color-ink-dim);margin:0;font-size:.84rem}.mm-cancel{margin-top:2px}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (prefers-reduced-motion:reduce){.hover-disc .disc-face,.disc.win .disc-face,.mm-disc{animation:none}.mm-disc.p2{display:none}}:root{color-scheme:dark;--container:1180px;--gutter:16px}html,body{overflow-x:clip}html{background:var(--color-page);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:radial-gradient(1200px 520px at 50% -180px, #ff6b4a17, transparent 70%), var(--color-page);margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(1200px 520px at 50% -180px, color-mix(in srgb, var(--color-coral) 9%, transparent), transparent 70%), var(--color-page)}}body{color:var(--color-ink);font-family:var(--font-sans);min-height:100vh;line-height:1.6}a{color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.container-page{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}@media (width>=768px){:root{--gutter:24px}}.skip-link{z-index:100;background:var(--color-focus);color:var(--color-page);border-radius:8px;padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus-visible{top:12px}.site-header{border-bottom:1px solid #333a45b3}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--color-line) 70%, transparent)}}.site-header{background:#101216d9}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--color-page) 85%, transparent)}}.site-header{backdrop-filter:blur(8px);z-index:30;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;min-width:0;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:28px;height:28px}.nav-link{color:var(--color-ink-dim);border-radius:8px;padding:6px 8px;font-size:.92rem;text-decoration:none}.nav-link:hover{color:var(--color-ink);background:var(--color-surface)}.lang-menu{position:relative}.lang-menu summary{white-space:nowrap;cursor:pointer;border:1px solid var(--color-line);color:var(--color-ink-dim);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.9rem;list-style:none;display:inline-flex}.lang-menu summary::-webkit-details-marker{display:none}.lang-menu[open] summary{color:var(--color-ink);border-color:var(--color-line-strong)}.lang-list{border:1px solid var(--color-line);background:var(--color-surface);border-radius:12px;min-width:150px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px #00000080}@supports (color:color-mix(in lab, red, red)){.lang-list{box-shadow:0 18px 40px color-mix(in srgb, var(--color-shadow) 50%, transparent)}}.lang-list a{color:var(--color-ink-dim);border-radius:8px;padding:8px 10px;text-decoration:none;display:block}.lang-list a:hover,.lang-list a[aria-current=page]{background:var(--color-surface-2);color:var(--color-ink)}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:break-word;min-width:0;margin:0;font-size:clamp(1.45rem,1.1rem + 1.6vw,2.15rem);font-weight:700;line-height:1.15}.hero-tagline{color:var(--color-ink-dim);max-width:62ch;margin:4px 0 0;font-size:clamp(.92rem,.86rem + .3vw,1.05rem)}.ad-slot,.ad-slot ins.adsbygoogle{min-height:250px;display:block}.ad-slot ins.adsbygoogle[data-ad-status=unfilled]{display:none!important}.guide{max-width:820px}.guide h2{font-family:var(--font-display);letter-spacing:-.015em;overflow-wrap:break-word;margin:0 0 14px;font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);line-height:1.25}.guide h3{font-family:var(--font-display);margin:28px 0 8px;font-size:1.12rem;line-height:1.35}.guide p,.guide li{color:#e2e5e9}@supports (color:color-mix(in lab, red, red)){.guide p,.guide li{color:color-mix(in srgb, var(--color-ink) 86%, var(--color-ink-dim))}}.guide p{margin:0 0 12px}.guide ul{margin:0 0 12px;padding-left:1.3em;list-style:outside}.guide li{margin:4px 0}.guide-section{border-top:1px solid var(--color-line);padding-block:40px;scroll-margin-top:72px}.pattern-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;margin:18px 0;display:grid}.pattern-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:14px;min-width:0;padding:14px}.pattern-card h3{margin:10px 0 4px;font-size:1rem}.pattern-card p{color:var(--color-ink-dim);margin:0;font-size:.92rem}.strategy-item{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;margin-top:26px;display:grid}@media (width>=720px){.strategy-item{grid-template-columns:minmax(0,1fr) 210px}}.strategy-item h3{margin-top:0}.mini-board{width:100%;height:auto;display:block}.mini-board-frame{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;padding:10px}.faq-item{border:1px solid var(--color-line);background:var(--color-surface);border-radius:12px;margin:10px 0}.faq-item summary{cursor:pointer;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--color-ink-faint);flex:none;font-weight:400}.faq-item[open] summary:after{content:"–"}.faq-item p{margin:0;padding:0 16px 14px}.legal h1{font-family:var(--font-display);overflow-wrap:break-word;margin:0 0 6px;font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);line-height:1.2}.legal .updated{color:var(--color-ink-faint);margin:0 0 24px;font-size:.9rem}.legal h2{font-family:var(--font-display);margin:28px 0 8px;font-size:1.15rem}.legal p,.legal li{color:#e2e5e9}@supports (color:color-mix(in lab, red, red)){.legal p,.legal li{color:color-mix(in srgb, var(--color-ink) 86%, var(--color-ink-dim))}}.legal ul{padding-left:1.3em;list-style:outside}.legal a{color:var(--color-coral-soft)}.site-footer{border-top:1px solid var(--color-line);color:var(--color-ink-faint);font-size:.9rem}.site-footer a{color:var(--color-ink-dim);text-decoration:none}.site-footer a:hover{color:var(--color-ink);text-decoration:underline}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@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-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}
