:root{--ink:#0f172a;--muted:#475569;--panel:#ffffff4d;--panel-border:transparent;--line:#0f172a24;--line-strong:#0f172a42;--accent:#0f172a;--accent-dark:#1e293b;--surface:#f8fafc38;--shadow:0 12px 28px #0f172a0a;--radius:18px}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 0 0,#2563eb1f,#0000 28%),radial-gradient(circle at 85% 16%,#f973161a,#0000 24%),repeating-linear-gradient(90deg,#0f172a00,#0f172a00 22px,#0f172a06 22px 23px),#eef2ff linear-gradient(#f8fbff 0%,#eef2ff 100%);min-height:100%}body{color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font-family:SF Pro Display,Inter,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit;-webkit-tap-highlight-color:transparent}input,select,textarea{-webkit-user-select:text;user-select:text}textarea{resize:vertical;width:100%}button{cursor:pointer;color:#fff;letter-spacing:-.01em;background:linear-gradient(#1e293b 0%,#0f172a 100%);border:0;border-radius:14px;padding:.85rem 1rem;font-weight:800;transition:transform .14s,background .14s,border-color .14s,box-shadow .14s;box-shadow:0 10px 22px #0f172a24,inset 0 1px #ffffff14}button.secondary{color:var(--ink);background:linear-gradient(#ffffff85,#f8fafc57)}button.ghost{color:var(--ink);box-shadow:none;background:#ffffff29}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.pressed:not(:disabled){transform:translateY(1px)}@media (hover:hover){button:hover:not(:disabled){background:linear-gradient(#334155 0%,#111827 100%);transform:translateY(-1px);box-shadow:0 12px 24px #0f172a29}button.secondary:hover:not(:disabled),button.ghost:hover:not(:disabled){color:var(--ink);background:#ffffff6b}}.page-shell{z-index:1;width:min(1120px,100vw - 2rem);margin:0 auto;padding:1.5rem 0 2rem;position:relative}.hero{text-align:center;justify-items:center;gap:.55rem;padding:0 0 1.9rem;display:grid}.hero:after{content:"";background:linear-gradient(90deg,#0f172a 0%,#2563eb 58%,#f97316 100%);width:min(140px,34vw);height:6px;display:block}.hero-logo{filter:drop-shadow(0 16px 24px #0f172a2e);width:min(88vw,520px);height:auto;display:block}body.playing-game .hero{display:none}.eyebrow{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin:0;font-family:SF Mono,JetBrains Mono,Menlo,monospace;font-size:.68rem}h1,h2,h3{color:var(--ink);letter-spacing:-.04em;margin:0}h1{font-size:clamp(2.6rem,7vw,4.5rem);font-weight:900}.layout{gap:1.2rem;display:grid}body:not(.playing-game) .layout{align-content:start;justify-items:center;min-height:calc(100vh - 8rem)}.panel,.panel-lite,.empty-state,.emoji-option,button,.field input,.field select,.field textarea{border-radius:var(--radius)}.panel{background:var(--panel);box-shadow:var(--shadow);border:0}.panel-lite{background:#fff;border:0;padding:.9rem;box-shadow:inset 0 1px #ffffffb3,0 10px 24px #0f172a08}.stack{gap:1rem;display:grid}.stack.tight{gap:.45rem}#landing{width:min(560px,100%);padding:1.5rem;position:relative}.landing-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.field{gap:.5rem;display:grid}.field-label{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:800}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#ffffff57;border:0;padding:.9rem;box-shadow:inset 0 1px #ffffff47,0 1px #0f172a04}.field input::placeholder,.field textarea::placeholder{color:#475569bd}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #2563ebe6}.emoji-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.emoji-option{min-height:3.4rem;color:var(--ink);background:#ffffff57;border:0;padding:0;font-size:1.7rem;line-height:1;box-shadow:inset 0 1px #ffffff42,0 6px 16px #0f172a08}.emoji-option.active{color:#fff;background:linear-gradient(#1d4ed8 0%,#1e40af 100%);border-color:#1d4ed8}.profile-summary{justify-items:center;gap:.45rem;padding:.4rem 0 .8rem;display:grid}.profile-summary-emoji{background:linear-gradient(#ffffff61,#f1f5f933);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.75rem;line-height:1;display:inline-flex;box-shadow:0 8px 20px #0f172a0a}.profile-summary-name{letter-spacing:-.03em;text-align:center;font-size:1.05rem;font-weight:800}.create-actions{grid-template-columns:1fr;gap:.6rem;display:grid}.social-panel{gap:.85rem}.social-header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.icon-button{min-width:2.75rem;padding-inline:0;font-size:1.4rem;line-height:1}.notification-badge{color:#fff;text-align:center;background:#1d4ed8;border-radius:999px;min-width:2rem;padding:.35rem .65rem;font-size:.8rem;font-weight:800}.social-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem;display:grid}.social-list{gap:.6rem;display:grid}.social-card{background:#fff;border:0;border-radius:18px;gap:.7rem;padding:.9rem 1rem;display:grid;box-shadow:inset 0 1px #ffffffb3,0 10px 24px #0f172a08}.social-card-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.social-card-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.social-card-copy{min-width:0}.social-card-copy strong,.social-card-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.social-card-copy span{color:var(--muted);font-size:.84rem}.social-card-actions{flex-wrap:wrap;gap:.45rem;display:flex}.social-dismiss-button{justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;margin-left:auto;padding:0;font-size:1.5rem;line-height:1;display:inline-flex}.social-empty{color:var(--muted);background:#fff;border:0;border-radius:18px;margin:0;padding:.9rem 1rem;font-size:.9rem;box-shadow:inset 0 1px #ffffffb3,0 10px 24px #0f172a08}.field-hint{color:var(--muted);margin:-.35rem 0 0;font-size:.84rem;line-height:1.35}.empty-state{text-align:center;color:var(--muted);background:#f8fafc29;border:0;margin:0;padding:1rem}.hidden{display:none!important}.toast-stack{z-index:50;gap:.5rem;width:min(320px,100vw - 2rem);display:grid;position:fixed;top:1rem;right:1rem}.toast{color:#fff;background:#0f172af5;border:1px solid #ffffff14;border-radius:14px;padding:.75rem .9rem;font-size:.88rem;line-height:1.35;box-shadow:0 12px 28px #0f172a38}.toast-exit{opacity:0;transition:opacity .18s,transform .18s;transform:translateY(-4px)}@media (width<=700px){.page-shell{width:min(100vw - .8rem,100%);padding-bottom:1.25rem}.hero{padding-bottom:1.4rem}.hero:after{width:min(112px,36vw)}h1{font-size:clamp(2.15rem,12vw,3rem)}.landing-tools,.social-inline-form{grid-template-columns:1fr}.social-card-row{flex-direction:column;align-items:flex-start}.panel,.panel-lite,.empty-state,.emoji-option,button,.field input,.field select,.field textarea{border-radius:14px}}#connections-game,#connections-workshop-step{--connections-solid-surface:#fff;--connections-solid-surface-shadow:inset 0 1px 0 #ffffffb3, 0 10px 24px #0f172a08}#connections-workshop-step,#connections-room-lobby,#connections-game .connections-board-panel,#connections-game .connections-game-dock{position:relative}#connections-room-lobby{width:min(720px,100%);box-shadow:none;padding:1.25rem}#connections-game .connections-game-launcher,#connections-game .connections-record-board,#connections-game .connections-friend-invite-panel,.connections-custom-puzzle-card,#connections-game .connections-game-card,#connections-game #connections-lobby-options-panel,#connections-game .connections-friend-card,#connections-game .connections-record-row,#open-connections-workshop,#open-connections-room-workshop,#close-connections-workshop{background:var(--connections-solid-surface);box-shadow:var(--connections-solid-surface-shadow);padding:1rem}#connections-workshop-step{gap:1rem;display:grid}.connections-workshop-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.connections-custom-puzzle-list{gap:.7rem;display:grid}.connections-custom-puzzle-card{border:0;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem 1rem;display:grid}.connections-custom-puzzle-copy{gap:.2rem;display:grid}.connections-custom-puzzle-copy strong{font-size:.98rem}.connections-custom-puzzle-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}#connections-game .connections-game-launcher{gap:1rem;display:grid}#connections-game .connections-game-card{border:0;border-radius:18px;gap:.8rem;padding:1.1rem;display:grid}#connections-game .connections-game-card h3{letter-spacing:-.04em;font-size:1.24rem}#connections-game .connections-game-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.6rem;display:grid}#connections-game .connections-lobby-actions{grid-template-columns:1fr;margin-top:.2rem}#connections-game #connections-leave-room{color:#fff;background:linear-gradient(#1e293b 0%,#0f172a 100%);box-shadow:0 10px 22px #0f172a24,inset 0 1px #ffffff14}#connections-game .connections-chooser-button{text-align:left;justify-content:space-between;padding-inline:1rem}#connections-game #connections-lobby-options-panel{border:0;border-radius:14px;margin-top:.2rem;padding:.85rem}#connections-game .connections-puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}#connections-game .connections-puzzle-option{padding:.8rem .9rem}#connections-game .connections-puzzle-option.active{color:#fff;background:linear-gradient(#1d4ed8 0%,#1e40af 100%)}#connections-game .connections-record-board{gap:.75rem;display:grid}#connections-game .connections-record-list,#connections-game .connections-friend-invite-list{gap:.55rem;display:grid}#connections-game .connections-friend-card{border:0;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem .85rem;display:grid}#connections-game .connections-friend-card strong,#connections-game .connections-friend-card span{display:block}#connections-game .connections-friend-card span{color:#6b7280;font-size:.84rem}#connections-game .connections-record-row{border:0;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.75rem .85rem;display:grid}#connections-game .connections-record-rank{text-align:center;color:#1d4ed8;min-width:2rem;font-weight:800}#connections-game .connections-record-copy{gap:.18rem;min-width:0;display:grid}#connections-game .connections-record-copy strong,#connections-game .connections-record-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#connections-game .connections-record-copy span{color:#6b7280;font-size:.85rem}#connections-game .connections-game-grid{display:grid}#connections-game .connections-board-panel{background:linear-gradient(#ffffff38,#f8fafc1f);padding:1rem;box-shadow:0 14px 38px #0f172a09}#connections-game .connections-board-meta{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.8rem;display:flex}#connections-game .connections-hearts{flex-wrap:nowrap;flex:none;justify-content:flex-start;gap:.4rem;display:flex}#connections-game .connections-heart{background:#000;border-radius:50%;width:.8rem;height:.8rem;display:inline-block}#connections-game .connections-heart.spent{opacity:.18}#connections-game .connections-timer-pill{letter-spacing:.08em;white-space:nowrap;background:linear-gradient(#ffffff4d,#f1f5f92e);border:0;border-radius:18px;justify-content:center;align-items:center;min-width:5.6rem;padding:.45rem .8rem;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:0 6px 18px #0f172a08}#connections-game .connections-player-list{flex-wrap:nowrap;gap:.35rem;min-width:0;display:flex;overflow-x:auto}#connections-game #connections-player-list{justify-content:flex-end;margin-left:auto}#connections-game #connections-lobby-player-list{flex-wrap:wrap;justify-content:center;gap:.9rem;width:100%}#connections-game .connections-player-chip{white-space:nowrap;background:linear-gradient(#ffffff42,#f8fafc29);border:0;border-radius:999px;padding:.48rem .8rem;font-size:.8rem;font-weight:700;box-shadow:0 6px 18px #0f172a08}#connections-game .connections-player-chip.you{background:#2563eb24}#connections-game .connections-player-chip.leader{box-shadow:0 0 0 1px #0f172a14}#connections-game .connections-player-chip-avatar{min-width:72px;box-shadow:none;background:0 0;border:0;justify-items:center;gap:.25rem;padding:0;display:grid}#connections-game .connections-player-chip-avatar.you,#connections-game .connections-player-chip-avatar.leader{box-shadow:none;background:0 0}#connections-game .connections-player-avatar{background:linear-gradient(#ffffff47,#f1f5f924);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.85rem;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff38}#connections-game .connections-player-name{max-width:82px;color:var(--ink);text-align:center;word-break:break-word;font-size:.78rem;font-weight:700;line-height:1.15}#connections-game .connections-solved-list{gap:.8rem;margin-bottom:1rem;display:grid}#connections-game .connections-solved-group{color:var(--ink);border:0;border-radius:18px;padding:.95rem 1rem;box-shadow:inset 0 1px #ffffff1f,0 10px 18px #0f172a09}#connections-game .connections-solved-group h3{margin-bottom:.25rem;font-size:1rem}#connections-game .connections-submission-feedback{color:#1e3a8a;background:#2563eb1f;border:0;border-radius:14px;margin:.75rem 0 0;padding:.7rem .85rem;font-size:.88rem;line-height:1.4}#connections-game .connections-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}#connections-game .connections-card{min-height:88px;color:var(--ink);background:linear-gradient(#ffffff38,#f8fafc1f);border:0;border-radius:18px;justify-content:center;align-items:center;padding:.9rem .55rem;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex;box-shadow:inset 0 1px #ffffff3d,0 6px 16px #0f172a08}#connections-game .connections-card.assigned{background:var(--card-fill);color:var(--card-ink)}#connections-game .connections-card.locked{box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #0f172a1a,0 10px 18px #0f172a09}#connections-game .connections-card.just-locked{transform:scale(.98)}#connections-game .connections-card-word{width:100%;color:inherit;text-align:center;text-transform:uppercase;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance;font-size:clamp(1rem,2vw,1.3rem);font-weight:900;line-height:1.02;display:block}@media (hover:hover){#connections-game .connections-card:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff47,0 10px 22px #0f172a0a}}#connections-game .connections-game-dock{background:linear-gradient(#ffffff38,#f8fafc1f);gap:.65rem;margin-top:1rem;padding:.85rem;display:grid;box-shadow:0 14px 38px #0f172a09}#connections-game .connections-color-picker{grid-template-columns:repeat(5,auto);justify-content:center;gap:.06rem;width:fit-content;margin:0 auto;display:grid}#connections-game .connections-color-swatch{box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}#connections-game .connections-swatch-dot{background:var(--swatch-fill);width:40px;height:40px;color:var(--swatch-ink,var(--ink));border:0;border-radius:50%;justify-content:center;align-items:center;font-weight:900;display:inline-flex;box-shadow:inset 0 1px #ffffff73,0 8px 16px #0f172a0a}#connections-game .connections-color-swatch.active .connections-swatch-dot{box-shadow:inset 0 1px #ffffff73,0 0 0 3px #ffffff80,0 0 0 6px #2563eb24,0 10px 20px #0f172a0d}#connections-game .connections-color-swatch.locked .connections-swatch-dot{box-shadow:inset 0 1px #ffffff73,0 0 0 1px #1118271a,0 8px 16px #0f172a0a}#connections-game .connections-color-swatch.pressed .connections-swatch-dot,#connections-game .connections-color-swatch button.pressed .connections-swatch-dot{transform:translateY(1px)}#connections-game .connections-clear-dot{color:var(--ink);background:#fff6}#connections-game .connections-submit-row{display:grid}#connections-game .connections-submit-row button{width:100%}#connections-game .connections-dock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}#connections-game #colours-shapes-round-count{width:100%}#connections-game .colours-shapes-stage{gap:1rem;display:grid}#connections-game .colours-shapes-header{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}#connections-game .colours-shapes-header h3{letter-spacing:-.04em;font-size:clamp(1.2rem,3vw,1.8rem)}#connections-game .colours-shapes-prompt-card,#connections-game .colours-shapes-score-row{background:var(--connections-solid-surface);box-shadow:var(--connections-solid-surface-shadow);border-radius:20px;padding:1rem}#connections-game .colours-shapes-prompt-card{text-align:center;justify-items:center;gap:.9rem;display:grid}#connections-game .colours-shapes-question{letter-spacing:-.04em;font-size:clamp(1.2rem,4vw,2rem);font-weight:800}#connections-game .colours-shapes-figure{aspect-ratio:1;background:radial-gradient(circle at top,#ffffffe6,#ffffff8c),linear-gradient(#e2e8f0b3,#f1f5f9e6);border-radius:28px;place-items:center;width:min(260px,70vw);display:grid}#connections-game .colours-shapes-shape{--shape-fill:#2563eb;aspect-ratio:1;background:var(--shape-fill);width:58%}#connections-game .colours-shapes-shape.shape-circle{border-radius:999px}#connections-game .colours-shapes-shape.shape-square{border-radius:18px}#connections-game .colours-shapes-shape.shape-triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}#connections-game .colours-shapes-shape.shape-diamond{border-radius:18px;transform:rotate(45deg)}#connections-game .colours-shapes-shape.shape-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}#connections-game .colours-shapes-shape.shape-heart{border-radius:18px 18px 4px 4px;position:relative;transform:rotate(-45deg)}#connections-game .colours-shapes-shape.shape-heart:before,#connections-game .colours-shapes-shape.shape-heart:after{content:"";background:var(--shape-fill);border-radius:999px;width:100%;height:100%;position:absolute}#connections-game .colours-shapes-shape.shape-heart:before{top:-50%;left:0}#connections-game .colours-shapes-shape.shape-heart:after{top:0;left:50%}#connections-game .colours-shapes-result{color:#334155;min-height:1.5rem;font-weight:700}#connections-game .colours-shapes-scoreboard{gap:.6rem;display:grid}#connections-game .colours-shapes-score-row.you{outline:2px solid #2563eb3d}#connections-game .colours-shapes-score-copy{gap:.2rem;display:grid}#connections-game .colours-shapes-score-copy span{color:#64748b;font-size:.88rem}#connections-game .colours-shapes-answer-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}@media (width<=700px){.connections-workshop-actions,#connections-game .connections-lobby-actions,#connections-game .connections-game-card-actions,.connections-custom-puzzle-card{grid-template-columns:1fr}.connections-custom-puzzle-actions{justify-content:stretch}#connections-game .connections-puzzle-grid,#connections-game .connections-friend-card{grid-template-columns:1fr}#connections-game .connections-board{gap:.42rem}#connections-game .connections-card{min-height:76px;padding:.45rem .15rem}#connections-game .connections-card-word{font-size:clamp(.94rem,3.1vw,1.12rem);line-height:.92}#connections-game .connections-game-dock{gap:.45rem;padding:.55rem}#connections-game .connections-swatch-dot{width:36px;height:36px}#connections-game .connections-dock-actions{gap:.35rem}#connections-game .connections-dock-actions button{padding:.55rem .3rem;font-size:.72rem}#connections-game .colours-shapes-answer-form,#connections-game .colours-shapes-header{grid-template-columns:1fr}#connections-game .colours-shapes-prompt-card,#connections-game .colours-shapes-score-row{padding:.85rem}#connections-game .connections-player-list{gap:.3rem}#connections-game .connections-board-meta{gap:.45rem}#connections-game .connections-timer-pill{min-width:4.9rem;padding:.35rem .55rem;font-size:.82rem}}
