:root{--bg: #e9e4f7;--ink: #16162e;--card: #ffffff;--coral: #f2735c;--yellow: #f8d34c;--lilac: #d9ccf5;--muted: #6f6f8a;--green: #4caf7d;--radius: 16px;--border: 2.5px solid var(--ink);--shadow: 5px 5px 0 var(--ink);--shadow-sm: 3px 3px 0 var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.container{max-width:1080px;margin:0 auto;padding:0 16px 80px}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 10px;gap:12px;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:2px;font-weight:800;font-size:24px}.logo .pill{background:var(--ink);color:#fff;padding:2px 12px;border-radius:10px;transform:rotate(-3deg);display:inline-block}.logo .rest{padding-left:6px}.userchip{display:flex;align-items:center;gap:8px;font:inherit;font-weight:700;font-size:14px;color:var(--ink);background:#fff;border:var(--border);border-radius:999px;padding:3px 14px 3px 4px;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}.userchip:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.btn{font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;background:var(--ink);color:#fff;border:var(--border);border-radius:999px;padding:10px 22px;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn.coral{background:var(--coral);color:var(--ink)}.btn.ghost{background:#fff;color:var(--ink)}.btn.small{padding:5px 14px;font-size:13px;box-shadow:2px 2px 0 var(--ink)}.btn:disabled{opacity:.5;cursor:default}.input,textarea.input{font-family:inherit;font-size:15px;color:var(--ink);background:#fff;border:var(--border);border-radius:12px;padding:11px 14px;width:100%;outline:none}.input:focus{box-shadow:3px 3px 0 var(--lilac)}textarea.input{resize:vertical;min-height:96px;font-size:14px;line-height:1.45}.card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.tabs{display:flex;gap:10px;margin:18px 0 22px;flex-wrap:wrap}.tab{font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;background:#fff;border:var(--border);border-radius:999px;padding:8px 20px;box-shadow:var(--shadow-sm)}.tab.active{background:var(--yellow)}.hero{text-align:center;margin:48px 0 32px}.hero h1{font-size:clamp(34px,6vw,56px);font-weight:800;line-height:1.1;margin:0}.hero .accent{color:var(--coral);position:relative;display:inline-block}.hero .accent:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:10px;background:var(--yellow);z-index:-1;transform:rotate(-1deg)}.hero p{color:var(--muted);font-weight:500;margin-top:14px}.authcard{max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.authtoggle{text-align:center;font-size:14px;color:var(--muted)}.linklike{background:none;border:none;padding:0;font:inherit;color:var(--coral);font-weight:700;cursor:pointer;text-decoration:underline}.btn:focus-visible,.tab:focus-visible,.navbtn:focus-visible,.linklike:focus-visible,.del:focus-visible,.playlink:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.daterow{display:flex;align-items:center;gap:12px;margin-bottom:16px}.daterow h2{margin:0;font-size:22px;font-weight:800;flex:1}.navbtn{background:#fff;border:var(--border);border-radius:10px;width:36px;height:36px;font-size:16px;font-weight:800;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}.navbtn:disabled{opacity:.35;cursor:default}.pastebox{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.pastebox .row{display:flex;gap:10px;align-items:flex-start}.pastebox .btn{white-space:nowrap}.backprompt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--yellow);border:var(--border);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-sm);font-weight:600;font-size:14px}.backprompt span{flex:1;min-width:180px}.flash{border:var(--border);border-radius:12px;padding:10px 14px;font-weight:600;font-size:14px;box-shadow:var(--shadow-sm)}.flash.ok{background:#d9f2e2}.flash.err{background:#fbd3cb}.crowncard{background:var(--yellow);margin-bottom:22px}.crowncard h3{margin:0 0 12px;font-size:18px;font-weight:800}.crownrow{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;font-weight:600;font-size:15px}.crownrow.me{background:#fff;border:var(--border);box-shadow:var(--shadow-sm);font-weight:800}.crownrow .pts{margin-left:auto;font-weight:800}.crownrow .sub{color:var(--muted);font-size:12px;font-weight:500}.tilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.tile{padding:16px;display:flex;flex-direction:column;gap:10px}.tilehead{display:flex;align-items:center;gap:10px}.gameicon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:22px;border:var(--border);border-radius:12px;flex-shrink:0}.tilehead .name{font-weight:800;font-size:16px;line-height:1.1}.tilehead .playlink{font-size:12.5px;font-weight:600;color:var(--coral);text-decoration:none}.tilehead .playlink:hover{text-decoration:underline}.tilehead .right{margin-left:auto}.boardrow{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:6px 8px;border-radius:8px}.boardrow.me{background:var(--lilac)}.boardrow .rank{width:22px;text-align:center;flex-shrink:0}.boardrow .score{margin-left:auto;font-weight:700;white-space:nowrap}.boardrow .del{background:none;border:none;cursor:pointer;font-size:13px;padding:0 2px;opacity:.6}.boardrow .del:hover{opacity:1}.noscores{color:var(--muted);font-size:13.5px;font-weight:500;padding:4px 2px}.unverified{font-size:11px;font-weight:700;color:var(--muted)}.manualrow{display:flex;gap:8px;align-items:center}.manualrow input{width:110px;padding:6px 10px;font-size:14px}.feed{display:flex;flex-direction:column;gap:14px;max-width:640px}.feeditem{padding:14px 16px}.feedhead{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;border:var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;background:var(--lilac);text-transform:uppercase}.feedwho{font-size:14.5px}.feedwho b{font-weight:800}.feedtime{margin-left:auto;color:var(--muted);font-size:12.5px;font-weight:500;white-space:nowrap}.feedscore{font-weight:800;font-size:18px;margin-top:6px;display:flex;gap:8px;align-items:baseline}.feeditem details{margin-top:8px}.feeditem summary{cursor:pointer;font-size:12.5px;color:var(--muted);font-weight:600}.feeditem pre{background:var(--bg);border:2px solid var(--ink);border-radius:10px;padding:10px;font-size:13px;white-space:pre-wrap;word-break:break-word;margin:8px 0 0}.friends{display:flex;flex-direction:column;gap:18px;max-width:640px}.friendrow{display:flex;align-items:center;gap:12px;padding:10px 4px;font-weight:600;border-bottom:2px dashed #d5cfeb}.friendrow:last-child{border-bottom:none}.friendrow .actions{margin-left:auto;display:flex;gap:8px}.sectiontitle{font-weight:800;font-size:16px;margin:0 0 8px}.hint{color:var(--muted);font-size:13.5px;font-weight:500}.spin{text-align:center;padding:60px 0;font-weight:700;color:var(--muted)}.gamepanel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#16162e8c;display:flex;align-items:center;justify-content:center;padding:16px}.gamepanel{display:flex;flex-direction:column;width:min(560px,100%);height:min(920px,100%);background:var(--bg);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.gamepanel-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:var(--border)}.gamepanel-head .gameicon{width:34px;height:34px;font-size:18px}.gamepanel-head .name{font-weight:800;font-size:16px;flex:1;min-width:0}.gamepanel-head .playlink{font-size:13px;font-weight:600;color:var(--coral);text-decoration:none;white-space:nowrap}.gamepanel-frame{flex:1;width:100%;border:0;background:#fff}.gamepanel-foot{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:var(--border)}.gamepanel-foot .row{display:flex;gap:10px;align-items:center}.gamepanel-foot .hint{flex:1;margin:0}.gamepanel-foot .btn{white-space:nowrap}.gamepanel-foot textarea.input{min-height:46px;height:46px;resize:none;font-size:16px}@media (max-width: 560px){.tilegrid{grid-template-columns:1fr}.tabs{gap:7px;flex-wrap:nowrap}.tab{padding:7px 13px;font-size:14px}.hero{margin-top:28px}.pastebox{position:fixed;left:0;right:0;bottom:var(--kb, 0);z-index:10;margin:0;background:var(--bg);border-top:var(--border);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.pastebox .row{align-items:stretch}.pastebox .flash{order:-1}.pastebox .backprompt{order:-2}.pastebox textarea.input{min-height:46px;max-height:30vh;height:46px;resize:none;font-size:16px;padding:11px 12px}.pastebox textarea.input:focus{height:96px}.pastebox .btn{min-height:46px;padding:0 16px}.container:has(.pastebox){padding-bottom:calc(140px + env(safe-area-inset-bottom))}.container:has(.backprompt){padding-bottom:calc(230px + env(safe-area-inset-bottom))}.gamepanel-backdrop{padding:0}.gamepanel{width:100%;height:100%;border:0;border-radius:0;box-shadow:none}.gamepanel-head{padding-top:calc(10px + env(safe-area-inset-top))}.gamepanel-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.gamegroup+.gamegroup{margin-top:26px}.grouptitle{margin:0 0 12px;font-size:16px;font-weight:800}.gridflash{margin-bottom:14px}.layouthint{text-align:center;margin:18px 0 0}.tilehead .titles{flex:1;min-width:0}.tilehead .right{display:flex;align-items:center;gap:0;flex-shrink:0}.tilehead .name{overflow-wrap:break-word}.tilehead .addscore{margin-left:10px;font-size:12.5px;color:var(--ink);text-decoration-style:dotted}.iconbtn{background:none;border:2px solid transparent;border-radius:10px;cursor:pointer;width:32px;height:32px;font-size:19px;line-height:1;color:var(--ink);padding:0;display:inline-flex;align-items:center;justify-content:center}.iconbtn:hover{border-color:var(--ink);background:var(--bg)}.iconbtn:focus-visible{outline:3px solid var(--coral);outline-offset:1px}.iconbtn.star{color:var(--muted)}.iconbtn.star.on{color:#e0a800}.iconbtn.handle{cursor:grab;touch-action:none;color:var(--muted);font-size:20px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tile.dragging{outline:3px dashed var(--coral);outline-offset:3px;opacity:.85;transform:rotate(-1deg);box-shadow:8px 8px 0 var(--ink)}body:has(.tile.dragging){cursor:grabbing;user-select:none;-webkit-user-select:none}.paidbadge{margin-left:6px;vertical-align:2px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:800;line-height:1;color:var(--ink);background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:2px 6px}.paidbadge:hover,.paidbadge.open{background:var(--coral)}.paidbadge:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.paidinfo{background:#fff8dc;border:2px solid var(--ink);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:500}.paidinfo .what{font-weight:700;margin-bottom:4px}.paidinfo ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.paidinfo a{color:var(--ink);font-weight:600}.suggestions{margin-top:28px;display:flex;flex-direction:column;gap:12px;max-width:640px}.suggesthead{display:flex;align-items:center;gap:12px}.suggesthead .sectiontitle{margin:0;flex:1}.suggestform{display:flex;flex-direction:column;gap:8px}.suggestform .row{display:flex;gap:8px}.suggestlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.suggestlist li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.suggestlist .what{flex:1;min-width:0;overflow-wrap:anywhere}.suggestlist a{color:var(--ink)}.suggestlist .sub{color:var(--muted);font-size:12.5px;font-weight:500}.suggestlist .del{background:none;border:none;cursor:pointer;font-size:13px;opacity:.6}.votebtn{font-family:inherit;font-weight:800;font-size:13px;cursor:pointer;min-width:52px;background:#fff;border:2px solid var(--ink);border-radius:10px;padding:5px 8px}.votebtn.on{background:var(--yellow)}.profile{display:flex;flex-direction:column;gap:18px;max-width:640px}.cardhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cardhead .sectiontitle{margin:0;flex:1;white-space:nowrap}.leaderboards .gamepick{margin-top:22px}.avatar.small{width:26px;height:26px;font-size:12px;border-width:2px}.avatar.big{width:56px;height:56px;font-size:24px;background:var(--yellow)}.profilehead{display:flex;align-items:center;gap:14px}.profilehead .who{flex:1;min-width:0}.profilehead .name{font-weight:800;font-size:20px;overflow-wrap:anywhere}.stattiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stattile{background:var(--bg);border:2px solid var(--ink);border-radius:12px;padding:10px 12px}.stattile .value{font-weight:800;font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums}.stattile .label{font-size:12px;font-weight:600;color:var(--muted)}.stattable td .unit{margin-left:4px;font-size:11px;font-weight:600;color:var(--muted)}.rangerow{display:flex;gap:8px;flex-wrap:wrap}.tab.small{font-size:13px;padding:5px 14px}.tablewrap{overflow-x:auto;margin:0 -6px}.stattable{width:100%;border-collapse:separate;border-spacing:0 3px;font-size:14px}.stattable th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:4px 8px}.stattable td{padding:7px 8px;font-weight:600}.stattable .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.stattable .rank{width:34px;text-align:center}.stattable .who{white-space:nowrap}.stattable th .unit{display:block;font-size:10.5px;font-weight:600}.stattable tr.me td{background:var(--lilac)}.stattable tr.me td:first-child{border-radius:8px 0 0 8px}.stattable tr.me td:last-child{border-radius:0 8px 8px 0}.sortbtn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted}.sortbtn.active{color:var(--ink);text-decoration:none}.sortbtn:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.hint.small{font-size:12.5px;margin:10px 0 0}.gamepick{display:flex;align-items:center;gap:10px;margin-bottom:10px}.gamepick select.input{width:auto;flex:1;max-width:320px;padding:8px 12px;font-weight:700}@media (max-width: 560px){.stattable{font-size:13px}.stattiles{grid-template-columns:repeat(2,1fr)}.stattable td .unit{display:block;margin:0;font-size:10.5px}.stattable .who{white-space:normal}.stattable td,.stattable th{padding-left:5px;padding-right:5px}}
