@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@500;600;700;800;900&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#382e35;background:#fff9f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,DM Sans,sans-serif}h1{font-size:clamp(2.15rem,4vw,3.3rem);line-height:1.14;letter-spacing:-.047em}h2{font-size:1.35rem;margin:0;font-weight:900;letter-spacing:-.025em}h3{font-size:1.05rem;margin:0;font-weight:900}p{line-height:1.6}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 23%,#fff1db 0,transparent 28%),radial-gradient(circle at 91% 3%,#f8ebf5 0,transparent 22%),#fff9f2}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:22px max(24px,calc((100% - 1200px)/2));border-bottom:1px solid #f1e4db;background:#fffcf8b3}.wordmark{background:none;border:0;color:#39313b;font-weight:900;font-family:Nunito,sans-serif;font-size:1.35rem;letter-spacing:-.045em;text-align:left;padding:0}.wordmark-icon{display:inline-grid;place-items:center;background:#f4c0c9;color:#a94a69;border-radius:13px;width:34px;height:34px;margin-right:8px}.wordmark-soft{font-weight:600;color:#967d87;margin-left:4px}.header-subtitle,.muted{color:#857782}.header-subtitle{font-size:.86rem}.header-side{display:flex;align-items:center;gap:18px}.connection{display:flex;align-items:center;gap:7px;font-size:.8rem;color:#456950}.status-dot,.player-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#6bb38c;flex:none}.connection.offline{color:#af6a64}.connection.offline .status-dot,.player-dot.inactive{background:#d4c4c0}.small-link{border:0;background:none;color:#836775;text-decoration:underline;font-size:.82rem}.main-content{width:min(1200px,100%);padding:44px 24px 70px;margin:0 auto;flex:1}.landing{display:grid;grid-template-columns:1fr 440px;gap:65px;align-items:center;min-height:610px}.hero{padding:20px 2% 30px 0;position:relative}.hero h1{max-width:680px;font-size:clamp(2.7rem,5vw,4.6rem);margin:18px 0 22px}.hero h1 em{font-style:normal;color:#c47290}.hero p{max-width:500px;font-size:1.05rem;color:#786c78}.hero-doodles{display:flex;gap:62px;color:#e8b2b8;font-size:3rem;transform:rotate(-10deg);padding-left:25px;opacity:.85}.hero-doodles span:nth-child(2){color:#9fc7b5;transform:translateY(23px)}.eyebrow{font-size:.73rem;font-weight:900;letter-spacing:.16em;color:#b37584}.surface{border:1px solid #efdfd6;background:#fffefa;border-radius:26px;box-shadow:0 12px 40px #60423e0b}.entry-panel{padding:32px}.entry-panel>h2{font-size:1.65rem;margin-bottom:4px}.entry-panel>.muted{font-size:.9rem;margin-bottom:28px}.field-label{display:block;font-size:.82rem;font-weight:800;margin:18px 0 10px}.text-input{border:1.5px solid #eee1db;background:#fffdfa;color:#40313e;border-radius:13px;padding:14px 16px;min-width:0;width:100%;outline:0;transition:border-color .18s,box-shadow .18s}.text-input:focus{border-color:#c97d99;box-shadow:0 0 0 3px #fadfe7}.text-input::placeholder{color:#baaab1}.avatars{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.avatar-option{height:49px;font-size:1.55rem;background:#fff8f3;border:2px solid transparent;border-radius:14px;transition:transform .15s}.avatar-option:hover{transform:translateY(-2px)}.avatar-option.active{border-color:#d981a0;background:#fae7ee}.entry-actions{margin-top:26px}.btn{border:0;border-radius:13px;min-height:46px;padding:11px 18px;font-size:.9rem;font-weight:800;transition:transform .14s,box-shadow .14s}.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 12px #46283c1f}.btn-primary{color:#fff;background:#c87994}.btn-secondary{background:#f3e7ee;color:#985e75}.btn-victory{background:#b7d9bb;color:#2e674e;min-width:155px;font-size:1.15rem}.entry-actions>.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.separator{display:flex;align-items:center;gap:12px;text-align:center;font-size:.78rem;color:#a5959f;margin:21px 0 12px}.separator:before,.separator:after{content:"";height:1px;flex:1;background:#eadedb}.inline-form{display:flex;gap:8px}.inline-form>.btn{flex:none}.room-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.room-heading h1{margin:8px 0 5px;font-size:2.65rem}.room-heading p{font-size:.94rem;margin:0}.room-code{padding:15px 20px;border:1px dashed #e4b0b6;background:#fff2f1;border-radius:18px;display:flex;flex-direction:column;gap:4px;min-width:195px;align-items:flex-start}.room-code>span{font-size:.71rem;color:#9f7880}.room-code>strong{font-size:1.17rem;letter-spacing:.03em;font-weight:900}.copy-button{padding:5px 0;border:0;background:none;color:#b66d85;font-size:.76rem;text-decoration:underline}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:23px;align-items:start}.primary-column{min-width:0}.panel{padding:29px}.section-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.section-heading>div:nth-child(2){flex:1}.section-heading p{font-size:.82rem;margin:2px 0 0}.section-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;font-size:1.4rem;flex:none}.pink{background:#fde9ee;color:#cb7f9b}.purple{background:#eee8fc;color:#8e76ad}.mint{background:#e1f1e9;color:#69a78a}.pill{border-radius:99px;padding:7px 10px;background:#fff2e8;color:#927b6e;font-size:.75rem;font-weight:800;white-space:nowrap}.possibility-form{display:flex;gap:9px;margin-bottom:18px}.possibility-form>.btn{white-space:nowrap}.possibilities-list{display:flex;flex-direction:column;max-height:440px;overflow-y:auto;border-top:1px solid #f3ebe6}.possibility-line{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid #f3ebe6}.item-index{font-weight:800;color:#c4b0b7;font-size:.79rem}.possibility-text{flex:1;font-size:.91rem;overflow-wrap:anywhere}.byline{font-size:.72rem;color:#aa9aa2;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn{border:0;background:#fff1f1;border-radius:9px;color:#ad7a7a;height:27px;width:27px;font-size:1.2rem}.panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:21px;margin-top:10px;border-top:1px solid #f2e8e3}.panel-footer .muted,.panel-footer>span{font-size:.81rem}.empty-state{padding:36px 12px;text-align:center;color:#9c8992}.empty-state h3{color:#60505a;margin:6px 0}.empty-state p{font-size:.86rem;max-width:300px;margin:0 auto}.empty-illustration{font-size:3rem;color:#e3b5c2}.sidebar{display:flex;flex-direction:column;gap:20px}.side-panel{padding:23px}.sidebar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sidebar-title h2{font-size:1.13rem}.player-list{display:flex;flex-direction:column;gap:4px;max-height:500px;overflow-y:auto}.player-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f6eeea}.player-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:14px;background:#fff0e5;font-size:1.3rem;flex:none}.player-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.player-info strong{font-size:.87rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.you{font-weight:500;color:#9e8b95}.player-info small{font-size:.7rem;color:#97878d}.remove-inactive{font-size:.67rem;border:0;border-radius:7px;background:#ffe9e8;color:#a64d53;padding:4px 5px}.ready-summary{padding:17px 0 0;margin-top:10px;border-top:1px solid #eee4e2}.ready-head{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:10px}.progress-track{background:#f6e9e8;height:9px;border-radius:999px;overflow:hidden}.progress-track>div{height:100%;background:#9bc9ad;border-radius:999px;transition:width .25s}.ready-summary small{color:#a3959a;font-size:.71rem;display:block;margin-top:8px}.aside-tip{background:#f6edf9;border:1px solid #ecdef0;border-radius:22px;padding:23px;color:#746177}.aside-tip>span{font-size:1.5rem}.aside-tip h3{margin:8px 0}.aside-tip p{font-size:.83rem;margin:0}.subtle-note{padding:0 9px;font-size:.73rem;color:#a7979c}.select-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:420px;overflow-y:auto}.select-option{display:flex;align-items:center;gap:9px;border:1.5px solid #f1e3e0;border-radius:12px;padding:13px;background:#fffefa;cursor:pointer;font-size:.84rem}.select-option.chosen{background:#f8eaf1;border-color:#d8a3b6}.select-option input{accent-color:#c87994;width:16px;height:16px;flex:none}.confirmation-block{text-align:center;padding:22px 0}.confirm-symbol{width:65px;height:65px;display:grid;place-items:center;margin:0 auto 13px;background:#e2f2e8;color:#519372;border-radius:50%;font-size:2.3rem;font-weight:900}.confirmation-block h3{font-size:1.35rem}.confirmation-block>p{font-size:.84rem}.chosen-tags{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:22px auto;max-width:570px}.chosen-tags span{padding:7px 10px;border-radius:10px;background:#fff2e8;font-size:.73rem}.all-ready-footer{margin-top:24px}.game-panel{max-width:780px}.bingo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:auto;max-width:625px}.bingo-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;aspect-ratio:1/1;border:2px solid #f1dfdd;border-radius:20px;background:#fff9f5;color:#4c3c45;padding:16px 10px;transition:background .13s,border-color .13s,transform .13s}.bingo-cell:not(:disabled):hover{transform:scale(1.014);border-color:#e2a6b9}.bingo-cell.checked{background:#e3f3e7;border-color:#90bf9b}.bingo-cell.free{border-color:#f1c0cc;background:#fae3ec;opacity:1;color:#b66a86}.cell-phrase{font-size:clamp(.72rem,1.45vw,.94rem);font-weight:700;line-height:1.33;overflow-wrap:anywhere;text-align:center}.checkmark{position:absolute;right:10px;bottom:7px;color:#79aa85;font-size:1rem}.center-star{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:1.8rem;line-height:1}.center-star strong{font-size:clamp(1rem,2vw,1.45rem);letter-spacing:.01em}.center-star small{font-size:.65rem;letter-spacing:.12em}.game-controls{display:flex;justify-content:space-between;align-items:center;max-width:625px;gap:24px;margin:24px auto 0}.game-controls>div{flex:1;font-size:.88rem}.game-controls .progress-track{margin-top:10px}.result-panel{text-align:center;padding:60px 25px}.result-panel h2{font-size:2.5rem;margin:9px 0 25px}.confetti{font-size:2rem;color:#dfa5b9}.winner-avatar{display:grid;place-items:center;width:108px;height:108px;font-size:4rem;margin:0 auto 17px;border-radius:50%;background:#f9e6ee}.result-panel>h3{font-size:1.8rem}.result-panel>p{font-size:.91rem}.result-panel>.btn{margin-top:17px}.new-round-menu{border:1px solid #eedfda;border-radius:17px;padding:20px;max-width:450px;margin:20px auto 0;background:#fffaf5}.new-round-menu p{font-size:.82rem}.new-round-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.notice{padding:12px 16px;border-radius:12px;display:flex;justify-content:space-between;gap:10px;margin-bottom:18px;font-size:.84rem}.notice button{border:0;background:none;font-size:1.25rem;color:inherit}.notice-error{background:#ffe9e7;color:#a65350}.notice-good{background:#e5f4e9;color:#4a785b}.footer{text-align:center;font-size:.77rem;color:#ac9a9a;border-top:1px solid #f3e6dc;padding:18px 22px}@media(max-width:980px){.landing{grid-template-columns:1fr;gap:20px;min-height:auto;max-width:620px;margin:auto}.hero{padding:0}.hero h1{font-size:3rem}.hero-doodles{display:none}.dashboard{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:1fr 1fr}.subtle-note{grid-column:span 2}.room-heading h1{font-size:2.2rem}}@media(max-width:620px){.topbar{padding:15px 17px}.wordmark{font-size:1.09rem}.wordmark-icon{height:28px;width:28px;margin-right:5px}.wordmark-soft{font-size:.86rem}.header-subtitle{display:none}.main-content{padding:25px 13px 45px}.hero h1{font-size:2.6rem}.hero p{font-size:.91rem}.entry-panel{padding:23px}.landing{gap:16px}.room-heading{flex-direction:column;align-items:flex-start;gap:16px}.room-heading h1{font-size:2rem}.room-code{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center}.room-code>span{grid-column:1/3}.room-code .copy-button{grid-column:2;grid-row:2}.dashboard{gap:12px}.panel{padding:17px}.section-heading{gap:9px;flex-wrap:wrap}.section-heading .pill{margin-left:auto}.section-heading h2{font-size:1.18rem}.possibility-form{flex-direction:column}.panel-footer{flex-wrap:wrap}.panel-footer>.btn{width:100%}.byline{display:none}.sidebar{display:flex}.subtle-note{grid-column:auto}.select-list{grid-template-columns:1fr}.bingo-grid{gap:5px}.bingo-cell{padding:7px 5px;border-radius:11px}.cell-phrase{font-size:clamp(.57rem,2.35vw,.76rem)}.checkmark{right:5px;bottom:2px;font-size:.74rem}.center-star{font-size:1.25rem}.center-star strong{font-size:.9rem}.center-star small{font-size:.47rem}.game-controls{gap:10px}.game-controls .btn{padding:9px 11px;min-width:105px}.header-side{gap:6px}.connection{font-size:.67rem}.small-link{font-size:.73rem}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#36243091;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:20;display:grid;place-items:center;padding:16px}.winner-modal{width:min(100%,430px);padding:38px 28px;background:#fffdfa;border:1px solid #efdddb;border-radius:28px;text-align:center;box-shadow:0 22px 80px #34202e30}.modal-sparkles{font-size:2.2rem;color:#d69cac;margin-bottom:12px}.winner-modal>.winner-avatar{margin-bottom:18px}.winner-modal h2{font-size:2rem;margin:12px 0}.winner-modal p{font-size:.9rem;margin-bottom:22px}.winner-modal .btn{min-width:220px}
