/*! 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)))){*,::backdrop,:after,:before{--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-outline-style:solid}}}@layer theme{:host,:root{--font-sans:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,"Roboto Mono",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#e0e2e5;--color-surface:#fff;--color-surface-muted:#eef0f3;--color-line:#e4e6ea;--color-ink:#1f2328;--color-ink-muted:#5b6470;--color-ink-inverse:#fff;--color-accent:#a86417;--color-accent-strong:#a8481a;--color-accent-deep:#7a3410;--color-accent-soft:#f6ddc7;--color-accent-faint:#fbeee2;--color-danger:#dc2626;--color-danger-strong:#b91c1c;--color-danger-soft:#fdecec;--color-good-strong:#2b6140;--color-good-soft:#e7f2e9}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{color-scheme:light;--gutter:1rem;--tap-size:44px;--shell-max-width:960px}body,html{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);overscroll-behavior:none;margin:0;font-size:1rem;line-height:1.6}html[data-modal-open]{overflow:hidden}:focus{outline:2px solid var(--color-accent-deep);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.result-section{animation-delay:0s!important}.intro,.intro *{transition:none!important;animation:none!important}}.app-shell{width:100%;min-height:100svh;max-width:var(--shell-max-width);padding:max(1.25rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(1.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));flex-direction:column;margin-inline:auto;display:flex;position:relative}@media (min-width:768px){.app-shell{padding:max(3rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(3rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left))}}.app-header{flex:none;align-items:center;gap:.5rem;padding-block:.25rem .5rem;display:flex}.app-main{gap:.5rem}.app-main,.scroll-area{flex-direction:column;flex:auto;min-height:0;display:flex}.scroll-area{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:visible}.scroll-area>.result-sections,.scroll-area>.stack{width:100%}.app-footer{flex-direction:column;flex:none;gap:.5rem;padding-top:.5rem;display:flex}@media (min-width:1024px),(min-width:700px) and (max-height:560px){.app-shell,body{overflow:hidden}.app-shell{height:100dvh;height:min(100dvh,var(--app-height,100dvh));min-height:0}.scroll-area{overflow-y:auto}}.card{background-color:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;padding:.75rem}.stack{flex-direction:column;gap:.75rem;display:flex}.btn{min-height:48px;min-width:var(--tap-size);cursor:pointer;background-color:var(--color-surface);color:var(--color-ink);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding-inline:1rem;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background-color:var(--color-accent-strong);color:var(--color-ink-inverse)}.btn-secondary{background-color:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent-deep)}.btn-quiet{color:var(--color-ink-muted);background-color:#0000;font-weight:500}.btn-danger{background-color:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger-strong)}.btn-compact{min-height:var(--tap-size);padding-inline:.75rem;font-size:.875rem}.btn-share{background-color:var(--color-accent-strong);color:var(--color-ink-inverse);min-height:52px;font-size:1.0625rem}.btn-icon{width:var(--tap-size);min-width:var(--tap-size);padding-inline:0}.field{flex-direction:column;gap:.25rem;display:flex}.field-label{color:var(--color-ink-muted);font-size:.875rem;font-weight:600}.input,.select,.textarea{appearance:none;border:1px solid var(--color-line);background-color:var(--color-surface);width:100%;min-height:48px;color:var(--color-ink);border-radius:10px;padding:.5rem .75rem;font-family:inherit;font-size:1rem}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%235b6470' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px 8px;padding-right:2.25rem}input,select,textarea{font-size:1rem}::placeholder{color:var(--color-ink-muted);opacity:1}.input-code{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.checkbox-row{min-height:var(--tap-size);align-items:center;gap:.5rem;display:flex}.checkbox-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--color-accent-strong)}.muted{color:var(--color-ink-muted)}.muted,.notice{font-size:.875rem}.notice{background-color:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger-strong);border-radius:10px;padding:.5rem .75rem}.notice-info{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-deep)}.badge{background-color:var(--color-surface-muted);color:var(--color-ink-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.05rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-host{background-color:var(--color-accent-soft);color:var(--color-accent-deep)}.badge-offline{background-color:var(--color-danger-soft);color:var(--color-danger-strong)}.badge-self{background-color:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-muted)}.badge-fox{background-color:var(--color-accent-soft);color:var(--color-accent-deep)}.badge-human{background-color:var(--color-good-soft);color:var(--color-good-strong)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{letter-spacing:.02em;color:var(--color-accent-deep);font-size:.9375rem;font-weight:700}.page-title{font-size:1.375rem;font-weight:700;line-height:1.3}.page-title-compact{font-size:1.0625rem}.section-title{color:var(--color-accent-deep);margin-bottom:.375rem;font-size:1rem;font-weight:700}.lead{color:var(--color-ink-muted)}.home-section{flex-direction:column;gap:.75rem;display:flex}.home-section+.home-section{margin-top:1rem}.feature-list{margin:0;flex-direction:column;gap:.625rem;width:100%;max-width:30rem;margin-inline:auto;padding:0;list-style:none;display:flex}.feature-item{align-items:flex-end;gap:.5rem;display:flex}.feature-speaker{background-color:var(--color-surface-muted);width:28px;height:28px;color:var(--color-ink-muted);border-radius:999px;flex:none}.feature-bubble{background-color:var(--color-surface);border-radius:14px 14px 14px 3px;padding:.5rem .875rem;font-size:.9375rem;line-height:1.6;position:relative}.feature-bubble:after{content:"";background-color:inherit;clip-path:polygon(100% 0,100% 100%,0 100%);width:7px;height:11px;position:absolute;bottom:0;left:-6px}.intro{--intro-cycle:12s;width:100%;max-width:30rem;margin:0;margin-inline:auto}.intro-canvas{aspect-ratio:16/9;border:1px solid var(--color-line);background:var(--color-surface);pointer-events:none;width:100%;height:auto;font-family:var(--font-sans);border-radius:14px;display:block}.intro-cast{color:#c1c4c9}@supports (color:color-mix(in lab,red,red)){.intro-cast{color:color-mix(in srgb,var(--color-ink-muted) 38%,#fff)}}.intro-caption{fill:var(--color-accent-deep);text-anchor:middle;font-size:14px;font-weight:700}.intro-scene-number{fill:var(--color-ink-muted);text-anchor:start;font-size:10px;font-weight:700}.intro-scene{opacity:0;animation-duration:var(--intro-cycle);animation-timing-function:linear;animation-iteration-count:infinite}.intro-scene[data-scene="1"]{animation-name:intro-scene-1}.intro-scene[data-scene="2"]{animation-name:intro-scene-2}.intro-scene[data-scene="3"]{animation-name:intro-scene-3}.intro-scene[data-scene="4"]{opacity:1;animation-name:intro-scene-4}@keyframes intro-scene-1{0%,23%{opacity:1}25%,98%{opacity:0}to{opacity:1}}@keyframes intro-scene-2{0%,23%{opacity:0}25%,48%{opacity:1}50%,to{opacity:0}}@keyframes intro-scene-3{0%,48%{opacity:0}50%,73%{opacity:1}75%,to{opacity:0}}@keyframes intro-scene-4{0%,73%{opacity:0}75%,98%{opacity:1}to{opacity:0}}.intro-arrow,.intro-bubble,.intro-card,.intro-chip{transform-box:fill-box;transform-origin:50%;animation-duration:var(--intro-cycle);animation-timing-function:ease-out;animation-iteration-count:infinite;animation-delay:calc(var(--i) * .12s);animation-fill-mode:backwards}.intro-card{animation-name:intro-card-drop}.intro-card>rect{fill:var(--color-surface);stroke:var(--color-line);stroke-width:1px}.intro-card-word{fill:var(--color-ink);text-anchor:middle;font-size:11px;font-weight:700}.intro-card-minority>rect{fill:var(--color-accent-faint);stroke:var(--color-accent)}.intro-card-minority .intro-card-word{fill:var(--color-accent-deep)}@keyframes intro-card-drop{0%{opacity:0;transform:translateY(-9px)}23%,6%{opacity:1;transform:translateY(0)}26%,to{opacity:0;transform:translateY(0)}}.intro-question{fill:var(--color-surface-muted)}.intro-question-text{fill:var(--color-ink);text-anchor:middle;font-size:12px;font-weight:700}.intro-chip{animation-name:intro-chip-pop}.intro-chip>rect{fill:var(--color-surface-muted)}.intro-chip-text{fill:var(--color-ink);text-anchor:middle;font-size:11px}@keyframes intro-chip-pop{0%,26%{opacity:0;transform:translateY(4px)}31%,48%{opacity:1;transform:translateY(0)}51%,to{opacity:0}}.intro-bubble{animation-name:intro-bubble-in}.intro-bubble>path,.intro-bubble>rect{fill:var(--color-surface-muted)}.intro-bubble-text{fill:var(--color-ink);text-anchor:middle;font-size:11px}@keyframes intro-bubble-in{0%,51%{opacity:0;transform:translateY(4px)}56%,73%{opacity:1;transform:translateY(0)}76%,to{opacity:0}}.intro-arrow{animation-name:intro-arrow-in}.intro-arrow-shaft{fill:none;stroke:var(--color-accent-strong);stroke-width:2px;stroke-linecap:round}.intro-arrow-head{fill:var(--color-accent-strong)}@keyframes intro-arrow-in{0%,76%{opacity:0}80%,to{opacity:1}}.intro-fox{color:var(--color-accent);transform-box:fill-box;transform-origin:50%;animation:intro-fox-in var(--intro-cycle) ease-out infinite}.intro-fox-disc{fill:var(--color-accent-soft)}.intro-fox-label{fill:var(--color-accent-deep);text-anchor:middle;animation:intro-fox-label-in var(--intro-cycle) ease-out infinite;font-size:13px;font-weight:700}@keyframes intro-fox-in{0%,78%{opacity:0;transform:scale(.6)}84%,to{opacity:1;transform:scale(1)}}@keyframes intro-fox-label-in{0%,78%{opacity:0}84%,to{opacity:1}}.card-title{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;font-size:.9375rem;font-weight:700;display:flex}.card-body{color:var(--color-ink);font-size:.9375rem}.footer-note{text-align:center}.modal-overlay{z-index:50;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background-color:#1f23288c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background-color:var(--color-canvas);border:1px solid var(--color-line);border-radius:14px;flex-direction:column;width:100%;max-width:640px;min-height:0;max-height:100%;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--color-line);background-color:var(--color-surface);flex:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem .875rem;display:flex}.modal-title{font-size:1.125rem;font-weight:700}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:.75rem;overflow-y:auto}.modal-foot{border-top:1px solid var(--color-line);background-color:var(--color-surface);flex:none;padding:.5rem .75rem}.howto-step{align-items:flex-start;gap:.625rem;display:flex}.howto-step-number{background-color:var(--color-accent-strong);width:28px;height:28px;color:var(--color-ink-inverse);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:inline-flex}.howto-step-title{margin-bottom:.125rem;font-size:1rem;font-weight:700}.room-error{flex:none;margin-bottom:.25rem}.room-header{gap:.5rem}.room-code-block{flex-direction:column;min-width:0;line-height:1.1;display:flex}.room-code-label{color:var(--color-ink-muted);font-size:.6875rem}.room-code-value{letter-spacing:.12em;font-size:1.125rem;font-weight:700;font-family:var(--font-mono);color:var(--color-accent-deep)}.room-header-status{margin-left:auto}.code-hero,.room-header-status{align-items:center;gap:.5rem;display:flex}.code-hero{border:1px solid var(--color-accent);background-color:var(--color-accent-faint);text-align:center;border-radius:14px;flex-direction:column;padding:1rem .75rem}.code-hero-label{color:var(--color-accent-deep);font-size:.875rem;font-weight:600}.code-hero-value{letter-spacing:.16em;text-indent:.16em;font-size:clamp(2.5rem,14vw,3.5rem);font-weight:700;line-height:1.1;font-family:var(--font-mono);color:var(--color-accent-deep);overflow-wrap:anywhere}.code-hero-note{color:var(--color-ink-muted);font-size:.8125rem}.faction-breakdown{background-color:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-muted);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.75rem;display:flex}@media (min-width:360px){.faction-breakdown{gap:.375rem;padding:.625rem .875rem;font-size:.8125rem}}.faction-total{color:var(--color-ink);font-weight:700}.faction-count{border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-weight:600;display:inline-flex}.faction-minority{background-color:var(--color-accent-soft);color:var(--color-accent-deep)}.faction-majority{background-color:var(--color-good-soft);color:var(--color-good-strong)}.player-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.player-item{min-height:var(--tap-size);border:1px solid var(--color-line);background-color:var(--color-surface);border-radius:10px;align-items:center;gap:.5rem;padding:.25rem .5rem;display:flex}.player-name{overflow-wrap:anywhere;font-weight:600}.player-kick{margin-left:auto}.role-icon{flex:none;display:inline-flex}.avatar{background-color:var(--color-surface-muted);width:28px;height:28px;color:var(--color-ink-muted);border-radius:999px;flex:none;display:block}.avatar-lg{width:56px;height:56px}.avatar-minority{background-color:var(--color-accent-soft);color:var(--color-accent-deep)}.avatar-majority{background-color:var(--color-good-soft);color:var(--color-good-strong)}.room-body,.room-main{flex-direction:column;flex:auto;gap:.5rem;min-height:0;display:flex}.room-main{order:1}.room-main-compact{flex:none}.room-footer{order:3}.side-panel{flex-direction:column;flex:none;order:2;gap:.5rem;min-height:0;display:flex}.side-panel-grow{flex:auto}.side-panel-tabs{flex:none;gap:.375rem;display:flex}.side-panel-tab{min-height:var(--tap-size);border:1px solid var(--color-line);background-color:var(--color-surface);color:var(--color-ink-muted);border-radius:10px;flex:1 1 0;font-size:.875rem;font-weight:600}.side-panel-tab[aria-pressed=true]{border-color:var(--color-accent);background-color:var(--color-accent-soft);color:var(--color-accent-deep)}.side-panel-pane{flex-direction:column;flex:auto;gap:.25rem;min-height:0;display:flex}.side-panel-pane[data-active=false]{display:none}.side-panel-title{color:var(--color-ink-muted);flex:none;font-size:.8125rem;font-weight:700;display:none}.side-panel-single .side-panel-title{display:block}.note-pane{border:1px solid var(--color-accent);background-color:var(--color-surface);border-radius:12px;flex:none;gap:.375rem;padding:.5rem .75rem .4375rem;overflow:hidden}.side-panel-pane.note-pane[data-active=true]{flex:auto}@media (max-width:1023px){.side-panel-pane.note-pane{max-height:clamp(240px,45vh,420px)}.side-panel-grow .side-panel-pane.note-pane{max-height:clamp(312px,58.5vh,546px)}.side-panel-single:not(.side-panel-grow) .side-panel-pane.note-pane{max-height:clamp(176px,26vh,240px)}.side-panel-voting.side-panel-single:not(.side-panel-grow) .side-panel-pane.note-pane{max-height:clamp(229px,33.8vh,312px)}.room-body:has(.side-panel-grow .note-pane[data-active=true]) .side-panel-grow{flex:none}.room-body:has(.side-panel-grow .note-pane[data-active=true]) .room-main-compact{flex:auto}.room-body:has(.side-panel-grow .note-pane[data-active=true]) .shared-note{min-height:clamp(144px,30vh,371px)}.side-panel-single:not(.side-panel-grow) .shared-note{min-height:72px}.side-panel-voting.side-panel-single:not(.side-panel-grow) .shared-note{min-height:94px}}.note-pane .side-panel-title{color:var(--color-accent-deep)}.shared-note-wrap{flex-direction:column;flex:auto;gap:.125rem;min-height:0;display:flex}.shared-note{resize:none;overscroll-behavior:contain;background-color:#0000;border:0;border-radius:0;flex:auto;min-height:72px;padding:0;line-height:1.6;overflow-y:auto}.shared-note-meta{color:var(--color-ink-muted);flex:none;font-size:.75rem}.shared-note-readonly{color:var(--color-accent-deep);flex:none;font-size:.75rem;font-weight:700}.chat-panel{gap:.5rem;min-height:0}.chat-log,.chat-panel{flex-direction:column;flex:auto;display:flex}.chat-log{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--color-line);background-color:var(--color-surface);border-radius:12px;gap:.375rem;height:clamp(160px,25dvh,380px);min-height:44px;margin:0;padding:.375rem;list-style:none;overflow-y:auto}.chat-message{background-color:var(--color-surface-muted);border-radius:12px;flex-direction:column;gap:.0625rem;max-width:94%;padding:.375rem .625rem;display:flex}.chat-message-own{background-color:var(--color-accent-soft);border-bottom-right-radius:4px;align-self:flex-end;align-items:flex-end}.chat-message-other{border-bottom-left-radius:4px;align-self:flex-start}.chat-nickname{color:var(--color-ink-muted);font-size:.75rem;font-weight:700}.chat-body{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.9375rem;line-height:1.5}.chat-message-own .chat-body{text-align:right}.chat-empty{background-color:#0000;align-self:stretch;max-width:100%;font-size:.8125rem}.chat-form{flex:none;gap:.5rem;display:flex}.chat-input{min-width:0;min-height:var(--tap-size);flex:auto}.chat-send{flex:none}.flip-card{cursor:pointer;perspective:1200px;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.flip-card,.flip-inner{width:100%;min-height:168px;display:block}.flip-inner{transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:relative}.flip-card[aria-pressed=true] .flip-inner{transform:rotateY(180deg)}.flip-face{backface-visibility:hidden;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:1rem;display:flex;position:absolute;inset:0}.flip-front{border:2px dashed var(--color-accent);background-color:var(--color-surface);color:var(--color-accent-deep)}.flip-back{border:2px solid var(--color-accent);background-color:var(--color-accent-faint);color:var(--color-ink);transform:rotateY(180deg)}.word-card-caption{color:var(--color-ink-muted);font-size:.8125rem}.word-card-term{overflow-wrap:anywhere;font-size:clamp(1.75rem,8vw,2.25rem);font-weight:700;line-height:1.2}.word-card-mark{color:var(--color-accent-strong);font-size:2.5rem;font-weight:700}.word-card-reading{color:var(--color-ink-muted);font-size:.8125rem}@media (prefers-reduced-motion:reduce){.flip-inner{transform:none!important}.flip-face{backface-visibility:visible;transition:opacity .001ms}.flip-back{opacity:0;transform:none}.flip-card[aria-pressed=true] .flip-front{opacity:0}.flip-card[aria-pressed=true] .flip-back{opacity:1}}.opening-question{border:1px solid var(--color-accent);background-color:var(--color-accent-faint);color:var(--color-accent-deep);text-align:center;overflow-wrap:anywhere;border-radius:14px;padding:.75rem;font-size:clamp(1.125rem,5.5vw,1.5rem);font-weight:700;line-height:1.4}.opening-waiting{text-align:center;flex-direction:column;align-items:center;gap:.625rem;padding-block:1.75rem 1.25rem;display:flex}.opening-progress{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.opening-progress-dot{border:1px solid var(--color-accent);background-color:#0000;border-radius:999px;width:12px;height:12px}.opening-progress-dot.is-answered{background-color:var(--color-accent)}.opening-waiting-count{color:var(--color-accent-deep);font-size:.9375rem;font-weight:700}.opening-reveal-countdown{text-align:center;flex-direction:column;align-items:center;gap:.625rem;padding-block:1.75rem 1.25rem;display:flex}.opening-reveal-lead{color:var(--color-accent-deep);font-size:.9375rem;font-weight:700}.opening-reveal-countdown-number{font-variant-numeric:tabular-nums;color:var(--color-accent-deep);font-size:clamp(3.5rem,20vw,6rem);font-weight:700;line-height:1}.opening-reveal{margin-top:.5rem}.opening-reveal .section-title{margin-bottom:.5rem}.opening-answer-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.opening-answer-item{border:1px solid var(--color-line);background-color:var(--color-surface);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}.opening-answer-name{color:var(--color-ink-muted);overflow-wrap:anywhere;flex:none;font-size:.8125rem;font-weight:700;line-height:1.4}.opening-answer-body{overflow-wrap:anywhere;font-size:.9375rem;line-height:1.4}.opening-form{flex-direction:column;gap:.625rem;display:flex}.opening-form .input{width:100%;min-width:0}.opening-form .btn{white-space:nowrap;flex-shrink:0}.opening-form-note{font-size:.8125rem;line-height:1.5}.opening-word{background-color:var(--color-accent-faint);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:.125rem;margin:0;padding:.625rem .875rem .75rem;display:flex}.opening-word-label{letter-spacing:.04em;color:var(--color-accent-deep);font-size:.8125rem;font-weight:600}.opening-word-term{letter-spacing:-.01em;color:var(--color-ink);overflow-wrap:anywhere;font-size:clamp(1.5rem,8vw,2.25rem);font-weight:700;line-height:1.15}.opening-answer-panel .modal-title{color:var(--color-accent-deep);overflow-wrap:anywhere;font-size:1rem;line-height:1.45}.countdown-stage{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:.5rem;min-height:clamp(240px,60dvh,520px);display:flex}.countdown-lead{font-size:1rem}.countdown-lead,.countdown-number{color:var(--color-accent-deep);font-weight:700}.countdown-number{font-size:clamp(6.5rem,38vw,12rem);line-height:1;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.discussion-head{border:1px solid var(--color-accent);background-color:var(--color-accent-faint);border-radius:16px;min-height:clamp(120px,18dvh,240px);overflow:hidden}.discussion-head,.my-word-box{flex-direction:column;flex:auto;display:flex}.my-word-box{gap:.125rem;min-width:0;min-height:0;padding:.5rem 1rem .625rem}.my-word-label{letter-spacing:.04em;color:var(--color-accent-deep);flex:none;font-size:.8125rem;font-weight:600}.my-word{text-align:center;letter-spacing:-.01em;min-height:0;color:var(--color-ink);overflow-wrap:anywhere;flex:auto;justify-content:center;align-items:center;font-size:clamp(1.875rem,min(7vw,7.5vh),3.25rem);font-weight:700;line-height:1.1;display:flex}.timer-box{border-top:1px solid var(--color-accent);flex:none;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.25rem 1rem .4375rem;display:flex}.timer-label{color:var(--color-accent-deep);font-size:.8125rem;font-weight:600}.timer-value{font-size:clamp(2rem,min(7vw,5.5vh),2.5rem);font-weight:700;line-height:1.1;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--color-ink)}.timer-warning{border-top-color:var(--color-danger);background-color:var(--color-danger-soft)}.timer-warning .timer-label,.timer-warning .timer-value{color:var(--color-danger-strong)}.discussion-meta{flex-wrap:wrap;flex:none;align-items:center;gap:.5rem;display:flex}.hint-toggle{max-width:100%;min-height:var(--tap-size);border:1px solid var(--color-accent);background-color:var(--color-surface);cursor:pointer;border-radius:999px;flex:0 auto;align-items:center;gap:.375rem;padding:.25rem .875rem;font-size:.875rem;font-weight:600;display:inline-flex}.hint-body,.hint-toggle{color:var(--color-accent-deep)}.hint-body{border-left:3px solid var(--color-accent);background-color:var(--color-accent-soft);overflow-wrap:anywhere;border-radius:10px;flex:none;padding:.5rem .75rem;font-size:.9375rem;line-height:1.5}@media (min-width:768px) and (min-height:700px) and (max-width:1023px){.room-main-compact{flex:auto}}@media (max-height:620px){.my-word-box{padding:.375rem .75rem .5rem}.timer-box{padding:.125rem .75rem .3125rem}}.runoff-notice-panel{max-width:26rem}.runoff-notice-panel .modal-title{color:var(--color-accent-deep)}.ballot-box{border:1px solid var(--color-line);background-color:var(--color-surface-muted);border-radius:16px;overflow:hidden}.ballot-box-lid{border-bottom:1px solid var(--color-accent);background-color:var(--color-accent-faint);justify-content:center;align-items:center;padding-block:.6875rem;display:flex}.ballot-box-slot{background-color:var(--color-accent-deep);border-radius:999px;width:min(46%,160px);height:6px}.ballot-box-body{flex-direction:column;gap:.625rem;padding:.75rem;display:flex}.ballot-tally{flex-wrap:wrap;align-items:center;gap:.5rem .625rem;display:flex}.ballot-status{color:var(--color-accent-deep);font-size:.875rem;font-weight:600}.ballot-stack{align-items:flex-end;gap:3px;margin:0;padding:0;list-style:none;display:flex}.ballot-slip{border:1px solid var(--color-accent);opacity:.45;background-color:#0000;border-radius:2px;width:8px;height:12px}.ballot-slip.is-cast{background-color:var(--color-accent);opacity:1;animation:ballot-slip-drop .3s ease-out}@keyframes ballot-slip-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.vote-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.vote-option{background-color:var(--color-surface);border-color:var(--color-line);text-align:left;justify-content:flex-start;gap:.5rem;width:100%}.vote-option-picked{border-color:var(--color-accent);background-color:var(--color-accent-soft);color:var(--color-accent-deep);animation:ballot-cast .26s ease-out}@keyframes ballot-cast{0%{transform:translateY(-6px)scale(1.01)}to{transform:none}}.vote-option-self:disabled{opacity:1;background-color:var(--color-surface-muted);cursor:default}.vote-name{overflow-wrap:anywhere}.vote-picked-mark{background-color:var(--color-accent-strong);color:var(--color-ink-inverse);border-radius:999px;flex:none;align-items:center;gap:.25rem;margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:700;animation:ballot-stamp .32s ease-out backwards;display:inline-flex}.check-icon{flex:none;width:12px;height:12px}@keyframes ballot-stamp{0%{opacity:0;transform:scale(.72)}60%{opacity:1;transform:scale(1.06)}to{transform:none}}.awaiting-box{border:1px solid var(--color-accent);background-color:var(--color-accent-faint);color:var(--color-accent-deep);text-align:center;border-radius:12px;flex-direction:column;gap:.25rem;padding:.625rem .75rem;font-size:.9375rem;font-weight:600;display:flex}.result-scroll-area{scrollbar-width:none}.result-scroll-area::-webkit-scrollbar{display:none}.result-sections{flex-direction:column;gap:1.75rem;padding-bottom:.5rem;display:flex}@keyframes result-section-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.result-section{animation:result-section-reveal .6s ease-out backwards;animation-delay:calc(var(--reveal-index,0) * 3s)}.result-winner{color:var(--color-accent-deep);font-size:clamp(1.5rem,7vw,2rem);font-weight:700;line-height:1.2}.result-reason,.result-winner{text-align:center}.eliminated-block{border:1px solid var(--color-line);background-color:var(--color-surface);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.375rem;padding:1rem .75rem;display:flex}.eliminated-label{color:var(--color-ink-muted);font-size:.875rem;font-weight:600}.eliminated-name{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.75rem,13vw,4rem);font-weight:700;line-height:1.1}.outcome-block{border:1px solid var(--color-line);background-color:var(--color-surface);border-radius:16px;overflow:hidden}.outcome-block,.outcome-group{flex-direction:column;display:flex}.outcome-group{border-left:3px solid #0000;gap:.5rem;padding:.875rem 1rem}.outcome-group+.outcome-group{border-top:1px solid var(--color-line)}.outcome-group-won{border-left-color:var(--color-accent)}.outcome-title{letter-spacing:.06em;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.0625rem;font-weight:700;display:flex}.outcome-group-won .outcome-title{color:var(--color-accent-deep)}.outcome-faction,.outcome-group-lost .outcome-title{color:var(--color-ink-muted)}.outcome-faction{letter-spacing:.08em;background-color:var(--color-surface-muted);white-space:nowrap;border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:600}.outcome-group-won .outcome-faction{background-color:var(--color-accent-soft);color:var(--color-accent-deep)}.outcome-count{font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8125rem;font-weight:600}.outcome-list{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.outcome-item{background-color:var(--color-surface-muted);color:var(--color-ink-muted);overflow-wrap:anywhere;border-radius:999px;max-width:100%;padding:.25rem .625rem;font-size:.9375rem;line-height:1.5}.outcome-group-won .outcome-item{background-color:var(--color-accent-soft);color:var(--color-accent-deep);font-weight:700}.vote-graph{flex-direction:column;gap:.75rem;margin:0;display:flex}.vote-graph-stage{aspect-ratio:1;border:1px solid var(--color-line);background-color:var(--color-surface);background-image:radial-gradient(circle at 50% 48%,var(--color-accent-faint) 0,var(--color-surface) 70%);border-radius:20px;width:100%;max-width:min(22rem,100%);margin-inline:auto;position:relative}.vote-graph-canvas{width:100%;height:100%;display:block}.vote-graph-ring{fill:none;stroke:var(--color-accent);stroke-width:1px;stroke-dasharray:2 7;stroke-linecap:round;opacity:.3}.vote-graph-edge{color:var(--color-accent-strong)}.vote-graph-edge-hit{color:var(--color-danger-strong)}.vote-graph-line{fill:none;stroke:currentColor;stroke-linecap:round}.vote-graph-arrow{fill:currentColor;stroke:none}.vote-graph-node-halo{fill:none;stroke:var(--color-danger);stroke-width:1.5px;opacity:.45}.vote-graph-node-circle{fill:var(--color-surface);stroke:var(--color-line);stroke-width:1.5px}.vote-graph-node-label{fill:var(--color-ink);font-weight:700}.vote-graph-node-count{fill:var(--color-accent-deep);font-variant-numeric:tabular-nums;font-weight:700}.vote-graph-node-eliminated .vote-graph-node-circle{fill:var(--color-danger-soft);stroke:var(--color-danger-strong);stroke-width:2.5px}.vote-graph-node-eliminated .vote-graph-node-count{fill:var(--color-danger-strong)}.vote-graph-badge{aspect-ratio:1;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.vote-graph-badge .avatar{width:100%;height:100%;box-shadow:0 0 0 2px var(--color-surface)}.term-list{flex-direction:column;gap:.75rem;display:flex}.term-explanation{border:1px solid var(--color-accent);background-color:var(--color-surface);border-radius:12px;padding:.75rem}.term-title{color:var(--color-accent-deep);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.25rem;font-size:1.25rem;font-weight:700;display:flex}.term-difference{border-left:4px solid var(--color-accent);background-color:var(--color-accent-faint);border-radius:12px;margin-top:.75rem;padding:.75rem;font-size:1rem;line-height:1.7}.term-difference-label{color:var(--color-accent-deep);margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:block}@media (max-height:480px){.page-title{font-size:1.125rem}.flip-card,.flip-inner{min-height:116px}.code-hero{padding:.5rem}.intro{max-width:18rem}}@media (min-width:768px){.term-list{flex-direction:row}.term-explanation{flex:1 1 0}}@media (min-width:1024px),(min-width:700px) and (max-height:560px){.countdown-stage,.discussion-head{min-height:0}.room-body{grid-template:"main side"minmax(0,1fr)"foot side"/minmax(0,1fr) minmax(0,37%);gap:.75rem;display:grid}.room-main{flex:auto;grid-area:main;min-width:0;min-height:0}.room-footer{grid-area:foot}.side-panel{grid-area:side;min-width:0;max-width:380px;height:100%}.side-panel-tabs{display:none}.side-panel-pane[data-active=false]{display:flex}.side-panel-title{display:block}.note-pane{order:-1}.side-panel .side-panel-pane.note-pane{flex:0 auto;max-height:clamp(429px,54.6vh,663px)}.side-panel .side-panel-pane.chat-pane{flex:auto}.side-panel-grow.side-panel-single .side-panel-pane.note-pane{flex:auto;max-height:none}.side-panel-single:not(.side-panel-grow) .side-panel-pane.note-pane{max-height:clamp(184px,21vh,255px)}.side-panel-voting.side-panel-single:not(.side-panel-grow) .side-panel-pane.note-pane{max-height:clamp(460px,52.5vh,638px)}.side-panel-single:not(.side-panel-grow){align-self:start;height:auto}.chat-log{flex:1 1 0;height:auto}.shared-note{min-height:clamp(86px,27.3vh,390px)}.side-panel-single:not(.side-panel-grow) .shared-note{min-height:clamp(44px,10.5vh,150px)}.side-panel-voting.side-panel-single:not(.side-panel-grow) .shared-note{min-height:clamp(110px,26.25vh,375px)}.room-body-single{grid-template-columns:minmax(0,1fr);grid-template-areas:"main""foot"}}@media (min-width:700px) and (max-height:560px){.room-body:has(.side-panel-grow .note-pane[data-active=true]) .shared-note,.shared-note{min-height:clamp(44px,14vh,200px)}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}