:root{--bg:#8e96a0;--bg-mid:#c4c8ce;--ink:#1a1a1a;--ink-soft:#4a4a4a;--accent:#d4a010;--accent-deep:#a87c08;--accent-text:#1a1408;--panel:#e4e4e4;--title:#f5d24a;--title-deep:#e0a818;--title-ink:#1a1408;--title-border:#c49210;--composer:#d0d0d0;--paper:#fff;--paper-deep:#f3f3f3;--border:#8a8a8a;--border-soft:#b4b4b4;--chrome:#d8d8d8;--btn-face:#e8e8e8;--btn-ink:#1a1a1a;--shadow:0 16px 36px #14182047;--green:#2f8a2f;--yellow:#d4a010;--gray:#7a7a7a;--dot:#c4b060;--traffic-1:#c4b060;--traffic-2:#c4b060;--traffic-3:#c4b060;--font:Tahoma, Verdana, "Segoe UI", sans-serif;--title-font:Tahoma, Verdana, sans-serif;--display-font:Tahoma, "Trebuchet MS", sans-serif;--radius:2px;--bevel-hi:#fff;--bevel-lo:#6a6a6a;color:var(--ink);font-family:var(--font);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{color:var(--ink);font-family:var(--font);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-mid) 55%, transparent), transparent 28%), radial-gradient(circle at 20% 0%, var(--bg-mid), var(--bg) 78%);margin:0}button,input{font:inherit}.app-shell{place-items:stretch stretch;height:100dvh;min-height:100dvh;display:grid}.im-window{background:var(--panel);width:100%;height:100dvh;max-height:100dvh;color:var(--ink);border:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.title-bar{padding:8px 10px;padding-top:calc(8px + env(safe-area-inset-top));background:linear-gradient(180deg, var(--title), var(--title-deep));border-bottom:1px solid var(--title-border);color:var(--title-ink);flex:none;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid;position:relative}.title-bar h1{font-family:var(--title-font);text-align:center;letter-spacing:.02em;color:var(--title-ink);margin:0;font-size:1rem;font-weight:700}.traffic{gap:5px;display:flex}.traffic i{width:9px;height:9px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 22%, transparent);border-radius:50%}.traffic i:first-child{background:var(--traffic-1)}.traffic i:nth-child(2){background:var(--traffic-2)}.traffic i:nth-child(3){background:var(--traffic-3)}.options-wrap{z-index:21;position:relative}.options-btn{z-index:22;border:1px solid var(--title-border);background:var(--btn-face);width:36px;height:28px;color:var(--btn-ink);box-shadow:inset 1px 1px var(--bevel-hi), inset -1px -1px var(--bevel-lo);place-items:center;padding:0;display:grid;position:relative}.options-btn[aria-expanded=true]{box-shadow:inset 1px 1px var(--bevel-lo), inset -1px -1px var(--bevel-hi)}.options-bars{flex-direction:column;justify-content:center;gap:3px;display:flex}.options-bars i{background:currentColor;width:14px;height:2px;display:block}.options-backdrop{z-index:20;background:color-mix(in srgb, var(--ink) 12%, transparent);position:fixed;inset:0}.options-panel{z-index:22;background:var(--paper);width:min(260px,100vw - 20px);max-height:min(70dvh,480px);color:var(--ink);border:1px solid var(--border);box-shadow:inset 1px 1px var(--bevel-hi), inset -1px -1px var(--bevel-lo), var(--shadow);padding:8px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.options-section+.options-section{border-top:1px dotted var(--border-soft);margin-top:10px;padding-top:8px}.options-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;font-size:.7rem}.options-mute{border:1px solid var(--border);background:var(--btn-face);width:100%;min-height:40px;color:var(--btn-ink);box-shadow:inset 1px 1px var(--bevel-hi), inset -1px -1px var(--bevel-lo);align-items:center;gap:8px;padding:0 8px;display:flex}.options-mute svg{width:18px;height:18px}.theme-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.theme-item{width:100%;min-height:36px;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:0 8px;display:flex}.theme-item-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--paper));font-weight:700}.theme-swatch{border:1px solid var(--border);flex:none;grid-template-columns:10px 10px 10px;width:30px;height:14px;display:grid;overflow:hidden}.theme-swatch i{display:block}.theme-name{font-size:.92rem}.im-board-frame{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.im-board{overscroll-behavior:contain;background:var(--panel);flex-direction:column;flex:auto;gap:14px;min-height:0;padding:16px 14px 18px;display:flex;overflow:auto}.reaction-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.reaction-chip{border:1px solid var(--border-soft);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;animation:2s ease-out forwards reaction-float;display:flex;position:absolute;bottom:14%;transform:translate(-50%)}.reaction-chip-name{font-size:.86rem;font-weight:600}.reaction-chip-emoji{font-size:1.25rem;line-height:1}.reaction-strip{flex-wrap:wrap;justify-content:space-between;gap:4px;display:flex}.reaction-btn{border:1px solid var(--border);background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);border-radius:var(--radius);box-shadow:inset 1px 1px var(--bevel-hi), inset -1px -1px var(--bevel-lo);flex:calc(12.5% - 4px);padding:0;font-size:1.35rem;line-height:1}.reaction-btn:disabled{opacity:.45}.im-composer{padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--composer);flex-direction:column;flex:none;gap:10px;display:flex}.word-form,.invite-row,.signon-form,.signon-copy,.play-again{flex-shrink:0}.signon-copy,.signon-form,.word-form{flex-direction:column;gap:10px;display:flex}.brand-mark{width:88px;height:58px;color:var(--accent);align-self:center;margin-top:12px}.signon-copy h2,.win-copy{font-family:var(--display-font);text-align:center;margin:0}.lede,.hint,.buddy-state,.host-tag{color:var(--ink-soft)}.lede,.hint{text-align:center;margin:0;line-height:1.45}.field-label{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.text-input{border:1px solid var(--border);background:var(--paper);width:100%;color:var(--ink);border-radius:var(--radius);box-shadow:inset 1px 1px var(--bevel-lo), inset -1px -1px var(--bevel-hi);padding:12px}.primary-btn,.secondary-btn,.ghost-btn,.link-btn{border-radius:var(--radius);flex-shrink:0;place-items:center;min-height:46px;padding:0 14px;text-decoration:none;display:grid}.primary-btn{border:1px solid var(--accent-deep);background:linear-gradient(180deg, var(--accent), var(--accent-deep));color:var(--accent-text);box-shadow:inset 1px 1px var(--bevel-hi), inset -1px -1px var(--bevel-lo)}.secondary-btn{border:1px solid var(--border);background:var(--btn-face);color:var(--btn-ink);box-shadow:inset 1px 1px var(--bevel-hi), inset -1px -1px var(--bevel-lo);flex:1}.ghost-btn{color:var(--ink-soft);background:0 0;border:0;min-height:36px}.primary-btn:disabled,.secondary-btn:disabled{opacity:.5}.invite-row{gap:8px;display:flex}.buddy-list{background:var(--paper);border:1px solid var(--border-soft);margin:0;padding:8px;list-style:none}.buddy-row{border-bottom:1px dotted var(--border-soft);grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:8px 4px;display:grid}.buddy-actions{align-items:center;gap:8px;display:flex}.drop-btn{border:1px solid var(--border);background:var(--btn-face);color:var(--accent);min-height:28px;padding:0 8px;font-size:.72rem}.reveal-pass{color:var(--ink-soft);font-style:italic}.buddy-row:last-child{border-bottom:0}.buddy-name{font-weight:600}.host-tag{margin-left:6px;font-size:.72rem;font-style:normal;font-weight:400}.buddy-dot{width:9px;height:9px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:50%}.buddy-dot-green{background:var(--green)}.buddy-dot-yellow{background:var(--yellow)}.buddy-dot-gray{background:var(--gray)}.composer-status{align-items:center;gap:10px;display:flex}.status-lock{width:28px;height:28px;color:var(--accent);flex:none}.status-copy{font-family:var(--display-font);margin:0}.shackle{transform-origin:32px 16px;transition:transform .28s}.shackle-open{transform:rotate(-38deg)translate(-2px,-3px)}.round-words-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;font-size:.72rem}.reveal-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reveal-list li{background:var(--paper);border:1px solid var(--border-soft);color:var(--ink);align-items:baseline;gap:8px;padding:10px 12px;display:flex}.reveal-name{font-weight:600}.reveal-sep{color:var(--ink-soft)}.reveal-word{font-family:var(--display-font);letter-spacing:.04em}.reveal-win{background:color-mix(in srgb, var(--accent) 16%, var(--paper));border-color:var(--accent)}.reveal-win .reveal-word{color:var(--accent);font-weight:700}.round-words-win{animation:2.2s board-glow}.play-again{flex-direction:column;gap:8px;display:flex}.play-again-prompt{text-align:center;font-family:var(--display-font);margin:0}.play-again-roster{text-align:center;color:var(--ink-soft);margin:0 0 8px;font-size:.86rem}.play-again-board{animation:2.2s board-glow}.flip-in{animation:.28s flip-in}.win-banner{text-align:center;flex-shrink:0;padding:10px 8px 6px;position:relative;overflow:hidden}.win-silhouettes{width:64px;height:42px;color:var(--accent);margin:0 auto 4px}.silhouette-left,.silhouette-right{transform-box:fill-box;transform-origin:50%;animation:.7s both slide-in}.silhouette-right{animation-delay:80ms}.win-word{font-family:var(--display-font);color:var(--accent);margin:4px 0 0;font-size:1.45rem;animation:1.8s 2 pulse-word}.win-copy{margin:4px 0 0;animation:1.6s pulse-names}.star-burst{pointer-events:none;position:absolute;inset:0}.star{background:var(--yellow);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:8px;height:8px;animation:2.4s ease-out both burst;position:absolute;top:42%;left:50%}.star-8,.star-9,.star-10,.star-11,.star-12,.star-13,.star-14,.star-15{background:var(--accent);width:5px;height:5px}.star-0{--dx:-46px;--dy:-28px}.star-1{--dx:44px;--dy:-26px;animation-delay:40ms}.star-2{--dx:-52px;--dy:18px;animation-delay:70ms}.star-3{--dx:50px;--dy:16px;animation-delay:90ms}.star-4{--dx:0;--dy:-40px;animation-delay:50ms}.star-5{--dx:8px;--dy:36px;animation-delay:.11s}.star-6{--dx:-28px;--dy:34px;animation-delay:60ms}.star-7{--dx:30px;--dy:-38px;animation-delay:80ms}.star-8{--dx:-68px;--dy:-8px;animation-delay:.12s}.star-9{--dx:66px;--dy:-10px;animation-delay:.14s}.star-10{--dx:-20px;--dy:-52px;animation-delay:.16s}.star-11{--dx:22px;--dy:48px;animation-delay:.13s}.star-12{--dx:-58px;--dy:32px;animation-delay:.18s}.star-13{--dx:60px;--dy:30px;animation-delay:.15s}.star-14{--dx:4px;--dy:-58px;animation-delay:.2s}.star-15{--dx:-8px;--dy:52px;animation-delay:.17s}.im-board-celebrate{animation:2.4s board-glow}.error{color:var(--accent);text-align:center;margin:0}[data-theme=classic-yellow] .title-bar{background:linear-gradient(#ffe566 0%,#f0c020 55%,#e0a810 100%)}[data-theme=flame] .title-bar h1{letter-spacing:.04em;font-weight:800}[data-theme=ichat-aqua] .title-bar{background:linear-gradient(#d8f0f8 0%,#8ec8e0 42%,#5aa3c2 100%)}[data-theme=ichat-aqua] .buddy-list,[data-theme=ichat-aqua] .reveal-list li,[data-theme=ichat-aqua] .reaction-chip{background:color-mix(in srgb, #b8e4f5 42%, var(--paper));border-radius:12px}[data-theme=aol-4] .im-window,[data-theme=win95] .im-window{box-shadow:inset 2px 2px var(--bevel-hi), inset -2px -2px var(--bevel-lo), var(--shadow)}[data-theme=os9-platinum] .title-bar{background:repeating-linear-gradient(#c8c8ce 0 1px,#e8e8ee 1px 3px)}[data-theme=os9-platinum] .traffic i,[data-theme=ichat-aqua] .traffic i{box-shadow:inset 0 -1px #00000040}[data-theme=luna-blue] .title-bar{background:linear-gradient(#3a6ea5 0%,#245edb 38%,#0a246a 100%)}[data-theme=triton-dark] .title-bar{background:linear-gradient(#3a3a42 0%,#141418 100%)}[data-theme=away-message] .im-window{box-shadow:0 0 24px color-mix(in srgb, var(--accent) 22%, transparent)}[data-theme=bubblegum] .im-window{border:3px solid var(--accent)}[data-theme=flame] .title-bar{background:linear-gradient(#ff8a2a 0%,#ff4500 45%,#8b0000 100%)}@keyframes flip-in{0%{opacity:.4;transform:rotateX(80deg)}to{opacity:1;transform:none}}@keyframes slide-in{0%{transform:translateX(var(--from,-16px));opacity:0}to{opacity:1;transform:none}}.silhouette-right{--from:18px}.silhouette-left{--from:-18px}@keyframes pulse-word{0%{transform:scale(.86)}25%{transform:scale(1.08)}50%{transform:scale(1)}75%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse-names{0%{opacity:.35;transform:scale(.96)}40%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}35%{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.05);opacity:1}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1);opacity:0}}@keyframes board-glow{0%{background-color:#0000;box-shadow:inset 0 0 #0000}25%{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent);background-color:color-mix(in srgb, var(--paper) 45%, transparent)}to{background-color:#0000;box-shadow:inset 0 0 #0000}}@keyframes win-fade{0%{opacity:0}to{opacity:1}}@keyframes reaction-float{0%{opacity:0;transform:translate(-50%,18px)scale(.72)}12%{opacity:1;transform:translate(-50%)scale(1.1)}72%{opacity:1;transform:translate(-50%,-52px)scale(1)}to{opacity:0;transform:translate(-50%,-78px)scale(.96)}}@keyframes reaction-pop{0%{opacity:0;transform:translate(-50%)scale(.92)}10%{opacity:1;transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.win-banner,.win-word,.win-copy,.im-board-celebrate,.round-words-win,.play-again-board{animation:.5s both win-fade!important}.reaction-chip{animation:2s both reaction-pop!important}.star{opacity:.55;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy)))}}@media (width>=480px){.app-shell{place-items:center;padding:16px 12px}.im-window{border:1px solid var(--border);width:min(440px,100%);height:min(720px,100dvh - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow)}.title-bar{padding-top:8px}[data-theme=ichat-aqua] .im-window{border-radius:10px}}@media (width<=379px){.options-panel{width:min(280px,100vw - 16px);right:-6px}}
