/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--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,ui-sans-serif, system-ui, 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{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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}}:root{color:#17213f;font-synthesis:none;text-rendering:optimizelegibility;--color-paper:#fff9e8;--color-surface:#fffdf5;--color-ink:#17213f;--color-muted:#657080;--color-line:#b8c2cf;--color-line-strong:#74839a;--color-judge:#2f67ad;--color-judge-dark:#1e477f;--color-judge-soft:#e8f3ff;--color-item:#2f7048;--color-item-dark:#205336;--color-item-soft:#e9f5e9;--color-situation:#c84f73;--color-situation-dark:#923550;--color-situation-soft:#fff0f4;--color-gold:#f4c542;--color-gold-soft:#fff5c7;--color-danger:#c43d36;--color-danger-dark:#8e2925;--color-danger-soft:#fff0ed;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--paper:var(--color-paper);--white:var(--color-surface);--ink:var(--color-ink);--muted:var(--color-muted);--line:var(--color-line);--line-strong:var(--color-line-strong);--vermilion:var(--color-danger);--vermilion-dark:var(--color-danger-dark);--vermilion-soft:var(--color-danger-soft);--teal:var(--color-item);--teal-dark:var(--color-item-dark);--teal-soft:var(--color-item-soft);--yellow:var(--color-gold);--yellow-soft:var(--color-gold-soft);letter-spacing:0;background:#fff9e8;font-family:Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,system-ui,sans-serif}*{box-sizing:border-box;letter-spacing:0}html{background:var(--paper);min-width:320px;min-height:100%}body{background:linear-gradient(#2f67ad09 1px, transparent 1px), linear-gradient(90deg, #2f67ad09 1px, transparent 1px), var(--paper);background-size:24px 24px;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2f67ad61}button:disabled,input:disabled,select:disabled{cursor:not-allowed}.app-shell{background:0 0;min-height:100svh}.screen-shell{isolation:isolate}.home-screen{grid-template-columns:minmax(0,1fr);align-content:center;gap:32px;width:min(100%,1120px);min-height:100svh;margin:0 auto;padding:32px 20px 40px;display:grid}.brand-lockup{justify-content:center;align-items:center;gap:28px;min-width:0;display:flex}.brand-card-frame{aspect-ratio:5/7;flex:none;width:112px;position:relative}.brand-card-frame:before{z-index:0;border:2px solid var(--ink);background:var(--yellow);content:"";border-radius:8px;position:absolute;inset:10px -10px -10px 10px}.brand-card-frame img{z-index:1;border:2px solid var(--ink);background:var(--white);object-fit:cover;border-radius:8px;width:100%;height:100%;display:block;position:relative;transform:rotate(-3deg);box-shadow:0 10px 22px #29272524}.brand-name{flex:auto;min-width:0}.brand-kicker,.lobby-brand,.compact-brand{color:var(--teal-dark);font-size:.76rem;font-weight:800}.brand-name h1{margin:5px 0 0;line-height:1}.title-logo{width:min(100%,260px);max-width:100%;height:auto;display:block}.form-panel{border:2px solid var(--ink);border-top:6px solid var(--color-situation);background:var(--white);border-radius:10px;width:100%;max-width:520px;margin-left:auto;margin-right:auto;padding:18px;box-shadow:7px 7px #17213f1f}.segmented-control{border:1px solid var(--line);background:#f4f4f2;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-height:44px;margin-bottom:24px;padding:3px;display:grid}.segmented-control button{min-width:0;min-height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;font-size:.92rem;font-weight:700}.segmented-control button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 5px #29272524}.segmented-control button:disabled{opacity:.65}form h1,form h2{color:var(--ink);margin:0 0 24px;font-size:1.35rem;line-height:1.3}.field-group{gap:8px;margin-top:18px;display:grid}.field-label{min-width:0;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;font-weight:750;display:flex}.character-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:600}input{border:1px solid var(--line-strong);background:var(--white);width:100%;min-height:48px;color:var(--ink);border-radius:6px;padding:10px 13px;transition:border-color .14s,box-shadow .14s}select{border:1px solid var(--line-strong);background:var(--white);min-height:44px;color:var(--ink);border-radius:6px;padding:8px 10px}input::placeholder{color:#9c9891;opacity:1}input:hover:not(:disabled){border-color:#78736c}input:focus{border-color:var(--color-judge);box-shadow:0 0 0 3px #2f67ad24}input[aria-invalid=true]{border-color:var(--vermilion)}input:disabled{color:var(--muted);background:#f1f0ed}.room-code-input,.deep-link-room strong,.room-code-display strong{font-variant-numeric:tabular-nums;font-family:Roboto Mono,SFMono-Regular,Consolas,monospace}.room-code-input{text-transform:uppercase}.field-error,.inline-problem{color:var(--vermilion-dark);font-size:.82rem;line-height:1.45}.field-error{margin:7px 0 0}.inline-problem{border-left:3px solid var(--vermilion);background:var(--vermilion-soft);align-items:flex-start;gap:7px;margin:16px 0 0;padding:10px 11px;display:flex}.inline-problem svg{flex:none;margin-top:1px}.primary-button{border:1px solid var(--color-judge-dark);background:var(--color-judge);width:100%;min-height:48px;color:var(--white);cursor:pointer;box-shadow:0 4px 0 var(--color-judge-dark);border-radius:6px;justify-content:center;align-items:center;gap:9px;margin-top:24px;font-weight:800;transition:background-color .14s,box-shadow .14s,transform .14s;display:inline-flex}.primary-button:hover:not(:disabled){background:#285b9b}.primary-button:active:not(:disabled){box-shadow:0 1px 0 var(--color-judge-dark);transform:translateY(3px)}.primary-button:disabled{opacity:.8;background:#a19d97;border-color:#a19d97;box-shadow:0 3px #7d7973}.spin{animation:.85s linear infinite spin}.join-screen,.lobby-screen{width:min(100%,760px);min-height:100svh;margin:0 auto;padding:20px 16px 40px}.join-screen{flex-direction:column;justify-content:center;max-width:520px;display:flex}.compact-header{align-items:center;gap:12px;min-height:48px;margin-bottom:18px;display:flex}.compact-brand{font-size:.88rem}.join-panel{padding:22px 18px}.deep-link-room,.room-code-display{border-left:5px solid var(--yellow);background:var(--yellow-soft);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:12px 14px;display:flex}.deep-link-room span,.room-code-display span{color:var(--muted);font-size:.72rem;font-weight:850}.deep-link-room strong,.room-code-display strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:1.4rem}.icon-button{border:1px solid var(--line-strong);background:var(--white);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:6px;flex:0 0 44px;justify-content:center;align-items:center;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex;position:relative}.icon-button:hover:not(:disabled){border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.icon-button:disabled{opacity:.55}.icon-tooltip{z-index:10;border:1px solid var(--ink);background:var(--ink);width:max-content;max-width:210px;color:var(--white);opacity:0;pointer-events:none;white-space:nowrap;border-radius:4px;padding:7px 9px;font-size:.72rem;font-weight:650;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-2px)}.tooltip-left .icon-tooltip{left:0;right:auto}.has-tooltip:hover .icon-tooltip,.has-tooltip:focus-visible .icon-tooltip{opacity:1;transform:translateY(0)}.lobby-screen{padding-top:24px}.screen-header,.lobby-header,.admin-header,.game-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;min-width:0;display:flex}.screen-header-title,.lobby-header>div{flex:180px;min-width:0}.screen-eyebrow,.lobby-brand{color:var(--color-judge-dark);letter-spacing:.04em;margin-bottom:3px;font-size:.76rem;font-weight:850;display:block}.screen-header h1,.lobby-header h1{color:var(--ink);margin:0;font-size:1.55rem;line-height:1.25}.screen-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:none;margin-left:auto;display:flex}.leave-button,.connection-retry{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-weight:750;display:inline-flex}.leave-button{border:1px solid var(--line-strong);background:var(--white);color:var(--color-ink);flex:none;padding:8px 12px}.leave-button:hover{border-color:var(--color-judge);background:var(--color-judge-soft)}.room-code-bar{grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;gap:10px;margin-top:24px;display:grid}.room-code-display{border:1px solid #dfc661;border-left:5px solid var(--yellow);min-height:58px}.copy-button{width:44px;height:auto;min-height:44px}.copy-button.copy-success{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.copy-error{margin-top:8px}.connection-banner{border:1px solid;justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-top:14px;padding:7px 10px 7px 13px;display:flex}.connection-message{align-items:center;gap:8px;min-width:0;font-size:.84rem;font-weight:700;display:flex}.connection-message svg{flex:none}.connection-message span{overflow-wrap:anywhere;min-width:0}.connection-connected{background:var(--teal-soft);color:var(--teal-dark);border-color:#8fc7bf}.connection-waiting{background:var(--yellow-soft);color:#65530b;border-color:#dbc463}.connection-fatal{background:var(--vermilion-soft);color:var(--vermilion-dark);border-color:#e3a59a}.connection-retry{background:var(--white);color:var(--vermilion-dark);border:1px solid;flex:none;padding:7px 10px;font-size:.78rem}.connection-retry:hover{background:#fff7f4}.roster-section{margin-top:26px}.roster-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.roster-heading h2{color:var(--ink);margin:0;font-size:1.05rem}.roster-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.roster-list{border:1px solid var(--line-strong);background:var(--white);border-radius:8px;overflow:hidden}.player-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:58px;padding:8px 12px;display:flex;position:relative}.player-row:last-child{border-bottom:0}.player-row.is-me:before{background:var(--teal);content:"";width:4px;position:absolute;inset:8px auto 8px 0}.player-identity{align-items:center;gap:10px;min-width:0;display:flex}.player-avatar{border:1px solid var(--ink);background:var(--yellow);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;font-size:.88rem;font-weight:850;display:inline-flex}.player-name-wrap{align-items:center;gap:7px;min-width:0;display:flex}.player-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:750;overflow:hidden}.host-badge{background:var(--yellow-soft);color:#66520b;border:1px solid #caa52d;border-radius:4px;flex:none;align-items:center;gap:3px;min-height:23px;padding:2px 5px;font-size:.68rem;font-weight:800;display:inline-flex}.bot-badge{background:var(--teal-soft);min-height:23px;color:var(--teal-dark);border:1px solid #8fc7bf;border-radius:4px;flex:none;align-items:center;padding:2px 5px;font-size:.68rem;font-weight:800;display:inline-flex}.player-connection{color:var(--teal-dark);flex:none;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.connection-dot{background:var(--teal);width:8px;height:8px;box-shadow:0 0 0 3px var(--teal-soft);border-radius:50%;flex:0 0 8px}.player-connection.disconnected{color:var(--muted)}.player-connection.disconnected .connection-dot{background:#aaa59d;box-shadow:0 0 0 3px #efeeeb}.empty-player-row{color:#9b9790;background:#faf9f6;justify-content:flex-start;font-size:.78rem}.empty-slot-number{color:#aaa59d;font-variant-numeric:tabular-nums;border:1px dashed #c8c4bd;border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.72rem;display:inline-flex}.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}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=640px){.home-screen{gap:40px;padding:56px 48px}.brand-lockup{justify-content:flex-start;gap:48px}.brand-card-frame{width:176px}.brand-card-frame:before{inset:15px -15px -15px 15px}.brand-name h1{font-size:3.45rem}.title-logo{width:min(100%,360px)}.brand-kicker{font-size:.86rem}.form-panel{padding:26px}.join-screen,.lobby-screen{padding-left:24px;padding-right:24px}.join-panel{padding:30px}.lobby-screen{padding-top:42px;padding-bottom:56px}.screen-header h1,.lobby-header h1{font-size:1.85rem}.room-code-display strong{font-size:1.65rem}.player-row{min-height:62px;padding-left:16px;padding-right:16px}.player-name{font-size:.96rem}}@media (width>=960px){.home-screen{grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:72px}.brand-lockup{gap:clamp(24px,3vw,48px)}.brand-card-frame{width:clamp(132px,12vw,176px)}}@media (width<=370px){.brand-lockup{gap:20px}.brand-card-frame{width:96px}.brand-name h1{font-size:2rem}.form-panel{padding:15px}.player-name-wrap{gap:4px}.host-badge{padding:3px;font-size:0}.host-badge svg{width:14px;height:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.spin{animation-duration:1.8s}}.lobby-config-panel,.score-panel,.game-board,.action-panel,.game-over-panel,.judgment-history,.game-waiting-panel,.admin-panel{border:2px solid var(--ink);background:var(--white);border-radius:10px;margin-top:26px;padding:18px;box-shadow:5px 5px #17213f1a}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;display:flex}.section-heading h2,.score-panel h2,.action-panel h2,.game-over-panel h2,.judgment-history h2{margin:3px 0 0;font-size:1.15rem;line-height:1.35}.section-kicker{color:var(--color-judge-dark);letter-spacing:.06em;font-size:.68rem;font-weight:850;display:block}.config-fields{border:0;gap:16px;margin:18px 0 0;padding:0;display:grid}.config-field{gap:8px;display:grid}.config-field .field-label small{color:var(--muted);font-size:.72rem;font-weight:650}.round-mode-control{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:7px;display:grid}.round-mode-control button,.secondary-button{border:1px solid var(--line-strong);background:var(--white);min-height:44px;color:var(--ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:8px 11px;font-size:.84rem;font-weight:750;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex}.round-mode-control button.active,.round-mode-control button:hover:not(:disabled),.secondary-button:hover:not(:disabled){border-color:var(--color-judge);background:var(--color-judge-soft);color:var(--color-judge-dark)}.secondary-button:disabled,.round-mode-control button:disabled{cursor:not-allowed;opacity:.55}.config-hint{color:var(--muted);margin:14px 0 0;font-size:.82rem;line-height:1.5}.config-actions{gap:12px;margin-top:18px;display:grid}.config-actions .secondary-button{gap:8px}.start-game-button{margin-top:0}.config-summary{gap:10px;margin:18px 0 0;display:grid}.config-summary div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:9px;display:flex}.config-summary dt{color:var(--muted);font-size:.79rem;font-weight:700}.config-summary dd{text-align:right;margin:0;font-size:.87rem;font-weight:750}.game-screen{width:min(100%,1180px);min-height:100svh;margin:0 auto;padding:20px 16px 92px}.phase-guide{--phase-accent:var(--color-line-strong);--phase-soft:#f2f4f7;margin-top:var(--space-4);border:2px solid var(--ink);border-left:8px solid var(--phase-accent);background:var(--phase-soft);padding:var(--space-4);gap:var(--space-2);border-radius:10px;display:grid;box-shadow:4px 4px #17213f1a}.phase-guide-judge{--phase-accent:var(--color-judge);--phase-soft:var(--color-judge-soft)}.phase-guide-item{--phase-accent:var(--color-item);--phase-soft:var(--color-item-soft)}.phase-guide-situation{--phase-accent:var(--color-situation);--phase-soft:var(--color-situation-soft)}.phase-guide-result{--phase-accent:var(--color-gold);--phase-soft:var(--color-gold-soft)}.phase-guide-role{border:1px solid var(--phase-accent);background:var(--white);width:fit-content;color:var(--ink);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:850}.phase-guide h2{color:var(--ink);margin:0;font-size:1.08rem;line-height:1.4}.phase-guide p{color:var(--muted);margin:4px 0 0;font-size:.82rem;line-height:1.55}.game-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.game-header>:first-child{min-width:0}.game-header .leave-button{margin-left:auto}.game-header h1{margin:3px 0 0;font-size:1.45rem;line-height:1.3}.round-indicator{border:1px solid #dfc661;border-left:5px solid var(--yellow);background:var(--yellow-soft);border-radius:6px;flex:none;padding:7px 10px;display:grid}.round-indicator span{color:var(--muted);font-size:.62rem;font-weight:850}.round-indicator strong{font-family:Roboto Mono,SFMono-Regular,Consolas,monospace;font-size:.88rem}.game-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.status-card{border:1px solid var(--line);background:var(--white);border-radius:6px;gap:4px;min-width:0;padding:10px;display:grid}.status-card span{color:var(--muted);font-size:.68rem;font-weight:750}.status-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.timer-card{background:var(--yellow-soft);border-color:#dfc661}.timer-card strong{color:#65530b;font-family:Roboto Mono,SFMono-Regular,Consolas,monospace;font-size:1.05rem}.timer-card.timer-low{background:var(--vermilion-soft);border-color:#e3a59a}.timer-card.timer-low strong{color:var(--vermilion-dark)}.score-panel{padding:14px}.score-panel h2{margin:0 0 10px}.score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.score-row{border:1px solid var(--line);border-radius:5px;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:7px 8px;display:flex}.score-row.is-me,.ranking-list li.is-me{border-color:var(--color-judge);background:var(--color-judge-soft)}.score-row span{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700;overflow:hidden}.score-row strong{color:var(--color-judge-dark);flex:none;font-size:.78rem}.game-board{padding:16px}.judge-question{max-width:50%;color:var(--color-judge-dark);text-align:right;font-size:.8rem;font-weight:800}.core-cards{gap:10px;margin-top:14px;display:grid}.game-card,.board-slot,.round-score-list article{border:1px solid var(--ink);background:var(--white);border-radius:6px}.game-card{background:0 0;border:0;overflow:hidden}.item-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.board-slot{border-color:var(--line-strong);min-height:100px;padding:9px}.board-slot h3{color:var(--color-item-dark);margin:0 0 7px;font-size:.78rem}.board-slot>p{color:#9b9790;margin:0;font-size:.71rem}.played-item{min-width:0}.played-item+.played-item{margin-top:7px}.card-face{--card-accent:var(--color-line-strong);--card-soft:var(--white);border:2px solid var(--ink);border-top:6px solid var(--card-accent);background:linear-gradient(135deg, var(--card-accent), transparent 42%), var(--card-soft);border-radius:8px;min-width:0;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.card-face{background:linear-gradient(135deg, color-mix(in srgb, var(--card-accent) 8%, transparent), transparent 42%), var(--card-soft)}}.card-face{color:var(--ink);gap:10px;padding:13px;box-shadow:inset 0 0 0 3px #ffffff8c}.card-face:after{background:var(--card-accent);width:9px;height:9px;box-shadow:-12px 0 0 var(--card-accent);position:absolute;bottom:8px;right:9px}@supports (color:color-mix(in lab, red, red)){.card-face:after{box-shadow:-12px 0 0 color-mix(in srgb, var(--card-accent) 55%, transparent)}}.card-face:after{content:"";opacity:.55}.card-face-judge{--card-accent:var(--color-judge);--card-soft:var(--color-judge-soft)}.card-face-item{--card-accent:var(--color-item);--card-soft:var(--color-item-soft)}.card-face-situation{--card-accent:var(--color-situation);--card-soft:var(--color-situation-soft)}.card-face-heading{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.card-face-kind,.card-face-state{border:1px solid var(--card-accent);background:var(--white);width:fit-content;color:var(--ink);border-radius:999px;padding:3px 7px;font-size:.66rem;font-weight:850}.card-face-state{border-color:var(--ink);background:var(--color-gold-soft)}.card-face .card-face-text{overflow-wrap:anywhere;align-self:center;font-size:.98rem;line-height:1.55}.card-face-supporting{color:var(--muted);overflow-wrap:anywhere;font-size:.74rem;line-height:1.45}.card-face-board{min-height:112px}.card-face-hand{aspect-ratio:5/7;align-content:start;width:100%}.card-face-compact{border-width:4px 1px 1px;gap:6px;min-height:82px;padding:8px}.card-face-compact .card-face-text{align-self:start;font-size:.78rem}.card-face-compact .card-face-supporting{font-size:.66rem}.card-face-selectable{transition:border-color .16s,box-shadow .16s,transform .16s}.card-face-selected{border-color:var(--ink);box-shadow:0 0 0 4px var(--color-gold), inset 0 0 0 3px #ffffff8c;transform:translateY(-3px)}.card-face-submitted{background:linear-gradient(135deg, var(--card-accent), transparent 48%), var(--card-soft)}@supports (color:color-mix(in lab, red, red)){.card-face-submitted{background:linear-gradient(135deg, color-mix(in srgb, var(--card-accent) 16%, transparent), transparent 48%), var(--card-soft)}}.card-face-disabled{filter:saturate(.68)}.action-panel{gap:13px;display:grid}.action-panel h2,.game-over-panel h2{margin:0}.action-panel>p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.6}.action-button{width:min(100%,420px);margin-top:2px}.hand-grid{gap:10px;display:grid}.hand-card{text-align:left;gap:8px;width:100%;min-height:120px;padding:12px;display:grid}button.hand-card{cursor:pointer}button.hand-card:hover:not(:disabled){border-color:var(--teal);background:var(--teal-soft)}button.hand-card:disabled{cursor:not-allowed;opacity:.65}.judge-hand>span{color:var(--teal-dark);font-size:.69rem;font-weight:850}.item-hand label{color:var(--muted);gap:5px;font-size:.73rem;font-weight:700;display:grid}.item-hand .secondary-button{justify-self:start}.hand-dock{margin-top:20px}.hand-dock-toggle{z-index:40;border:0;border-top:2px solid var(--ink);background:var(--white);width:100%;min-height:64px;color:var(--ink);cursor:pointer;padding:8px 16px max(8px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #17213f29}.hand-dock-toggle>span:nth-child(2){text-align:left;flex:auto;gap:2px;min-width:0;display:grid}.hand-dock-toggle strong{font-size:.9rem}.hand-dock-toggle small,.hand-dock-toggle>span:last-child{color:var(--muted);font-size:.7rem;font-weight:750}.hand-dock-mini-cards{flex:0 0 52px;width:52px;height:38px;position:relative}.hand-dock-mini-cards i{border:1px solid var(--ink);background:var(--color-judge-soft);transform-origin:bottom;border-radius:4px;width:24px;height:34px;position:absolute;bottom:0;left:17px}.hand-dock-mini-cards i:first-child{background:var(--color-situation-soft);transform:rotate(-18deg)translate(-9px)}.hand-dock-mini-cards i:last-child{background:var(--color-item-soft);transform:rotate(18deg)translate(9px)}.hand-dock-body,.hand-dock-open .hand-dock-toggle{display:none}.hand-dock-open .hand-dock-body{z-index:41;border-top:3px solid var(--ink);background:var(--paper);max-height:45svh;padding:14px 14px max(14px, env(safe-area-inset-bottom));gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 28px #17213f38}.hand-dock-heading,.hand-group-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.hand-dock-heading h2,.hand-group-heading h3,.exchange-tray h3{color:var(--ink);margin:2px 0 0}.hand-dock-heading h2{font-size:1.15rem}.hand-dock-close,.exchange-mode-button{border:1px solid var(--line-strong);background:var(--white);min-height:44px;color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:.78rem;font-weight:750}.hand-kind-tabs{border:1px solid var(--line-strong);background:#ffffff80;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;display:grid}.hand-kind-tabs button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;font-size:.8rem;font-weight:800}.hand-kind-tabs button[aria-selected=true]{background:var(--white);color:var(--ink);box-shadow:0 2px 6px #17213f1f}.hand-group{gap:10px;min-width:0;display:none}.hand-group-active{display:grid}.hand-group-heading h3{font-size:.98rem}.hand-group-heading span{color:var(--muted);font-size:.74rem;font-weight:750}.hand-row{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;gap:10px;min-width:0;padding:5px 5px 10px;scroll-padding-inline:5px;display:flex;overflow:auto hidden}.hand-card-button,.hand-card-readonly{scroll-snap-align:start;background:0 0;border:0;flex:none;width:clamp(148px,44vw,190px);min-width:clamp(148px,44vw,190px);margin:0;padding:3px}.hand-card-button{color:inherit;cursor:pointer;text-align:left}.hand-card-button:hover:not(:disabled) .card-face,.hand-card-button:focus-visible .card-face{border-color:var(--card-accent);box-shadow:0 0 0 3px var(--card-accent)}@supports (color:color-mix(in lab, red, red)){.hand-card-button:hover:not(:disabled) .card-face,.hand-card-button:focus-visible .card-face{box-shadow:0 0 0 3px color-mix(in srgb, var(--card-accent) 28%, transparent)}}.hand-card-button:focus-visible{outline:none}.hand-card-button:disabled{cursor:not-allowed}.empty-hand,.hand-finished-message{border:1px dashed var(--line-strong);color:var(--muted);background:#ffffff8c;border-radius:7px;margin:0;padding:14px;font-size:.8rem}.hand-confirm-button{width:min(100%,360px);margin-top:0}.hand-item-actions{align-items:end;gap:8px;display:grid}.hand-item-actions label{color:var(--muted);gap:5px;font-size:.75rem;font-weight:750;display:grid}.hand-item-actions .primary-button,.exchange-tray .primary-button{margin-top:0}.exchange-mode-button{color:var(--color-item-dark);justify-self:start}.exchange-tray{border:2px solid var(--color-item-dark);background:var(--color-item-soft);border-radius:9px;gap:10px;padding:12px;display:grid}.exchange-tray h3{font-size:.98rem}.exchange-tray p{color:var(--muted);margin:4px 0 0;font-size:.75rem}.exchange-tray ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.exchange-tray li{border:1px solid var(--color-item);background:var(--white);border-radius:999px;padding:4px 8px;font-size:.7rem}.exchange-tray-actions{gap:8px;display:grid}.choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice-button{border:1px solid var(--line-strong);background:var(--white);cursor:pointer;border-radius:6px;min-height:52px;padding:9px;font-size:.9rem;font-weight:800}.choice-button:hover:not(:disabled),.choice-button.chosen{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.choice-button.chosen{box-shadow:inset 0 0 0 1px var(--teal)}.choice-button:disabled{cursor:not-allowed;opacity:.62}.submission-list{flex-wrap:wrap;gap:7px;display:flex}.submission-list span{border:1px solid var(--line);color:var(--muted);background:#f5f4f1;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:700}.submission-list span.submitted{background:var(--teal-soft);color:var(--teal-dark);border-color:#8fc7bf}.unanimous-panel{border-top:5px solid var(--yellow);background:var(--yellow-soft)}.round-score-list{gap:8px;display:grid}.round-score-list article{border-color:var(--line-strong);padding:10px}.round-score-list article>div{justify-content:space-between;gap:12px;display:flex}.round-score-list article>div span{color:var(--teal-dark);font-size:.87rem;font-weight:850}.round-score-list small{color:var(--muted);margin-top:5px;font-size:.71rem;display:block}.game-over-panel{text-align:center}.game-over-panel .section-kicker{color:var(--vermilion-dark)}.ranking-list{gap:8px;margin:20px 0;padding:0;list-style:none;display:grid}.ranking-list li{border:1px solid var(--line-strong);text-align:left;border-radius:6px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;display:grid}.ranking-list li strong{color:var(--vermilion-dark)}.ranking-list li span{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.ranking-list li em{color:var(--teal-dark);font-size:.9rem;font-style:normal;font-weight:850}.judgment-history{padding:14px}.judgment-history h2{margin:0 0 10px}.revealed-stage{border-top:1px solid var(--line);gap:4px;padding:9px 0;display:grid}.revealed-stage strong{font-size:.78rem}.revealed-stage span{color:var(--muted);font-size:.76rem;line-height:1.45}.game-waiting-panel{color:var(--muted);text-align:center}.game-waiting-panel p{margin:0}@media (width>=640px){.config-actions{grid-template-columns:minmax(180px,.65fr) minmax(220px,1fr)}.game-screen{padding:30px 24px 56px}.hand-dock-toggle{display:none}.hand-dock-body,.hand-dock-open .hand-dock-body{border:2px solid var(--ink);background:var(--white);border-radius:10px;gap:16px;max-height:none;padding:16px;display:grid;position:static;overflow:visible;box-shadow:5px 5px #17213f1a}.hand-dock-close,.hand-kind-tabs{display:none}.hand-group,.hand-group-active{display:grid}.hand-group-item{border-top:1px solid var(--line);padding-top:14px}.hand-card-button,.hand-card-readonly{width:190px;min-width:190px}.hand-item-actions{grid-template-columns:minmax(180px,1fr) minmax(150px,auto) minmax(150px,auto)}.exchange-tray-actions{grid-template-columns:minmax(140px,.5fr) minmax(220px,1fr)}.screen-header h1,.game-header h1{font-size:1.8rem}.game-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.core-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.item-board{grid-template-columns:repeat(5,minmax(0,1fr))}.board-slot{min-height:132px}.hand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.game-screen{grid-template-columns:minmax(0,1fr) 276px;align-content:start;column-gap:20px;display:grid}.screen-header,.game-header,.game-screen>.connection-banner,.phase-guide,.game-status-grid,.game-board,.hand-dock,.action-panel,.game-over-panel,.judgment-history,.game-waiting-panel{grid-column:1}.score-panel{grid-area:1/2/span 4;margin-top:0}.score-list{grid-template-columns:1fr}.game-board,.hand-dock,.action-panel,.game-over-panel,.judgment-history,.game-waiting-panel{margin-top:20px}}.redraw-choice{align-items:center;gap:7px;color:var(--teal-dark)!important;font-size:.78rem!important;display:flex!important}.redraw-choice input{width:17px;min-height:17px;accent-color:var(--teal);margin:0}.admin-screen{width:min(100%,940px);min-height:100svh;margin:0 auto;padding:24px 16px 48px}.admin-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-header h1{margin:3px 0 0;font-size:1.65rem}.admin-panel{border:2px solid var(--ink);background:var(--white);border-radius:10px;margin-top:22px;padding:18px;box-shadow:5px 5px #17213f1a}.admin-token-form{gap:10px;margin-top:16px;display:grid}.admin-token-form label{color:var(--ink);gap:7px;font-size:.8rem;font-weight:750;display:grid}.admin-actions,.admin-room-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-room-list{gap:10px;margin-top:16px;display:grid}.admin-room-list article{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.admin-room-summary{gap:3px;min-width:0;display:grid}.admin-room-summary strong{font-family:Roboto Mono,SFMono-Regular,Consolas,monospace;font-size:1rem}.admin-room-summary span,.admin-room-summary small{color:var(--muted);font-size:.75rem}.danger-button{background:var(--vermilion-soft);min-height:44px;color:var(--vermilion-dark);cursor:pointer;border:1px solid #e3a59a;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:.82rem;font-weight:750;display:inline-flex}.danger-button:disabled{cursor:not-allowed;opacity:.55}@media (width>=640px){.admin-screen{padding:36px 24px 56px}.admin-token-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:end}}
