@import url('/rick.css');
:root{font-family:Inter,"PingFang SC",system-ui,sans-serif;color:#eeeede;background:#101c1b;font-synthesis:none;--lime:#d4f58b;--muted:#9cadab;--line:#ffffff18}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 25% 55%,#28413a55,transparent 65%),#101c1b}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;transition:transform .18s,background .18s,box-shadow .18s}button:active:not(:disabled){transform:scale(.96)}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:4px}a{color:inherit;text-decoration:none}button{border:0}input{width:100%;background:#09131166;border:1px solid #ffffff24;border-radius:12px;padding:15px;color:#f5f5e7;min-width:0}input::placeholder{color:#84918e}label{font-size:14px;color:#bdc9c0;display:block}label input{margin-top:9px}h1,h2,p{margin:0}.topbar{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:14px}.brand{font-size:25px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:20px}.brand span{font:11px ui-monospace,monospace;letter-spacing:2px;color:#9ead9f;max-width:125px;line-height:1.7}.top-actions{display:flex;align-items:center;gap:15px;font-size:13px;color:var(--muted)}.ghost,.icon{background:transparent;padding:10px 12px;border:1px solid var(--line);border-radius:100px;font-size:14px}.icon{font-size:21px;width:44px;height:44px;padding:0}.home{max-width:1180px;margin:55px auto 30px;display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center;padding:0 30px}.eyebrow{font:12px ui-monospace,monospace;letter-spacing:2px;color:#bbc7a9}.intro h1{font-size:clamp(48px,6.5vw,84px);letter-spacing:-4px;line-height:1.2;font-weight:750;margin:25px 0}.intro h1 span{display:block;color:var(--lime)}.intro p{color:var(--muted);font-size:16px;line-height:1.8}.card-fan{display:flex;height:220px;align-items:center;justify-content:center;padding-top:35px;padding-right:40px;isolation:isolate}.card{position:relative;display:flex;align-items:center;justify-content:center;width:105px;height:155px;flex-shrink:0;border:5px solid #f7f2de;border-radius:16px;box-shadow:0 9px 0 #0002,0 18px 30px #0004;font-size:58px;line-height:1;font-weight:850;font-style:italic;text-shadow:0 2px 1px #0003;color:#fff;isolation:isolate}.card:before{content:"";position:absolute;inset:15px 5px;border:1px solid #ffffff65;border-radius:50%;transform:rotate(28deg);z-index:-1}.red{background:#d9524c}.blue{background:#4691cf}.yellow{background:#dfac39;color:#172421}.green{background:#4a9b78}.wild{background:conic-gradient(#d9524c 0 25%,#4691cf 0 50%,#4a9b78 0 75%,#dfac39 0)}.card-fan .card:nth-child(1){transform:rotate(-24deg) translateY(14px)}.card-fan .card:nth-child(2){transform:rotate(-8deg);margin-left:-35px}.card-fan .card:nth-child(3){transform:rotate(9deg);margin-left:-35px}.card-fan .card:nth-child(4){transform:rotate(25deg) translateY(14px);margin-left:-35px}.setup{background:#ffffff04;border:1px solid #d4f58b24;border-radius:24px;padding:30px;box-shadow:0 25px 100px #0002}.section-top{display:flex;justify-content:space-between;align-items:center}.pill{font-size:12px;background:#ffffff08;padding:6px 10px;border:1px solid var(--line);border-radius:20px;color:#bbc6bb}.setup h2{font-size:28px;margin:22px 0 25px;font-weight:650}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.mode{border:1px solid var(--line);background:#132220;border-radius:12px;text-align:left;padding:17px 12px}.mode strong{display:block;font-size:20px;margin-bottom:9px}.mode span{font-size:13px;color:var(--muted)}.mode.selected{border-color:var(--lime);background:#d4f58b0d}.mode.selected strong{color:var(--lime)}.primary{background:var(--lime);color:#19271e;border-radius:12px;padding:15px 23px;font-weight:750;min-height:48px}.primary:hover{background:#e1ff9f;box-shadow:0 4px 30px #d4f58b15}.wide{width:100%;display:flex;justify-content:space-between}.secondary{border:1px solid #ffffff30;background:#ffffff08;padding:13px 20px;border-radius:12px;min-height:46px}.divider{display:flex;gap:12px;align-items:center;margin:22px 0;color:#90a099;font-size:12px}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.join{display:flex;gap:10px}.hint{font-size:13px;color:#93a49b;margin-top:17px;line-height:1.7}.home-footer{max-width:1120px;margin:32px auto;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);max-width:90%;width:max-content;background:#eff6d9;color:#1b291f;padding:13px 24px;border-radius:14px;box-shadow:0 10px 50px #0006;z-index:30;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #637862;background:#192a26;color:#edf3e7;border-radius:22px;padding:34px;width:min(640px,92vw);max-height:85dvh;box-shadow:0 30px 100px #0007}dialog::backdrop{background:#040b09bb;backdrop-filter:blur(7px)}.close{position:absolute;right:13px;top:10px;background:transparent;font-size:28px}.rules-content h2{margin:0 0 20px}.rules-content p,.rules-content li{font-size:15px;line-height:1.85;color:#c2cec5}.rules-content a{text-decoration:underline;color:var(--lime)}.room{max-width:1280px;padding:24px 30px;margin:auto}.room-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.room-header h2{font-size:22px}.room-header p{font-size:13px;color:var(--muted);margin-top:8px}.room-buttons{display:flex;gap:8px;flex-wrap:wrap}.lobby{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.seats{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.seat{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:#ffffff04;border-radius:16px;padding:20px;min-height:96px}.avatar{width:42px;height:42px;background:#ccd9b520;border:1px solid #ccd9b544;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:750}.seat strong{display:block;font-size:16px}.seat small{color:var(--muted);font-size:12px}.seat .ghost{margin-left:auto;font-size:12px;padding:8px}.empty{border-style:dashed;color:#91a398}.lobby-settings{border:1px solid var(--line);padding:25px;border-radius:20px;background:#ffffff03}.lobby-settings h3{margin-top:0}.lobby-settings p{color:#a7b8aa;font-size:14px;line-height:1.8;margin-bottom:20px}.lobby-settings button{margin-top:12px}.table{position:relative;min-height:380px;border:1px solid #839c6538;border-radius:160px;background:radial-gradient(ellipse,#31554655,#1c342bbb 70%);box-shadow:inset 0 0 0 12px #0b191833,inset 0 0 70px #050e0b66;margin:20px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 40px 40px}.opponents{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;position:relative;z-index:2;margin-bottom:-74px;padding:0 25px}.opponent{background:#14251f;border:1px solid #657d6144;border-radius:14px;padding:12px 17px;min-width:112px;max-width:150px;text-align:center}.opponent.active{border-color:var(--lime);box-shadow:0 0 25px #d4f58b18}.opponent strong{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent span{font-size:12px;color:var(--muted)}.backs{display:flex;justify-content:center;margin:8px 0}.backs i{display:block;width:16px;height:25px;background:#273c32;border:1px solid #c4d5ae77;border-radius:3px;transform:rotate(8deg);margin-left:-5px}.table-center{display:flex;gap:26px;align-items:center}.deck{background:repeating-linear-gradient(45deg,#273a2b,#273a2b 5px,#314831 5px,#314831 6px);font-size:18px;color:#d5efb5}.deck span{transform:rotate(-20deg)}.discard{animation:deal .25s ease-out}.card small{position:absolute;top:6px;left:7px;font-size:16px;line-height:1}.card small:last-child{top:auto;left:auto;bottom:6px;right:7px;transform:rotate(180deg)}.turn-label{margin-top:23px;text-align:center;line-height:1.6;color:#becbb5;font-size:14px}.turn-label strong{color:var(--lime);display:block;font-size:18px}.color-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:7px}.me-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.me-row strong{font-size:15px}.me-row span{font-size:13px;color:var(--muted)}.hand{display:flex;align-items:flex-end;gap:9px;overflow-x:auto;overflow-y:hidden;padding:24px 10px 24px;min-height:178px;scrollbar-color:#788e60 transparent}.hand .card{width:84px;height:125px;font-size:42px;border-width:4px;border-radius:13px;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s,box-shadow .2s;animation:deal .35s both}.hand .card:hover:not(:disabled){transform:translateY(-12px) rotate(-3deg);box-shadow:0 12px 25px #0007}.hand .card:disabled{opacity:.53;filter:saturate(.5)}.hand .card.playable{box-shadow:0 0 0 2px #d4f58b,0 7px 20px #0004}.action-bar{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.uno{background:#d9584b;color:#fff;border:1px solid #f89986;padding:14px 25px;border-radius:12px;font-weight:850;font-size:19px}.uno.armed{background:var(--lime);color:#163020}.log{font-size:13px;color:#a1b4a6;text-align:center;margin:22px auto;line-height:1.8;max-width:700px}.color-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:24px}.color-picker button{min-height:75px;border-radius:14px;font-size:18px;font-weight:700}.result{text-align:center;padding:35px 15px}.result h2{font-size:32px;color:var(--lime);margin:10px 0 20px}.scores{display:grid;gap:8px;margin:20px auto;max-width:460px}.score{display:flex;justify-content:space-between;padding:12px 18px;border:1px solid var(--line);border-radius:10px}.notice{background:#d4f58b10;border:1px solid #d4f58b33;border-radius:14px;padding:15px;text-align:center;margin:12px 0;font-size:14px;line-height:1.7}.timer{font-variant-numeric:tabular-nums;color:var(--lime)!important}.inline-card{display:inline-flex;margin:5px;transform:scale(.7);transform-origin:left top;margin-right:-22px;margin-bottom:-35px}.team-a{color:#cce78a}.team-b{color:#92c7ee}@keyframes deal{from{transform:translateY(14px) rotate(4deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}@media(min-width:1000px){.hand{justify-content:center}.hand:has(.card:nth-child(11)){justify-content:flex-start}.table{margin-left:65px;margin-right:65px}}@media(max-width:760px){.topbar{padding:18px 20px}.brand span,#connection{display:none}.top-actions{gap:7px}.home{grid-template-columns:1fr;gap:25px;margin:30px auto;padding:0 20px}.intro{position:relative}.intro h1{font-size:44px;letter-spacing:-2px;margin:14px 0}.intro h1 span{display:inline}.intro p{font-size:14px}.intro .eyebrow{font-size:10px}.card-fan{display:none}.setup{padding:23px}.setup h2{font-size:25px}.home-footer{margin:20px;gap:15px;align-items:flex-start}.home-footer>span{display:none}.room{padding:18px 14px}.room-header{align-items:flex-start}.room-header h2{font-size:20px}.room-buttons .ghost{font-size:12px;padding:9px}.lobby{grid-template-columns:1fr}.seats{gap:9px}.seat{padding:13px;gap:8px;flex-wrap:wrap}.lobby-settings{padding:20px}.opponents{gap:7px;padding:0;margin-bottom:-58px}.opponent{min-width:78px;max-width:110px;padding:8px}.opponent strong{font-size:12px}.opponent span{font-size:11px}.table{border-radius:55px;padding:83px 20px 25px;min-height:320px}.table .card{width:83px;height:121px;font-size:43px}.table .deck{font-size:17px}.me-row{margin-top:18px}.hand{gap:7px;margin:0 -5px}.hand .card{width:72px;height:111px;font-size:37px}.action-bar{gap:8px}.action-bar button{padding:12px 15px;font-size:14px}.log{font-size:12px}.room-header p{font-size:12px}.brand{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
