@layer components{.ptt-shell{inset-inline:0;background:var(--bg-page);height:100dvh;color:var(--fg);flex-direction:column;display:flex;position:fixed;top:0;overflow:hidden}.ptt-top{min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(4px, env(safe-area-inset-right)) 0 max(4px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--bg-page);flex:none;align-items:center;gap:4px;display:flex}.ptt-top-seats{flex:1;align-items:center;gap:12px;min-width:0;padding:4px;display:flex}.ptt-top-faces{flex:none;align-items:center;display:flex}.ptt-top-faces>*+*{margin-left:-8px}.ptt-top-names{flex:1;min-width:0}.ptt-plate{width:100%;min-height:36px;padding:6px max(16px, env(safe-area-inset-right)) 6px max(16px, env(safe-area-inset-left));border:0;border-bottom:1px solid var(--line);background:var(--bg-sunken);color:var(--fg-2);font-family:var(--font-sans);letter-spacing:.005em;text-align:center;cursor:pointer;transition:color var(--dur-1) var(--ease);flex:none;justify-content:center;align-items:center;gap:8px;font-size:.8125rem;line-height:1.5;display:flex}.ptt-plate svg{color:var(--fg-3);flex:none}@media (hover:hover){.ptt-plate:hover{color:var(--fg)}}.ptt-plate-mark{color:var(--accent);font-weight:600}@media (pointer:coarse){.ptt-plate{position:relative}.ptt-plate:after{content:"";position:absolute;inset:-4px 0}}.ptt-main{flex:1;min-height:0;display:flex}.ptt-center{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.ptt-scroll{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;flex:1;min-height:0;position:relative;overflow-y:auto}.ptt-col{width:100%;max-width:calc(var(--w-read) + 2 * var(--gutter));padding-right:max(var(--gutter), env(safe-area-inset-right));padding-left:max(var(--gutter), env(safe-area-inset-left));margin-inline:auto}.ptt-dock{z-index:1;padding-top:4px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--bg-page);flex:none;position:relative}.ptt-dock:before{content:"";background:linear-gradient(to top, var(--bg-page), transparent);pointer-events:none;height:32px;position:absolute;bottom:100%;left:0;right:0}.ptt-rail{display:none}@media (min-width:1024px) and (min-height:560px){.ptt-rail-seats{border-right:1px solid var(--line);background:var(--bg-sunken);flex-direction:column;flex:none;gap:12px;width:280px;padding:20px 16px;display:flex;overflow-y:auto}.ptt-only-compact{display:none}}@media (min-width:1360px) and (min-height:560px){.ptt-rail-side{border-left:1px solid var(--line);background:var(--bg-sunken);flex-direction:column;flex:none;gap:16px;width:320px;padding:20px 16px;display:flex;overflow-y:auto}.ptt-below-wide{display:none}}.ptt-face{transition:box-shadow var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease);position:relative}.ptt-face[data-lit=true]{box-shadow:0 0 0 2px var(--bg-page), 0 0 0 4px var(--gold)}.ptt-face[data-resting=true]{opacity:.45;filter:grayscale()}.ptt-face img{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.ptt-light{background:var(--line-strong);border-radius:9999px;flex:none;width:8px;height:8px;display:inline-block}.ptt-light[data-state=speaking]{background:var(--gold);box-shadow:0 0 0 3px var(--accent-soft)}.ptt-light[data-state=resting]{border:1px solid var(--line-strong);background:0 0}.ptt-place{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-raised);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.ptt-place-row{align-items:flex-start;gap:16px;padding:16px;display:flex}.ptt-place-row+.ptt-place-row{border-top:1px solid var(--line-subtle)}.ptt-name{color:var(--fg);font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;word-break:keep-all;overflow-wrap:break-word;font-size:1.25rem;font-weight:600;line-height:1.3}.ptt-name[data-size=lg]{font-size:1.5rem}.ptt-name[data-size=sm]{font-size:1.0625rem}.ptt-native :is(:lang(el),:lang(ru)){font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif}.ptt-native :lang(zh){font-family:PingFang TC,Microsoft JhengHei,Noto Sans CJK TC,Noto Sans TC,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.ptt-native{color:var(--fg-3);letter-spacing:.01em;overflow-wrap:anywhere;font-size:.8125rem;line-height:1.5}.ptt-mine{border-radius:var(--r-xl) var(--r-xl) var(--r-sm) var(--r-xl);background:var(--bg-hover);max-width:min(88%,560px);color:var(--fg);overflow-wrap:anywhere;white-space:pre-wrap;padding:12px 16px}.ptt-says-who{align-items:center;gap:12px;min-width:0;display:flex}.ptt-mark{border:1px solid var(--line-strong);min-height:1.5rem;color:var(--fg-2);letter-spacing:.005em;white-space:nowrap;border-radius:9999px;flex:none;align-items:center;padding:.125rem .5rem;font-size:.8125rem;font-weight:600;line-height:1;display:inline-flex}.ptt-bubble{border:1px solid var(--line);border-radius:var(--r-sm) var(--r-lg) var(--r-lg) var(--r-lg);background:var(--bg-raised);box-shadow:var(--shadow-1);color:var(--fg);margin-top:8px;padding:8px 16px}.ptt-bubble,.ptt-house{max-width:36em}.ptt-bubble:lang(ko),.ptt-house:lang(ko){max-width:31.5em}.ptt-line{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;margin:0;padding:6px 0;display:block}button.ptt-line{cursor:pointer;border-radius:var(--r-sm);transition:background-color var(--dur-1) var(--ease)}@media (hover:hover){button.ptt-line:hover{background:var(--bg-hover)}}@media (pointer:coarse){button.ptt-line{min-height:44px}}.ptt-word{animation:pttWord var(--dur-3) ease-out backwards}.ptt-dot{border:1px solid var(--gold);background:var(--accent-soft);vertical-align:.12em;border-radius:9999px;width:8px;height:8px;margin-left:6px;display:inline-block}button.ptt-line:hover .ptt-dot,button.ptt-line:focus-visible .ptt-dot{background:var(--gold)}.ptt-question{border-top:1px solid var(--line-subtle);color:var(--fg);overflow-wrap:anywhere;margin-top:6px;padding:12px 0 6px;font-weight:500}.ptt-dots{flex:none;align-items:center;gap:4px;height:1lh;display:inline-flex}.ptt-dots i{background:var(--accent);border-radius:9999px;width:5px;height:5px;animation:1.2s ease-in-out infinite pttDot}.ptt-dots i:nth-child(2){animation-delay:.15s}.ptt-dots i:nth-child(3){animation-delay:.3s}.ptt-gold,.ptt-label{--ptt-edge:color-mix(in srgb, var(--accent) 26%, transparent)}.ptt-gold{border:1px solid var(--ptt-edge);border-radius:var(--r-lg);background:var(--bg-raised);box-shadow:var(--shadow-1);flex-direction:column;gap:16px;margin:0;padding:20px;display:flex}.ptt-gold-who{align-items:center;gap:12px;display:flex}.ptt-face[data-ring=true]{border-color:var(--accent-line)}.ptt-gold-words{color:var(--fg);font-family:var(--font-display);text-wrap:pretty;overflow-wrap:anywhere;margin:0;font-size:clamp(1.1875rem,.5cqi + 1.0875rem,1.375rem);font-weight:600;line-height:1.5}.ptt-gold-words:is(:lang(ko),:lang(ja),:lang(zh)){letter-spacing:-.01em;word-break:keep-all;line-height:1.62}.ptt-gold-mark{color:var(--gold)}.ptt-gold-label{flex-wrap:wrap;align-items:center;gap:0 12px;margin-top:-4px;display:flex}.ptt-gold-original{color:var(--fg-2);overflow-wrap:anywhere;margin:-8px 0 0;font-size:1rem;line-height:1.6}.ptt-gold-source{border-top:1px solid var(--ptt-edge);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 16px;min-height:48px;margin:0 -20px -16px;padding:4px 20px;display:flex}.ptt-label{color:var(--accent);align-items:center;gap:12px;display:flex}.ptt-label:after{content:"";background:var(--ptt-edge);flex:1;min-width:24px;height:1px}.ptt-textlink{min-height:44px;color:var(--accent);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:.9375rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}@media (hover:hover){.ptt-textlink:hover{color:var(--accent-strong)}}.ptt-summary{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-raised);padding:16px}.ptt-differ{color:var(--accent);letter-spacing:.005em;align-items:center;gap:12px;font-size:.8125rem;font-weight:600;line-height:1.5;display:flex}.ptt-differ:before,.ptt-differ:after{content:"";background:var(--accent-line);flex:1;height:1px}.ptt-house{border-left:2px solid var(--line-strong);padding-left:12px}.ptt-house-label{color:var(--fg-3);letter-spacing:.02em;font-size:.8125rem;font-weight:600;line-height:1.5}.ptt-row{border-radius:var(--r-md);width:100%;min-height:44px;color:var(--fg-2);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:0;align-items:center;gap:12px;text-decoration:none;display:flex}.ptt-row:active{background:var(--bg-hover)}@media (hover:hover){.ptt-row:hover{background:var(--bg-hover);color:var(--fg)}}.ptt-quiet{width:100%;min-height:44px;color:var(--fg-3);font-family:var(--font-sans);letter-spacing:.005em;text-align:left;cursor:pointer;transition:color var(--dur-1) var(--ease);background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;font-size:.8125rem;line-height:1.5;display:flex}.ptt-quiet svg{flex:none}@media (hover:hover){.ptt-quiet:hover{color:var(--accent)}}.ptt-say{border:1px solid var(--line);border-radius:var(--r-md);width:100%;min-height:48px;color:var(--fg);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.9375rem;line-height:1.5;display:flex}.ptt-say:active{transform:scale(.99)}.ptt-say:disabled{color:var(--fg-disabled);cursor:default}@media (hover:hover){.ptt-say:not(:disabled):hover{border-color:var(--accent-line);background:var(--bg-hover)}}.ptt-composer{border:1px solid var(--line-strong);background:var(--field-bg);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:30px}.ptt-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ptt-composer textarea{resize:none;width:100%;color:var(--fg);caret-color:var(--accent);overflow-wrap:anywhere;background:0 0;border:0;outline:none;font-size:max(16px,1rem);line-height:1.5;display:block}.ptt-composer textarea::placeholder{color:var(--fg-3);opacity:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ptt-bar{border:1px solid var(--line);background:var(--bg-raised);min-height:60px;color:var(--fg-2);border-radius:30px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 8px 8px 20px;display:flex}.ptt-bar-text{flex:12em;min-width:0}.ptt-bar>:last-child:not(:first-child){margin-left:auto}.ptt-tile{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-raised);width:100%;min-height:88px;box-shadow:var(--shadow-1);color:var(--fg);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);align-items:flex-start;gap:12px;padding:16px;display:flex;position:relative}.ptt-tile:active{transform:scale(.99)}@media (hover:hover){.ptt-tile:hover{border-color:var(--accent-line);transform:translateY(-2px)}}.ptt-tile[data-on=true]{border-color:var(--accent);background:var(--accent-soft)}.ptt-tile-check{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--fg-3);transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border-radius:9999px;flex:none;justify-content:center;align-items:center;display:flex}.ptt-tile[data-on=true] .ptt-tile-check{background:var(--btn-bg);color:var(--btn-fg);border-color:#0000}.ptt-tray{inset-inline:0;z-index:30;padding:12px max(var(--gutter), env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--bg-elevated);box-shadow:var(--shadow-2);position:fixed;bottom:0}.ptt-tray-grid{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"seats go""note note";align-items:center;gap:8px 12px;display:grid}.ptt-tray-seats{grid-area:seats;align-items:flex-start;gap:8px;display:flex}.ptt-tray-note{grid-area:note;min-width:0}.ptt-tray-go{grid-area:go;min-width:0}.ptt-tray-short{display:none}@media (max-width:479.98px){.ptt-tray-grid{grid-template-areas:"seats note""go go"}}@media (max-width:22.49em),(min-width:1024px){.ptt-tray-long{display:none}.ptt-tray-short{display:inline}}@media (min-width:1024px){.ptt-tray-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""seats""go""note";gap:16px}.ptt-tray-label{grid-area:label}.ptt-tray-seats{flex-direction:column;gap:12px}}.ptt-chair{border:1px dashed var(--line-strong);width:44px;height:44px;color:var(--fg-3);border-radius:9999px;flex:none;justify-content:center;align-items:center;display:flex}.ptt-chair[data-state=taken]{cursor:pointer;background:0 0;border:0;position:relative}.ptt-chair-x{border:1px solid var(--line);background:var(--bg-elevated);width:20px;height:20px;color:var(--fg-2);border-radius:9999px;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}@media (min-width:1024px){.ptt-lobby{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:40px;display:grid}.ptt-tray{z-index:1;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--bg-raised);box-shadow:var(--shadow-1);padding:20px;position:sticky;inset:96px auto auto}}.ptt-tray-room{height:calc(184px + env(safe-area-inset-bottom))}@media (min-width:1024px){.ptt-tray-room{display:none}}.ptt-stage{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--bg-sunken);position:relative;overflow:hidden}.ptt-stage-scroll{overscroll-behavior:contain;max-height:min(560px,68dvh);padding:20px;position:relative;overflow-y:auto}.ptt-stage-bar{border-bottom:1px solid var(--line);background:var(--bg-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:52px;padding:4px 8px 4px 20px;display:flex}.ptt-figure{color:var(--accent);font-family:var(--font-display);font-size:1.75rem;font-weight:600;line-height:1}.ptt-switch{border:1px solid var(--line-strong);background:var(--bg-sunken);cursor:pointer;width:52px;height:32px;transition:background-color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);border-radius:9999px;flex:none;padding:0;display:inline-flex;position:relative}.ptt-switch:after{content:"";background:var(--fg-3);width:24px;height:24px;transition:transform var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);border-radius:9999px;position:absolute;top:3px;left:3px}.ptt-switch[aria-checked=true]{background:var(--btn-bg);border-color:#0000}.ptt-switch[aria-checked=true]:after{background:var(--btn-fg);transform:translate(20px)}@media (pointer:coarse){.ptt-switch:before{content:"";position:absolute;inset:-6px -4px}}.ptt-check{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;display:flex}.ptt-check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:1px 0 0}.ptt-area{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--field-bg);width:100%;min-height:88px;color:var(--fg);font-family:var(--font-sans);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);outline:none;padding:12px 14px;font-size:max(16px,1rem);line-height:1.6;display:block}.ptt-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ptt-scroll-x{overscroll-behavior-x:contain;overflow-x:auto}.ptt-grid{margin-top:1.5rem}.ptt-all{margin-top:2.5rem;display:none}.ptt-picker:has([data-testid=favorites-group],.ptt-between) .ptt-all{display:block}.ptt-picker:has([data-testid=favorites-group],.ptt-between) .ptt-all+.ptt-grid{margin-top:.75rem}}.ptt-scope input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.ptt-scroll-x,.ptt-shell .pt-chip-row,.ptt-scope .pt-chip-row{scrollbar-width:none}.ptt-scroll-x::-webkit-scrollbar{display:none}.ptt-shell[data-short=true] .ptt-hide-short{display:none}.ptt-shell[data-short=true] .ptt-dock{padding-bottom:8px}.ptt-composer textarea:focus-visible:not([tabindex="-1"]),.ptt-area:focus-visible:not([tabindex="-1"]){outline:none}.ptt-plate:focus-visible:not([tabindex="-1"]){outline-offset:-3px}:root:has(.ptt-shell) .pt-help-fab{display:none}@media (max-width:1023.98px){:root:has(.ptt-tray) .pt-help-fab{display:none}}@keyframes pttWord{0%{opacity:0}to{opacity:1}}@keyframes pttDot{0%,80%,to{opacity:.3;transform:translate(0,0)}40%{opacity:1;transform:translateY(-3px)}}
