:root{--paper: #ffffff;--paper-2: #ededed;--card: #ffffff;--ink: #1a1830;--ink-2: #44425e;--muted: #8b90b5;--line: rgba(47, 57, 145, .1);--line-strong: rgba(47, 57, 145, .18);--accent: #5465ff;--accent-soft: #e6ebff;--accent-deep: #2f3991;--online: #ff8600;--nav-idle: #9bb1ff;--good: #2f9e6f;--bad: #e0574f;--serif: "Playfair Display", Georgia, "Times New Roman", serif;--sans: "Inter", system-ui, -apple-system, sans-serif;--radius: 16px;--shadow: 0 1px 0 rgba(20, 16, 12, .03), 0 10px 30px -22px rgba(20, 16, 12, .5)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%}body{font-family:var(--sans);color:var(--ink);background:#d6d3cc;background-image:radial-gradient(circle at 50% 0%,#e6e3dc,#c9c6bf)}#root{height:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.device{height:100%;display:flex;align-items:center;justify-content:center}.device-inner{position:relative;width:100%;max-width:420px;height:100%;max-height:920px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column}@media (min-width: 480px){.device-inner{height:92vh;border-radius:36px;box-shadow:0 40px 80px -30px #0000008c,0 0 0 1px #0000000f}}.screen{display:flex;flex-direction:column;height:100%;overflow:hidden}.screen-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 18px 24px}.has-bottomnav .screen-scroll{padding-bottom:90px}.appheader{padding:18px 18px 12px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.appheader-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.appheader-side{display:flex;align-items:center;gap:8px;min-width:0}.appheader-side--right{justify-content:flex-end}.appheader-center{text-align:center;min-width:0}.appheader-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:2px}.appheader-title{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1;margin:0;letter-spacing:.03em;text-transform:uppercase;font-variant-numeric:tabular-nums}.iconbtn{width:40px;height:40px;border-radius:50%;font-size:20px;display:grid;place-items:center;border:1px solid var(--line);background:var(--card)}.iconbtn--help{width:30px;height:30px;font-size:15px;font-weight:700;color:var(--muted);cursor:pointer}.iconbtn:active{transform:scale(.94)}.appheader--hub{display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.langswitch{position:relative}.langswitch-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:22px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-deep);font-weight:700;font-size:15px}.langswitch-pill:active{transform:scale(.97)}.langswitch-caret{font-size:11px;color:var(--muted)}.langswitch-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.langswitch-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:31;min-width:190px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px -16px #14100c73;padding:6px;animation:rise .16s ease}.langswitch-item{display:flex;align-items:center;gap:9px;width:100%;padding:10px;border-radius:10px;font-weight:600;font-size:14px;text-align:left}.langswitch-item.is-on{background:var(--accent-soft)}.langswitch-item-name{flex:1}.langswitch-lv{font-size:12px;color:var(--muted);font-weight:600}.langswitch-check{color:var(--accent);font-weight:800}.langswitch-add{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;color:var(--accent)}.langswitch-add-icon{width:22px;text-align:center;font-weight:800;font-size:16px}.section{padding:22px 0 6px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.section-title{font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;margin:0;letter-spacing:0}.section-title--lead{font-size:27px;margin-bottom:16px}.section-meta{font-size:12px;color:var(--muted);font-weight:500}.livedot-label{font-size:12px;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:6px}.livedot{width:7px;height:7px;border-radius:50%;background:var(--online);box-shadow:0 0 #ff860080;animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #ff860073}70%{box-shadow:0 0 0 7px #ff860000}to{box-shadow:0 0 #ff860000}}.avatar{position:relative;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--sans);flex:none;letter-spacing:.02em}.avatar--ring{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}.presence{position:absolute;right:-1px;bottom:-1px;width:30%;height:30%;min-width:9px;min-height:9px;border-radius:50%;background:var(--muted);border:2px solid var(--paper)}.presence--on{background:var(--online)}.live-row{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}.live-row::-webkit-scrollbar{display:none}.live-friend{display:flex;flex-direction:column;align-items:center;gap:7px;flex:none;position:relative}.live-friend:active{transform:scale(.95)}.live-friend-name{font-size:12px;font-weight:600;color:var(--ink-2)}.live-friend-lang{margin-top:1px}.live-friend--add{justify-content:flex-start}.live-add{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:500;line-height:1;color:var(--accent);background:var(--accent-soft);border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent)}.live-friend--add:active .live-add{transform:scale(.95)}.invite-head{margin-bottom:16px}.invite-title{font-family:var(--serif);font-size:22px;font-weight:600;margin:0 0 6px}.invite-sub{font-size:14px;color:var(--muted);line-height:1.4;margin:0}.invite-link{font-size:14px;font-weight:600;color:var(--accent-deep);background:var(--accent-soft);border-radius:12px;padding:14px 16px;margin-bottom:16px;text-align:center;word-break:break-all;cursor:pointer;user-select:all;-webkit-user-select:all}.invite-link--pending{color:var(--muted);font-weight:500;cursor:default;-webkit-user-select:none;user-select:none}.invite-qr{width:220px;height:220px;margin:4px auto 16px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px}.invite-qr svg{display:block;width:100%;height:100%}.invite-qr--pending{display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:500}.invite-actions{display:flex;flex-direction:column;gap:10px}.game-list{display:flex;flex-direction:column;gap:14px}.gblock{position:relative;display:block;text-align:left;width:100%;min-height:112px;padding:18px 22px;border-radius:var(--radius);background:var(--block);overflow:hidden;transition:transform .12s ease,filter .12s ease}.gblock:active{transform:scale(.985);filter:brightness(.97)}.gblock-text{display:block;max-width:100%}.gblock-name{display:block;font-family:var(--serif);font-weight:700;font-size:21px;line-height:1;letter-spacing:0;text-transform:uppercase;white-space:nowrap;color:#15110d}.gblock-tag{display:block;margin-top:7px;font-size:14px;line-height:1.3;color:#1d1813}.gblock-art{position:absolute;right:16px;bottom:14px;width:96px;height:96px;display:grid;place-items:center;pointer-events:none}.gblock-live{position:absolute;top:16px;right:18px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--online)}.gblock-live .livedot{background:var(--online)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.standings-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.standings-row:last-child{border-bottom:none}.standings-row.is-you{background:var(--accent-soft)}.standings-rank{width:18px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.standings-name{flex:1;font-weight:600;font-size:15px}.standings-name em{color:var(--muted);font-style:normal;font-weight:500}.standings-pts{font-family:var(--serif);font-weight:600;font-variant-numeric:tabular-nums}.hub-footnote{text-align:center;color:var(--muted);font-size:12px;padding:18px}.avatar-btn{padding:0;border-radius:50%;transition:transform .1s}.avatar-btn:active{transform:scale(.92)}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0 4px}.profile-hero-name{font-family:var(--serif);font-size:22px;font-weight:600}.profile .field+.field{margin-top:14px}.profile-note{font-size:12px;color:var(--muted);line-height:1.4;margin:10px 0 0}.profile-add-label{margin:18px 0 10px;font-weight:600}.level-row-actions{display:inline-flex;align-items:center;gap:12px}.linkbtn{font-size:12px;font-weight:600;color:var(--online)}.linkbtn:active{opacity:.6}.linkbtn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.profile-foot{display:flex;flex-direction:column;gap:10px;padding:8px 18px calc(24px + env(safe-area-inset-bottom))}.seg{display:inline-flex;background:var(--paper-2);border-radius:20px;padding:3px;gap:2px}.seg-btn{font-size:12px;font-weight:700;padding:6px 12px;border-radius:16px;color:var(--muted);transition:background .12s,color .12s}.seg-btn.is-on{background:var(--ink);color:#fff}.cefr-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cefr-btn{padding:9px 0;border-radius:10px;border:1px solid var(--line-strong);background:var(--card);font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums;transition:transform .1s}.cefr-btn:active{transform:scale(.95)}.cefr-btn.is-on{background:var(--accent);border-color:transparent;color:#fff}.addbtn{font-size:13px;font-weight:700;padding:7px 13px;border-radius:20px;background:var(--ink);color:#fff;white-space:nowrap}.addbtn:active{transform:scale(.95)}.pillbtn{font-size:13px;font-weight:700;padding:8px 14px;border-radius:20px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);white-space:nowrap;transition:transform .1s}.pillbtn:active{transform:scale(.95)}.pillbtn--primary{background:var(--accent);border-color:transparent;color:#fff}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent, var(--line-strong));box-shadow:var(--shadow)}.pending-text{flex:1;font-size:14px;line-height:1.35;color:var(--ink-2);min-width:0}.pending-text strong{color:var(--ink);font-weight:700}.pending-sub{display:block;font-size:12px;color:var(--muted);margin-top:2px}.pending-actions{display:flex;flex-direction:column;gap:6px;flex:none}.pending-actions .pillbtn{padding:6px 12px;font-size:12px}.friend-list{display:flex;flex-direction:column}.friend-row{display:flex;align-items:center;gap:13px;padding:12px 2px;border-bottom:1px solid var(--line)}.friend-row:last-child{border-bottom:none}.friend-row.is-offline{opacity:.72}.friend-text{flex:1;min-width:0}.friend-name{font-weight:700;font-size:16px}.friend-status{font-size:12.5px;font-weight:600;color:var(--muted);margin:1px 0}.friend-status .status-playing{color:var(--accent)}.friend-status .status-online{color:var(--online)}.friend-meta{font-size:12px;color:var(--muted)}.friend-play{flex:none}.bottomnav{position:absolute;bottom:0;left:0;right:0;display:flex;background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:10}.bottomnav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0;color:var(--nav-idle);position:relative}.bottomnav-item.is-active{color:var(--accent-deep)}.bottomnav-item:disabled{opacity:.55}.bottomnav-icon{display:grid;place-items:center;height:20px}.bottomnav-icon svg{width:20px;height:20px}.bottomnav-label{font-size:11px;font-weight:600}.bottomnav-soon{position:absolute;top:-2px;right:50%;margin-right:-28px;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:1px 4px;border-radius:4px}.btn{font-weight:600;font-size:16px;padding:14px 20px;border-radius:14px;transition:transform .1s ease,opacity .1s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn--primary{background:var(--accent);color:#fff}.btn--ghost{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}.btn--block{width:100%;display:block}.onboarding{overflow-y:auto;padding:0 22px calc(24px + env(safe-area-inset-bottom))}.onboarding-hero{text-align:center;padding:44px 0 22px}.brandmark{width:64px;height:64px;margin:0 auto 16px;border-radius:20px;background:var(--ink);color:var(--paper);font-family:var(--serif);font-weight:600;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center}.brandmark span{color:var(--accent)}.onboarding-title{font-family:"Rubik Maze",var(--serif);font-size:40px;font-weight:400;margin:0 0 12px;letter-spacing:0}.onboarding-sub{color:var(--ink-2);margin:0 auto;max-width:18em;line-height:1.45}.onboarding-body{display:flex;flex-direction:column;gap:24px}.field{display:block}.field-label{display:block;font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:8px}.field-hint{margin:-4px 0 12px;font-size:13px;color:var(--muted)}.field-input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:var(--card);font-size:17px;font-family:var(--sans);color:var(--ink)}.field-input:focus{outline:none;border-color:var(--accent)}.lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lang-chip{display:flex;align-items:center;gap:8px;padding:13px 14px;border-radius:14px;border:1px solid var(--line-strong);background:var(--card);font-weight:600;position:relative;transition:border-color .12s,background .12s}.lang-chip.is-active{border-color:var(--accent);background:var(--accent-soft)}.lang-chip-flag{font-size:11px;padding:3px 6px}.lang-chip-name{font-size:14px}.lang-chip-check{position:absolute;right:10px;color:var(--accent);font-weight:800}.levels{display:flex;flex-direction:column;gap:26px;margin-bottom:12px}.profile .level-row{padding-bottom:18px;border-bottom:1px solid var(--line)}.profile .level-row:last-child{border-bottom:none}.level-row-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15px;margin-bottom:8px}.level-badge{font-size:12px;font-weight:700;background:var(--ink);color:var(--paper);padding:3px 9px;border-radius:20px}.level-row input[type=range]{width:100%}.onboarding-foot{padding-top:26px}.legal{text-align:center;font-size:12px;color:var(--muted);margin:12px 0 0}.game-screen{background:var(--paper)}.mm-progress{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--accent);font-variant-numeric:tabular-nums}.mm-cols{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px;overflow-y:auto}.mm-col{display:flex;flex-direction:column;gap:10px}.mm-col-head{text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px}.mm-tile{padding:16px 10px;border-radius:14px;background:var(--card);border:2px solid var(--line);font-size:16px;font-weight:600;min-height:56px;display:grid;place-items:center;text-align:center;transition:transform .1s,background .15s,border-color .15s;animation:mm-pop .3s ease;touch-action:none;-webkit-user-select:none;user-select:none}@keyframes mm-pop{0%{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:none}}.mm-tile--empty{background:transparent;border-style:dashed;border-color:var(--line);pointer-events:none;animation:none}.mm-tile.is-correct{animation:mm-correct .55s ease forwards;pointer-events:none}@keyframes mm-correct{0%{transform:scale(1)}18%{transform:scale(1.04);background:#def0ea;border-color:var(--good);color:#245a4f;opacity:1}58%{transform:scale(1);background:#def0ea;border-color:var(--good);color:#245a4f;opacity:1}to{transform:scale(.82);opacity:0}}.mm-tile:active{transform:scale(.96)}.mm-tile.is-sel{border-color:var(--accent);background:var(--accent-soft)}.mm-tile.is-wrong{border-color:var(--bad);background:#fde7e6;box-shadow:none;animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.mm-foot{padding:14px 18px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mm-progressbar{height:8px;border-radius:8px;background:var(--paper-2);overflow:hidden}.mm-progressbar span{display:block;height:100%;background:var(--accent);border-radius:8px;transition:width .35s ease}.mm-hint{text-align:center;font-size:13px;color:var(--muted);margin:10px 0 0}.duel-bar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}.duel-player{flex:1;display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:14px;border:2px solid color-mix(in srgb,var(--pc) 28%,transparent);background:color-mix(in srgb,var(--pc) 8%,transparent);transition:border-color .15s,background .15s,transform .12s}.duel-player--opp{flex-direction:row-reverse;text-align:right}.duel-player.is-active{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 16%,transparent);transform:scale(1.02)}.duel-dot{width:12px;height:12px;border-radius:50%;background:var(--pc);flex:none}.duel-name{flex:1;font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-score{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--pc);font-variant-numeric:tabular-nums;flex:none}.duel-vs{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex:none}.mm-tile.duel-leaving{animation:duel-claim .52s ease forwards;pointer-events:none;font-weight:700}@keyframes duel-claim{0%{transform:scale(1)}14%{transform:scale(1.05)}68%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}.duel-over{margin:auto;width:80%;max-width:320px;background:var(--card);border-radius:24px;padding:30px 26px;text-align:center;box-shadow:0 30px 70px -24px #14100c80;animation:rise .25s ease}.duel-over-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.duel-over-title{font-family:var(--serif);font-size:26px;font-weight:700;margin-bottom:8px}.mm-timebar{display:flex;align-items:center;gap:10px;padding:10px 16px 2px}.mm-timesegs{display:flex;gap:5px;flex:1;min-width:0}.mm-timetext{flex:none;min-width:38px;text-align:right;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;color:var(--accent)}.mm-timeseg{flex:1;height:8px;border-radius:6px;background:#14100c1a;overflow:hidden}.mm-timeseg>span{display:block;height:100%;background:var(--accent);border-radius:6px;transition:width .12s linear}.duel-over-score{font-family:var(--serif);font-size:52px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.duel-over-dash{color:var(--muted);margin:0 10px}.duel-over-sub{margin-top:10px;font-size:13px;color:var(--muted)}.duel-over-actions{display:flex;gap:10px;margin-top:22px}.duel-over-actions .btn{flex:1}.duel-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:14px;padding:13px 16px;border-radius:14px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-deep);font-weight:700;font-size:14px;text-align:left}.duel-cta:active{transform:scale(.99)}.duel-cta-go{font-size:22px;color:var(--accent)}.lobby-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:24px 22px calc(40px + env(safe-area-inset-bottom))}.lobby-lead{text-align:center;font-size:15px;color:var(--ink-2);line-height:1.45;margin:0 0 8px}.lobby-hosting{text-align:center}.lobby-code{font-family:var(--serif);font-weight:700;font-size:56px;letter-spacing:.12em;color:var(--accent-deep);background:var(--accent-soft);border-radius:18px;padding:20px 0;margin:6px 0 18px}.lobby-waiting{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:14px;font-weight:600}.lobby-input{text-align:center;font-family:var(--serif);font-weight:700;font-size:32px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}.ff-body{flex:1;overflow-y:auto;padding:20px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px}.ff-card{text-align:center;padding:30px 20px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.ff-looks{font-size:14px;color:var(--ink-2);font-style:italic;margin-bottom:10px}.ff-term{font-family:var(--serif);font-size:40px;font-weight:600;letter-spacing:-.01em}.ff-ask{margin-top:12px;font-size:14px;color:var(--ink-2);font-weight:600}.ff-options{display:flex;flex-direction:column;gap:10px}.ff-option{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--line-strong);font-size:16px;font-weight:600;text-align:left;transition:transform .1s,background .15s}.ff-option:active{transform:scale(.98)}.ff-option.is-correct{background:#def0ea;border-color:var(--good);color:#245a4f}.ff-option.is-wrong{background:#fbe5e4;border-color:var(--bad);color:#8a2722}.ff-option.is-dim{opacity:.5}.ff-mark{font-weight:800}.ff-reveal{margin-top:4px;animation:rise .25s ease}.ff-verdict{font-family:var(--serif);font-size:19px;font-weight:600;margin:0 0 4px}.ff-verdict.ok{color:var(--good)}.ff-verdict.no{color:var(--bad)}.ff-note{font-size:14px;color:var(--ink-2);line-height:1.45;margin:0 0 16px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ws-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:18px}.ws-story{display:flex;flex-direction:column;gap:14px}.ws-line{display:flex;gap:10px;align-items:flex-start}.ws-line p{margin:0;font-family:var(--serif);font-size:18px;line-height:1.4;padding-top:2px}.ws-line--you p{color:var(--accent);font-weight:600}.ws-line p.is-empty{color:var(--muted);font-style:italic;font-weight:400}.ws-bank{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px;border-top:1px dashed var(--line-strong)}.ws-chip{padding:10px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line-strong);font-size:15px;font-weight:600;transition:transform .1s,opacity .15s}.ws-chip:active{transform:scale(.94)}.ws-chip.is-used{opacity:.3;pointer-events:none}.ws-foot{display:flex;gap:10px;padding:14px 18px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.ws-submit{flex:1}.handoff{align-items:center;justify-content:center}.handoff-inner{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;animation:rise .3s ease}.handoff-text{font-family:var(--serif);font-size:20px;max-width:14em;line-height:1.4}.handoff-dots{display:flex;gap:8px}.handoff-dots span{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:bounce 1s infinite}.handoff-dots span:nth-child(2){animation-delay:.15s}.handoff-dots span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.relay-team{display:flex;align-items:center;gap:-6px;padding:16px 18px 8px}.relay-team .avatar{margin-right:-8px}.relay-team-label{margin-left:16px;font-size:13px;color:var(--muted);font-weight:600}.relay-combo{padding:8px 18px 4px;position:relative}.relay-combo-bar{height:12px;border-radius:10px;background:var(--paper-2);overflow:hidden}.relay-combo-bar span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#fff));transition:width .25s ease}.relay-combo-num{text-align:center;font-family:var(--serif);font-size:34px;font-weight:600;margin-top:8px;font-variant-numeric:tabular-nums}.relay-combo-num span{font-size:14px;color:var(--muted);font-family:var(--sans);margin-left:4px}.relay-flash{position:absolute;right:22px;top:6px;font-weight:700;color:var(--accent);font-size:14px;animation:rise .3s ease}.relay-q{flex:1;padding:10px 18px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.relay-q-kicker{text-align:center;font-size:13px;color:var(--muted);font-weight:600}.relay-q-term{text-align:center;font-family:var(--serif);font-size:38px;font-weight:600}.relay-options{display:flex;flex-direction:column;gap:10px}.relay-option{padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line-strong);font-size:16px;font-weight:600;transition:transform .1s}.relay-option:active{transform:scale(.98)}.relay-option.is-correct{background:#e2e3f6;border-color:var(--accent);color:#3b3f96}.relay-option.is-wrong{background:#fbe5e4;border-color:var(--bad)}.relay-hint{text-align:center;font-size:12px;color:var(--muted);margin:2px 0 0}.results-hero{text-align:center;padding:24px 18px 18px}.results-icon{display:flex;justify-content:center}.results-rank{font-family:var(--serif);font-size:58px;font-weight:600;line-height:1;margin:6px 0 2px;letter-spacing:-.02em}.results-place{color:var(--muted);font-weight:600;font-size:14px}.results-score{display:inline-block;margin-top:12px;font-weight:700;background:var(--accent-soft);color:color-mix(in srgb,var(--accent) 75%,#000);padding:6px 14px;border-radius:20px;font-variant-numeric:tabular-nums}.results-board{flex:1;overflow-y:auto;padding:6px 18px}.lb-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;margin-bottom:8px;background:var(--card);border:1px solid var(--line)}.lb-row.is-you{border-color:var(--accent);background:var(--accent-soft)}.lb-row.is-first{box-shadow:var(--shadow)}.lb-rank{width:24px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.lb-name{flex:1;font-weight:600}.lb-name em{color:var(--muted);font-style:normal;font-weight:500}.lb-value{font-family:var(--serif);font-weight:600;font-variant-numeric:tabular-nums}.results-actions{display:flex;gap:10px;padding:14px 18px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.results-actions .btn{flex:1}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a161066;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;display:flex;align-items:flex-end;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;background:var(--paper);border-radius:26px 26px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px -20px #0006;animation:slideup .28s cubic-bezier(.2,.9,.3,1)}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--line-strong);margin:4px auto 16px}.sheet-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.sheet-head-text{flex:1}.sheet-name{font-family:var(--serif);font-size:20px;font-weight:600}.sheet-meta{font-size:13px;color:var(--muted)}.sheet-online{font-size:12px;font-weight:600;color:var(--online);display:inline-flex;align-items:center;gap:5px}.sheet-prompt{font-family:var(--serif);font-size:16px;font-weight:600;margin:0 0 12px}.sheet-games{display:flex;gap:12px;margin-bottom:14px}.sheet-game{flex:1;text-align:left;padding:16px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);display:flex;flex-direction:column;gap:4px;transition:transform .1s}.sheet-game:active{transform:scale(.97)}.sheet-game-icon{font-size:26px}.sheet-game-name{font-family:var(--serif);font-weight:600;font-size:16px}.sheet-game-tag{font-size:12px;color:var(--ink-2)}.toast{position:absolute;bottom:96px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:24px;font-size:14px;font-weight:600;z-index:60;animation:rise .25s ease}.langbadge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1;padding:2px 5px;border-radius:5px;border:1px solid var(--line-strong);color:var(--ink-2);background:var(--card);vertical-align:middle}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{text-align:center;padding:18px 8px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.stat-card-value{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.stat-card-label{margin-top:7px;font-size:11.5px;font-weight:600;color:var(--muted)}.lang-progress{display:flex;flex-direction:column;gap:18px}.lang-prog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.lang-prog-name{font-weight:700;font-size:16px}.lang-prog-lvl{font-size:12px;font-weight:600;color:var(--muted)}.lang-prog-bar{height:10px;border-radius:8px;background:var(--paper-2);overflow:hidden}.lang-prog-bar span{display:block;height:100%;border-radius:8px;background:var(--accent)}.lang-prog-sub{margin-top:6px;font-size:12px;color:var(--muted)}.week-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:16px 16px 12px;height:150px}.week-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.week-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.week-bar{display:block;width:60%;max-width:22px;border-radius:6px;background:var(--paper-2)}.week-col.is-today .week-bar{background:var(--accent)}.week-day{margin-top:8px;font-size:11px;font-weight:700;color:var(--muted)}.week-col.is-today .week-day{color:var(--accent)}.bygame-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.bygame-row{display:flex;align-items:center;gap:13px;padding:18px 20px;border-radius:var(--radius);overflow:hidden}.bygame-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bygame-name{font-family:var(--serif);font-weight:700;font-size:19px;line-height:1.05;text-transform:uppercase;color:#15110d}.bygame-plays{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#14110d80}.bygame-stats{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.bygame-stat-line{display:flex;align-items:baseline;gap:8px}.bygame-stat{font-size:12px;color:#14110d9e}.bygame-value{font-family:var(--serif);font-weight:700;font-size:16px;color:#15110d;font-variant-numeric:tabular-nums}.bygame-empty{color:var(--muted);font-size:14px;padding:4px 2px}.h2h-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.h2h-row{display:flex;align-items:stretch;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--card)}.h2h-side{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:12px 14px;background:#fff}.h2h-them .h2h-pts{margin-left:auto}.h2h-you .h2h-pts{margin-right:auto}.h2h-side.is-lead{background:var(--accent)}.h2h-side.is-lead .h2h-name,.h2h-side.is-lead .h2h-pts{color:#fff}.h2h-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h2h-pts{font-family:var(--serif);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}.h2h-divider{width:2px;flex:none;background:var(--line)}.fp-intro{margin:20px 0 18px;color:var(--ink-2);font-size:14px;line-height:1.5}.screen-scroll>.fp-intro:first-child{margin-top:28px}.screen-scroll>.fp-thread:first-child{margin-top:24px}.fp-section{display:flex;align-items:center;gap:8px}.fp-count{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 9px}.fp-empty{margin-top:12px;padding:18px;border:1px dashed var(--line-strong);border-radius:16px;color:var(--muted);font-size:14px;line-height:1.5}.howto-backdrop{z-index:60}.howto{position:relative;margin:auto;width:min(88%,360px);background:var(--card);border-radius:26px;padding:30px 24px 22px;text-align:center;box-shadow:0 30px 70px -24px #14100c80;animation:rise .25s ease}.howto-skip{position:absolute;top:14px;right:16px;background:none;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}.howto-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.howto-emoji{width:72px;height:72px;margin:0 auto 14px;display:grid;place-items:center;font-size:38px;border-radius:22px;background:var(--accent-soft)}.howto-title{font-family:var(--serif);font-size:23px;font-weight:700;margin:0 0 8px;color:var(--ink)}.howto-body{margin:0 4px 20px;font-size:15px;line-height:1.55;color:var(--ink-2)}.howto-dots{display:flex;justify-content:center;gap:7px;margin-bottom:18px}.howto-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:width .18s,background .18s}.howto-dot.is-on{width:20px;border-radius:4px;background:var(--accent)}.howto-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.howto-actions .btn{flex:1}.howto-step-label{flex:1;text-align:left;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}.fp-turn-banner{width:100%;text-align:left;border:none;cursor:pointer}.fp-turn-dot{width:12px;height:12px;border-radius:50%;background:var(--accent, #5465ff);flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent, #5465ff) 22%,transparent);animation:fp-pulse 1.6s ease-in-out infinite}@keyframes fp-pulse{50%{transform:scale(1.25)}}.fp-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fp-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--card);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .12s,background .12s}.fp-chip.is-on{border-color:var(--accent);background:var(--accent-soft, #e6ebff);color:var(--accent-deep, #2f3991)}.fp-pick-hint{margin:8px 2px 0;font-size:13px;color:var(--muted)}.fp-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);font-weight:600;text-decoration:underline;cursor:pointer}.fp-circle-list{display:flex;flex-direction:column;gap:16px;margin-top:14px}.fp-edge{background:none;border:none;padding:0;cursor:default;border-radius:6px}.fp-edge.is-editable{cursor:pointer;box-shadow:0 0 0 1.5px var(--accent)}.fp-card-actions{display:flex;gap:10px;margin-top:4px}.fp-card-actions .btn{flex:1}.fp-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:14px 16px 16px;box-shadow:0 6px 18px #27187e0d}.fp-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.fp-card-title{font-weight:700;font-size:14px;color:var(--ink)}.fp-status{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.fp-status.is-online{color:#5465ff;font-weight:600}.fp-relay{margin:4px 0 14px}.fp-relay-row{display:flex;align-items:center;gap:12px}.fp-relay-name{font-weight:700;font-size:15px;color:var(--ink)}.fp-relay-hop{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.fp-arrow{color:var(--muted);font-weight:700}.fp-relay-pass{display:flex;align-items:center;gap:10px;margin-left:19px;padding:5px 0}.fp-pass-line{width:2px;height:22px;background:var(--line-strong);border-radius:2px}.fp-relay-pass.is-loop .fp-pass-line{background:repeating-linear-gradient(var(--accent) 0 4px,transparent 4px 8px)}.fp-pass-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.fp-relay-pass.is-loop .fp-pass-label{color:var(--accent);font-weight:700}.fp-opener{border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);background:var(--accent-soft);border-radius:16px;padding:12px 14px;margin-bottom:16px}.fp-opener-tag{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:4px}.fp-opener-text{margin:0;font-family:var(--serif);font-size:19px;color:var(--ink)}.fp-turn{display:flex;flex-direction:column;gap:10px}.fp-turn-prompt{font-size:14px;color:var(--ink-2)}.fp-input{width:100%;border:1px solid var(--line-strong);border-radius:14px;padding:13px 14px;font-size:16px;font-family:var(--serif);color:var(--ink);background:var(--card)}.fp-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.fp-thread{display:flex;flex-direction:column;gap:10px}.fp-bubble{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:10px 14px;animation:fp-pop .32s ease}.fp-bubble.is-mine{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}@keyframes fp-pop{0%{opacity:0;transform:translateY(8px)}}.fp-bubble-head{display:flex;align-items:center;gap:7px;margin-bottom:5px}.fp-bubble-who{font-size:12px;font-weight:700;color:var(--ink)}.fp-bubble-langs{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.fp-bubble-text{margin:0;font-family:var(--serif);font-size:17px;color:var(--ink)}.fp-typing{align-self:flex-start;font-size:13px;color:var(--muted);padding:4px 2px}.fp-result{margin-top:22px;display:flex;flex-direction:column;gap:16px}.fp-score{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 18px;border-radius:18px;background:var(--accent-soft);text-align:center}.fp-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.fp-scorecard{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px;border-radius:18px;background:var(--accent-soft)}.fp-scorecard--trip{background:linear-gradient(135deg,#dce9ff,#e9ecff)}.fp-score-num{font-family:var(--serif);font-weight:700;font-size:34px;color:var(--accent-deep)}.fp-scorecard--trip .fp-score-num{color:#5465ff}.fp-score-label{font-size:12px;color:var(--ink-2);text-align:center}.fp-verdict{text-align:center;font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:16px}.fp-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fp-compare-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.fp-compare p{margin:0;font-family:var(--serif);font-size:15px;color:var(--ink)}.fp-best{font-size:13px;color:var(--ink-2);background:#f5f4fb;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:16px;line-height:1.5}.salat-jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.salat-job{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px;border-radius:16px;border:2px solid var(--line);background:var(--card);cursor:pointer}.salat-job.is-mine{border-color:var(--role);background:color-mix(in srgb,var(--role) 12%,white)}.salat-job-label{font-weight:700;font-size:14px;color:var(--ink)}.salat-job-who{font-size:11px;color:var(--muted)}.salat-job.is-mine .salat-job-who{color:var(--role);font-weight:600}.salat-table{margin-bottom:20px}.salat-table-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}.salat-table-row{display:flex;justify-content:space-around;gap:8px}.salat-tp{display:flex;flex-direction:column;align-items:center;gap:4px}.salat-tp-name{font-size:12px;font-weight:700;color:var(--ink)}.salat-tp-role{font-size:11px;font-weight:600}.salat-prompt{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:18px;background:color-mix(in srgb,var(--role) 12%,white);border:1px solid color-mix(in srgb,var(--role) 30%,transparent);text-align:center;margin-bottom:18px}.salat-prompt-job{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--role);font-weight:700}.salat-prompt-ask{font-family:var(--serif);font-size:24px;color:var(--ink)}.salat-prompt-count{font-family:var(--sans);font-size:13px;color:var(--muted);font-weight:600}.salat-prompt-hint{font-size:13px;color:var(--muted)}.salat-hand{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.salat-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:13px 15px;border-radius:14px;border:1px solid var(--line-strong);background:var(--card);cursor:pointer;transition:transform .08s ease,border-color .12s ease}.salat-tile:active{transform:scale(.97);border-color:var(--role)}.salat-tile-w{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--ink)}.salat-tile-g{font-size:12px;color:var(--muted)}.salat-story{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--ink);padding:18px;border-radius:18px;background:var(--accent-soft);margin-bottom:16px}.salat-fill{font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.salat-glosses{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.salat-gloss{font-size:13px;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--role);border-radius:8px;padding:5px 10px}.salat-gloss strong{color:var(--ink)}.salat-reactions{display:flex;gap:16px;justify-content:center;margin-bottom:20px}.salat-react{display:inline-flex;align-items:center;gap:4px;font-size:22px}.salat-foot{display:flex;flex-direction:column;gap:10px}.toast--top{bottom:auto;top:18px}.challenge-banner-list{display:flex;flex-direction:column;gap:10px}.challenge-banner{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:16px;background:color-mix(in srgb,var(--accent, #5465ff) 10%,white);border:1px solid color-mix(in srgb,var(--accent, #5465ff) 30%,transparent)}.challenge-text{flex:1;display:flex;flex-direction:column;font-size:14px;color:var(--ink);min-width:0}.challenge-text strong{font-weight:700}.challenge-sub{font-size:12px;color:var(--muted)}.friends-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 18px;text-align:center;color:var(--muted)}.friends-empty p{margin:0;line-height:1.5;font-size:14px}.sheet-remove{width:100%;margin-top:4px;padding:10px;text-align:center;background:none;color:var(--bad);font-weight:600;font-size:14px}.fp-live-cta{margin:6px 0 18px}.live-players{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:18px 0 22px}.live-player{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--ink)}.fp-waiting{text-align:center;color:var(--muted);font-size:14px;padding:18px 0}.fp-error{text-align:center;color:var(--bad);font-size:14px;margin-bottom:12px}.lobby-diag{margin-top:14px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.duel-away{margin:0 16px 8px;padding:8px 12px;border-radius:12px;background:#fff4e6;border:1px solid #ffc9a3;color:#9a5a1f;font-size:13px;font-weight:600;text-align:center}.fic-word{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;margin-bottom:18px;border-radius:18px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.fic-word-tag{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.fic-word-text{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--ink)}.fic-options{display:flex;flex-direction:column;gap:10px}.fic-option{text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:var(--card);font-size:15px;color:var(--ink);line-height:1.4;position:relative}.fic-option:active{transform:scale(.99)}.fic-option.is-chosen{border-color:var(--accent);background:var(--accent-soft)}.fic-option.is-mine{opacity:.6;cursor:default}.fic-tag{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}.fic-reveal{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card)}.fic-reveal.is-real{border-color:var(--good);background:#eafaf2}.fic-reveal-text{margin:0 0 6px;font-size:15px;color:var(--ink);line-height:1.4}.fic-reveal-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px}.fic-reveal-by{font-weight:700;color:var(--accent-deep)}.fic-reveal.is-real .fic-reveal-by{color:var(--good)}.fic-reveal-picks{color:var(--muted)}.fic-reveal-you{color:var(--accent);font-weight:600}.fic-scores{display:flex;flex-direction:column;gap:6px}.fic-score-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}.fic-score-rank{width:18px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.fic-score-name{flex:1;font-weight:600;font-size:14px;color:var(--ink)}.fic-score-pts{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--accent-deep)}@media (min-width: 900px){.device-inner{max-width:none;height:100vh;max-height:none;border-radius:0;box-shadow:none}.screen-scroll{max-width:1120px;margin-inline:auto;width:100%}.game-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.bygame-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.h2h-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.friend-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.fp-circle-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-items:start}.fp-intro,.fp-turn,.fp-opener,.fp-thread,.fp-result,.fic-word,.fic-options,.fic-reveal,.fic-scores,.salat-prompt,.salat-story,.salat-hand,.pending-list,.challenge-banner-list,.lang-progress,.week-chart,.stat-cards{max-width:620px;margin-inline:auto}.game-screen .mm-cols,.game-screen .mm-timebar,.game-screen .mm-foot,.game-screen .duel-bar,.game-screen .ff-body,.game-screen .relay-team,.game-screen .relay-combo,.game-screen .relay-q,.game-screen .results-hero,.game-screen .results-board,.game-screen .results-actions{max-width:620px;margin-inline:auto;width:100%}.bottomnav{justify-content:center;gap:24px}.bottomnav-item{flex:0 1 150px}.onboarding .screen-scroll{max-width:480px}.profile .screen-scroll{max-width:560px}}.gsi{display:flex;flex-direction:column;align-items:center;gap:8px}.gsi-btn{min-height:40px;display:flex;justify-content:center}.gsi-hint{font-size:12.5px;color:var(--muted);text-align:center;margin:4px 0 0;line-height:1.4}.onboarding-or{display:flex;align-items:center;gap:12px;margin:16px 0 12px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.onboarding-or:before,.onboarding-or:after{content:"";flex:1;height:1px;background:var(--line)}.onboarding-google{display:flex;justify-content:center;min-height:44px}.account-sync{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.account-sync .gsi{align-self:center}.account-linked{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.account-linked-badge{font-weight:700;color:var(--accent-deep);font-size:14px}.account-linked-email{font-size:13px;color:var(--ink-2)}.fp-source{display:block;margin-top:6px;font-size:12.5px;font-style:italic;color:var(--muted)}
