:root{--bg:#0c0912;--surface:#171120;--surface-2:#24152e;--paper:#ffe1ef;--ink:#fff6fd;--muted:#c6b6d0;--paper-ink:#28152c;--paper-muted:#63405e;--line:#554361;--paper-line:#c899b5;--accent:#ff69b6;--blush:#ffa4d4;--gold:#79f4ee;--cyan:#79f4ee;--violet:#c4a1ff;--sans:"Space Grotesk",Arial,sans-serif;--serif:"Bungee",Impact,sans-serif;--marker:"Permanent Marker",cursive;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--gutter:20px;--ease:cubic-bezier(.2,.7,.1,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}img[hidden],[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font:400 36px/1.08 var(--serif);letter-spacing:-.02em}h3{font-size:18px;line-height:1.2}p+p{margin-top:10px}p,h1,h2,h3,strong,a{overflow-wrap:anywhere}small{font-size:12px}a:hover{color:var(--blush)}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}main{max-width:1280px;margin:auto;min-height:65vh}.mono{font-family:var(--mono);font-size:12px;line-height:1.6}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.06em;display:block;margin-bottom:10px}.muted{color:var(--muted)}.break{overflow-wrap:anywhere;word-break:break-word}.preserve{white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:16px;background:var(--paper);color:var(--paper-ink);padding:12px;z-index:100}.skip:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:6px;background:transparent;font-size:15px;font-weight:600;line-height:1.35;text-align:center;transition:background .12s,color .12s}.button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:#a81b3e;border-color:#a81b3e}.button.small{min-height:44px;padding:10px 14px}.button.wide{width:100%}.text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px}.split-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--blush);border-radius:50%;margin-right:6px;vertical-align:middle}.section{padding:32px var(--gutter)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-heading h2{font-size:36px}.section-heading>.muted{font-size:12px;white-space:nowrap}.section-heading .eyebrow{color:var(--muted)}
#site-header{max-width:1280px;margin:auto;padding:12px var(--gutter) 8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;min-height:44px;font-size:19px;font-weight:800;letter-spacing:-.05em}.account-button{min-height:44px;padding:8px 12px;font-size:14px}#site-header nav{display:none;gap:24px}#site-header nav a{display:flex;align-items:center;min-height:44px;font-size:14px}.system-bar{max-width:1280px;margin:auto;padding:6px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);font-size:12px;min-height:34px}.system-bar>span:first-child{white-space:nowrap}#connection{margin-left:6px;color:var(--muted);font-size:12px}#ticker{display:none}#paused{display:none}#mode{font-size:12px;white-space:nowrap}#mode.dry{border:1px solid var(--line);border-radius:20px;padding:2px 8px;color:var(--gold);font-weight:500}.connection-bad{color:var(--gold)!important}#global-error:not(:empty){padding:12px var(--gutter)}.initial-loading{min-height:65vh;display:grid;place-content:center;text-align:center;gap:16px}.loader-mark{font:100px/1 var(--serif);color:var(--blush)}
.game-layout{padding:0 var(--gutter);display:grid;grid-template-areas:"intro" "prize" "how" "board" "feed" "pulls"}.round-rail,.rail-inner{display:contents}.hero-intro{grid-area:intro;padding:12px 0}.hero-title{display:flex;align-items:center;justify-content:space-between;height:80px}.hero-title h1{font-size:88px;line-height:1;letter-spacing:-.06em}.hero-title h1 span{color:var(--blush)}.reveal-art{width:68px;height:80px;transform:rotate(15deg);margin-right:18px}.hero-explainer{font-size:18px;line-height:1.4;max-width:40ch;margin-top:10px}.hero-footnote{display:none;color:var(--muted);font-size:12px;margin-top:8px}.round-stage{grid-area:prize;padding-bottom:24px}.round-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.round-heading>span:last-child{font-size:12px;color:var(--muted)}.countdown{font:400 72px/1.05 var(--serif);letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-top:4px}.timer-caption{font-size:12px;color:var(--muted);margin:3px 0 14px}.prize-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;align-items:center;background:var(--paper);color:var(--paper-ink);padding:12px 14px;position:relative;border-radius:4px}.prize-row:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:repeating-linear-gradient(135deg,var(--paper-ink) 0 3px,var(--paper) 3px 6px)}.machine-photo{height:82px;display:flex;align-items:center;justify-content:center}.machine-photo img{width:66px;height:82px;object-fit:contain}.prize-label{font-size:12px;color:var(--paper-muted)}.prize-row h3{font-size:17px;line-height:1.2;margin:3px 0 5px}.prize-value{font-size:18px}.prize-value>span{font-size:12px;font-weight:400;color:var(--paper-muted)}.current-leader{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center;padding:12px 0}.current-leader>span{color:var(--muted);font-size:12px}.current-leader>strong{grid-column:1;font-size:15px}.current-leader>b{grid-column:2;grid-row:1/3;font-size:26px;color:var(--gold);font-weight:500}.current-leader small{color:var(--muted);margin-left:3px}.hero-shot{min-height:56px;letter-spacing:.04em}.hero-shot>span,.mobile-action button>span{margin-left:auto}.hero-shot{justify-content:space-between}.how-section{grid-area:how;padding:26px 0;border-top:1px solid var(--line)}.how-section h2{font-size:34px}.how-beats{padding:0;list-style:none;margin:16px 0;display:grid;gap:12px}.how-beats li{display:flex;align-items:center;gap:16px}.how-beats li>span{font:32px/1 var(--serif);color:var(--blush);width:22px;flex-shrink:0}.how-beats p{font-size:15px;line-height:1.4}.how-beats strong{font-weight:500}.tip-explainer{font-size:15px;color:var(--muted)}.standard{font-size:15px;margin-top:12px!important}.standard strong{color:var(--gold)}summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:44px;font-size:14px;padding:10px 0}summary::marker{color:var(--muted)}.game-details{margin-top:12px;border-top:1px solid var(--line)}.game-details summary{color:var(--muted);font-size:12px}.game-details p{font-size:15px;margin:10px 0}.ladder-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.ladder-row strong{white-space:nowrap}.this-round{grid-area:board;padding:24px 0;border-top:1px solid var(--line)}.heat-label{display:flex;justify-content:space-between;font-size:14px}.heat-label strong{color:var(--blush)}.heat-label small{color:var(--muted);margin-left:3px}.heat-track,.score-track{height:5px;background:#51323f;overflow:hidden;border-radius:4px}.heat-track{margin-top:8px}.heat-track>span,.score-track>span{display:block;height:100%;background:#ee6387;border-radius:4px}.her-line{display:flex;gap:14px;align-items:flex-start;margin:18px 0}.her-mark{font:italic 28px/1 var(--serif);color:var(--blush);flex-shrink:0;min-width:32px}.her-line .mood{font-size:12px;color:var(--blush);text-transform:capitalize}.her-line p{font-size:15px;line-height:1.4;margin-top:3px}.leaderboard{list-style:none;padding:0;margin:0}.rank-row{display:flex;gap:14px;padding:9px 0;border-top:1px solid var(--line);align-items:center}.rank{font:24px/1 var(--serif);color:var(--muted);width:14px}.rank-detail{min-width:0;flex:1}.rank-title{display:flex;justify-content:space-between;gap:10px;font-size:14px}.rank-title strong{font-weight:500}.rank-title b{font-weight:500;color:var(--ink);white-space:nowrap}.rank-title small{font-size:12px;color:var(--muted);margin-left:2px}.rank-row .score-track{height:3px;margin:5px 0}.rank-row .verdict{font-size:12px;line-height:1.3;padding:2px 7px}.tip-panel{padding:12px 0 0;margin-top:8px;border-top:1px solid var(--line);font-size:14px}.tip-panel .split-line>span{font-variant-numeric:tabular-nums;color:var(--gold)}.tip-panel p{margin-top:4px;color:var(--muted);font-size:12px}.tip-panel p strong{color:var(--ink);font-weight:500}.rail-shot{display:none}
.dm-section{grid-area:feed;padding:26px 0;border-top:1px solid var(--line)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.tabs button{flex:1;min-height:44px;padding:10px 6px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:14px;color:var(--muted)}.tabs button.active{border-color:var(--blush);color:var(--ink)}.tabs button:hover{background:var(--surface)}.shot{padding:16px 0 0}.shot-head{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-bottom:6px}.shot-head strong{font-size:12px;font-weight:600}.shot-time{font-size:12px;color:var(--muted)}.player-bubble{background:var(--surface-2);border-radius:14px 14px 3px 14px;margin-left:32px;padding:10px 13px}.shot-text{font-size:15px;line-height:1.4}.her-response{display:flex;align-items:flex-start;gap:8px;margin-top:8px;margin-right:16px}.her-response>.her-mark{padding-top:8px;font-size:24px;min-width:28px}.reply-bubble{background:var(--surface);border:1px solid #51323f;border-radius:3px 14px 14px 14px;padding:10px 12px;min-width:0;flex:1}.reply-bubble p{font-size:15px;line-height:1.4}.reply-rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.score{font-size:18px;font-weight:600;white-space:nowrap}.score small{font-weight:400;color:var(--muted);margin-left:2px}.verdict{display:inline-block;font-size:12px;line-height:1.5;border-radius:20px;padding:2px 8px;background:#363238;color:#dedbe0;max-width:100%}.verdict-read{background:#263340;color:#c2d7e7}.verdict-cute{background:#4e2a41;color:#ffd1e3}.verdict-flirt{background:#60253c;color:#ffd0dc}.verdict-blush{background:#7c2038;color:#ffe2e8}.verdict-attention{background:#7c1838;color:#fff0f4;box-shadow:0 0 10px #df3c6426}.verdict-win{background:#f1ce86;color:#392412}.verdict-blocked{text-decoration:line-through}.blocked .shot-text{text-decoration:line-through;color:var(--muted)}.shot-actions{display:flex;justify-content:flex-end;gap:20px;font-size:12px;color:var(--muted)}.shot-actions a{display:flex;align-items:center;min-height:44px}.dm-section>.button{margin-top:8px}
.pulls-section{grid-area:pulls;padding:24px 0 32px;border-top:1px solid var(--line)}#ceremony-note{font-size:15px;margin-bottom:18px}.pull-wall{display:grid;gap:16px}.pull{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 14px;background:var(--paper);color:var(--paper-ink);padding:14px;border-radius:4px}.pull-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--paper-line);padding-bottom:8px;font-size:12px;color:var(--paper-muted)}.card-stage{display:flex;align-items:flex-start;justify-content:center;padding-top:4px}.card-stage img{width:100%;height:135px;object-fit:contain;filter:drop-shadow(0 6px 7px #29152022)}.pack-pending{font-size:14px;padding:12px 0;color:var(--paper-muted)}.ripping{animation:rip 1.8s ease-in-out infinite}.winner-handle{font-size:14px}.pull-description h3{font:400 24px/1.1 var(--serif);margin-top:6px}.card-value{color:var(--paper-muted);font-size:12px;margin-top:6px}.card-value strong{color:var(--paper-ink)}.winning-shot{font-size:15px;line-height:1.4;margin-top:12px!important}.winner-voice{font-size:15px;line-height:1.4;color:var(--paper-muted);margin-top:8px!important}.winner-voice>span{font:italic 20px var(--serif);color:#8b1e41;margin-right:3px}.proof-links{display:flex;gap:4px 14px;flex-wrap:wrap;font-size:12px}.proof-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.pull .proof-links a:hover{color:#8b1e41}.proof-links>span{display:flex;align-items:center;min-height:44px;color:var(--paper-muted)}#more-winners{margin-top:16px}
#site-footer{max-width:1280px;margin:auto;border-top:1px solid var(--line);padding:28px var(--gutter) 110px}.footer-brand{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.footer-brand>span:first-child{font-size:20px;font-weight:700;letter-spacing:-.04em}.footer-brand>span:last-child{font:italic 18px/1.1 var(--serif);max-width:130px;text-align:right;color:var(--blush)}.footer-details p{font-size:12px;color:var(--muted);max-width:72ch}.footer-links{display:flex;gap:24px;margin-top:8px;font-size:12px}.footer-links a{display:flex;min-height:44px;align-items:center}.mobile-action{position:fixed;bottom:0;left:0;right:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:10}.mobile-action .button{min-height:52px;letter-spacing:.04em}
.empty{padding:20px 16px;border:1px dashed var(--line);color:var(--muted);font-size:15px}.empty p{margin:4px 0}.empty .button{margin-top:12px}.error{padding:20px;border:1px solid var(--blush);font-size:15px}.error p{color:var(--muted);margin:8px 0 16px}.loading{min-height:100px;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:15px}.loading i{width:16px;height:16px;border:1px solid var(--line);border-top-color:var(--blush);border-radius:50%;animation:spin 1s linear infinite}.image-missing{position:relative}.image-fallback{font-size:12px!important;text-align:center;color:inherit;padding:4px;overflow-wrap:anywhere}.notice{border-left:3px solid var(--blush);padding:16px;background:var(--surface);font-size:15px;margin-bottom:24px}.notice strong{font-size:14px}.notice p{margin-top:8px;color:var(--muted)}input,textarea,select{display:block;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:12px;min-height:48px;font-size:16px}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;min-height:130px;max-height:35dvh}label{display:block;font-size:15px;margin:16px 0 8px}form>.button{margin-top:16px}form>.muted{font-size:14px;margin-top:10px}.form-status{font-size:15px;color:var(--blush);margin-top:12px}.form-status:empty{margin:0}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:36px 24px 24px;width:calc(100% - 32px);max-width:620px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#090409b8;backdrop-filter:blur(5px)}dialog h2{font-size:40px;margin:8px 0 12px;padding-right:12px}dialog>p{font-size:15px;color:var(--muted);margin-bottom:16px}.dialog-close{position:absolute;right:8px;top:6px;min-width:44px;min-height:44px;background:transparent;border:0;font-size:30px;color:var(--muted);z-index:2}.dialog-close:hover{color:var(--blush)}.composer-tabs{margin-top:14px}.composer-tabs button{font-size:14px;flex:none;padding:10px 8px}.composer-meta{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin-top:8px}.composer-meta>span:last-child{white-space:nowrap}#x-intent{margin-top:16px}#x-intent p{font-size:15px;margin-top:8px}.link-steps{display:flex;list-style:none;padding:0;gap:12px;border-bottom:1px solid var(--line);margin:20px 0;color:var(--muted);font-size:14px}.link-steps li{flex:1;padding:8px 0}.link-steps .active{color:var(--blush);border-bottom:2px solid var(--blush)}.verification-code{font-size:24px;color:var(--gold);border:1px dashed var(--line);padding:16px;overflow-wrap:anywhere}.post-copy{white-space:pre-wrap;padding:16px 0}.preview-tools{margin:12px 0;font-size:14px}.preview-tools summary{font-size:12px;color:var(--muted)}.preview-tools .button{margin-top:10px}.account-stats{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-block:1px solid var(--line);margin:20px 0}.account-stats>strong{font-size:40px;line-height:1}.account-stats small{display:block;font-size:12px;color:var(--muted);margin-top:10px}.account-stats>.mono{font-size:12px}#account-dialog>h3{margin-top:28px}#account-dialog>.pull{margin-top:16px}.reveal-dialog{max-width:none;width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;text-align:center;padding:32px 20px}.reveal-heading>img{margin:auto}.reveal-heading .eyebrow{color:var(--gold);margin-top:12px}.reveal-heading h2{font-size:clamp(36px,6vw,76px);padding:0}.reveal-heading p{font:italic 22px/1.2 var(--serif);max-width:40ch;margin:16px auto;color:var(--blush)}.reveal-dialog>.pull{max-width:580px;margin:20px auto;text-align:left;animation:reveal .48s var(--ease)}.result-hit{position:relative;margin-top:12px}.typing-bubble{display:flex;gap:16px;align-items:center;padding:16px;background:var(--surface);border-radius:3px 14px 14px}.typing-dots{animation:pulse 1s infinite}.win-burst{position:absolute;inset:50% 0 auto 50%;pointer-events:none}.win-burst i{position:absolute;width:10px;height:16px;border-radius:80% 15% 60% 40%;background:#f26b90;animation:petal .8s var(--ease) both;--angle:calc(var(--petal)*51deg)}#toast{position:fixed;bottom:88px;left:20px;right:20px;z-index:100;background:var(--paper);color:var(--paper-ink);padding:16px 20px;border:1px solid var(--paper-line);font-size:15px;max-width:600px;margin:auto}
@media(max-width:767px){#composer-dialog,#account-dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding:30px 20px max(24px,env(safe-area-inset-bottom));border-bottom:0}.sheet-handle{position:absolute;top:10px;left:calc(50% - 18px);width:36px;height:4px;background:var(--line);border-radius:8px}.shot-time{font-size:12px}.reveal-dialog{padding-top:42px}}
@media(min-width:768px){:root{--gutter:32px}#site-header nav{display:flex}#ticker{display:block}.hero-intro{padding-top:24px}.hero-title{height:124px}.hero-title h1{font-size:128px}.reveal-art{width:100px;height:116px}.hero-explainer{max-width:50ch}.round-stage{max-width:none}.prize-row{grid-template-columns:80px 1fr}.how-beats{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.how-beats li{align-items:flex-start}.pull-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.pull{display:flex;flex-direction:column;padding:16px;gap:12px}.card-stage{height:190px}.card-stage img{height:190px}.pull-top{font-size:12px}.pull-description h3{font-size:26px}.winning-shot,.winner-voice{font-size:15px}.pull-description .proof-links{margin-top:8px}.player-bubble{max-width:85%;margin-left:auto}.her-response{max-width:86%}.shot-time{margin-left:8px}.hero-title{max-width:520px}}
@media(min-width:1000px){:root{--gutter:40px}#site-header{padding-top:18px;padding-bottom:14px}.brand{font-size:24px}.system-bar{padding-block:8px}#paused{display:block}.game-layout{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);column-gap:48px;grid-template-areas:"intro rail" "how rail" "feed rail" "pulls pulls";align-items:start}.round-rail{grid-area:rail;display:block;align-self:stretch;min-width:0;padding-top:36px}.rail-inner{display:block;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--surface)}.round-stage{padding:0 0 24px}.round-stage .countdown{font-size:80px}.round-heading{font-size:15px}.round-heading>span:last-child{font-size:12px}.hero-intro{padding:40px 0 32px}.hero-title{height:164px}.hero-title h1{font-size:176px}.reveal-art{width:122px;height:142px;margin-right:28px}.hero-explainer{font-size:24px;line-height:1.4;margin-top:24px;max-width:35ch}.hero-footnote{display:block;font-size:14px;margin-top:16px}.how-section{padding:30px 0}.how-beats{display:grid;grid-template-columns:1fr;gap:16px}.how-beats li>span{font-size:36px}.how-beats p{font-size:16px}.this-round{padding:20px 0 0}.this-round .section-heading{margin-bottom:16px}.this-round h2{font-size:32px}.rank-row{padding:8px 0}.her-line{margin:14px 0}.her-line p{font-size:15px}.rail-shot{display:none}.hero-shot{display:flex}.dm-section{padding-top:32px;padding-bottom:40px}.shot{padding-top:24px}.shot-text,.reply-bubble p{font-size:16px}.player-bubble{padding:12px 16px}.reply-bubble{padding:12px 16px}.pulls-section{padding:40px 0}.pull-wall{gap:24px}.card-stage,.card-stage img{height:260px}.pull{padding:20px}.pull-description h3{font-size:30px}.mobile-action{display:none}#site-footer{padding-bottom:32px}.footer-brand>span:first-child{font-size:28px}.footer-brand>span:last-child{max-width:none;font-size:24px}.footer-details{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}.footer-details p{margin:0}.footer-links{width:100%}#toast{bottom:24px}}
@media(max-width:359px){:root{--gutter:16px}.brand{font-size:18px}#connection{display:none}.hero-explainer{font-size:17px}.round-heading{font-size:13px}.shot-time{display:none}.pull{grid-template-columns:72px minmax(0,1fr);gap:10px}.section-heading h2{font-size:32px}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes rip{50%{opacity:.5}}@keyframes pulse{50%{opacity:.3}}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes petal{from{opacity:1;transform:rotate(var(--angle)) translateY(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(-140px) rotate(100deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.win-burst{display:none}}
.page-hero{background:var(--paper);color:var(--paper-ink);padding:48px var(--gutter)}.page-hero .eyebrow{font-size:12px;color:var(--paper-muted)}.page-hero h1{font-size:clamp(48px,8vw,112px);line-height:.95;max-width:1100px;overflow-wrap:anywhere}.page-hero p{margin-top:24px;color:var(--paper-muted);font-size:14px}.ledger-summary{display:grid;gap:24px;padding-bottom:32px;border-bottom:1px solid var(--line)}.ledger-total .eyebrow{color:var(--muted)}.ledger-total>strong{font-size:clamp(56px,8vw,88px);line-height:1;letter-spacing:-.07em}.ledger-summary dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.ledger-summary dt{font:12px var(--sans);color:var(--muted);margin-bottom:12px}.ledger-summary dd{margin:0;font:20px var(--sans)}.ledger-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:24px 0 12px}.ledger-toolbar label{display:flex;align-items:center;gap:12px;margin:0;font-size:12px}.ledger-toolbar select{width:auto;min-width:140px;font-size:12px}.ledger-toolbar .button{margin-left:auto}.ledger-section>.mono{font-size:12px;margin-bottom:24px}.ledger-head{display:none}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.ledger-row>div:first-child{min-width:0}.ledger-row .eyebrow{font-size:12px;color:var(--muted);margin-bottom:12px}.ledger-row h3{font-size:18px}.ledger-row p.mono{font-size:12px;color:var(--muted);margin:12px 0}.ledger-row>div:first-child>.mono:last-child{font-size:12px}.ledger-row>div:last-child{grid-column:1/-1;min-width:0}.ledger-amount{font:20px var(--sans);padding-top:18px;text-align:right}.ledger-amount small{font-size:12px}.record-status{font:12px var(--sans);display:inline-block;border-left:2px solid var(--blush);padding-left:12px}.record-status.failed{border-style:dashed}.ledger-row details{border-top:1px solid var(--line);margin-top:12px}.ledger-row details p{font-size:12px}.ledger-row summary{font-size:12px}.ledger-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.ledger-pagination .mono{font-size:12px;color:var(--muted)}.claims-heading{margin-top:64px}.claim-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.claim-row>.mono{font-size:12px;color:var(--muted)}.claim-row>strong{font:14px var(--sans)}.claim-row>span:last-child{grid-column:1/-1;font:12px var(--sans)}.claim-row a{display:inline-flex;align-items:center;min-height:44px}
.fair-layout{display:grid;gap:32px}.rules-list{margin:0 0 32px;padding-left:24px}.rules-list li{padding:22px 0 22px 12px;border-bottom:1px solid var(--line)}.rules-list li::marker{font:14px var(--sans);color:var(--blush)}.rules-list h3{font-size:22px;margin-bottom:12px}.rules-list p{color:var(--muted);font-size:14px;line-height:1.7}.fair-aside{padding:28px;background:var(--surface);align-self:start}.fair-aside>p{font-size:13px;color:var(--muted);margin-top:20px}.fair-aside>.mono{font-size:12px}.standard-number{padding:24px 0;border-bottom:1px solid var(--line)}.standard-number>strong{display:block;font-size:80px;line-height:1;letter-spacing:-.07em;color:var(--blush)}.standard-number>span{font:12px var(--sans);display:block;margin-top:12px;color:var(--muted)}.sub-heading{font-size:20px;letter-spacing:0;margin:28px 0 16px}#server-rules{font-size:13px;color:var(--muted)}.proof-section{padding-top:0}.proof-record,.archive-record{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:-1px}.proof-record>summary,.archive-record>summary{padding:18px 0;flex-wrap:wrap;font-size:12px}.proof-record summary>.mono,.archive-record summary>.mono{font-size:12px;color:var(--muted)}.proof-record summary>span:last-child{font-size:12px;color:var(--muted)}.proof-data{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0 28px}.proof-data dt{font:12px var(--sans);color:var(--muted)}.proof-data dd{font-size:12px;margin:0 0 12px}.archive-heading{margin-top:64px}.archive-record>p{margin:12px 0;font-size:13px}.archive-record>.eyebrow{margin-top:24px}.archive-record .proof-links{padding-bottom:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--sans);background:var(--surface);padding:16px;border:1px solid var(--line);max-width:100%}
.admin-hero{padding-top:40px;padding-bottom:40px}.admin-hero h1{font-size:clamp(44px,7vw,88px)}.admin-login{max-width:480px}.admin-login h2{font-size:28px;letter-spacing:-.03em}.admin-login>p{font-size:12px;color:var(--muted);margin-top:12px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.admin-toolbar>.mono{font-size:12px;color:var(--muted)}.admin-toolbar>div{display:flex;gap:12px}.telemetry{display:grid;gap:24px;margin-bottom:32px;border:1px solid var(--line);padding:20px}.telemetry h3{font:500 12px var(--sans);margin-bottom:20px}.telemetry dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px 12px;margin:0}.telemetry dt{font:12px var(--sans);color:var(--muted)}.telemetry dd{font:12px var(--sans);margin:0;overflow-wrap:anywhere}.telemetry pre{margin:0;background:transparent;border:0;padding:0}.admin-grid{display:grid;gap:24px}.admin-panel{padding:24px 20px;border:1px solid var(--line);min-width:0}.admin-panel h2{font:500 14px var(--sans);letter-spacing:0}.admin-actions{display:grid;gap:12px;margin-top:24px}.pause-row{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;font:12px var(--sans)}.pause-row strong{display:block;margin-top:6px}.admin-panel form button{width:100%}.admin-panel select{font-size:12px}.danger{border-color:var(--blush)}.review-panel{margin:24px 0}.review-row{padding:20px 0;border-bottom:1px solid var(--line)}.review-row>.mono{margin-left:20px}.dialog-actions{display:flex;gap:12px;margin-top:24px}
/* Secondary pages share the readable R2 type system. */
.page-hero{background:var(--surface);color:var(--ink);padding:40px var(--gutter)}.page-hero h1{font:400 clamp(48px,8vw,88px)/1 var(--serif)}.page-hero p,.page-hero .eyebrow{color:var(--muted)}.page-hero p{font-size:16px}.ledger-row p,.rules-list p,.fair-aside>p,.notice,.archive-record>p,#server-rules,.admin-login>p{font-size:15px}.admin-hero h1{font-family:var(--sans);font-size:44px;letter-spacing:-.04em}.admin-panel h2{font:600 16px var(--sans)}.admin-panel select{font-size:16px}.telemetry dl{grid-template-columns:110px minmax(0,1fr)}.telemetry dt,.telemetry dd{font-size:12px}.proof-links>span{color:inherit}.proof-record summary>span,.archive-record summary>span{min-width:0;overflow-wrap:anywhere}.ledger-toolbar .tabs{flex:1}.ledger-toolbar .button{margin-left:0}.ledger-toolbar select{font-size:15px}.rules-list li::marker{color:var(--blush)}.standard-number>strong{color:var(--gold)}.admin-grid input{min-width:0}.ledger-pagination{gap:16px}.dialog-actions{flex-wrap:wrap}pre{font:12px/1.7 var(--mono)}.fair-aside .eyebrow{font-size:14px}.proof-data dd{font-size:15px}
@media(min-width:768px){.ledger-summary{grid-template-columns:1fr 1fr;align-items:end}.claim-row{grid-template-columns:1fr 1fr 1fr}.claim-row>span:last-child{grid-column:auto;text-align:right}.proof-data{grid-template-columns:140px minmax(0,1fr);gap:16px}.admin-grid{grid-template-columns:1fr 1fr}.telemetry{grid-template-columns:1fr 1fr}.telemetry>section:last-child{grid-column:1/-1}.section{padding:40px var(--gutter)}}
@media(min-width:1000px){.ledger-head{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:32px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.ledger-row{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr);gap:32px}.ledger-row>div:last-child{grid-column:auto}.ledger-amount{text-align:left}.fair-layout{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:48px}.telemetry{grid-template-columns:1fr 1fr 1fr;gap:24px}.telemetry>section:last-child{grid-column:auto}.proof-section{padding-top:0}}

.ledger-row details p{font-size:15px}.admin-panel .button{font-size:14px}.page-hero .eyebrow{font-size:12px}

.mono{font-family:var(--sans)}pre,.proof-data .break,.account-stats+.break,.verification-code{font-family:var(--mono)}

/* On phones the winning lines span the full card width. */
@media(max-width:767px){
 .pull{grid-template-columns:72px minmax(0,1fr);gap:8px 12px}
 .pull-description{display:contents}
 .pull .card-stage{grid-column:1;grid-row:2/5}
 .pull-description .winner-handle{grid-column:2;grid-row:2}
 .pull-description h3{grid-column:2;grid-row:3;font-size:22px;margin:0}
 .pull-description .card-value{grid-column:2;grid-row:4;margin:0}
 .pull-description .winning-shot,.pull-description .winner-voice,.pull-description .proof-links{grid-column:1/-1;margin:0!important}
}

/* R3: compact public receipts and readable narrow-screen operator controls. */
.payout-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0 0 24px;border-bottom:1px solid var(--line)}
.payout-totals dt{font-size:12px;color:var(--muted);margin-bottom:8px}
.payout-totals dd{margin:0;font-size:clamp(22px,4vw,40px);line-height:1.2;letter-spacing:-.03em;overflow-wrap:anywhere}
.payout-totals small{font-size:12px;letter-spacing:0}
.ledger-section .ledger-toolbar{gap:12px}
.ledger-section .ledger-toolbar select{font-size:16px;min-width:0}
.ledger-head{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:20px}
.ledger-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:14px 0;align-items:start}
.ledger-recipient{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;grid-column:1/-1}
.ledger-recipient time{font-size:12px;color:var(--muted)}
.ledger-recipient strong{font-size:14px;min-width:0;overflow-wrap:anywhere}
.ledger-prize{display:flex;gap:10px;align-items:center;min-width:0;font-size:14px}
.ledger-prize>div{min-width:0}
.ledger-prize strong{font-size:14px;font-weight:500;line-height:1.35;display:block}
.ledger-prize small{font-size:12px;display:block;margin-top:4px;color:var(--muted)}
.ledger-thumb{width:44px;flex:0 0 44px}
.ledger-thumb img{width:44px;height:60px;object-fit:contain}
.ledger-row>.ledger-receipt{grid-column:auto;max-width:106px}
.ledger-receipt .record-status{font-size:12px;padding-left:8px;text-transform:capitalize;overflow-wrap:anywhere}
.ledger-receipt .proof-links{gap:0 10px;font-size:12px}
.ledger-receipt .proof-links a,.ledger-receipt .proof-links>span{min-height:44px}
.ledger-pagination{flex-wrap:wrap}
#ledger-error:not(:empty){margin-top:16px}
.claims-disclosure{margin-top:32px;border-block:1px solid var(--line)}
.claims-disclosure>summary{min-height:60px;gap:16px;font-size:16px}
.claims-disclosure>summary span{font-size:12px;color:var(--muted)}
#claims-meta{padding:16px 0}
.published-rules-heading{margin-top:0}
#server-rules{font-size:16px;color:var(--ink);margin:20px 0 28px}
.published-rules{padding-left:24px;margin:0}
.published-rules>li{padding:10px 0 10px 4px}
.published-rule-fields{margin:0}
.published-rule-fields>div{margin:12px 0}
.published-rule-fields dt{font-size:14px;font-weight:600;text-transform:capitalize}
.published-rule-fields dd{margin:4px 0 0;color:var(--muted)}
.rules-details{margin-bottom:24px;border-block:1px solid var(--line)}
.rules-details>summary{font-size:15px;min-height:52px}
.rules-details #rules{padding-top:20px}
.proof-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:8px 0 24px;font-size:15px}
.proof-table th,.proof-table td{padding:12px 0;vertical-align:top;text-align:left;border-top:1px solid var(--line);overflow-wrap:anywhere}
.proof-table th{width:104px;padding-right:12px;font-size:12px;font-weight:500;color:var(--muted)}
.proof-table .mono{font:12px/1.6 var(--mono)}
.admin-toolbar>div{flex-wrap:wrap}
.telemetry>section{min-width:0}
.admin-panel .section-heading{flex-wrap:wrap}
.admin-panel .section-heading h2{font:600 16px var(--sans)}
.admin-panel .section-heading>span{font-size:12px}
.pause-row{flex-wrap:wrap;gap:12px}
.admin-panel button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.review-row{overflow-wrap:anywhere}
.review-row>.mono{display:inline-block;margin:4px 0 4px 12px}
body[data-page="admin"] dialog h2{overflow-wrap:anywhere}
@media(min-width:768px){
 .ledger-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:center}
 .ledger-head{display:grid}
 .ledger-recipient{grid-column:auto;display:grid;justify-content:start}
 .ledger-row>.ledger-receipt{max-width:none}
 .proof-table th{width:160px}
}
@media(max-width:389px){
 .payout-totals{gap:8px}
 .ledger-toolbar .tabs{flex-basis:100%}
 .admin-panel{padding:20px 16px}
 .telemetry{padding:16px}
 .telemetry dl{grid-template-columns:90px minmax(0,1fr)}
}

/* R5: a neon street, awkward charm, and very public DMs. */
body{background-image:linear-gradient(90deg,transparent 49.8%,#25152f33 50%,transparent 50.2%);background-size:96px 100%}
h1,h2{letter-spacing:-.025em}h3{font-weight:700}
.button{border-radius:3px;transition:background .15s,transform .15s}.button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700;box-shadow:4px 4px 0 #763457}.button.primary:hover:not(:disabled){background:#ff9bce;border-color:#ff9bce;transform:translateY(-2px);color:var(--bg)}.button.primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 #763457}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.brand{letter-spacing:-.05em;gap:8px;font-size:18px}.brand-coin{border-radius:50%;width:32px;height:32px;border:1px solid var(--line)}.account-button{border-color:var(--cyan);color:var(--cyan);font-size:13px}#site-header{padding-top:8px;padding-bottom:8px}#mode.dry{border-radius:2px;color:var(--cyan);border-color:#346663}.status-dot{background:var(--cyan)}.system-bar{background:#15101c;font-size:12px}#connection{margin-left:3px}
.game-layout{grid-template-areas:"intro" "prize" "feed" "board" "how" "pulls";min-width:0}.game-layout>section{min-width:0}.hero-intro{padding-top:18px;padding-bottom:16px}.street-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;letter-spacing:.04em;color:var(--cyan)}.street-label a{min-height:44px;display:flex;align-items:center;color:var(--muted);letter-spacing:0}.hero-title{position:relative;height:153px;max-width:none;margin-top:0;justify-content:flex-start}.neon-sign{position:relative;width:204px;border:2px solid #ff69b6;border-radius:9px;padding:9px 16px 8px;transform:rotate(-4deg);box-shadow:0 0 12px #ff69b633,inset 0 0 10px #ff69b622}.neon-sign:before,.neon-sign:after{content:"";width:2px;height:25px;background:var(--line);position:absolute;top:-27px;z-index:-1}.neon-sign:before{left:20px}.neon-sign:after{right:20px}.hero-title h1{font:400 77px/1.05 var(--serif);letter-spacing:-.07em;color:#fff1fa;text-shadow:0 0 5px #ff69b6,0 0 19px #ff399080;animation:neon-buzz 6s linear 1}.hero-title h1 span{color:var(--accent)}.sign-caption{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--blush);display:block}.sign-bottom{font-size:12px;letter-spacing:.05em}.pending-hero{position:absolute;right:0;bottom:0;width:121px;height:181px;object-fit:contain;transform:rotate(5deg)}.scribble{font-family:var(--marker);font-weight:400;line-height:1.25}.hero-scribble{position:absolute;bottom:-3px;left:194px;color:var(--cyan);font-size:12px;transform:rotate(-9deg);display:none}.hero-explainer{font-size:16px;line-height:1.45;margin-top:13px;max-width:48ch}.hero-footnote{display:none}.round-stage{padding:16px 0 28px;border-top:1px solid var(--line)}.round-heading{font-size:14px;color:var(--blush)}.round-heading>span:last-child{color:var(--muted)}.countdown{font:700 64px/1.05 var(--sans);letter-spacing:-.07em;color:var(--cyan);margin-top:3px}.timer-caption{margin:3px 0 14px;font-size:12px}.prize-row{border-radius:0;background:#ffe1ef;grid-template-columns:62px minmax(0,1fr);padding:10px 14px;gap:12px;border-right:5px solid #ff69b6;min-height:100px}.prize-row:before{display:none}.machine-photo,.machine-photo img{height:76px}.prize-label{font-size:12px;text-transform:uppercase;letter-spacing:.09em}.prize-row h3{font-size:17px}.current-leader{padding:10px 0 14px}.current-leader>b{font-weight:700}.hero-shot{min-height:58px;font-size:17px;letter-spacing:0}.hero-shot>span{font-size:26px}.section-heading h2,.how-section h2{font:700 30px/1.12 var(--sans);letter-spacing:-.05em}.dm-section{padding:24px 0 30px}.dm-section .section-heading{margin-bottom:16px}.dm-section .section-heading h2{display:flex;gap:12px;align-items:center}.live-dot{width:8px;height:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 8px #79f4ee66}.dm-caption{font-size:15px;color:var(--muted);margin-top:14px}.tabs{gap:8px}.tabs button{font-size:15px}.tabs button.active{border-bottom-color:var(--cyan);color:var(--cyan)}.shot{padding-top:24px;border-bottom:1px solid #35253e;margin-bottom:4px}.shot-head{gap:8px}.shot-head strong{color:var(--violet)}.player-bubble{background:#46275f;border:1px solid #755294;border-radius:18px 18px 3px 18px;padding:12px 14px;margin-left:32px}.her-response{gap:10px;margin-top:12px;margin-right:6px}.her-mark{font:400 23px/1.3 var(--serif);letter-spacing:-.07em;color:var(--blush)}.her-response>.her-mark{font-size:21px;min-width:45px;padding-top:6px}.reply-bubble{background:#18131f;border:1px solid var(--line);border-radius:3px 18px 18px 18px;padding:12px 14px}.reply-bubble p,.shot-text{font-size:16px;line-height:1.5}.score{font-size:22px;color:var(--cyan)}.verdict{border-radius:3px;font-size:12px}.verdict-read{background:#29273b;color:#d4d2ee}.verdict-cute,.verdict-flirt{background:#4d2342;color:#ffd5eb}.verdict-blush,.verdict-attention{background:#66304f;color:#ffe9f5;box-shadow:none}.verdict-win{background:var(--cyan);color:var(--bg)}.shot-hot .reply-bubble{border-color:#e65d9e;box-shadow:inset 3px 0 #e65d9e,0 0 16px #ff69b61a}.read-receipt{font-size:12px;text-align:right;color:var(--muted);padding-top:5px}.seen-pain{display:flex;align-items:center;justify-content:flex-end;height:60px;gap:4px;color:var(--muted)}.seen-pain img{width:68px;height:68px;object-fit:contain}.seen-pain span{font-size:12px}.heart-doodle{width:36px;height:36px;object-fit:contain;margin-left:auto}.shot-actions{font-size:12px}.this-round{padding:26px 0 30px}.heat-label{font-size:15px}.heat-track,.score-track{background:#362341}.heat-track>span,.score-track>span{background:var(--accent)}.read-streak{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--blush)}.read-streak img{object-fit:contain}.her-line{padding:14px 0;border-bottom:1px solid var(--line)}.her-line .her-mark{min-width:48px}.stack-label{font-size:15px;line-height:1.4;margin:20px 0 18px;color:var(--muted)}.leaderboard{padding:0 5px 4px}.rank-row{padding:13px 14px;border:1px solid #745389;background:#20172b;box-shadow:3px 3px 0 #0c0912;gap:14px;margin-top:-2px;transform:rotate(-1deg);position:relative}.rank-row:nth-child(even){transform:rotate(1deg);background:#281a32}.rank-row:first-child{border-color:var(--cyan);z-index:1;background:#18302e}.rank{font:700 28px/1 var(--sans);color:var(--violet);width:22px}.rank-row:first-child .rank{color:var(--cyan)}.rank-title{font-size:15px}.rank-title strong,.rank-title b{font-weight:700}.rank-title b{color:var(--cyan)}.rank-row .score-track{display:none}.rank-row .verdict{margin-top:6px;padding:0;background:transparent;color:var(--muted)}.tip-panel{margin-top:20px;padding:16px 0;border-block:1px solid var(--line);font-size:16px}.tip-panel p{font-size:14px;margin-top:8px}.how-section{padding:28px 0}.how-beats li>span{font:700 28px var(--sans);color:var(--cyan)}.how-beats strong{font-weight:700}.game-details summary{font-size:14px}.pulls-section{padding:30px 0 40px}.pull{border-radius:0;border-top:4px solid var(--accent);background:var(--paper)}.pull-description h3{font:700 24px/1.1 var(--sans);letter-spacing:-.04em}.winner-voice>span{font-family:var(--sans);font-weight:700;font-style:normal}.empty{display:flex;align-items:center;gap:14px;background:var(--surface);border-style:solid;flex-wrap:wrap}.empty-pending{width:76px;height:76px;object-fit:contain;flex:0 0 76px}.empty p{flex:1;min-width:140px}.footer-brand>span:last-child{font:16px/1.3 var(--marker);color:var(--cyan)}.footer-brand>span:first-child{font-weight:700}.footer-details p{font-size:13px}.footer-links{font-size:14px}dialog{border-radius:6px;background:var(--bg);border-color:#80618e}dialog h2{font:700 38px/1.1 var(--sans);letter-spacing:-.04em}dialog::backdrop{background:#050309df;backdrop-filter:blur(4px)}.typing-bubble{border:1px solid var(--line);font-size:15px}.typing-dots{display:inline-flex;gap:4px;margin-left:6px;animation:none}.typing-dots i{width:5px;height:5px;background:var(--cyan);border-radius:50%;animation:typing-dot 1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.result-miss{animation:swipe-miss .65s var(--ease) both}.result-hit .reply-bubble{border-color:var(--accent);box-shadow:0 0 20px #ff69b633}.composer-tabs{flex-wrap:wrap}.composer-tabs button{font-size:14px}.reveal-dialog{border-radius:0;background:#0c0912}.match-intro{max-width:540px;margin:0 auto;min-height:85dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0;gap:14px}.match-intro h2{font:400 clamp(48px,10vw,90px)/1.05 var(--serif);color:var(--cyan);transform:rotate(-5deg);text-shadow:0 0 22px #79f4ee33;margin:0}.match-intro h2 span{color:var(--accent)}.match-art{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:240px}.match-art>img{height:240px;width:240px;object-fit:contain}.match-her{font:72px/1 var(--serif);color:var(--blush);transform:rotate(7deg);position:absolute;right:10px;top:35px;text-shadow:0 0 20px #ff69b644}.match-intro .scribble{color:var(--cyan);font-size:21px}.match-intro>p:not(.scribble){font-size:16px;max-width:40ch}.match-intro .button{margin-top:14px;max-width:380px;min-height:56px}#match-card{max-width:620px;margin:6vh auto;text-align:left}#match-card>.button{display:flex;margin:24px auto}#match-card .card-stage,#match-card .card-stage img{height:300px}.reveal-heading h2{font-family:var(--sans);font-weight:700}.page-hero{background:var(--surface);border-bottom:1px solid var(--accent);position:relative}.page-hero h1{font:400 clamp(36px,7vw,76px)/1.1 var(--serif);max-width:100%;color:var(--blush)}.page-hero .eyebrow{color:var(--cyan)}.page-hero p{font-size:16px;max-width:70ch}.payout-totals dd{color:var(--cyan);font-weight:700}.ledger-row{background:transparent}.record-status{border-color:var(--cyan)}.fair-aside{border-top:3px solid var(--accent)}.standard-number>strong{font-weight:700}.admin-hero h1{font:700 44px/1.1 var(--sans);color:var(--ink)}body[data-page="admin"]{background-image:none}.admin-panel{background:var(--surface);border-radius:0}.admin-panel h2{color:var(--cyan)}.admin-panel .button.primary{box-shadow:none}.admin-toolbar button{font-size:15px}
.entry-gate{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;background:#0c0912;padding:20px;z-index:1000;overflow:auto;text-align:center}.entry-gate::backdrop{background:#0c0912}.entry-wrap{width:100%;max-width:440px;min-height:calc(100dvh - 40px);margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:18px}.entry-topline{display:flex;justify-content:space-between;font-size:12px;color:var(--cyan);letter-spacing:.08em}.entry-door{position:relative;height:425px;border:3px solid var(--accent);margin:0 18px;border-bottom:none;box-shadow:0 0 15px #ff69b655,inset 0 0 20px #ff69b622;border-radius:80px 80px 0 0;background:linear-gradient(130deg,#291235,#0c0912 70%)}.door-number{display:block;margin:25px 0 10px;color:var(--muted);font-size:12px}.entry-door h2{font:400 41px/1.1 var(--serif);color:#ffe0f1;text-shadow:0 0 14px #ff69b688;margin:12px 0;padding:0;transform:rotate(-3deg);animation:neon-buzz 6s linear 1}.entry-door>img{position:absolute;width:200px;height:300px;object-fit:contain;left:-25px;bottom:-4px;transform:rotate(-5deg)}.door-her{position:absolute;right:14px;top:200px;font:70px/1 var(--serif);letter-spacing:-.07em;color:var(--blush);text-shadow:0 0 18px #ff69b688;transform:rotate(8deg)}.door-note{position:absolute;right:14px;bottom:22px;color:var(--cyan);font-size:18px;transform:rotate(-8deg)}#entry-description{font-size:16px;line-height:1.5;max-width:32ch;align-self:center}.entry-wrap>.button{min-height:58px;font-size:16px}.entry-fine{font-size:12px;color:var(--muted)}
@keyframes neon-buzz{0%,3%,5%,8%,11%,100%{opacity:1}4%,7%,10%{opacity:.65}}
@keyframes typing-dot{0%,70%,100%{transform:translateY(0);opacity:.5}35%{transform:translateY(-3px);opacity:1}}
@keyframes swipe-miss{0%{transform:none}45%{transform:translateX(-24px) rotate(-4deg);opacity:.4}100%{transform:none;opacity:1}}
@media(min-width:768px){.hero-title{height:215px}.neon-sign{width:290px;padding:14px 24px}.hero-title h1{font-size:112px}.sign-caption{font-size:14px}.pending-hero{width:175px;height:262px;right:40px;bottom:-15px}.hero-scribble{display:block;left:auto;right:0;bottom:0;font-size:17px}.hero-explainer{font-size:20px}.hero-intro{padding-top:22px}.hero-shot{min-height:60px}.countdown{font-size:80px}.round-stage{padding-top:20px}.prize-row{grid-template-columns:80px minmax(0,1fr)}.machine-photo,.machine-photo img{height:90px}.player-bubble{max-width:80%}.hero-footnote{display:block;font-size:15px;margin-top:14px}.hero-footnote a{color:var(--cyan);display:inline-flex;min-height:44px;align-items:center}.this-round{padding:28px 0}.pull-wall{gap:20px}.section-heading h2,.how-section h2{font-size:36px}.brand{font-size:22px}.brand-coin{width:36px;height:36px}}
@media(min-width:1000px){.game-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);grid-template-areas:"intro rail" "feed rail" "how how" "pulls pulls";column-gap:54px}.hero-intro{padding:40px 0 30px}.hero-title{height:290px;margin-top:24px}.neon-sign{width:310px;padding:18px 24px}.hero-title h1{font-size:124px}.pending-hero{width:210px;height:315px;right:-5px;bottom:-10px}.hero-scribble{font-size:16px;left:20px;right:auto;bottom:0}.hero-explainer{font-size:23px;line-height:1.45;max-width:32ch;margin-top:26px}.round-rail{padding-top:40px}.rail-inner{position:sticky;top:18px;max-height:calc(100dvh - 36px);padding:24px;background:#17111f;border:1px solid #755185;border-top:4px solid var(--accent);border-radius:0;scrollbar-width:thin}.round-stage{border-top:0;padding:0 0 24px}.round-stage .countdown{font:700 80px/1.05 var(--sans);color:var(--cyan)}.this-round{padding-top:24px}.this-round .section-heading h2{font-size:28px}.rank-row{padding:12px;margin-top:-2px}.hero-shot{font-size:16px}.dm-section{padding-top:28px}.dm-section .section-heading h2{font-size:40px}.how-section{display:grid;grid-template-columns:1fr 3fr;gap:32px;padding:40px 0}.how-beats{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:0}.how-beats li{align-items:flex-start}.how-beats p{font-size:16px}.pulls-section{padding-block:40px}.footer-brand>span:last-child{font-size:22px}.card-stage,.card-stage img{height:250px}.pull-description h3{font-size:26px}#site-header{padding-block:14px}.hero-footnote{max-width:36ch}.brand{font-size:23px}.pull .winner-voice{font-size:15px}}
@media(min-width:1280px){.neon-sign{width:340px}.hero-title h1{font-size:138px}.pending-hero{width:240px;height:360px;bottom:-24px;right:0}.hero-title{height:320px}}
@media(max-width:359px){.brand{font-size:16px;gap:5px}.brand-coin{width:26px;height:26px}.account-button{font-size:12px;padding:8px}.neon-sign{width:180px}.hero-title h1{font-size:66px}.pending-hero{width:105px;height:158px}.hero-explainer{font-size:15px}.round-heading{font-size:13px}.entry-door{margin-inline:8px}.entry-door h2{font-size:36px}.door-her{font-size:56px}.door-note{right:6px;font-size:16px}}
@media(max-height:740px){.entry-wrap{gap:12px}.entry-door{height:340px}.entry-door>img{width:160px;height:240px}.entry-door h2{font-size:36px}.door-her{top:180px;font-size:58px}.door-number{margin-top:20px}.entry-fine{margin:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.result-miss{transform:none}.match-intro h2{transform:none}}
.seen-pain img,.empty-pending,.match-art>img,.heart-doodle,.read-streak img,#composer-dialog{overflow-x:hidden}
@keyframes swipe-miss{0%{transform:none;opacity:1}48%{transform:translateX(-105%) rotate(-8deg);opacity:0}51%{transform:translateX(20px);opacity:0}100%{transform:none;opacity:1}}
body[data-page="admin"] .empty-pending{display:none}

/* R6: the alley surrounds solid reading surfaces; the R5 palette stays intact. */
body[data-page="game"]{position:relative;isolation:isolate}
.strip-backdrop{position:absolute;inset:0 0 auto;height:360px;z-index:-1;pointer-events:none;overflow:hidden;background:var(--bg)}
.strip-backdrop img{width:100%;height:100%;object-fit:cover;object-position:18% center;filter:brightness(.65)}
.strip-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c091233 0%,transparent 55%,var(--bg) 100%)}
body[data-page="game"] #site-header{background:var(--bg)}
.hero-intro .street-label{background:var(--bg);padding-inline:8px}
.hero-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);align-items:center;gap:12px;height:auto;min-height:172px;margin:12px 0 0;padding:12px 8px}
.neon-sign{width:100%;min-width:0;padding:10px 12px;background:var(--bg);transform:rotate(-3deg)}
.neon-sign::before,.neon-sign::after{height:12px;top:-14px}
.hero-title h1{font-size:clamp(54px,17vw,72px);line-height:1.08;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.07em}
.hero-title h1 span{display:inline}
.sign-caption{font-size:12px;letter-spacing:.1em}
.sign-bottom{letter-spacing:0}
.pending-hero{position:static;width:100%;height:auto;max-height:148px;object-fit:contain;transform:none}
.hero-scribble{position:static;grid-column:1/-1;display:none;transform:none;background:var(--bg);padding:8px 12px}
.hero-explainer{position:relative;background:var(--bg);padding:10px 0 0;margin-top:8px;max-width:none}
.hero-footnote{background:var(--bg)}
body[data-page="game"] .round-stage,
body[data-page="game"] .dm-section,
body[data-page="game"] .this-round,
body[data-page="game"] .pulls-section{background:var(--bg)}
.strip-divider{display:flex;align-items:center;gap:14px;margin:0 0 22px;color:var(--cyan)}
.strip-divider::before,.strip-divider::after{content:"";flex:1;height:2px;background:var(--accent);box-shadow:0 0 8px #ff69b688}
.strip-divider span{display:block;border:1px solid var(--cyan);padding:7px 10px;background:var(--bg);font-size:12px;font-weight:700;letter-spacing:.06em;transform:rotate(-2deg);box-shadow:0 0 9px #79f4ee33;animation:neon-buzz 7s linear 2}
.dm-section .section-heading h2,.pulls-section .section-heading h2{padding-bottom:9px;border-bottom:2px solid var(--accent);box-shadow:0 3px 5px -4px var(--accent)}
.dm-section .shot{padding-top:16px;margin-bottom:0}
.dm-section .player-bubble,.dm-section .reply-bubble{padding:10px 12px}
.dm-section .her-response{margin-top:8px}
.dm-section .seen-pain{height:40px}
.dm-section .seen-pain img{width:44px;height:44px}
.dm-section .reply-bubble p,.dm-section .shot-text{font-size:16px;line-height:1.45}
.how-section{position:relative;display:block;margin:18px 0 24px;padding:20px 18px 12px;background:#24152e;border:1px solid #755294;border-top:4px solid var(--accent);box-shadow:5px 5px 0 #101c22}
.how-section::before,.how-section::after{content:"";position:absolute;top:-10px;width:50px;height:17px;background:#79f4ee;border:1px solid #0c0912;transform:rotate(-8deg)}
.how-section::before{left:18px}
.how-section::after{right:18px;transform:rotate(9deg)}
.how-section h2{font-size:28px}
.how-beats{grid-template-columns:1fr;gap:8px;margin:12px 0}
.how-beats li{align-items:flex-start;gap:10px}
.how-beats li>span{font-size:22px;line-height:1.2;width:20px}
.how-beats p{font-size:15px;line-height:1.4}
.how-section .tip-explainer{font-size:15px}
.how-section .standard{margin-top:8px!important}
.how-section .game-details{margin-top:8px}
@media(min-width:768px){
 .strip-backdrop{height:450px}
 .hero-title{grid-template-columns:minmax(0,310px) minmax(0,1fr);gap:18px;min-height:0;padding:16px 12px}
 .hero-title h1{font-size:104px}
 .neon-sign{padding:14px 20px}
 .pending-hero{max-height:230px}
 .hero-scribble{display:flex;align-items:center;justify-self:start;font-size:16px;line-height:1.25}
 .hero-explainer{margin-top:8px;padding-top:12px}
 .how-beats{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .how-section{padding:24px}
}
@media(min-width:1000px){
 .strip-backdrop{top:96px;height:clamp(350px,33.333vw,560px)}
 .strip-backdrop img{object-position:78% top;filter:brightness(.7)}
 .strip-backdrop::after{background:linear-gradient(180deg,#0c091222,transparent 45%,var(--bg) 100%)}
 .game-layout{padding-top:clamp(180px,16vw,230px)}
 .hero-intro{padding-top:20px}
 .round-rail{padding-top:20px}
 .hero-title{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-top:12px;gap:20px 14px;padding:16px 12px}
 .neon-sign{padding:14px}
 .hero-title h1{font-size:clamp(68px,8.2vw,112px)}
 .pending-hero{max-height:270px}
 .hero-scribble{font-size:16px}
 .hero-explainer{font-size:23px;line-height:1.45}
 .hero-footnote{max-width:none;padding:0 0 8px}
 body[data-page="game"] .rail-inner .round-stage,
 body[data-page="game"] .rail-inner .this-round{background:transparent}
 .how-section{display:grid;grid-template-columns:1fr 3fr;gap:28px}
 .how-beats{margin-top:0}
}
@media(max-width:359px){
 .hero-title{gap:8px;padding-inline:6px;grid-template-columns:minmax(0,1fr) minmax(0,.48fr)}
 .neon-sign{padding-inline:8px}
 .hero-title h1{font-size:54px}
 .sign-caption{letter-spacing:0}
 .strip-divider{gap:8px}
 .strip-divider span{padding-inline:6px;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.strip-divider span{animation:none;transform:none}}

/* R7: crop the banner before its mascot; keep one PENDING beside HER. */
@media(min-width:1024px){
 .strip-backdrop img{width:143%;max-width:none;object-position:left top}
 body[data-page="game"] .rail-inner{background:#17111f}
}
/* Keep the opening action in view throughout the tablet range. */
@media(min-width:600px) and (max-width:1023px){
 .strip-backdrop{top:0;height:360px}
 .strip-backdrop img{object-position:18% center}
 .game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "prize" "feed" "board" "how" "pulls";padding-top:0}
 .round-rail,.rail-inner{display:contents}
 .hero-intro{padding:12px 0}
 .hero-title{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:12px;min-height:0;margin-top:8px;padding:10px 12px}
 .neon-sign{width:100%;padding:10px 16px}
 .hero-title h1{font-size:80px}
 .pending-hero{width:100%;height:auto;max-height:170px}
 .hero-scribble{display:none}
 .hero-explainer{font-size:18px;line-height:1.45;margin-top:6px;padding-top:8px;max-width:none}
 .hero-footnote{margin-top:4px;padding:0;font-size:14px;max-width:none}
 body[data-page="game"] .round-stage{padding:12px 0 20px;border-top:1px solid var(--line);background:var(--bg)}
 .round-stage .countdown{font-size:64px}
 .timer-caption{margin-bottom:10px}
 .prize-row{grid-template-columns:62px minmax(0,1fr);min-height:100px}
 .machine-photo,.machine-photo img{height:76px}
 .current-leader{padding:8px 0 10px}
 .hero-shot{min-height:58px}
}

/* R8: entrance signage, open street rows, and a continuous backdrop. */
:root{--row-line:#55436180;--row-tint:#c4a1ff09}
#site-header,
body[data-page="game"] #site-header{
 position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;
 gap:0 16px;padding:12px var(--gutter) 0;
 background:linear-gradient(180deg,#0c0912f5,#0c0912d9);
}
.brand{gap:8px;min-width:0;justify-self:start;letter-spacing:-.04em}
.brand-coin{width:32px;height:32px;flex-shrink:0;border-color:#ff69b680}
.brand-sign{display:grid;gap:4px}
.brand-caption{font:500 12px/1 var(--sans);letter-spacing:.12em;color:var(--blush)}
#brand-name{font:700 18px/1.1 var(--sans);letter-spacing:-.04em}
.account-button{grid-column:2;grid-row:1;min-height:44px;padding:8px 12px;
 background:#102221;color:var(--cyan);border:1px solid #79f4ee80;border-radius:2px;white-space:nowrap}
.account-button:hover:not(:disabled){background:#193735;color:var(--cyan);border-color:var(--cyan)}
#site-header nav{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;margin-top:8px}
#site-header nav a{position:relative;min-height:44px;padding:8px 4px;font-size:13px;color:var(--muted)}
#site-header nav a:hover,#site-header nav a[aria-current="page"]{color:var(--ink)}
#site-header nav a[aria-current="page"]::after{
 content:"";position:absolute;inset:auto 4px 0;height:2px;background:var(--accent);
 box-shadow:0 0 8px #ff69b64d;
}
.system-bar{position:relative;min-height:32px;padding:4px var(--gutter) 8px;
 gap:8px;border:0;background:linear-gradient(180deg,#0c0912d9,#0c091266);
 color:var(--muted);font-variant-numeric:tabular-nums}
.system-bar::after{content:"";position:absolute;inset:auto var(--gutter) 0;height:1px;
 background:linear-gradient(90deg,#ff69b680,#55436180 50%,#79f4ee66)}
#connection{margin-left:0}
#mode,#mode.dry{border:0;padding:0;border-radius:0;font-size:12px;font-weight:500;color:var(--cyan)}
.status-dot{width:4px;height:4px;margin-right:8px}
.system-bar:has(.connection-bad) .status-dot{background:var(--blush)}
.hero-shot,.mobile-action .button{justify-content:center;letter-spacing:.04em}
.street-label a,.hero-footnote a,.shot-actions a,.footer-links a,.claim-row a,a[target="_blank"]:not(.button){
 text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
 text-decoration-color:#c6b6d066;
}
.street-label a:hover,.hero-footnote a:hover,.shot-actions a:hover,.footer-links a:hover,.claim-row a:hover{
 color:var(--cyan);text-decoration-color:currentColor;
}
.hero-intro .street-label{background:transparent;padding-inline:0}
.hero-explainer{background:linear-gradient(90deg,#0c0912f5,#0c0912e6 80%,#0c091200);padding-top:8px}
.hero-footnote,.hero-scribble{background:transparent}
body[data-page="game"] .round-stage,
body[data-page="game"] .dm-section,
body[data-page="game"] .this-round,
body[data-page="game"] .pulls-section{background:transparent}
.dm-section,.pulls-section,.this-round,.round-stage{border-color:var(--row-line)}
.dm-section{border-top:0}
.strip-divider{gap:16px;margin-bottom:24px}
.strip-divider::before,.strip-divider::after{height:1px;box-shadow:none;background:var(--row-line)}
.strip-divider span{padding:8px 0;border:0;background:transparent;box-shadow:none;
 transform:none;animation:none;letter-spacing:.08em;color:var(--blush)}
.how-section{border:0;border-top:1px solid var(--row-line);box-shadow:none;
 background:linear-gradient(120deg,#24152e80,transparent 80%);padding:24px 16px;margin:24px 0}
.how-section::before,.how-section::after{display:none}
.page-hero{background:linear-gradient(120deg,#24152e99,transparent 75%);border-bottom:1px solid var(--row-line)}
.fair-aside{background:transparent;border-top:1px solid var(--row-line)}
#site-footer{position:relative;border-top:1px solid var(--row-line);
 background:linear-gradient(180deg,transparent,#24152e40);padding-top:32px}
.footer-brand>span:last-child{max-width:220px}
.player-avatar{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;
 border:1px solid #c4a1ff55;border-radius:50%;background:#251d31;color:var(--violet);
 font:500 14px/1 var(--sans)}
.shot,.dm-section .shot{padding:16px 0 0;margin:0;border-bottom:1px solid var(--row-line);
 transition:background-color 120ms}
.shot-head{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 8px;
 width:calc(100% - 32px);margin:0 0 8px auto;align-items:center;justify-content:normal}
.shot-head .player-avatar{grid-row:1/3}
.shot-head strong{font-size:14px;line-height:20px;color:var(--ink)}
.shot-time{grid-column:2;font-size:12px;line-height:16px;margin:0;color:var(--muted)}
.player-bubble,.dm-section .player-bubble{padding:12px 16px;max-width:none;margin-left:32px;
 background:#352044;border-color:#75529480;border-radius:12px 12px 2px 12px}
.her-response,.dm-section .her-response{gap:8px;margin:8px 0 0;max-width:100%}
.her-response>.her-mark{min-width:40px;width:40px;font-size:20px}
.reply-bubble,.dm-section .reply-bubble{padding:12px 16px;border-color:var(--row-line);
 background:#171120cc;border-radius:2px 12px 12px 12px}
.reply-rating{gap:8px;margin-top:8px}
.reply-rating .score{margin-left:auto;order:3}
.reply-rating .heart-doodle{order:2;margin:0;width:32px;height:32px}
.reply-rating .verdict{order:1}
.score,.rank-title b,.current-leader b,.prize-value,.payout-amount,.ledger-prize small,
.claim-row>strong,.payout-totals dd,.finalist-row>b,.heat-label strong{
 font-variant-numeric:tabular-nums;text-align:right;
}
.read-receipt{padding-top:4px;line-height:16px;color:var(--muted)}
.seen-pain,.dm-section .seen-pain{height:40px;gap:8px}
.seen-pain img,.dm-section .seen-pain img{width:40px;height:40px}
.shot-actions{gap:16px}
.shot-actions a{padding-inline:4px}
.shot:not(:has(.shot-actions)){padding-bottom:16px}
.leaderboard{padding:0}
.rank-row,.rank-row:nth-child(even),.rank-row:first-child{
 transform:none;margin:0;padding:16px 0;gap:8px;background:transparent;border:0;
 border-bottom:1px solid var(--row-line);box-shadow:none;transition:background-color 120ms;
}
.rank-row:first-child{background:linear-gradient(90deg,#79f4ee0d,transparent)}
.rank{font:500 16px/1 var(--sans);width:24px;flex:0 0 24px;text-align:center;font-variant-numeric:tabular-nums}
.rank-row .player-avatar{width:28px;height:28px;flex-basis:28px;font-size:12px}
.rank-row:first-child .player-avatar{color:var(--cyan);border-color:#79f4ee66}
.rank-title{font-size:14px;gap:8px;align-items:baseline}
.rank-title b{min-width:56px}
.rank-row .verdict{margin-top:4px;font-size:12px;line-height:16px}
.stack-label{margin:16px 0 8px;font-size:14px}
.ledger-head{gap:24px;border-color:var(--row-line);padding:16px 0}
.ledger-row{padding:16px 0;gap:16px;border-color:var(--row-line);transition:background-color 120ms}
.ledger-recipient{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 8px;justify-content:normal}
.ledger-recipient .player-avatar{grid-row:1/3}
.ledger-recipient strong{font-size:14px;line-height:20px}
.ledger-recipient time{grid-column:2;line-height:16px}
.ledger-prize{gap:16px}
.ledger-prize strong{font-weight:700}
.ledger-prize>.payout-amount{width:100%}
.ledger-prize>div{flex:1}
.ledger-prize small{text-align:right}
.ledger-receipt{text-align:right}
.ledger-receipt .proof-links{justify-content:flex-end}
.ledger-receipt .proof-links>span{color:var(--muted)}
.record-status{border:0!important;padding:0!important;color:var(--muted);letter-spacing:.04em}
.record-status[data-status="paid"],.record-status[data-status="dry-run"]{color:var(--cyan)}
.record-status.failed{color:var(--blush)}
.claim-row{gap:16px;padding:16px 0;border-color:var(--row-line);transition:background-color 120ms}
.claim-row>strong{font:700 14px/1.5 var(--sans);font-variant-numeric:tabular-nums;text-align:right}
.proof-record,.archive-record{border-color:var(--row-line)}
.proof-record>summary,.archive-record>summary{gap:8px 16px;padding:16px 0;min-height:64px;transition:background-color 120ms}
.proof-record>summary>span:first-child,.archive-record>summary>span:first-child{color:var(--blush);font-weight:700}
.proof-record>summary>.mono{font-variant-numeric:tabular-nums;text-align:right}
.proof-record[open],.archive-record[open]{background:linear-gradient(90deg,#24152e55,transparent)}
.archive-winner{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px}
.archive-winner .player-avatar{width:28px;height:28px;flex-basis:28px;font-size:12px}
.archive-record>summary>.mono{margin-left:auto;text-align:right}
.finalist-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;
 padding:16px 0;border-top:1px solid var(--row-line);align-items:center;font-size:14px}
.finalist-row>p{grid-column:2/-1;font-size:15px;line-height:1.5}
.finalist-row>b{color:var(--cyan)}
.finalist-row small{margin-left:4px;color:var(--muted);font-weight:400}
.shot:focus-within,.ledger-row:focus-within,.claim-row:focus-within,
.proof-record:focus-within,.archive-record:focus-within{background-color:var(--row-tint)}
.shot:active,.rank-row:active,.ledger-row:active,.claim-row:active,
.proof-record>summary:active,.archive-record>summary:active{background-color:#c4a1ff12}
@media(hover:hover){
 .shot:hover,.rank-row:hover,.ledger-row:hover,.claim-row:hover,
 .proof-record>summary:hover,.archive-record>summary:hover{background-color:var(--row-tint)}
}
@media(min-width:768px){
 #site-header,body[data-page="game"] #site-header{
  grid-template-columns:minmax(180px,1fr) auto auto;gap:24px;padding-block:16px 8px;
 }
 #site-header nav{grid-column:2;grid-row:1;margin:0;gap:16px}
 .account-button{grid-column:3}
 #brand-name{font-size:22px}
 .brand-coin{width:36px;height:36px}
 .system-bar{padding-block:8px 12px}
 .shot-head{width:80%}
 .player-bubble{max-width:80%;margin-left:auto}
 .her-response{max-width:92%}
 .ledger-row,.ledger-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr) minmax(0,1fr);gap:24px}
 .ledger-recipient{grid-column:auto}
 .claim-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
 .claim-row>span:last-child{justify-self:end}
 .proof-record>summary,.archive-record>summary{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:24px}
 .proof-record>summary>span:last-child{text-align:right}
 .archive-record>summary>.mono{margin-left:0}
}
@media(min-width:1024px){
 #site-header nav{gap:24px}
 #site-header nav a{font-size:14px}
 #brand-name{font-size:24px}
 .rail-inner{border:0;border-top:2px solid var(--accent);box-shadow:0 12px 32px 16px #0c091266}
 .strip-backdrop{top:72px}
}
@media(max-width:599px){
 .hero-intro{padding-top:8px;padding-bottom:8px}
 .hero-title{min-height:156px;padding-block:8px;margin-top:4px}
 .hero-explainer{margin-top:4px}
 .round-stage{padding-top:12px;padding-bottom:24px}
 .proof-record>summary>span:first-child,.archive-record>summary>span:first-child{flex-basis:100%}
 .footer-brand{align-items:flex-start}
 .footer-brand>span:last-child{font-size:14px;max-width:150px}
}
@media(max-width:359px){
 #site-header,body[data-page="game"] #site-header{gap:0 8px}
 #brand-name{font-size:16px}
 .brand-coin{width:28px;height:28px}
 .brand-caption{letter-spacing:0}
 .account-button{padding-inline:8px;font-size:12px}
 #site-header nav a{font-size:12px}
}

/* R10: private conversations on the same strip. */
.dm-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:12px var(--gutter) 24px;align-items:start}
.strip-intro,.private-chat{min-width:0}
.dm-layout .hero-intro{padding:0 0 16px}
.dm-layout .hero-title{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);height:152px;min-height:0;gap:12px;padding:8px 4px;margin:8px 0 0}
.dm-layout .neon-sign{width:100%;padding:8px 12px;align-self:center}
.dm-layout .hero-title h1{font-size:68px;line-height:1.05}
.dm-layout .pending-hero{position:static;width:100%;height:156px;max-height:none;object-fit:contain;align-self:end;transform:rotate(3deg)}
.dm-layout .hero-explainer{font-size:16px;line-height:1.45;margin:8px 0 0;padding:4px 0;background:transparent;max-width:45ch}
.dm-layout .round-stage{padding:12px 0 0;background:transparent;border-top:1px solid var(--row-line)}
.dm-layout .countdown{font-size:60px;margin:4px 0 12px;line-height:1}
.dm-layout .prize-row{padding:10px 12px;grid-template-columns:52px minmax(0,1fr);gap:12px}
.dm-layout .machine-photo,.dm-layout .machine-photo img{height:60px;width:48px}
.dm-layout .prize-row h3{font-size:15px}
.dm-layout .prize-value{font-size:16px}
.dm-layout .current-leader{padding:12px 0}
.hero-dm{min-height:56px;font-size:16px;letter-spacing:.025em}
.rollover-note{font-size:12px;color:var(--muted);padding-top:12px}
.private-chat{display:flex;flex-direction:column;height:min(820px,calc(100dvh - 32px));min-height:620px;background:#130e1bf5;border:1px solid #71516d;border-top:3px solid var(--accent);box-shadow:0 12px 45px #0006;overflow:hidden}
.chat-heading{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--row-line);flex-shrink:0}
.chat-heading>div{display:flex;align-items:center;gap:16px}
.chat-heading .her-mark{font-size:38px}
.chat-private{font-size:12px;letter-spacing:.1em;color:var(--muted)}
.chat-close{display:none}
.chat-pinned{padding:12px 20px 14px;flex-shrink:0;border-bottom:1px solid var(--row-line);background:#1c1323}
.chat-pinned>.split-line{font-size:12px;color:var(--muted);margin-bottom:10px}
#chat-mood{color:var(--cyan);text-transform:lowercase}
#chat-heat .heat-label strong{font-size:24px;line-height:1}
#chat-heat .heat-track{height:7px}
.conversation-heat .heat-track>span{transition:width .65s ease;background:var(--accent)}
#chat-heat-tag{min-height:24px;padding-top:4px}
.chat-limits{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums}
.chat-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.chat-invitation{padding:20px 4px;color:var(--muted)}
.chat-invitation>.her-mark{display:block;margin-bottom:20px}
.chat-invitation h2{font-size:30px;color:var(--ink);margin-bottom:16px;line-height:1.2}
.chat-invitation .button{margin:20px 0 12px}
.chat-invitation .button:not(.primary){color:var(--cyan);border-color:var(--cyan)}
.dm-message{display:flex;gap:8px;margin:0 0 16px;align-items:flex-start;flex-wrap:wrap}
.dm-bubble{padding:10px 14px;border:1px solid #67435c;background:#241727;border-radius:2px 14px 14px 14px;max-width:84%;min-width:0}
.dm-bubble p{font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}
.dm-her>.her-mark{font-size:23px;padding-top:8px;min-width:30px}
.dm-her .dm-bubble{max-width:calc(100% - 46px)}
.dm-you{justify-content:flex-end;padding-left:22px}
.dm-you .dm-bubble{background:#332744;border-color:#6d5587;border-radius:14px 2px 14px 14px}
.dm-you .read-receipt{width:100%;text-align:right;font-size:12px;padding:0;color:var(--muted);margin:0}
.dm-blocked .dm-bubble{border-color:#ff69b6;background:#38182c}
.dm-blocked p{text-decoration:line-through;color:var(--muted)}
.blocked-label{display:block;font-size:12px;color:var(--accent);margin-top:8px}
.dm-on-read{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-8px 0 16px}
.dm-on-read .read-receipt{font-size:12px;color:var(--muted)}
.dm-on-read img{width:64px;height:64px;object-fit:contain}
.dm-pending{opacity:.65}
.dm-composer{flex-shrink:0;padding:12px 20px 16px;background:#171020;border-top:1px solid var(--row-line);margin:0}
.dm-composer textarea{display:block;min-height:68px;max-height:130px;resize:vertical;width:100%;margin:0;font-size:16px}
.dm-composer .composer-meta{font-size:12px;gap:12px;padding:6px 0;margin:0;color:var(--muted);display:flex;justify-content:space-between}
.dm-composer .composer-meta #dm-count{white-space:nowrap}
.chat-system{font-size:13px;color:var(--blush);line-height:1.4;overflow-wrap:anywhere}
.chat-system:not(:empty){padding:0 0 10px}
.dm-composer .button{min-height:48px}
.dm-leaders .section-heading{align-items:end;flex-wrap:wrap}
.dm-leaders .section-heading>span{font-size:12px;color:var(--muted)}
.dm-swipe{display:flex;gap:0;list-style:none;margin:0;padding:0 0 12px;overflow:auto;scroll-snap-type:x proximity;scrollbar-color:var(--line) transparent;scrollbar-width:thin}
.dm-swipe>li{flex:0 0 230px;min-width:0;padding:16px 20px;border-left:1px solid var(--row-line);scroll-snap-align:start}
.dm-swipe>li:first-child{border-left:3px solid var(--accent);background:#ff69b608}
.dm-swipe .rank-title{align-items:center;justify-content:flex-start;margin-bottom:16px}
.dm-swipe .rank-title strong{min-width:0}
.dm-swipe .rank{font-size:18px;color:var(--muted)}
.dm-swipe .heat-label strong{font-size:24px}
.dm-swipe .verdict{padding:8px 0 0;background:none}
body[data-page="game"] main>.section{padding:28px var(--gutter);margin:0;min-width:0;display:block}
.heat-explainer{margin-top:16px;max-width:65ch;font-size:17px}
body[data-page="game"] .how-beats{display:grid;grid-template-columns:1fr;gap:16px}
.teaser{padding:20px 0;border-bottom:1px solid var(--row-line)}
.teaser-who{display:flex;gap:12px;align-items:center;margin-bottom:12px;font-size:14px}
.teaser-who time{margin-left:auto;color:var(--muted);font-size:12px;text-align:right}
.teaser>p{font-size:17px;max-width:65ch}
.teaser>p .her-mark{font-size:24px;margin-right:8px}
.teaser .conversation-heat{max-width:320px;margin:12px 0 0 44px}
.teaser .verdict{margin-top:6px;background:none;padding-left:0}
.teaser-read,.teaser-blocked{color:var(--muted)}
.teaser-tip>p{color:var(--cyan)}
.teaser-win>p{color:var(--accent)}
.winner-conversation{margin-top:16px;border-top:1px solid var(--row-line)}
.winner-conversation summary{font-size:14px;color:var(--cyan);text-decoration:underline;text-underline-offset:4px}
.mini-chat{padding:12px 0;max-height:420px;overflow:auto}
.mini-chat .dm-bubble p{font-size:14px}
.mini-chat .dm-her .dm-bubble{max-width:calc(100% - 38px)}
.mini-chat .her-mark{font-size:20px;min-width:24px}
.winner-share{font-size:12px;color:var(--cyan)}
.your-match{border:2px solid var(--cyan);padding:20px;box-shadow:0 0 50px #79f4ee33}
.your-match .eyebrow{color:var(--cyan);font-size:16px;font-weight:700}
.wallet-choices{display:grid;gap:12px;margin:24px 0}
.wallet-links{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.reveal-choice{display:flex;align-items:center;gap:12px;min-height:56px;margin-top:12px}
.reveal-choice input{width:22px;height:22px;min-height:22px;flex-shrink:0;margin:0;accent-color:var(--accent)}
#optional-x{border-block:1px solid var(--row-line);margin:24px 0;padding:8px 0}
#optional-x summary{color:var(--cyan)}
#optional-x p,#x-link-flow form{margin-bottom:12px}
.wallet-short{font-size:12px;color:var(--muted)}
@media(min-width:768px){body[data-page="game"] .how-beats{grid-template-columns:repeat(3,minmax(0,1fr))}.dm-layout .hero-title{max-width:460px;height:180px}.dm-layout .pending-hero{height:190px}.dm-layout .hero-title h1{font-size:86px}.dm-layout .hero-explainer{font-size:19px}.dm-layout .countdown{font-size:72px}}
@media(min-width:1024px){.dm-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:40px;padding-top:36px}.private-chat{position:sticky;top:16px}.dm-layout .hero-title{height:220px;margin:16px 0}.dm-layout .pending-hero{height:230px}.dm-layout .hero-title h1{font-size:clamp(76px,7vw,100px)}.dm-layout .hero-explainer{font-size:21px;line-height:1.5}.dm-layout .hero-intro{padding-bottom:24px}.dm-layout .round-stage{padding-top:20px}.dm-layout .countdown{font-size:80px}.dm-layout .prize-row{padding:16px;grid-template-columns:60px minmax(0,1fr)}.dm-layout .machine-photo,.dm-layout .machine-photo img{height:72px;width:56px}.dm-layout .prize-row h3{font-size:18px}.dm-layout .current-leader{padding:16px 0}.dm-layout .hero-dm{min-height:60px}.strip-backdrop{opacity:.65}.strip-backdrop img{width:100%;object-position:center top}}
@media(max-width:1023px){.private-chat{display:none}.chat-open{overflow:hidden}.chat-open .private-chat{display:flex;position:fixed;inset:0;z-index:60;width:100%;height:100dvh;min-height:0;max-height:none;border:0;padding-top:env(safe-area-inset-top);background:#130e1b}.chat-open .dm-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.chat-close{display:inline-flex}.chat-heading{padding:12px 16px}.chat-pinned{padding:10px 16px}.chat-messages{padding:16px}.dm-composer{padding:10px 16px 12px}.chat-pinned .split-line{margin-bottom:6px}.chat-heading .her-mark{font-size:32px}.chat-private{font-size:12px}.dm-layout .round-heading{flex-wrap:wrap;font-size:13px}.dm-layout .round-heading>span:last-child{font-size:12px}}
@media(max-width:389px){.dm-layout .hero-title h1{font-size:58px}.dm-layout .hero-title{height:136px}.dm-layout .pending-hero{height:144px}.dm-layout .hero-explainer{font-size:15px}.chat-private{display:none}}
@media(prefers-reduced-motion:reduce){.conversation-heat .heat-track>span{transition:none}.your-match{animation:none}}

.player-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(min-width:1024px){.private-chat{height:min(820px,calc(100dvh - 150px));min-height:560px}}

/* R11: one conversation, three device sizes. */
.private-chat{padding:7px;border:1px solid #706579;border-radius:34px;background:linear-gradient(125deg,#625568 0%,#17141c 22%,#08070b 65%,#494450);box-shadow:0 0 0 1px #050407,0 24px 54px #0009,-8px 0 32px #ff69b612,8px 0 32px #79f4ee0c;isolation:isolate}
.device-screen{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;border:1px solid #050407;border-radius:27px;background:#130e1b}
.device-status{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding:8px 22px;color:#fff6fd;font-size:12px;font-weight:700;line-height:1.2;flex-shrink:0;font-variant-numeric:tabular-nums}
.device-status-label{color:var(--muted);font-weight:400;letter-spacing:.16em}
.device-indicators{display:flex;gap:7px;align-items:center}
.device-signal{display:block;width:15px;height:12px;background:linear-gradient(to top,#fff6fd 0 100%) left bottom/3px 4px no-repeat,linear-gradient(to top,#fff6fd 0 100%) center bottom/3px 8px no-repeat,linear-gradient(to top,#fff6fd 0 100%) right bottom/3px 12px no-repeat}
.device-battery{position:relative;width:21px;height:11px;border:1px solid #c6b6d0;border-radius:3px;padding:2px;background:linear-gradient(#fff6fd,#fff6fd) 2px center/13px 5px no-repeat}
.device-battery::after{content:"";position:absolute;width:2px;height:5px;background:#c6b6d0;right:-4px;top:2px;border-radius:0 2px 2px 0}
.device-camera{position:absolute;top:11px;left:75%;width:17px;height:17px;transform:translateX(-50%);border:4px solid #050407;border-radius:50%;background:#171c29;box-shadow:0 0 0 1px #29232f;z-index:2;pointer-events:none}
.device-panes{display:flex;flex-direction:column;flex:1;min-height:0}
.chat-profile{min-width:0;background:#1c1323;flex-shrink:0}
.chat-thread{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;background:#130e1b}
.chat-thread-heading{display:none}
.chat-details{border:0;margin:0;padding:0}
.chat-details>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--row-line);font-size:12px;color:var(--muted);list-style:none;cursor:pointer}
.chat-details>summary::-webkit-details-marker{display:none}
.chat-details>summary::after{content:"Show";font-weight:700;color:var(--cyan);padding-left:12px}
.chat-details[open]>summary::after{content:"Hide"}
.chat-details-content{padding:0 16px 16px}
.chat-pack{padding:16px 0;border-bottom:1px solid var(--row-line)}
.chat-pack .eyebrow{color:var(--blush);margin-bottom:12px;font-size:12px}
.chat-pack-body{display:flex;gap:12px;align-items:center}
.chat-pack-body img{width:40px;height:56px;object-fit:contain;flex-shrink:0}
.chat-pack-body strong{display:block;font-size:14px;line-height:1.35}
.chat-pack-body span{display:block;margin-top:4px;color:var(--cyan);font-size:12px}
.chat-settings{padding-top:16px;margin:0}
.chat-settings .eyebrow{font-size:12px;color:var(--muted);margin-bottom:10px}
.chat-settings>label{display:block;margin:0 0 6px;font-size:12px;color:var(--ink)}
.chat-settings>label span{color:var(--muted)}
.chat-settings input[type="text"],#chat-name{width:100%;min-height:44px;margin:0;padding:8px 10px;font-size:16px;border-radius:8px;background:#130e1b}
.chat-settings .chat-reveal{display:flex;gap:10px;align-items:center;min-height:56px;margin:8px 0;cursor:pointer;line-height:1.4}
.chat-reveal input{appearance:none;position:relative;width:38px;height:23px;min-height:23px;flex-shrink:0;border:1px solid #80618e;border-radius:20px;background:#392b43;margin:0;padding:0}
.chat-reveal input::before{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#c6b6d0}
.chat-reveal input:checked{background:var(--cyan);border-color:var(--cyan)}
.chat-reveal input:checked::before{left:18px;background:#130e1b}
.chat-reveal input:disabled{opacity:.45;cursor:not-allowed}
.chat-settings-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chat-settings-bottom .button{font-size:12px;padding:8px 10px;min-height:44px;border-radius:8px}
.chat-settings-bottom>span,#chat-profile-status{font-size:12px;color:var(--muted)}
#chat-profile-status:not(:empty){margin-top:8px}
.private-chat .chat-heading{align-items:center;gap:8px}
.private-chat .chat-heading>div{gap:10px}
.private-chat .chat-messages{padding:20px 16px}
.private-chat .dm-composer{padding:12px 16px 16px;background:#171020}
.private-chat .dm-composer textarea{border-radius:12px;resize:none;min-height:64px;max-height:100px;padding:10px 12px}
.private-chat .dm-composer .button{box-shadow:none;border-radius:10px;min-height:46px}
.private-chat .dm-composer .button:hover{transform:none}
.private-chat .chat-invitation{padding:16px 0;max-width:340px;margin:auto}
.private-chat .chat-connect{display:flex;flex-direction:column;justify-content:center;min-height:100%}
.private-chat .chat-invitation>.her-mark{font-size:42px;margin-bottom:24px;line-height:1}
.private-chat .chat-invitation .eyebrow{font-size:12px;color:var(--blush);letter-spacing:.06em;margin-bottom:12px}
.private-chat .chat-invitation h2{font-family:var(--sans);font-size:clamp(26px,2.4vw,34px);font-weight:700;letter-spacing:-.04em;line-height:1.15;margin-bottom:14px}
.private-chat .chat-invitation p{font-size:14px;line-height:1.55}
.chat-wallet-actions{display:grid;gap:10px;margin:24px 0 16px}
.private-chat .chat-wallet-actions .button{margin:0;border-radius:10px;box-shadow:none;min-height:48px}
.private-chat .chat-wallet-actions .primary{color:var(--bg);border-color:var(--accent)}
#chat-wallet-status:not(:empty){margin-bottom:12px;color:var(--blush)}
.private-chat .chat-invitation .muted{font-size:12px}
.chat-preview{align-self:flex-start;padding:8px 0;background:transparent;border:0;color:var(--cyan);font-size:12px;margin-top:8px}
.device-home{display:flex;align-items:center;justify-content:center;height:22px;flex-shrink:0;background:#171020}
.device-home::before{content:"";width:100px;height:4px;border-radius:4px;background:#fff6fdc4}
@media(min-width:1024px){
 .dm-layout{grid-template-columns:minmax(300px,.64fr) minmax(0,1.36fr);gap:28px}
 .private-chat{height:clamp(660px,calc(100dvh - 164px),820px);min-height:660px;top:16px}
 .device-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .device-status-label{position:absolute;left:24%;transform:translateX(-50%)}
 .device-screen::after{content:"";position:absolute;top:38px;bottom:22px;left:50%;width:12px;transform:translateX(-50%);pointer-events:none;z-index:2;background:linear-gradient(90deg,transparent,#0002 36%,#0005 49%,#e8d8ff0b 54%,transparent);border-left:1px solid #ffffff04}
 .chat-profile{display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
 .private-chat .chat-heading{min-height:98px;padding:16px 20px;border-bottom:0}
 .private-chat .chat-heading>div{display:block}
 .private-chat .chat-heading .her-mark{display:block;font-size:48px;line-height:1.05}
 .private-chat .chat-private{display:block;margin-top:8px;font-size:12px;letter-spacing:.12em}
 .private-chat .chat-pinned{padding:12px 20px 18px;background:transparent}
 .chat-pinned>.split-line{align-items:flex-start;gap:8px;flex-direction:column;margin-bottom:16px}
 #chat-heat .heat-label strong{font-size:32px}
 .chat-limits{flex-direction:column;gap:6px;margin-top:12px}
 .chat-details>summary{display:none}
 .chat-details-content{padding:0 20px 20px}
 .chat-thread-heading{display:flex;align-items:center;gap:10px;min-height:74px;padding:16px;border-bottom:1px solid var(--row-line)}
 .chat-thread-heading>.her-mark{font-size:25px}
 .chat-thread-heading strong{display:block;font-size:14px;font-weight:500}
 .chat-thread-heading div>span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
 .thread-private{width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-left:auto}
 .private-chat .dm-her>.her-mark{font-size:18px;min-width:26px}
 .private-chat .dm-her .dm-bubble{max-width:calc(100% - 34px)}
 .private-chat .dm-you{padding-left:8px}
 .private-chat .dm-bubble{max-width:92%;padding:10px 12px}
 .private-chat .dm-composer .composer-meta{flex-wrap:wrap;gap:4px}
 .private-chat .dm-composer #dm-count{margin-left:auto}
}
@media(min-width:1280px){
 .dm-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
}
@media(min-width:1024px) and (max-width:1279px){
 .dm-layout .hero-title h1{font-size:68px}
 .dm-layout .hero-title{grid-template-columns:minmax(0,1.6fr) minmax(0,.6fr)}
}
@media(min-width:600px){
 .device-screen::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;background:linear-gradient(122deg,#ff69b609,transparent 22%,transparent 80%,#79f4ee06);box-shadow:inset 0 1px 0 #ffffff16}
}
@media(min-width:600px) and (max-width:1023px){
 .chat-open::after{content:"";position:fixed;inset:0;background:#08050cc9;backdrop-filter:blur(6px);z-index:59}
 .chat-open .private-chat{inset:16px auto auto 50%;transform:translateX(-50%);width:min(440px,calc(100% - 48px));height:calc(100dvh - 32px);max-height:960px;border:1px solid #706579;padding:7px;border-radius:42px;background:linear-gradient(125deg,#625568,#08070b 40%,#494450);box-shadow:0 24px 64px #000a}
 .device-screen{border-radius:34px}
 .device-status{min-height:46px;padding:12px 24px}
 .device-status-label{display:none}
 .device-camera{top:10px;left:50%;width:108px;height:27px;border-radius:18px;border:0;background:#050407;box-shadow:0 0 0 1px #29232f}
 .device-camera::after{content:"";position:absolute;right:9px;top:8px;width:11px;height:11px;border-radius:50%;background:#151d2b;box-shadow:inset 0 0 0 3px #0b0e16}
 .chat-open .dm-composer{padding-bottom:10px}
}
@media(max-width:1023px){
 .chat-profile{max-height:48%;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
 .private-chat .chat-heading{position:sticky;top:0;z-index:1;padding:8px 16px;background:#1c1323}
 .private-chat .chat-heading .her-mark{font-size:30px}
 .private-chat .chat-heading .chat-private{font-size:12px;letter-spacing:.04em}
 .private-chat .chat-close{font-size:12px;padding:8px 10px;min-height:44px;border-radius:8px}
 .private-chat .chat-pinned{padding:8px 16px 10px}
 .private-chat .chat-pinned .split-line{gap:8px;font-size:12px}
 .private-chat #chat-heat-tag{min-height:20px}
 .private-chat .chat-limits{margin-top:4px}
 .private-chat .chat-messages{padding:16px}
 .private-chat .chat-invitation h2{font-size:30px}
}
@media(max-width:599px){
 .chat-open .private-chat{inset:0;width:100%;height:100dvh;padding:0;border:0;border-radius:0;background:#130e1b;box-shadow:none}
 .device-screen{border:0;border-radius:0;overflow:hidden}
 .device-status{min-height:28px;padding:calc(6px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 6px max(20px,env(safe-area-inset-left));font-size:12px;background:#1c1323}
 .device-status-label{font-size:12px;letter-spacing:.1em}
 .device-camera,.device-home{display:none}
 .chat-open .private-chat .dm-composer{padding:10px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .private-chat .chat-messages{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
}
@media(max-width:1023px) and (max-height:550px){
 .chat-profile{max-height:34%}
 .private-chat .dm-composer textarea{min-height:44px;height:44px}
 .private-chat .dm-composer .composer-meta{padding:2px 0}
 .private-chat .dm-composer #dm-note{display:none}
 .private-chat .chat-connect{min-height:0}
}
@media(prefers-reduced-motion:reduce){
 .private-chat *,.private-chat *::before,.private-chat *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* R12: PENDING OS. The device persists while its apps change. */
.phone-os .private-chat [hidden]{display:none!important}
.phone-os .device-screen{background:#130e1b}
.phone-os .os-screen{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#67405f transparent;outline:none;animation:app-arrive .18s ease-out}
.phone-os .os-screen:focus-visible,.phone-os [data-screen="messages"]:focus-visible{outline:2px solid #ff69b6;outline-offset:-3px}
.phone-os button:focus-visible,.phone-os a:focus-visible,.phone-os input:focus-visible,.phone-os select:focus-visible{outline:2px solid #79f4ee;outline-offset:3px}
.os-navigation{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #43334c;background:#130e1b;padding:0 18px;min-height:48px;z-index:4}
.os-navigation button{border:0;background:transparent;color:#fff6fd;min-height:44px;min-width:48px;font:700 12px var(--sans);cursor:pointer}
.os-navigation span{color:#c6b6d0;font:12px monospace;letter-spacing:.1em}
.phone-os .device-home{height:12px}
.os-lock,.os-home{background-color:#160b20;background-image:linear-gradient(180deg,#130e1b38,#130e1b44 40%,#130e1bf2),url('/assets/strip-1600.jpg');background-size:cover;background-position:54% center}
.os-lock{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:28px 24px 12px;touch-action:pan-x}
.lock-clock{z-index:1;align-self:flex-start;margin-left:4%;color:#fff6fd;text-shadow:0 3px 18px #110518}
.lock-clock p{font-size:14px;margin:0 0 8px;letter-spacing:.02em}
.lock-clock strong{display:block;font-size:clamp(66px,7vw,106px);font-weight:500;letter-spacing:-.08em;line-height:.95;font-variant-numeric:tabular-nums}
.lock-clock>span{font:12px monospace;display:block;margin-top:14px;letter-spacing:.16em;color:#ffb8df}
.lock-pending{position:absolute;z-index:-1;width:58%;height:64%;top:9%;right:-6%;object-fit:contain;object-position:top;filter:drop-shadow(0 12px 18px #0006);pointer-events:none}
.lock-notifications{display:grid;gap:8px;width:min(100%,410px);margin-top:auto;padding-top:34px;z-index:1}
.os-notification{width:100%;border:1px solid #82577480;border-radius:15px;background:#221327ed;color:#fff6fd;text-align:left;padding:11px 14px;cursor:pointer;box-shadow:0 4px 10px #0002}
.os-notification:first-child{border-color:#ff69b69e}
.os-notification>span{font:12px monospace;letter-spacing:.12em;color:#e0afcd;display:block;margin-bottom:4px}
.os-notification strong{font-weight:500;line-height:1.35;font-size:14px;display:block}
.os-notification small{color:#ff9bd0;font-size:12px;display:inline-block;margin-top:3px}
.os-notification:hover{background:#34213b}
.unlock-button{border:0;background:transparent;color:#fff6fd;font:700 14px var(--sans);padding:16px 12px 8px;min-height:60px;cursor:pointer;flex-shrink:0}
.unlock-button span{display:block;font-size:12px;font-weight:400;color:#c6b6d0;margin-top:3px}
.os-home{display:flex;flex-direction:column;padding:22px 24px 18px;position:relative}
.home-heading{position:relative;padding-bottom:20px}
.home-heading>span:first-child{font:12px monospace;color:#d7b8d0;letter-spacing:.1em}
.home-heading>strong{display:block;margin-top:8px;font-size:42px;line-height:.98;letter-spacing:-.05em;font-weight:700}
.home-heading .scribble{display:block;color:#ff9bd0;font-size:15px;margin-top:12px}
.home-widget{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:15px 16px;border:1px solid #765169;background:#160e1ee8;border-radius:18px;color:#fff6fd;gap:16px;cursor:pointer}
.home-widget>div:first-child{flex-shrink:0}
.home-widget>div:first-child>span{font:12px monospace;letter-spacing:.12em;color:#ffb8df}
.home-widget>div:first-child>strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.home-widget>div:last-child{display:flex;gap:10px;align-items:center;max-width:58%;font-size:12px;color:#c6b6d0}
.home-widget img{object-fit:contain;flex-shrink:0;width:34px;height:48px}
.home-widget>div:last-child strong{display:block;color:#fff6fd;font-size:12px;font-weight:500;line-height:1.3;margin-top:4px}
.os-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;padding:24px 6px 28px}
.os-icon{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;background:none;border:0;color:#fff6fd;font:500 12px var(--sans);cursor:pointer;min-width:0;position:relative}
.icon-art{display:grid;place-items:center;position:relative;width:62px;height:62px;border-radius:17px;background:#392235;color:#ffbddf;box-shadow:inset 0 0 0 1px #ffffff20,0 4px 8px #0003;transition:transform .15s}
.os-icon:hover .icon-art{transform:translateY(-3px) rotate(-3deg)}
.icon-art svg{width:44px;height:44px;transform:rotate(-3deg)}
.icon-photos .icon-art{background:#3a3444;color:#dfc9fd}
.icon-strip .icon-art{background:#8f345a;color:#ffe0ee}
.icon-hotornot .icon-art{background:#e96097;color:#211020}
.icon-notes .icon-art{background:#e7d494;color:#584523}
.icon-bank .icon-art{background:#335b57;color:#b5e8d2}
.icon-settings .icon-art{background:#45404c;color:#e2d8e6}
.icon-messages .icon-art{background:#ff69b6;color:#301026}
.os-badge{position:absolute;right:-5px;top:-5px;min-width:23px;height:23px;border-radius:14px;background:#e74362;color:#fff;border:2px solid #211123;display:grid;place-items:center;font-size:12px}
.unread .icon-art{animation:unread-call 2.4s ease-in-out infinite}
.os-dock{margin-top:auto;background:#190e20e8;border:1px solid #b3779a55;padding:12px 18px;border-radius:22px;display:flex;align-items:center;gap:20px}
.os-dock .os-icon{flex-shrink:0;font-size:12px;gap:5px}
.os-dock .icon-art{width:54px;height:54px;border-radius:15px}
.os-dock>div>strong{font-weight:500;font-size:13px;color:#e9c8dd}
.dock-invite{display:block;border:0;background:none;text-align:left;color:#ff9bd0;font:700 14px var(--sans);padding:8px 0;min-height:44px;cursor:pointer}
.os-app{background:#130e1b}
.os-app-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;gap:14px;border-bottom:1px solid #43334c}
.os-app-heading h2{font:700 28px var(--sans);letter-spacing:-.06em;margin:4px 0 0;line-height:1.15;color:#fff6fd}
.os-kicker{font:12px monospace;letter-spacing:.12em;color:#c6b6d0}
.app-stamp{color:#ff9bd0;transform:rotate(7deg)}
.app-stamp svg{width:38px;height:38px}
.os-app-content{padding:0 24px 24px}
.os-subline{font-size:12px;line-height:1.55;color:#c6b6d0;margin:16px 0}
.os-app-content h3{font-family:var(--sans);font-size:18px;letter-spacing:-.025em}
.os-app .button{box-shadow:none;border-radius:8px;font-size:13px;min-height:44px;padding:10px 16px}
.os-tabs{display:flex;gap:6px;border-bottom:1px solid #43334c;padding-top:8px}
.os-tabs button{flex:1;min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:#c6b6d0;font:500 13px var(--sans);cursor:pointer}
.os-tabs button[aria-pressed="true"]{color:#ff9bd0;border-bottom-color:#ff69b6}
.os-empty{padding:36px 0;text-align:left}
.os-empty>.scribble{font-size:24px;color:#ff9bd0}
.os-empty h3{font-size:22px;margin-top:20px}
.os-empty p{font-size:14px;line-height:1.5;color:#c6b6d0;margin:14px 0 24px}
.os-empty .button{margin:0 8px 12px 0}
.os-error{padding:16px 0;border-bottom:1px solid #95445a;color:#ffb8c8;font-size:13px}
.os-inline-status{font-size:12px;color:#ffb8df;line-height:1.5}
.os-inline-status:empty{display:none}
.os-streak{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#e0bad2;margin-top:8px}
.streak-tally{font-family:var(--marker);font-weight:700;letter-spacing:3px;transform:rotate(-8deg);border-bottom:2px solid #e0bad2;line-height:1}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.photo-tile{border:1px solid #43334c;background:#25192e;min-width:0;overflow:hidden;text-align:left;padding:0;color:#fff6fd;cursor:pointer;border-radius:6px}
.photo-caption{display:block;padding:8px;font-size:12px;color:#e2c8df;border-top:1px solid #43334c}
.roll-card{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px;background:#21172b;gap:10px;min-height:150px}
.roll-card img{width:100%;height:170px;object-fit:contain}
.roll-card>strong{font-size:12px;line-height:1.3;text-align:center}
.screenshot-art{background:#201329;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:190px}
.screenshot-art>.her-mark{font-size:22px;color:#ff9bd0}
.screenshot-art p{font-size:12px;line-height:1.45;padding:10px;border-radius:12px;margin:0}
.shot-you{background:#70415f;margin-left:12px!important;color:#fff6fd;border-bottom-right-radius:3px!important}
.shot-her{background:#36213d;margin-right:12px!important;color:#fff6fd;border-bottom-left-radius:3px!important}
.screenshot-art>span:last-child{font-size:12px;color:#c6b6d0}
.screenshot-tile .screenshot-art{height:210px;overflow:hidden;gap:6px;padding:8px}
.screenshot-tile .screenshot-art p{font-size:12px;padding:7px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.photo-viewer{position:absolute;inset:38px 0 0;z-index:8;background:#130e1b;display:flex;flex-direction:column}
.photo-viewer>header{display:flex;justify-content:space-between;gap:16px;flex-shrink:0;padding:12px 20px;border-bottom:1px solid #43334c}
.photo-full{overflow:auto;overscroll-behavior:contain;padding:24px;flex:1;min-height:0;text-align:center}
.photo-full .roll-card{background:none}
.photo-full .roll-card img{max-height:44vh;min-height:240px;height:100%;max-width:320px}
.photo-full h3{font:700 20px var(--sans);margin:16px 0}
.photo-full p{font-size:14px;line-height:1.5}
.photo-full .screenshot-art{max-width:380px;margin:0 auto;text-align:left;padding:24px;gap:20px;min-height:320px;border:1px solid #43334c;border-radius:18px}
.photo-full .screenshot-art p{font-size:16px}
.photo-full .mini-chat{max-width:420px;margin:auto;text-align:left}
.strip-post{padding:22px 0;border-bottom:1px solid #43334c}
.strip-byline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.strip-byline strong{font-size:13px;overflow-wrap:anywhere}
.strip-byline time{font-size:12px;color:#c6b6d0;margin-left:auto}
.strip-post>p:not(.os-inline-status){font-size:17px;line-height:1.55;letter-spacing:-.02em;margin:14px 0 18px}
.reaction-row{display:flex;gap:7px;flex-wrap:wrap}
.reaction-row button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #60415a;border-radius:7px;background:#24162a;color:#e2c8df;font:12px var(--sans);padding:9px 12px;min-height:44px;cursor:pointer}
.reaction-row button[aria-pressed="true"]{background:#ff69b6;border-color:#ff69b6;color:#211020}
.reaction-row button span{font-variant-numeric:tabular-nums}
.deck-summary{display:flex;justify-content:space-between;gap:10px;padding:18px 0;color:#c6b6d0;font-size:12px}
.os-unlock{padding:16px;background:#28182d;border-left:3px solid #ff69b6;margin-bottom:20px}
.os-unlock p{font-size:14px;margin-bottom:12px}
.deck-stack{padding:8px 5px 12px;position:relative}
.deck-stack::before{content:"";position:absolute;inset:12px 2px 10px;background:#57314c;transform:rotate(2deg);border-radius:14px}
.deck-card{background:#f8dbeb;color:#2c1426;border:1px solid #ffbddf;border-radius:14px;padding:22px;position:relative;overflow-wrap:anywhere}
.swipe-card{touch-action:pan-y;cursor:grab;user-select:none;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}
.swipe-card:active{cursor:grabbing}
.deck-author{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px}
.deck-author>span:last-child{margin-left:auto;font-size:12px}
.deck-card .player-avatar{background:#74465f;color:#fff6fd}
.deck-card blockquote{font-size:clamp(19px,2vw,25px);font-weight:500;letter-spacing:-.035em;line-height:1.4;margin:26px 0}
.deck-record{display:flex;gap:8px;justify-content:space-between;font:12px monospace}
.vote-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:4px}
.vote-controls .button{font-size:20px;min-height:54px}
.swipe-hint{font-size:12px;text-align:center;color:#c6b6d0;margin:12px 0 24px}
.your-line{border-top:1px solid #43334c;margin-top:24px;padding-top:22px}
.your-line h3{margin-bottom:16px}
.your-line .deck-card{background:#25172c;color:#f8dbeb;border-color:#624159;padding:18px}
.your-line .deck-card blockquote{font-size:17px;margin:18px 0}
.crowd-bonus{font-size:12px;margin:12px 0}
.crowd-bonus strong{font-size:16px;color:#ff9bd0}
.your-line label{display:block;font-size:13px;margin-bottom:10px}
.your-line select{display:block;width:100%;min-height:46px;background:#25172c;color:#fff6fd;border:1px solid #79546f;border-radius:6px;padding:10px;font:14px var(--sans);margin-bottom:12px}
.top-lines{display:grid;gap:14px}
.top-lines .deck-card blockquote{font-size:18px}
.app-notes{background:#f5e9bd!important;color:#30291e}
.app-notes .os-app-heading{background:#e7d794;border-color:#c8b679}
.app-notes .os-app-heading h2,.app-notes .os-kicker,.app-notes .app-stamp{color:#30291e}
.app-notes .os-app-content{padding:0}
.notes-paper{padding:24px;background:repeating-linear-gradient(transparent 0,transparent 31px,#9c814c30 31px,#9c814c30 32px)}
.note-date{font:12px monospace;letter-spacing:.08em;margin:0 0 26px;color:#655733}
.note-section{margin:0 0 32px}
.note-section h3{font:20px var(--marker);transform:rotate(-1deg);margin:0 0 18px;display:flex;align-items:center;gap:8px}
.note-section ol{list-style:none;margin:0;padding:0}
.note-section li{display:flex;align-items:baseline;gap:10px;font-size:13px;min-height:36px;padding:8px 0;border-bottom:1px solid #b7a47155}
.note-rank{font:12px monospace;color:#7d6c45}
.note-section li>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.note-section li>strong{margin-left:auto;font-size:16px;white-space:nowrap;font-weight:500}
.note-section small{font-size:12px;font-weight:400}
.note-crown svg{width:30px;height:30px;transform:rotate(-9deg)}
.note-empty{font-style:italic;color:#655733}
.note-signoff{font-size:24px;text-align:right;transform:rotate(-4deg)}
.bank-total{padding:28px 0 22px;border-bottom:2px solid #ff69b6}
.bank-total>span{font:12px monospace;letter-spacing:.13em;color:#c6b6d0}
.bank-total>strong{display:block;font-size:58px;font-weight:500;letter-spacing:-.06em;margin:4px 0}
.bank-total small{font-size:18px;letter-spacing:0}
.bank-total p{font-size:12px;color:#c6b6d0}
.bank-heading{margin:26px 0 8px}
.bank-receipt{padding:18px 0;border-bottom:1px dashed #60415a;font-size:12px;line-height:1.55}
.bank-receipt>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.bank-receipt strong{font-size:14px;font-weight:500}
.bank-receipt>div>span{color:#ffb8df;white-space:nowrap}
.bank-receipt p{margin:8px 0;color:#c6b6d0}
.bank-receipt a{color:#ff9bd0;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0;min-height:36px}
.settings-row{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid #43334c;gap:12px}
.settings-row strong{font-size:16px;font-weight:500}
.settings-row span{display:block;font-size:12px;color:#c6b6d0;margin-top:5px}
.sound-toggle{background:#493343;border:1px solid #80516e;border-radius:24px;color:#fff6fd;min-height:44px;min-width:66px;font:700 13px var(--sans);cursor:pointer}
.sound-toggle[aria-checked="true"]{background:#ff69b6;color:#211020}
#settings-streak{padding-top:18px}
#os-profile-form{padding:24px 0;border-bottom:1px solid #43334c}
#os-profile-form>label:first-child{font-size:14px;display:block;margin-bottom:12px}
#os-name,#os-tweet{width:100%;height:48px;background:#25172c;border:1px solid #79546f;border-radius:7px;color:#fff6fd;padding:12px;font:16px var(--sans)}
.settings-reveal{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:14px;line-height:1.45}
.settings-reveal input{accent-color:#ff69b6;width:22px;height:22px;min-width:22px;min-height:22px;padding:0;flex:0 0 22px}
#os-profile-status{color:#ffb8df;font-size:12px;margin-top:12px}
.os-x{padding:20px 0;border-bottom:1px solid #43334c;margin-bottom:20px}
.os-x summary{min-height:44px;cursor:pointer;font-size:14px;display:flex;align-items:center;list-style:none}
.os-x summary::after{content:"Show";margin-left:auto;font-size:12px;color:#ff9bd0}
.os-x[open] summary::after{content:"Hide"}
.os-x summary::-webkit-details-marker{display:none}
.os-x p{font-size:13px;line-height:1.5;color:#c6b6d0;margin:10px 0 16px}
.os-x label{display:block;font-size:12px;margin:16px 0 10px}
.os-x input{margin-bottom:12px}
.settings-notice{padding:20px 0;margin-top:20px;border-top:1px solid #43334c}
.settings-notice strong{font:12px monospace;color:#ffb8df;letter-spacing:.1em}
.settings-notice p{font-size:12px;color:#c6b6d0;line-height:1.6;margin:10px 0}
.settings-links{display:flex;gap:24px}
.settings-links a{font-size:13px;color:#ff9bd0;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@keyframes unread-call{0%,70%,100%{box-shadow:0 0 0 0 #ff69b600}80%{box-shadow:0 0 0 7px #ff69b640}90%{box-shadow:0 0 0 12px #ff69b600}}
@keyframes app-arrive{from{opacity:.6;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(min-width:1024px){
 .phone-os .private-chat{min-height:720px;height:clamp(720px,calc(100dvh - 150px),880px)}
 .phone-os .os-lock{padding-top:36px}
 .phone-os .lock-clock{margin-left:1%;align-self:flex-start}
 .phone-os .lock-notifications{align-self:flex-end;max-width:56%;margin-top:auto}
 .phone-os .lock-pending{left:-4%;right:auto;top:30%;height:66%;width:54%}
 .phone-os .os-home{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:16px 30px;padding:28px}
 .phone-os .home-heading{grid-column:1;grid-row:1 / 3;align-self:start;padding-top:20px}
 .phone-os .home-heading>strong{font-size:clamp(42px,4vw,60px)}
 .phone-os .home-heading::after{content:"";display:block;background:url('/assets/mascot/pending-body.webp') center/contain no-repeat;height:280px;margin-top:24px;transform:rotate(-6deg)}
 .phone-os #home-widget{grid-column:2;grid-row:1}
 .phone-os .home-widget{display:block;padding:14px}
 .phone-os .home-widget>div:last-child{max-width:100%;margin-top:10px}
 .phone-os .os-icon-grid{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;padding:8px 0;align-content:center}
 .phone-os .os-dock{grid-column:1 / -1;grid-row:3;margin:0}
 .phone-os .device-screen::after{bottom:60px;z-index:1}
 .phone-os .device-screen:has(.os-app:not([hidden]))::after{display:none}
 .phone-os .os-app-content{max-width:720px;margin:0 auto}
 .phone-os .os-app-heading{padding-inline:28px}
 .phone-os .chat-profile .chat-close{display:none}
 .phone-os .chat-pinned>.split-line{margin-bottom:12px}
 .phone-os .chat-thread-heading{min-height:64px}
}
@media(max-width:1023px){
 .phone-os{overflow:hidden}
 .phone-os::after,.phone-os.chat-open::after{display:none}
 .phone-os #site-header,.phone-os>.system-bar,.phone-os #site-footer,.phone-os .strip-intro,.phone-os main>.section{display:none}
 .phone-os #main{padding:0;margin:0;max-width:none}
 .phone-os .dm-layout{display:block;margin:0;padding:0}
 .phone-os .private-chat,.phone-os.chat-open .private-chat{display:flex;position:fixed;inset:16px auto auto 50%;transform:translateX(-50%);width:min(440px,calc(100% - 48px));height:calc(100dvh - 32px);min-height:0;max-height:none;z-index:60;padding:7px;border:1px solid #706579;border-radius:42px;background:linear-gradient(125deg,#625568,#08070b 40%,#494450);box-shadow:0 24px 64px #000a}
 .phone-os .chat-profile{max-height:43%}
 .phone-os .chat-details{display:none}
 .phone-os .chat-pinned .split-line{margin-bottom:6px}
 .phone-os .chat-pinned .heat-label{margin-bottom:4px}
 .phone-os #chat-heat-tag{display:inline-block}
 .phone-os #chat-streak{display:inline-block;float:right}
 .phone-os #chat-streak .os-streak{margin-top:4px;font-size:12px}
 .phone-os .chat-heading{display:none}
 .phone-os .chat-pinned{padding-top:14px}
 .phone-os .photo-viewer{inset-block-start:46px}
 .phone-os .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .phone-os .os-app-heading{padding:18px 20px 16px}
 .phone-os .os-app-content{padding-inline:20px}
 .phone-os .app-notes .os-app-content{padding:0}
 .phone-os .device-home{display:none}
 .phone-os #global-error:not(:empty){position:fixed;z-index:70;top:0;left:0;right:0;max-height:20vh;overflow:auto}
}
@media(max-width:599px){
 .phone-os .private-chat,.phone-os.chat-open .private-chat{inset:0;transform:none;width:100%;height:100dvh;padding:0;border:0;border-radius:0;background:#130e1b;box-shadow:none}
 .phone-os .device-screen{border-radius:0;border:0}
 .phone-os .device-camera{display:none}
 .phone-os .os-navigation{padding:0 max(18px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(18px,env(safe-area-inset-left))}
 .phone-os .os-lock{padding:28px max(22px,env(safe-area-inset-right)) 12px max(22px,env(safe-area-inset-left))}
 .phone-os .lock-clock strong{font-size:92px}
 .phone-os .os-home{padding-inline:max(22px,env(safe-area-inset-left)) max(22px,env(safe-area-inset-right))}
 .phone-os .photo-viewer{inset-block-start:calc(28px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}
 .phone-os.chat-open .private-chat .dm-composer{padding-bottom:10px}
 .phone-os .dm-composer #dm-note{font-size:12px}
 .phone-os .dm-composer textarea{font-size:16px}
}
@media(max-height:740px) and (max-width:1023px){
 .phone-os .os-home{padding-top:14px}
 .home-heading>strong{font-size:32px}
 .home-heading .scribble{display:none}
 .home-heading{padding-bottom:14px}
 .os-icon-grid{gap:16px;padding-block:18px}
 .icon-art{width:52px;height:52px}
 .lock-clock strong,.phone-os .lock-clock strong{font-size:70px}
 .lock-notifications{padding-top:22px}
 .os-notification{padding:9px 12px}
 .os-notification strong{font-size:12px}
 .os-lock{padding-top:18px}
}
@media(prefers-reduced-motion:reduce){
 .phone-os *,.phone-os *::before,.phone-os *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .phone-os .os-icon:hover .icon-art{transform:none}
}
.app-notes .os-error,.app-notes .loading{color:#65341e}
.app-notes .os-error .button{color:#30291e;border-color:#795f34}
.phone-os .photo-full .proof-links>span,.phone-os .bank-receipt .proof-links>span{color:#c6b6d0}

/* R13: one character, a life across the phone */
.her-identity{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:#ff9bd0;cursor:pointer;flex-shrink:0}
.her-avatar{width:44px;height:44px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid #ff9bd0;flex-shrink:0}
.her-identity .her-mark{font-size:28px;line-height:1}
.her-status-widget{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:12px;background:#21172bf5;border:1px solid #80516e;border-radius:12px;color:#fff6fd;cursor:pointer;min-height:68px}
.her-status-widget strong{display:block;font-size:13px;line-height:1.4;font-weight:500}
.her-status-widget small{display:block;color:#ff9bd0;font-size:12px;margin-top:4px}
#home-widget>.her-status-widget{margin-bottom:10px}
.chat-standards{font-size:12px;color:#ffb8df;margin-top:8px;line-height:1.5}
.phone-os .chat-thread-heading{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid #43334c;flex-shrink:0}
.phone-os .chat-thread-heading .her-avatar{height:36px;width:36px}
.phone-os .chat-thread-heading .her-mark{font-size:24px}
.phone-os .chat-thread-heading strong{display:block;font-size:14px}
.phone-os .chat-thread-heading div>.relationship-chip{display:inline-block;font-size:12px;color:#ffb8df;border:1px solid #80516e;border-radius:12px;padding:2px 8px;margin-top:4px}
.her-first-texts{margin-bottom:20px}
.inbox-heading{display:flex;justify-content:space-between;gap:8px;font:12px monospace;color:#ffb8df;margin-bottom:14px}
.inbox-heading b{font:12px var(--sans);color:#fff6fd}
.thread-start{border-top:1px solid #43334c;text-align:center;margin-top:20px;padding-top:14px;color:#c6b6d0;font:12px monospace}
.her-photo{display:block;width:100%;height:auto;aspect-ratio:380 / 337;object-fit:cover;background:#21172b}
.dm-bubble .her-photo{margin-top:10px;border-radius:6px}
.her-post{border-left:2px solid #ff69b6;padding-left:16px;box-shadow:-8px 0 20px -20px #ff69b6}
.her-post>.her-photo{margin:16px 0;max-height:420px;object-fit:contain}
.her-post .strip-byline{flex-wrap:wrap;gap:8px}
.her-post .strip-byline time{margin-left:auto}
.her-verified{font:12px monospace;color:#ff9bd0;letter-spacing:.04em;border-bottom:1px solid #ff69b6;padding-bottom:3px}
.her-reacted{font-size:12px!important;color:#ffb8df}
.her-poll{display:grid;gap:8px;margin:18px 0 0}
.poll-option{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 12px;border:1px solid #67405f;border-radius:5px;color:#fff6fd;background:#21172b;text-align:left;cursor:pointer;font:14px var(--sans)}
.poll-option[aria-pressed="true"]{border-color:#ff69b6}
.poll-option:disabled{cursor:wait;opacity:.6}
.poll-fill{position:absolute;inset:0 auto 0 0;background:#6f3456;z-index:-1;transition:width .18s ease-out}
.poll-label{overflow-wrap:anywhere}
.poll-label small{display:block;font-size:12px;color:#ffb8df;margin-top:3px}
.poll-count{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}
.poll-count small{font-size:12px;display:block;color:#c6b6d0}
.poll-total{font:12px monospace;color:#c6b6d0;margin-top:5px}
.her-poll .os-inline-status:empty{display:none}
.app-her .os-app-heading{border-bottom:0}
.phone-os .app-her .os-app-content{width:100%;max-width:720px}
.her-cover{position:relative}
.her-cover .her-photo{max-height:350px;object-position:center 35%;object-fit:cover}
.her-cover>span{position:absolute;bottom:12px;left:12px;right:12px;font:12px monospace;letter-spacing:.08em;background:#130e1be8;color:#fff6fd;padding:8px}
.her-profile-title{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.her-profile-title .her-avatar{height:64px;width:64px}
.her-profile-title h2{font-size:44px;line-height:1;margin:0}
.her-profile-title>span{color:#ffb8df;font-size:12px;margin-left:auto}
.her-disclosure{padding:14px 16px;background:#2b1a2c;border-left:3px solid #ff69b6;font-size:13px;line-height:1.6;color:#fff6fd;margin:18px 0}
.her-disclosure strong{display:block;color:#ff9bd0;margin-bottom:4px}
.her-status-copy{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:22px 0 10px}
.her-job{font-size:14px;line-height:1.6;color:#c6b6d0;margin-bottom:20px}
.her-gallery-section,.her-recent{border-top:1px solid #43334c;margin-top:28px;padding-top:24px}
.her-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:18px}
.her-gallery figure{margin:0;min-width:0}
.her-gallery figcaption{font-size:12px;color:#c6b6d0;padding-top:8px}
.her-profile-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.her-profile-details>section{padding:24px 0;border-bottom:1px solid #43334c}
.her-profile-details>section:last-child{grid-column:1 / -1}
.her-profile-details h3{color:#ff9bd0;margin:0 0 12px}
.her-profile-details ul{margin:0;padding-left:18px;line-height:1.8;font-size:14px;color:#e6d6eb}
.her-recent .her-post{margin-top:20px}
.about-her{display:flex;gap:12px;align-items:center;width:100%;min-height:76px;padding:16px 0;border:0;border-bottom:1px solid #43334c;background:none;color:#fff6fd;text-align:left;cursor:pointer}
.about-her>span:last-child{margin-left:auto;font:14px var(--sans)}
.about-her small{display:block;font-size:12px;color:#c6b6d0;margin-top:4px}
.her-photo-caption{font-size:12px;text-align:left;line-height:1.5;padding:8px 10px;margin:0}
.photo-full>.her-photo{max-height:60vh;object-fit:contain}
.private-photo-label{font-size:12px;color:#ffb8df}
.os-tabs{flex-wrap:wrap}
.os-tabs>button{min-width:0;flex:1 1 25%;font-size:12px}
@media(min-width:1024px){.phone-os .lock-notifications{max-width:60%}.phone-os #home-widget{align-self:start}.phone-os .os-icon-grid{gap:12px;align-content:start}.phone-os .home-heading::after{height:240px}}
@media(max-width:1023px){.phone-os .chat-pinned{padding-top:10px;padding-bottom:8px}.phone-os .chat-thread-heading{min-height:56px}.phone-os .chat-thread-heading strong{font-size:12px}.phone-os .chat-thread-heading div>.relationship-chip{margin-top:0}.home-heading{padding-bottom:14px}.home-heading>strong{font-size:36px}.home-heading .scribble{display:none}.os-icon-grid{padding-block:18px;gap:18px}.her-status-widget{padding:10px}.lock-notifications{padding-top:18px}.her-profile-details{grid-template-columns:1fr}.her-profile-title>span{margin-left:0}.her-post .her-verified{font-size:12px}.her-post .strip-byline time{flex-basis:100%;margin-left:0}}
@media(max-height:740px) and (max-width:1023px){.home-heading>strong{font-size:28px}.home-heading{padding-bottom:8px}.her-status-widget{min-height:56px}.her-status-widget .her-avatar{height:36px;width:36px}.home-widget{padding:10px}.os-icon-grid{padding-block:14px}.phone-os .lock-clock strong{font-size:60px}.phone-os .lock-clock{margin-bottom:0}.lock-notifications{padding-top:12px}}

/* R14: one clear action, quieter screens. */
button.text-link{appearance:none;background:transparent;border:0;border-radius:0;padding:0;color:inherit}
.quiet-details>summary{display:flex;align-items:center;min-height:48px;gap:12px;list-style:none;cursor:pointer;font:500 16px var(--sans);color:inherit;border-bottom:1px solid #43334c;padding:12px 0}
.quiet-details>summary::-webkit-details-marker{display:none}
.quiet-details>summary::marker{content:''}
.quiet-details>summary::after{content:'Show';margin-left:auto;color:inherit;font:14px var(--sans)}
.quiet-details[open]>summary::after{content:'Hide'}
.quiet-details>summary:focus-visible{outline:2px solid #b8f8ff;outline-offset:4px}
body[data-page="game"] .section.quiet-details{padding-block:14px;margin-block:8px}
body[data-page="game"] .footer-details>summary{font-size:14px}
body[data-page="game"] .hero-explainer{font-size:19px;line-height:1.55}
body[data-page="game"] .round-stage{margin-top:24px}
.phone-os .os-app-heading h2{font-size:28px}
.phone-os .os-app-heading .app-stamp{display:none}
.phone-os .os-app-content{width:100%}
.phone-os .os-home{gap:24px;padding-top:28px}
.phone-os .her-status-widget{border:0;background:#21172be8;padding:14px;border-radius:12px}
.phone-os .her-status-widget strong{font-size:16px}
.phone-os .home-widget{padding:16px;margin-top:16px}
.phone-os .home-widget strong{font-size:26px}
.phone-os .home-widget>div:last-child strong{font-size:16px}
.phone-os .os-dock{order:-1;margin:0;padding:20px;min-height:100px;background:#f66bb2;color:#211020;border:0;box-shadow:none;transform:none}
.phone-os .os-dock .dock-invite{color:#211020;font-size:19px;font-weight:700;line-height:1.35;min-height:48px;text-align:left}
.phone-os .os-dock .os-icon{color:#211020}
.phone-os .os-dock .icon-art{box-shadow:none;background:#211020;color:#ffb8df}
.phone-os .os-icon-grid{padding:8px 0;gap:24px 16px}
.phone-os .os-icon>span:last-child{font-size:14px}
.phone-os .lock-notifications{width:100%;padding-top:24px}
.phone-os .os-notification strong{font-size:18px}
.phone-os .unlock-button{font-size:18px;min-height:56px}
.phone-os .chat-details{display:block;margin:0;padding:0 20px}
.phone-os .chat-details>summary{font-size:14px;min-height:44px;padding:8px 0}
.phone-os .chat-details-content{padding-top:16px}
.phone-os .chat-pinned{padding:18px 20px 4px}
.phone-os .chat-pinned .split-line{font-size:14px;margin-bottom:12px}
.phone-os .chat-pinned .heat-label{font-size:14px}
.phone-os .chat-pinned .heat-track{height:10px}
.phone-os .chat-profile{overflow:auto}
.phone-os .chat-profile .chat-heading{padding:16px 20px}
.phone-os .chat-thread-heading{padding:12px 20px;min-height:64px}
.phone-os .chat-thread-heading strong{font-size:16px}
.phone-os .chat-connect{padding:20px 0;background:transparent;border:0;box-shadow:none;text-align:left}
.phone-os .chat-connect p{font-size:18px;margin:0 0 20px}
.phone-os .chat-connect .button{min-height:50px}
.phone-os .dm-composer textarea{font-size:17px;min-height:56px}
.phone-os .dm-composer textarea[readonly]{opacity:.7}
.phone-os .dm-composer .composer-meta{font-size:12px;min-height:20px}
.phone-os .chat-details #chat-streak{float:none}
.phone-os .chat-details #chat-mood,.phone-os .chat-details #chat-standards,.phone-os .chat-details #chat-heat-tag,.phone-os .chat-details #chat-streak{margin-bottom:12px}
.phone-os .strip-post{padding-block:22px}
.phone-os .strip-post>p{font-size:17px;line-height:1.55}
.phone-os .strip-byline time{display:none}
.phone-os .her-verified{border:0}
.phone-os .reaction-row{padding-top:12px}
.phone-os .reaction-row button{min-height:44px;font-size:14px}
.phone-os .notes-paper{padding:24px}
.phone-os .note-section h3{font-size:22px}
.phone-os .note-section li{padding-block:14px;font-size:16px}
.phone-os .notes-paper>.quiet-details>summary::after{color:inherit}
.phone-os .your-line{margin-top:24px}
.phone-os .deck-summary{margin:16px 0;font-size:14px}
.phone-os .deck-card blockquote{font-size:22px}
.phone-os .deck-card .quiet-details>summary{font-size:14px}
.phone-os #os-settings>[data-guide-replay]{margin:16px 0}
.phone-os .os-empty{padding:24px 0;text-align:left}
.phone-os .os-empty p{font-size:18px;margin-bottom:24px}
.phone-os .os-tabs{margin-top:8px}
.phone-os .os-tabs>button{min-height:48px;font-size:14px}
.os-tip{margin:0 20px 16px;padding:16px;border-left:2px solid #ff69b6;background:#2b1a2c;color:#fff6fd;flex-shrink:0}
.os-tip p{font-size:16px;line-height:1.5;margin:0 0 8px}
.os-tip button{min-height:44px;font-size:14px}
[data-guide]{position:fixed;inset:0;z-index:1000;pointer-events:none}
[data-guide][hidden]{display:none}
.guide-spotlight{position:fixed;border:2px solid #ffb8df;border-radius:16px;box-shadow:0 0 0 200vmax #08040dc9,0 0 18px #ff69b650;transition:top .16s ease,left .16s ease,width .16s ease,height .16s ease;pointer-events:none}
.guide-card{position:fixed;padding:22px;background:#21172b;border:1px solid #ff9bd0;border-radius:16px;color:#fff6fd;box-shadow:0 12px 48px #0008;pointer-events:auto;overflow:auto}
.guide-card p{font:500 20px/1.45 var(--sans);margin:0 0 20px;overflow-wrap:anywhere}
.guide-card>div{display:flex;align-items:center;gap:24px}
.guide-card button{min-height:44px;font-size:16px}
.guide-card:focus-visible{outline:2px solid #b8f8ff;outline-offset:4px}
@media(min-width:1024px){
 .phone-os .os-home{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;padding:32px;gap:32px}
 .phone-os #home-widget{grid-column:1;grid-row:2;align-self:start}
 .phone-os .os-dock{grid-column:1 / -1;grid-row:1;max-width:none}
 .phone-os .os-icon-grid{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:32px 16px}
 .phone-os .os-lock .lock-notifications{max-width:52%;margin-bottom:24px}
}
@media(max-width:1023px){
 .phone-os .chat-profile{max-height:40%;flex-shrink:0}
 .phone-os .chat-details[open]{padding-bottom:16px}
 .phone-os .chat-profile:has(.chat-details[open]){max-height:55%}
 .phone-os .os-home{overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){.guide-spotlight{transition:none}}

/* R14C: preserve the primary ink in every control state and on every surface. */
.button.primary{color:#0c0912!important}
.button.primary:disabled{opacity:1}
/* Keep app labels readable even over the wallpaper's brightest pixels. */
.os-icon-grid .os-icon>span:last-child{background:#160b20e6}
/* Light surfaces need dark text, including their hover and disclosure states. */
.skip:hover{color:var(--paper-ink)}
.pull .winner-share,.pull .winner-conversation>summary{color:var(--paper-ink)}
.pull .winner-share:hover{color:#8b1e41}
.app-notes .os-error .button:not(.primary):hover:not(:disabled){background:#e7d794}

/* R14D: signed-out Send opens the wallet chooser without looking ready to send. */
#dm-send[aria-disabled="true"]{background:#292330;border-color:#54495f;color:#b9b0c2!important;box-shadow:none;text-shadow:none;transform:none;opacity:1;cursor:not-allowed}

/* R15: the same reserved photo frame in DMs, albums and the viewer. */
.her-photo-frame{position:relative;display:block;overflow:hidden;isolation:isolate;border:1px solid #aaa;border-radius:2px;background:#000;color:#fff}
.her-photo-image{position:relative;display:block;aspect-ratio:2 / 3;background:#000}
.her-photo-frame .her-photo{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;margin:0;border-radius:0;background:#000;image-rendering:auto}
.her-photo-label{display:block;padding:8px;border-top:1px solid #aaa;background:#000;color:#c9c9c9;font:500 12px/1.4 var(--sans);overflow-wrap:anywhere}
.dm-photo{display:block;width:200px;max-width:100%;padding:0;margin:10px 0 0;border:0;border-radius:2px;background:#000;color:#fff;cursor:pointer;text-align:left}
.dm-photo:focus-visible{outline:2px solid #79f4ee;outline-offset:3px}
.photo-tile .her-photo-frame{border-radius:0}
.photo-full>.her-photo-frame{width:100%;max-width:420px;margin:0 auto}
.photo-full>.her-photo-frame{max-width:min(420px,45vh)}

/* R16: crisp monochrome character art inside the neon phone. */
.dm-attachment{flex-basis:100%;min-width:0;padding-left:34px}
.dm-attachment .dm-photo{margin-top:0}
.her-text-art{image-rendering:auto;background:#000;object-fit:contain}
.her-photo.her-text-art{aspect-ratio:2 / 3}
.her-avatar{border-radius:0;background:#000;border-color:#aaa;image-rendering:pixelated;object-fit:contain}
.player-avatar.her-face{border-radius:0;background:#000}
.player-avatar.her-face img{image-rendering:pixelated;object-fit:contain}
.her-cover .her-photo.her-text-art{object-fit:contain;object-position:center;height:320px;max-height:none}
.her-post>.her-photo.her-text-art{height:360px;max-height:50vh;object-fit:contain}
.os-notification:has(.her-avatar){display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;text-align:left}
.os-notification>.her-avatar{grid-column:1;grid-row:1 / 3}
.os-notification>.her-avatar~span,.os-notification>.her-avatar~strong{grid-column:2;min-width:0}
.her-strip-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:8px;min-width:0;background:#000;border:1px solid #aaa;margin:0 0 24px;padding:16px}
.her-strip-hero>div{min-width:0}
.her-strip-hero .her-mark{color:#c9c9c9;font-size:28px}
.her-strip-hero h3{font:400 clamp(24px,5vw,32px)/1.1 var(--serif);color:#fff;margin:12px 0 0;letter-spacing:-.03em}
.her-strip-figure{display:block;width:100%;height:auto;max-height:320px;aspect-ratio:2 / 3;object-fit:contain}
.match-art.reveal-text-art{width:100%;height:auto;max-width:320px;margin:12px auto;background:#000;transform:none}
.match-art.reveal-text-art .reveal-figure{display:block;position:static;width:100%;height:clamp(240px,43dvh,460px);max-width:none;object-fit:contain;transform:none;filter:none;animation:none}
.reveal-line{display:flex;align-items:center;gap:12px;max-width:440px;margin:16px auto 24px;text-align:left}
.reveal-line p{margin:0;min-width:0;overflow-wrap:anywhere}
.verdict-warm{background:#3f3220;color:#ffe2ae}
.verdict-intrigued{background:#183b3a;color:#b9f4e8}
.app-photos .os-tabs>button{flex:1 1 28%;overflow-wrap:anywhere}
.photo-tile:has(.her-photo-frame){background:#000;color:#fff;min-width:0;border-radius:2px}
.photo-tile .photo-caption{overflow-wrap:anywhere}
@media(max-width:420px){.her-strip-hero{padding:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.her-strip-hero h3{font-size:28px}}

/* R17: secondary coin disclosure, preserving the phone and game entry. */
.about-dialog{width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto;overflow-wrap:anywhere;color:#fff6fd;background:#0c0912}
.about-dialog h2{font:700 24px/1.2 var(--sans);padding-right:32px;margin:0 0 16px}
.about-dialog p{font:400 16px/1.5 var(--sans);margin:12px 0}
.about-dialog #coin{border-top:1px solid #43334c;margin-top:24px;padding-top:24px}
.about-dialog h3{font:700 24px/1.2 var(--sans);margin:0 0 12px}
.about-dialog h4{font:700 16px/1.5 var(--sans);margin:20px 0 4px}
.coin-address{display:flex;align-items:center;gap:12px;margin-block:16px}
.coin-address>span{min-width:0;flex:1}
.coin-address code{font:13px/1.5 monospace;overflow-wrap:anywhere;user-select:all}
.coin-address .button{flex-shrink:0;min-height:44px}
.coin-split{list-style:none;padding:0;margin:0}
.coin-split li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #43334c}
.coin-split strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.coin-later{border-top:1px solid #43334c;margin-top:20px;padding-top:8px}
.coin-notes,.coin-status{color:#c6b6d0}
.about-dialog .text-link{display:inline-flex;align-items:center;min-height:44px;color:#b8f8ff}
.lock-clock .lock-game-name{display:block;font:700 16px/1.2 var(--sans);letter-spacing:.08em;margin-bottom:8px}

.about-game{display:flex;align-items:center;min-height:48px}
.lock-clock .lock-game-copy{max-width:25ch;font:400 14px/1.4 var(--sans);letter-spacing:0;margin-bottom:12px}

/* R19: the game, in three illustrated moves. */
.play-heading,.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.play-heading h2,.preview-heading h2{font:700 24px/1.2 var(--sans);letter-spacing:-.03em;margin:0;color:#fff6fd}
.play-heading>span{font:12px var(--sans);color:#c6b6d0}
#how.how-section{display:block;background:none;padding:0;margin:0;border:0}
#how .play-heading{display:block;margin-bottom:12px}
#how .play-heading h2{white-space:nowrap}
#how .play-heading>span{display:block;margin-top:4px}
.play-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.play-steps>li{min-width:0;padding:12px;background:#160e1ef2;border:1px solid #654454;border-top:2px solid #ff69b6;border-radius:6px;color:#fff6fd}
.play-steps h3{font:700 16px/1.15 var(--sans);letter-spacing:-.025em;margin:12px 0 8px;color:#fff6fd}
.play-steps p{font:400 14px/1.45 var(--sans);color:#d8c9df;margin:0}
.step-art{position:relative;height:76px;display:flex;align-items:center;justify-content:center;color:#ff9bd0}
.step-art svg{width:100px;height:72px;max-width:100%}
.wallet-art svg{filter:drop-shadow(0 0 8px #ff69b640)}
.step-number{position:absolute;top:0;left:0;font:11px var(--mono);color:#c6b6d0}
.step-heat{position:absolute;bottom:3px;left:25%;width:50%;height:5px;background:#483046;border-radius:3px;overflow:hidden}
.step-heat i{display:block;height:100%;width:var(--heat-fill);background:#ff69b6;transform-origin:left;animation:heat-arrive .8s ease-out both}
@keyframes heat-arrive{from{transform:scaleX(.12)}to{transform:scaleX(1)}}
.step-reveal-art{gap:8px}
.step-reveal{width:48px;height:72px;object-fit:contain;background:#000;image-rendering:auto}
.step-pack{width:34px;height:44px;object-fit:contain;transform:rotate(8deg)}
.pack-outline{display:grid;place-items:center;border:1px solid #ff9bd0;font:9px var(--mono)}
.round-live{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 20px;align-items:center;padding:16px 0}
.round-live span{display:block;font:12px/1.4 var(--sans);color:#c6b6d0}
.round-live .live-clock .countdown{display:block;font:500 44px/1 var(--sans);letter-spacing:-.06em;margin:4px 0 0;color:#7af4ec;font-variant-numeric:tabular-nums}
.live-pack{display:flex;align-items:center;gap:12px;min-width:0}
.live-pack img{flex-shrink:0;object-fit:contain}
.live-pack strong{display:block;font:600 14px/1.3 var(--sans);color:#fff6fd;overflow-wrap:anywhere;margin:3px 0}
.live-pack small{font:12px var(--sans);color:#c6b6d0}
.live-leader{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid #43334c;padding-top:10px;min-width:0}
.live-leader strong{font:600 13px var(--sans);color:#fff6fd;overflow-wrap:anywhere;min-width:0}
.live-leader b{font:600 12px var(--mono);color:#7af4ec;margin-left:auto;white-space:nowrap}
#how-rules .game-details{padding:0;border:0;margin:4px 0 0}
#how-rules summary{font-size:13px;min-height:44px;border:0;padding:10px 0;color:#c6b6d0}
#how-rules summary::after{content:''}
#how-rules .game-details p{font-size:14px;line-height:1.55;color:#c6b6d0;margin:8px 0 16px}
#how-rules .game-details[open]{padding-bottom:12px}
.preview-heading .text-link{min-height:44px;flex-shrink:0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
body[data-page="game"] .preview-section{padding-block:28px;border-top:1px solid #43334c;background:none}
.preview-heading h2>span{font:12px var(--sans);margin-left:8px}
.dm-leaders .dm-swipe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0;overflow:visible}
.dm-leaders .dm-swipe>li{min-width:0;width:auto;background:#160e1e;border:0;border-left:2px solid #ff69b6;padding:16px}
.dm-leaders .rank-title{min-width:0}.dm-leaders .rank-title strong{overflow-wrap:anywhere}
.tip-details{margin-top:12px}.tip-details>summary{font-size:13px;min-height:44px;border:0}
#feed-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.strip-preview{min-width:0;padding:0 16px 0 0;border-right:1px solid #43334c}
.strip-preview p{font-size:17px;line-height:1.5;margin:16px 0;color:#fff6fd}
.strip-preview .teaser-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.strip-preview time{font-size:12px;color:#c6b6d0}.strip-preview .avatar{width:28px;height:28px}
.preview-caption{font:12px/1.4 var(--sans);color:#c6b6d0}
#pull-wall:not(.expanded){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:16px}
.winner-preview{display:flex;align-items:center;gap:16px;min-width:0;padding:16px;background:#160e1e;border-bottom:2px solid #654454}
.winner-preview>img{width:64px;height:88px;object-fit:contain;flex-shrink:0}
.winner-preview>div{min-width:0}.winner-preview h3{font:700 18px/1.2 var(--sans);margin:6px 0;overflow-wrap:anywhere}
.winner-preview p{font:13px/1.45 var(--sans);margin:0 0 8px;color:#c6b6d0}
.winner-preview a{font-size:13px;display:inline-flex;align-items:center;min-height:44px}
.winner-pack-placeholder{font:12px var(--sans);width:64px;flex-shrink:0}
.lock-play{display:none}
@media(min-width:1024px){
 .phone-os .dm-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;padding-top:24px;padding-bottom:32px}
 .dm-layout .hero-title{height:154px;max-width:430px;margin:8px 0;grid-template-columns:minmax(0,1.8fr) minmax(0,.7fr)}
 .dm-layout .hero-title h1{font-size:80px}.dm-layout .pending-hero{height:166px}
 body[data-page="game"] .dm-layout .hero-explainer{font-size:17px;line-height:1.5;margin:8px 0 0}
 .dm-layout .hero-intro{padding-bottom:24px}
 body[data-page="game"] .dm-layout .round-stage{margin-top:16px;padding:0;border-top:1px solid #654454}
 .dm-layout .hero-dm{min-height:52px}
 .phone-os .private-chat{height:740px;min-height:740px}
 .phone-os .lock-clock strong{font-size:84px}
 .phone-os .os-lock .lock-notifications{max-width:100%;margin-bottom:8px}
 .phone-os .lock-pending{width:74%;left:10%;top:29%;height:56%}
 .phone-os .os-lock{padding-inline:24px}
}
@media(min-width:1024px) and (max-width:1199px){
 .phone-os .dm-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px}
 .play-steps{gap:8px}.play-steps>li{padding:10px}.play-steps h3{font-size:14px}.play-steps p{font-size:13px}
 .play-heading>span{display:none}.live-pack strong{font-size:13px}
 .dm-layout .hero-title h1{font-size:68px}
}
@media(max-width:1023px){
 .phone-os .os-lock{padding:16px 20px 8px;overflow-y:auto;touch-action:pan-y;align-items:stretch}
 .phone-os .lock-clock{margin:0;width:100%;padding-right:70px;position:relative;flex-shrink:0}
 .lock-clock .lock-game-name{font-size:18px;margin:0 0 6px}
 .lock-clock .lock-game-copy{font-size:13px;line-height:1.4;max-width:27ch;margin:0 0 8px}
 .phone-os .lock-clock #lock-time{position:absolute;top:0;right:0;font-size:26px;letter-spacing:-.04em}
 .phone-os .lock-clock #lock-date{font-size:11px;color:#d8c9df;margin:0}
 .phone-os .lock-pending{width:68px;height:100px;left:auto;right:16px;top:48px;opacity:1}
 .lock-play{display:block;position:relative;margin-top:20px;flex-shrink:0}
 .lock-play>h2{font:700 20px/1.2 var(--sans);letter-spacing:-.03em;margin:0 0 12px;color:#fff6fd}
 .lock-play .play-steps{grid-template-columns:minmax(0,1fr);gap:8px}
 .lock-play .play-steps>li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;padding:10px 12px;border-top:1px solid #654454;border-left:2px solid #ff69b6;background:#160e1ef5}
 .lock-play .step-art{height:54px}.lock-play .step-art svg{height:52px;width:64px}
 .lock-play .step-number{font-size:9px;left:-5px;top:-3px}
 .lock-play .step-reveal{height:54px;width:32px}.lock-play .step-pack{width:24px;height:34px}.lock-play .step-reveal-art{gap:2px}
 .lock-play .play-steps h3{font-size:14px;line-height:1.2;margin:0 0 4px}
 .lock-play .play-steps p{font-size:13px;line-height:1.35}
 .lock-play .round-live{margin-top:12px;padding:12px;background:#160e1ef5;border:1px solid #654454;border-radius:6px;gap:8px 12px}
 .lock-play .round-live .countdown{font-size:32px}.lock-play .round-live span{font-size:11px}
 .lock-play .live-pack{gap:8px}.lock-play .live-pack strong{font-size:12px}.lock-play .live-pack small{font-size:11px}
 .lock-play .live-pack img{width:24px;height:38px}
 .lock-play .live-leader{padding-top:8px}.lock-play .live-leader strong,.lock-play .live-leader b{font-size:11px}
 .lock-rules{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#d8c9df;text-decoration:underline;text-underline-offset:4px}
 .phone-os .os-lock .lock-notifications{padding-top:8px;margin-top:auto;flex-shrink:0}
 .phone-os .os-lock .os-notification{padding:10px 12px}.phone-os .os-lock .os-notification strong{font-size:15px}
 .phone-os .os-lock .unlock-button{flex-shrink:0;margin-top:8px;min-height:52px}
 [data-guide]:has([data-guide-step="1"]) .guide-spotlight{box-shadow:0 0 0 200vmax #08040d18}
 [data-guide-step="1"].guide-card{padding:14px 18px}
 [data-guide-step="1"].guide-card p{font-size:16px;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.step-heat i{animation:none}}

/* R20: keep named packs and pulls within their existing surfaces. */
.play-steps p,.deck-win,.strip-preview p,.strip-post p,.roll-card>strong,.winner-preview p,#match-prize{min-width:0;overflow-wrap:anywhere}
.match-intro h2{max-width:100%;font-size:clamp(36px,8vw,64px);overflow-wrap:anywhere;transform:none}
.match-intro h2 span{display:block}
.match-intro #match-prize{width:100%;max-width:40ch;margin:0;font-size:16px;line-height:1.4}
.deck-win{font-size:13px;line-height:1.4;color:var(--cyan)}

/* R21: the tablet's portrait phone, seated beside the desktop instructions.
   Keep this scoped to desktop so the tablet and full-screen phone stay intact. */
@media(min-width:1024px){
 .phone-os .dm-layout{grid-template-columns:minmax(0,1fr) 400px;gap:48px}
 .phone-os .strip-intro{min-width:0}
 .phone-os .private-chat{width:400px;max-width:100%;height:min(740px,calc(100dvh - 160px));min-height:560px;padding:7px;border:1px solid #706579;border-radius:42px;background:linear-gradient(125deg,#625568,#08070b 40%,#494450);box-shadow:0 24px 64px #000a}
 .phone-os .device-screen{border-radius:34px}
 .phone-os .device-screen::after{display:none}
 .phone-os .device-status{min-height:46px;padding:12px 24px}
 .phone-os .device-status-label{display:none}
 .phone-os .device-camera{top:10px;left:50%;width:108px;height:27px;border-radius:18px;border:0;background:#050407;box-shadow:0 0 0 1px #29232f}
 .phone-os .device-camera::after{content:"";position:absolute;right:9px;top:8px;width:11px;height:11px;border-radius:50%;background:#151d2b;box-shadow:inset 0 0 0 3px #0b0e16}
 .phone-os .device-home{display:flex;height:12px}
 .phone-os .device-panes{display:flex;flex-direction:column;grid-template-columns:none}

 .phone-os .os-lock{padding-top:24px}
 .phone-os .lock-pending{left:14%;top:38%;width:72%;height:43%}
 .phone-os .os-home{display:flex;flex-direction:column;gap:24px;padding:28px 24px 18px;overflow-y:auto}
 .phone-os #home-widget{align-self:stretch;min-width:0}
 .phone-os .home-widget{display:flex;gap:16px}
 .phone-os .home-widget>div:last-child{max-width:58%;margin-top:0;min-width:0}
 .phone-os .home-widget>div:last-child strong{overflow-wrap:anywhere}
 .phone-os .os-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;padding:8px 0}
 .phone-os .os-dock{max-width:100%;flex-shrink:0}

 .phone-os .chat-profile{display:block;max-height:40%;overflow:auto;flex-shrink:0}
 .phone-os .chat-profile:has(.chat-details[open]){max-height:55%}
 .phone-os .chat-profile .chat-heading{display:none}
 .phone-os .chat-pinned{padding:18px 20px 4px}
 .phone-os .chat-pinned>.split-line{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
 .phone-os #chat-heat .heat-label strong{font-size:22px}
 .phone-os .chat-details>summary{display:flex}
 .phone-os .chat-details-content{padding:16px 16px}
 .phone-os .chat-details[open]{padding-bottom:16px}
 .phone-os .chat-thread-heading{min-height:64px;padding:12px 20px}
 .phone-os .chat-messages{padding:16px}
 .phone-os .dm-composer{padding-bottom:10px}

 .phone-os .os-app-heading{padding:18px 20px 16px}
 .phone-os .os-app-content{padding-inline:20px}
 .phone-os .app-notes .os-app-content{padding:0}
 .phone-os .photo-viewer{inset-block-start:46px}
 .phone-os .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .phone-os .her-profile-details{grid-template-columns:1fr}
 .phone-os .her-profile-title>span{margin-left:0}
 .phone-os .her-post .her-verified{font-size:12px}
 .phone-os .her-post .strip-byline time{flex-basis:100%;margin-left:0}
}
@media(min-width:1024px) and (max-width:1199px){
 .phone-os .dm-layout{gap:24px}
}

/* R23: compact dark DMs inside the existing phone. */
.phone-os .private-chat .device-panes{display:flex;flex-direction:column;background:#111015;min-width:0}
.phone-os .private-chat .dm-header{display:flex;align-items:center;gap:0;padding:6px 8px;min-height:64px;flex-shrink:0;background:#111015;border-bottom:1px solid #29262f}
.phone-os .private-chat .dm-tool{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:#faf7ff;cursor:pointer}
.dm-tool svg{width:24px;height:24px;display:block;flex-shrink:0}
.phone-os .private-chat .dm-tool:hover{background:#29272e}
.dm-chevron{display:block;width:11px;height:11px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:5px}
.dm-identity{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:44px;padding:0 4px;border:0;background:transparent;color:#faf7ff;text-align:left;cursor:pointer}
.phone-os .private-chat .dm-identity .her-avatar{width:36px;height:36px;border:0;border-radius:50%;object-fit:cover}
.dm-identity strong{display:block;font:700 17px/1.3 var(--sans);letter-spacing:0}
.dm-identity small{display:block;color:#b7b1bf;font:12px/1.4 var(--sans)}
.phone-os .private-chat .chat-profile{background:#16131c;max-height:36%;overflow:auto;display:block}
.phone-os .private-chat .chat-profile:has(.chat-details[open]){max-height:48%}
.phone-os .private-chat .chat-heading{display:none}
.phone-os .private-chat .chat-pinned{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:9px 16px 7px}
.phone-os .private-chat #chat-heat{min-width:0}
.phone-os .private-chat #chat-heat .heat-label{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;line-height:1.3;letter-spacing:.06em;margin:0 0 5px}
.phone-os .private-chat #chat-heat .heat-label strong{font-size:14px;line-height:1;color:#ff9ad1;letter-spacing:0}
.phone-os .private-chat #chat-heat .heat-label small{font-size:10px;color:#b7b1bf}
.phone-os .private-chat #chat-heat .heat-track{height:4px;margin:0;background:#393040;border-radius:4px}
.phone-os .private-chat #chat-round{font-size:11px;line-height:1.4;color:#c6b6d0;white-space:nowrap}
.phone-os .private-chat .chat-details{margin:0;padding:0 16px;border:0}
.phone-os .private-chat .chat-details>summary{display:flex;min-height:44px;padding:0;font-size:12px;border:0;border-top:1px solid #29262f}
.phone-os .private-chat .chat-details-content{padding:12px 0 16px}
.phone-os .private-chat .chat-thread{background:#111015}
.phone-os .private-chat .chat-messages{padding:12px;scroll-padding:16px;background:#111015}
.phone-os .private-chat .dm-profile-intro{text-align:center;padding:16px 12px 24px}
.phone-os .private-chat .dm-profile-intro .her-avatar{display:block;width:72px;height:72px;border-radius:50%;border:1px solid #47414f;object-fit:cover;margin:0 auto 12px}
.dm-profile-intro h2{font:700 21px/1.2 var(--sans);letter-spacing:0;margin:0 0 4px;color:#faf7ff}
.dm-profile-intro>span,.dm-profile-intro p{font:12px/1.5 var(--sans);color:#b7b1bf;margin:0}
.dm-profile-intro p{margin-top:8px}
.dm-profile-intro>button{min-height:44px;border:0;border-radius:8px;padding:0 18px;background:#29272e;color:#faf7ff;font:700 13px var(--sans);margin-top:12px;cursor:pointer}
.phone-os .private-chat .dm-timestamp{display:block;text-align:center;color:#b7b1bf;font:11px/1.5 var(--sans);margin:18px 0 16px}
.phone-os .private-chat .dm-message{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:8px;row-gap:0;align-items:end;margin:0 0 3px;padding:0;min-width:0}
.phone-os .private-chat .dm-message.group-start{margin-top:12px}
.phone-os .private-chat .dm-message.group-end{margin-bottom:12px}
.phone-os .private-chat .dm-content{grid-column:2;min-width:0;max-width:90%;justify-self:start}
.phone-os .private-chat .dm-avatar{grid-column:1;grid-row:1;align-self:end;padding-bottom:2px}
.phone-os .private-chat .dm-avatar .her-avatar{display:block;width:26px;height:26px;border:0;border-radius:50%;object-fit:cover}
.phone-os .private-chat .dm-bubble{position:relative;max-width:100%;padding:10px 13px;border:0;border-radius:18px;background:#29272e;color:#faf7ff}
.phone-os .private-chat .dm-bubble p{font:15px/1.45 var(--sans);color:inherit;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.phone-os .private-chat .dm-her:not(.group-start) .dm-bubble{border-top-left-radius:5px}
.phone-os .private-chat .dm-her:not(.group-end) .dm-bubble{border-bottom-left-radius:5px}
.phone-os .private-chat .dm-you{grid-template-columns:34px minmax(0,1fr)}
.phone-os .private-chat .dm-you .dm-content{justify-self:end;max-width:92%}
.phone-os .private-chat .dm-you .dm-bubble{background:linear-gradient(160deg,#6940cf 0%,#345ac9 50%,#a62f80 100%);background-size:100% 600%;background-position:0 var(--dm-position,0%)}
.phone-os .private-chat .dm-you:not(.group-start) .dm-bubble{border-top-right-radius:5px}
.phone-os .private-chat .dm-you:not(.group-end) .dm-bubble{border-bottom-right-radius:5px}
.phone-os .private-chat .dm-blocked .dm-bubble{background:#38182c;outline:1px solid #ff69b6}
.phone-os .private-chat .dm-you .read-receipt{grid-column:2;margin-top:6px;padding:0;color:#b7b1bf;font:11px/1.4 var(--sans);text-align:right}
.phone-os .private-chat .dm-heart{position:absolute;bottom:-14px;right:8px;display:flex;align-items:center;justify-content:center;width:30px;height:25px;background:#343039;border:2px solid #111015;border-radius:16px;color:#ff82b8}
.dm-heart svg{width:15px;height:15px;fill:currentColor}
.phone-os .private-chat .dm-message.has-heart{margin-bottom:20px}
.phone-os .private-chat .has-heart .read-receipt{margin-top:17px}
.phone-os .private-chat .dm-attachment{width:200px;max-width:100%;margin:6px 0 0;padding:0;flex:none}
.phone-os .private-chat .dm-photo{width:200px;max-width:100%;margin:0;border:0;border-radius:18px;overflow:hidden;background:#000}
.phone-os .private-chat .dm-photo .her-photo-frame{border:0;border-radius:18px;overflow:hidden}
.phone-os .private-chat .dm-photo .her-photo{margin:0;border:0;border-radius:0}
.phone-os .private-chat .typing-bubble{display:flex;width:58px;min-height:36px;margin:8px 0 12px 34px;padding:12px;border:0;border-radius:18px;background:#29272e}
.phone-os .private-chat .typing-dots{margin:0;gap:5px;align-items:center}
.phone-os .private-chat .typing-dots i{background:#c6bfcd;width:6px;height:6px}
.phone-os .private-chat .her-first-texts{border:0;margin:0;padding:0}
.phone-os .private-chat .inbox-heading,.phone-os .private-chat .thread-start{font-size:10px;color:#b7b1bf;letter-spacing:.06em}
.phone-os .private-chat .chat-invitation{padding:16px 12px;background:transparent;border:0;text-align:center}
.phone-os .private-chat .chat-invitation p{font:14px/1.45 var(--sans);color:#b7b1bf;margin:0 0 12px}
.phone-os .private-chat .chat-connect .button{width:auto;min-width:180px;min-height:44px;font-size:14px;border-radius:10px}
.phone-os .private-chat .dm-composer{padding:8px 10px 4px;background:#111015;border-top:1px solid #29262f}
.phone-os .private-chat .dm-input-pill{display:flex;gap:0;align-items:flex-end;min-height:50px;padding:2px;border:1px solid #47414f;border-radius:27px;background:#19161f;min-width:0}
.phone-os .private-chat .dm-input-pill:focus-within{border-color:#b8f8ff}
.phone-os .private-chat #dm-text{width:0;min-width:0;flex:1;height:44px;min-height:44px;max-height:104px;padding:12px 3px;margin:0;resize:none;border:0;border-radius:0;box-shadow:none;background:transparent;color:#faf7ff;font:16px/20px var(--sans)}
.phone-os .private-chat #dm-text:focus-visible{outline:0}
.phone-os .private-chat #dm-text::placeholder{color:#b7b1bf}
.phone-os .private-chat .dm-media-tools{display:flex;flex-shrink:0}
.phone-os .private-chat .dm-composer.has-text .dm-media-tools,.phone-os .private-chat .dm-composer.is-disconnected .dm-media-tools{display:none}
.phone-os .private-chat .dm-composer .dm-camera{background:#6940cf;color:white}
.phone-os .private-chat .dm-send{min-width:58px;min-height:44px;padding:0 12px;background:transparent;color:#c0a8ff;border:0;border-radius:24px;font:700 15px var(--sans);cursor:pointer;flex-shrink:0}
.phone-os .private-chat .dm-send[aria-disabled="true"],.phone-os .private-chat .dm-send:disabled{color:#a8a0b4;opacity:.55}
.phone-os .private-chat .composer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:0;padding:5px 8px 0;min-height:22px;font:10px/1.4 var(--sans);color:#b7b1bf}
.phone-os .private-chat #dm-count{margin-left:auto;font-size:10px}
.phone-os .private-chat #dm-note:empty,.phone-os .private-chat #chat-cooldown:empty,.phone-os .private-chat .chat-system:empty{display:none}
.phone-os .private-chat .chat-system:not(:empty){margin:0 8px 8px;font:12px/1.4 var(--sans)}
.phone-os .private-chat .os-navigation{min-height:44px;border-top:0}
.phone-os .private-chat .home-gesture{position:relative;flex-shrink:0;height:44px;background:#130e1b;z-index:4}
.phone-os .private-chat .device-home{display:flex;width:100%;height:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;touch-action:none;cursor:pointer}
.phone-os .private-chat .device-home::before{height:5px;width:112px;background:#f1eaf6;border-radius:5px}
.phone-os .private-chat #os-home-tip{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none;padding:6px 12px;background:#302839;color:#f1eaf6;border:1px solid #665773;border-radius:8px;font:11px/1.4 var(--sans);animation:home-tip-fade 4.5s ease both;box-shadow:0 2px 8px #0005}
@keyframes home-tip-fade{0%{opacity:0}8%,82%{opacity:1}100%{opacity:0}}
@media(max-width:599px){
 .phone-os .private-chat .os-navigation{padding-bottom:0}
 .phone-os .private-chat .home-gesture{height:calc(44px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
 .phone-os .private-chat #os-home-tip{animation:none}
 .phone-os .private-chat .typing-dots i{animation:none;transform:none}
}

/* R24: linked monochrome X mark with clear space. */
a.social-x{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px;padding:13px;color:#fff;font-size:14px;line-height:18px;vertical-align:middle}
a.social-x svg{display:block;flex:0 0 18px;width:18px;height:18px;fill:#fff}
a.social-x:hover span{text-decoration:underline}
#site-header nav a.social-x{padding:13px}
.settings-about{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
@media(max-width:1023px){#site-header nav .header-social-x{display:none}}
