/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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,::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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--radius-md:.375rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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]){-webkit-text-decoration:underline dotted;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;-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{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:0}.right-0{right:0}.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}}.mx-auto{margin-inline:auto}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-auto{width:auto}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.text-black{color:var(--color-black)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,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,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-0{padding-top:0}}@media (width>=64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{--bg:#16130e;--bg-elev:#1e1912;--panel:#241f16;--text:#f2ead8;--sub:#b8ad95;--muted:#7d745f;--accent:#d8b45a;--accent-bright:#f5d876;--line:#4d4536;--line-dim:#352c20;--danger:#e07a6a;--danger-line:#8a4238;--ok:#6fbf73;--info:#8fb8e8;--ice:#8fd8ff;--ice-bright:#d6f1ff;--ice-line:#4f9ad0;--ice-fill:#96cdff73;--ice-glow:#78c8ff8c;--ice-panel:#263e528c;--board-frame:#573e1e;--board-ink:#3f2d16;--coord-ink:#6b5334;--koma-ink:#1c1006;--koma-promoted-ink:#a01d10;--font-sans:"Yu Gothic UI", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-koma:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--radius:6px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}a{color:var(--accent)}.app-header{border-bottom:1px solid var(--line-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.app-header .brand{color:var(--text);letter-spacing:.04em;align-items:center;gap:10px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.app-header .brand .mark{color:var(--ice);text-shadow:0 0 10px var(--ice-glow);font-size:19px}.app-header .brand .em{color:var(--accent)}.app-header nav{align-items:center;gap:14px;display:flex}.app-header nav a{color:var(--sub);font-size:14px;text-decoration:none}.app-header nav a:hover{color:var(--text)}.userbox{color:var(--sub);flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.userbox .name{color:var(--text);font-weight:700}.app-main{padding:20px 16px 48px}.icon-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:5px 9px;font-size:15px;line-height:1}.icon-btn:hover{border-color:var(--accent)}.btn{color:var(--text);border:1px solid var(--line);cursor:pointer;text-align:center;background:0 0;border-radius:4px;padding:9px 16px;font-family:inherit;font-size:14px;text-decoration:none;transition:border-color .15s,background .15s;display:inline-block}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default;border-color:var(--line)}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.btn.primary:hover{background:var(--accent-bright)}.btn.ghost{color:var(--sub);background:0 0}.btn.danger{border-color:var(--danger-line);color:var(--danger)}.btn.danger:hover{border-color:var(--danger)}.btn.ice{color:var(--ice-bright);border-color:var(--ice-line);background:var(--ice-panel);font-weight:700}.btn.ice:hover:not(:disabled){border-color:var(--ice);box-shadow:0 0 12px var(--ice-glow)}.btn.small{padding:5px 12px;font-size:12.5px}.select,select.select,input.input{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-family:inherit;font-size:14px}.input::placeholder{color:var(--muted)}.seg{border:1px solid var(--line);border-radius:4px;display:inline-flex;overflow:hidden}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label{color:var(--sub);cursor:pointer;background:var(--panel);padding:10px 18px;font-size:14px;transition:color .15s,background .15s}.seg label+label{border-left:1px solid var(--line)}.seg input:checked+label{background:var(--ice-panel);color:var(--ice-bright);box-shadow:inset 0 0 12px var(--ice-glow);font-weight:700}.seg input:checked+label.plain{color:var(--accent);box-shadow:none;background:#2e2618}.seg input:focus-visible+label{outline:2px solid var(--accent);outline-offset:-2px}.panel{border:1px solid var(--line-dim);border-radius:var(--radius);background:#1e191266;padding:12px 14px}.panel>h2{color:var(--sub);margin-bottom:8px;font-size:13px;font-weight:700}.panel>h2 .note{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.muted{color:var(--muted);font-size:12.5px}.sub{color:var(--sub);font-size:13.5px}.error{color:var(--danger);font-size:13px}.board-wrap{position:relative}svg#board{width:100%;height:auto;display:block}.board-frame{fill:var(--board-frame)}.board-surface{fill:url(#board-grad)}.grid-line{stroke:var(--board-ink);stroke-width:2px}.star{fill:var(--board-ink)}.coord{fill:var(--coord-ink);text-anchor:middle;dominant-baseline:middle;font-size:20px}.piece{filter:drop-shadow(0 2px 3px #0006)}.piece-body{fill:url(#piece-grad);stroke:#b39a5e;stroke-width:1.5px;stroke-linejoin:round}.piece-bevel{fill:none;stroke:#fff3d0;stroke-width:2px;opacity:.55}.piece-text{fill:var(--koma-ink);text-anchor:middle;font-size:56px;font-weight:700;font-family:var(--font-koma)}.piece.promoted .piece-text{fill:var(--koma-promoted-ink)}.last-move{fill:#d8b45a47}.last-move-to{fill:#d8b45a73;stroke:var(--accent);stroke-width:5px;rx:6}.selected{fill:#d8b45a8c}.dest{fill:#3b2c0f59;pointer-events:none}.frost-ice{fill:var(--ice-fill);pointer-events:none}.frost-sheen{stroke:#fff6;fill:none;pointer-events:none}.frost-edge{fill:none;stroke:var(--ice-line);stroke-width:3px;pointer-events:none}.frost-badge{fill:var(--ice-bright);text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:#14283cd9;stroke-width:3px;font-size:26px}.piece.frozen .piece-text{fill:#16405e}.piece.frozen{filter:drop-shadow(0 0 5px var(--ice-glow))}.hand{flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;display:flex}.hand .hand-label{color:var(--muted);margin-right:2px;font-size:12px}.hand-piece{cursor:pointer;filter:drop-shadow(0 1px 2px #0006);background:0 0;border:none;width:42px;height:46px;padding:0;position:relative}.hand-piece .koma{width:42px;height:42px;font-family:var(--font-koma);color:var(--koma-ink);clip-path:polygon(50% 6%,82% 28%,87% 93%,13% 93%,18% 28%);background:linear-gradient(165deg,#f8efd0,#e2cd90);justify-content:center;align-items:center;margin-top:4px;padding-top:6px;font-size:21px;font-weight:700;display:flex}.hand.flipped .hand-piece .koma{transform:rotate(180deg)}.hand-piece:disabled{cursor:default}.hand-piece.active .koma{background:linear-gradient(165deg,#ffedb0,#eabf62)}.hand-piece.active{filter:drop-shadow(0 0 5px var(--accent))}.hand-piece.frozen .koma{color:#16405e;background:linear-gradient(165deg,#cfe9fb,#93c3e2)}.hand-piece.frozen{filter:drop-shadow(0 0 5px var(--ice-glow))}.hand-piece.frozen:after{content:"❄";color:var(--ice-bright);text-shadow:0 0 3px #0a1e32e6;font-size:11px;position:absolute;bottom:0;left:-2px}.hand-piece .count{background:var(--accent);color:#241d12;min-width:17px;height:17px;font-family:var(--font-sans);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:0;right:-5px;box-shadow:0 1px 3px #00000080}.freeze-badge{color:var(--ice);white-space:nowrap;align-items:center;gap:3px;font-size:13px;display:inline-flex}.freeze-badge .pip{color:var(--ice);text-shadow:0 0 6px var(--ice-glow)}.freeze-badge .pip.spent{color:#3d4a55;text-shadow:none}.freeze-badge .times{color:var(--sub);font-size:12px}.freeze-badge.empty{color:var(--muted)}.freeze-banner{color:var(--ice-bright);background:var(--ice-panel);border:1px solid var(--ice-line);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 12px;font-size:13.5px;font-weight:700;display:flex;box-shadow:inset 0 0 14px #50aae640}.freeze-banner .flake{font-size:16px;animation:3.2s ease-in-out infinite flake-drift}.freeze-banner.mine{border-color:var(--danger-line)}.freeze-banner .koma-chip{font-family:var(--font-koma);border:1px solid var(--ice-line);background:#d6f1ff29;border-radius:3px;padding:0 6px;display:inline-block}@keyframes flake-drift{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(20deg)}}.continuation-hint{color:var(--accent-bright);font-size:13px;font-weight:700}.modal{z-index:50;background:#0a0805c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal[hidden]{display:none!important}.modal-card{background:var(--panel);border:1px solid var(--ice-line);border-radius:10px;width:min(96vw,420px);padding:22px 24px;box-shadow:0 0 40px #3c8cc840}.modal-card h2{color:var(--ice-bright);text-align:center;margin-bottom:6px;font-size:17px;font-weight:700}.modal-card .lead{color:var(--sub);text-align:center;margin-bottom:14px;font-size:12.5px;line-height:1.8}.chip-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.koma-chip-btn{font-family:var(--font-koma);color:var(--koma-ink);aspect-ratio:1/1.12;cursor:pointer;background:linear-gradient(165deg,#f8efd0,#e2cd90);border:2px solid #0000;border-radius:5px;font-size:20px;font-weight:700;transition:transform .1s,box-shadow .15s}.koma-chip-btn:hover:not(:disabled){border-color:var(--ice);box-shadow:0 0 12px var(--ice-glow);transform:translateY(-2px)}.koma-chip-btn:disabled{color:#5c5647;border-color:var(--line-dim);cursor:not-allowed;background:#2b261c}.modal-actions{justify-content:center;gap:8px;display:flex}.player-card{border:1px solid var(--line-dim);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.player-card.turn{border-color:var(--accent);background:#d8b45a12}.player-card .seat{font-size:15px}.player-card .pname{overflow-wrap:anywhere;flex:auto;font-size:14.5px;font-weight:700}.clock{font-variant-numeric:tabular-nums;color:var(--sub);border:1px solid var(--line);text-align:center;border-radius:4px;min-width:4.4em;padding:3px 10px;font-size:17px;font-weight:700}.clock.active{color:var(--text);border-color:var(--accent)}.clock.low{color:var(--danger);border-color:var(--danger-line)}#status{color:var(--sub);min-height:2.4em;font-size:15px;line-height:1.7}#status.emphasis{color:var(--accent);font-weight:700}.viewers{color:var(--sub);font-size:12.5px}.viewers .n{color:var(--accent);font-weight:700}.conn-banner{color:var(--danger);border:1px solid var(--danger-line);border-radius:var(--radius);text-align:center;padding:6px 10px;font-size:12.5px;font-weight:700}.conn-banner[hidden]{display:none!important}#actions{flex-direction:column;gap:8px;display:flex}.kifu-scroll{max-height:300px;overflow-y:auto}#kifu{font-size:14px;line-height:1.9;list-style:none}#kifu li{cursor:pointer;border-radius:3px;padding:0 6px}#kifu li:hover{background:var(--panel)}#kifu li.current{color:var(--accent);background:#2e2618;font-weight:700}#kifu li .move-no{min-width:3.6em;color:var(--muted);text-align:right;margin-right:8px;font-size:12px;display:inline-block}#kifu li .spent{color:var(--muted);margin-left:6px;font-size:12px}#kifu li.freeze-move{color:var(--ice)}#kifu li.freeze-move .flake{margin-right:4px}#kifu li.freeze-move.current{color:var(--ice-bright);background:#1d3140}#kifu-pos{color:var(--accent);margin-left:6px;font-weight:700}.kifu-controls{gap:6px;margin-top:8px;display:flex}.kifu-controls button{color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:4px;flex:1;padding:5px 0;font-family:inherit;font-size:13px}.kifu-controls button:hover{border-color:var(--accent)}.kifu-controls.copy button{color:var(--sub)}.hero{text-align:center;padding:8px 0 4px}.hero .koma-mark{margin-bottom:14px;font-size:56px;line-height:1}.hero .kikaku{letter-spacing:.3em;color:var(--ice);border:1px solid var(--ice-line);margin-bottom:20px;padding:5px 16px 5px 20px;font-size:13px;display:inline-block}.hero h1{margin-bottom:18px;font-size:clamp(24px,5vw,42px);font-weight:700;line-height:1.45}.hero h1 .em{color:var(--ice);text-shadow:0 0 18px var(--ice-glow)}.hero .lead{color:var(--sub);font-size:15px;line-height:2}.lobby-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;max-width:1080px;margin:28px auto 0;display:grid}.room-list{flex-direction:column;display:flex}.room-row{border-bottom:1px solid #252017;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 6px;font-size:13.5px;display:flex}.room-row:last-child{border-bottom:none}.room-row .who{overflow-wrap:anywhere;flex:140px;font-weight:700}.room-row .meta{color:var(--sub);white-space:nowrap;font-size:12.5px}.room-row.mine{border-left:3px solid var(--accent);background:#d8b45a14;padding-left:8px}.room-row.mine .who:after{content:"あなたの部屋";color:var(--accent);margin-left:8px;font-size:11px;font-weight:400}.room-row a.spectate{color:var(--sub);font-size:12.5px;text-decoration:none}.room-row a.spectate:hover{color:var(--text)}.tag{white-space:nowrap;border:1px solid;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:700}.tag.freeze{color:var(--ice)}.tag.normal{color:var(--muted)}.tag.live{color:var(--ok)}.tag.open{color:var(--accent)}.queue-list{flex-direction:column;display:flex}.queue-row{border-bottom:1px solid #252017;align-items:center;gap:10px;padding:9px 4px;font-size:13.5px;display:flex}.queue-row:last-child{border-bottom:none}.queue-row .who{flex:auto;font-weight:700}.queue-row .meta{color:var(--accent);white-space:nowrap;font-size:12.5px}.queue-spinner{vertical-align:-2px;border:2px solid var(--ice-line);border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.9s linear infinite queue-spin;display:inline-block}@keyframes queue-spin{to{transform:rotate(360deg)}}.explainer ul{flex-direction:column;gap:10px;list-style:none;display:flex}.explainer li{color:var(--sub);gap:10px;font-size:13.5px;line-height:1.75;display:flex}.explainer li .ic{background:var(--ice-panel);border:1px solid var(--ice-line);width:26px;height:26px;color:var(--ice-bright);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;display:flex}.explainer strong{color:var(--text)}.explainer .pips{color:var(--ice);letter-spacing:2px;text-shadow:0 0 6px var(--ice-glow)}#toast{background:var(--panel);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);opacity:0;pointer-events:none;z-index:60;text-align:center;max-width:min(92vw,480px);padding:10px 20px;transition:all .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}#toast.ice{border-color:var(--ice-line);color:var(--ice-bright)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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 #0000}@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 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
