@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-ext-400-normal-XQK_CSAr.woff2)format("woff2"),url(/assets/cinzel-latin-ext-400-normal-DJ0Lq8y-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2)format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cinzel-latin-ext-800-normal-BVA5zD9y.woff2)format("woff2"),url(/assets/cinzel-latin-ext-800-normal-gMcvnDsD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cinzel-latin-800-normal-CwkMVn6z.woff2)format("woff2"),url(/assets/cinzel-latin-800-normal-69OYDlL6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-decorative-latin-ext-700-normal-Dul5pKgq.woff2)format("woff2"),url(/assets/cinzel-decorative-latin-ext-700-normal-BaOC-94C.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-decorative-latin-700-normal-CnX1aK6s.woff2)format("woff2"),url(/assets/cinzel-decorative-latin-700-normal-ov6XPGpn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-normal-o8fRvAFQ.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-normal-DG8lny6_.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-normal-DDLP67lu.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-400-normal-C0kVTdou.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-normal-K8pwR3tn.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-400-normal-BaZl8BIK.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-normal-CVAbzS9p.woff2)format("woff2"),url(/assets/eb-garamond-greek-400-normal-d4JlP2QH.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-normal-CLvJdMEL.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-400-normal-ifvNSiWx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-normal-o4A__6QZ.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-400-normal-B4EmgUmt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-ext-500-normal-DcO3I2lp.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-500-normal-I3TfTkSf.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-500-normal-c5LjvaqX.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-500-normal-CLHyttEY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-ext-500-normal-DkhmZW4r.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-500-normal-CMJ7zNBO.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-500-normal-BtA0fbXC.woff2)format("woff2"),url(/assets/eb-garamond-greek-500-normal-BjSCMh1N.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-vietnamese-500-normal-BCT1_K6u.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-500-normal-B0TRhMco.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-ext-500-normal-BFuc0jzo.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-500-normal-obw7ZvB_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2)format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-italic-Bz1w3xqM.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-italic-CYS3phfl.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-italic-BGIwiowF.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-400-italic-BZInx2ys.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-italic-CHZOQEtG.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-400-italic-BL1XYHtS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-italic-Dqr5KC66.woff2)format("woff2"),url(/assets/eb-garamond-greek-400-italic-BamGE6QP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-italic-DQ8HKnks.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-400-italic-ORtyMVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-italic-V7s3nWfX.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-400-italic-DUSsnRSD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-italic-DSEbMgZu.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-italic-CDFyLPXJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#2b1a0c;--ink-soft:#5d4429;--ink-faint:#8a7152;--parch-1:#f6ecd2;--parch-2:#ead7ab;--parch-3:#d9c08c;--wood-1:#5a3419;--wood-2:#3b2111;--wood-3:#22130a;--gold-1:#fbe6a6;--gold-2:#e0b95e;--gold-3:#a97c2e;--gold-4:#6b4d19;--cream:#f3e4c0;--good:#4f8a3a;--bad:#b8392c;--warn:#c9851f;--shadow:0 12px 34px #00000073, 0 2px 6px #00000059;--font-title:"Cinzel", "Trajan Pro", Georgia, serif;--font-deco:"Cinzel Decorative", "Cinzel", Georgia, serif;--font-body:"EB Garamond", Garamond, "Times New Roman", serif;--noise:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .25 0 0 0 0 .12 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .5' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .05 0 0 0 0 .02 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--card-w:clamp(66px, 6.4vw, 98px)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;font-size:16px}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit}kbd{min-width:1.5em;font-family:var(--font-title);text-align:center;vertical-align:.1em;background:#fff8e159;border:1px solid #00000059;border-bottom-width:2px;border-radius:4px;margin:0 .1em;padding:0 .35em;font-size:.72em;font-weight:600;line-height:1.5;display:inline-block}.muted{color:var(--ink-faint)}.small{font-size:.86rem}.warn-text{color:var(--bad)}.row-gap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-gap.center{justify-content:center}.inline-icon{vertical-align:-3px;filter:drop-shadow(0 1px 1px #0000004d);margin:0 1px;display:inline-block}.scroll{scrollbar-width:thin;scrollbar-color:var(--gold-3) transparent;overflow-y:auto}.scroll::-webkit-scrollbar{width:6px}.scroll::-webkit-scrollbar-thumb{background:var(--gold-3);border-radius:3px}.parchment{color:var(--ink);background:var(--noise), radial-gradient(ellipse at 25% 15%, #fff6, transparent 55%), radial-gradient(ellipse at 85% 95%, #7d501e33, transparent 55%), linear-gradient(160deg, var(--parch-1), var(--parch-2) 58%, var(--parch-3));box-shadow:var(--shadow), inset 0 0 50px #7d501e38;border-radius:12px;position:relative}.framed{border:4px solid var(--wood-2);box-shadow:0 0 0 1px var(--gold-3), var(--shadow), inset 0 0 0 1px #ffe8af8c, inset 0 0 50px #7d501e38}.framed:after{content:"";pointer-events:none;border:1px solid #a97c2e73;border-radius:8px;position:absolute;inset:6px}.walnut{color:var(--cream);background:var(--grain), linear-gradient(180deg, #4a2a15f0, #26150af2);border:1px solid #e0b95e73;border-radius:12px;box-shadow:0 8px 24px #00000073,inset 0 1px #ffe6aa1f}.parchment-chip{background:linear-gradient(180deg, var(--parch-1), var(--parch-2));box-shadow:var(--shadow);font-family:var(--font-title);border-radius:20px;padding:8px 16px;font-size:.9rem}.gilded{font-family:var(--font-title);letter-spacing:.05em;background:linear-gradient(#fff4c8 0%,#eecb72 38%,#b3842f 56%,#f0d387 100%);color:#0000;filter:drop-shadow(0 1px #321c08d9)drop-shadow(0 3px 6px #00000059);-webkit-background-clip:text;background-clip:text;margin:0;font-weight:800}.parchment .gilded{background:linear-gradient(#a06d1e 0%,#6e4410 45%,#3f250a 55%,#8a5a16 100%);filter:drop-shadow(0 1px #fff5d7cc);-webkit-background-clip:text;background-clip:text}.eyebrow{font-family:var(--font-title);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem;font-weight:600}.section-title{font-family:var(--font-title);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin:18px 0 8px;font-size:.82rem;font-weight:700;display:flex}.section-title:after{content:"";background:linear-gradient(90deg,#6b4d1980,#0000);flex:1;height:1px}.tag{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);vertical-align:2px;background:#6b4d1924;border:1px solid #6b4d1940;border-radius:8px;align-items:center;gap:3px;margin-left:6px;padding:0 6px;font-size:.62rem;font-weight:700;line-height:1.6;display:inline-flex}.tag.gold{color:#5a3a08;background:linear-gradient(180deg, var(--gold-1), var(--gold-2));border-color:var(--gold-3)}.walnut .tag,.pp .tag{color:var(--gold-1);background:#e0b95e24;border-color:#e0b95e59}.pname{color:var(--pc,inherit);text-shadow:0 1px 1px #00000080;font-weight:700}.pname-red{color:#ff8373}.pname-blue{color:#86adff}.pname-white{color:#f6f1e6}.pname-orange{color:#ffac62}.parchment .pname,.toast .pname{text-shadow:none}.parchment .pname-red,.toast .pname-red{color:#a8261c}.parchment .pname-blue,.toast .pname-blue{color:#1f4796}.parchment .pname-white,.toast .pname-white{color:#6b604f;text-underline-offset:2px;-webkit-text-decoration:underline #6b604f59;text-decoration:underline #6b604f59}.parchment .pname-orange,.toast .pname-orange{color:#b55a0e}.btn{font-family:var(--font-title);letter-spacing:.06em;cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:7px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .15s,background .2s;display:inline-flex;position:relative}.btn-sm{padding:5px 11px;font-size:.74rem}.btn-md{padding:9px 16px;font-size:.86rem}.btn-lg{padding:12px 22px;font-size:1rem}.btn.wide{width:100%}.btn:not(:disabled):hover{filter:brightness(1.07);transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(2px)}.btn:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.45)}.btn-gold{color:#3a2208;text-shadow:0 1px #fff0c899;background:linear-gradient(#fbe39a 0%,#e0b24a 52%,#b8862a 100%);border:1px solid #7a5415;box-shadow:inset 0 1px #ffffffa6,0 3px #6b4a14,0 6px 14px #00000059}.btn-gold:not(:disabled):active{box-shadow:inset 0 1px #ffffff80,0 1px #6b4a14,0 3px 8px #00000059}.btn-wood{color:var(--gold-1);background:var(--grain), linear-gradient(180deg, #74462a, #4a2a15 60%, #3a2010);text-shadow:0 1px #0009;border:1px solid #22130a;box-shadow:inset 0 1px #ffdca040,0 3px #1e1006,0 6px 12px #00000059}.btn-wood.is-active{box-shadow:inset 0 0 0 2px var(--gold-2), 0 0 16px #e0b95e80}.btn-secondary{color:var(--ink);background:linear-gradient(#fbf3de,#e8d5a8);border:1px solid #a5844c;box-shadow:inset 0 1px #fff,0 3px #8d6d3a,0 5px 10px #00000040}.btn-ghost{color:inherit;opacity:.85;background:0 0;border:1px solid}.btn-ghost:not(:disabled):hover{opacity:1;background:#a97c2e24}.btn-ghost.is-active{background:#a97c2e38}.btn-danger{color:#fff1e6;text-shadow:0 1px #0006;background:linear-gradient(#d9573f,#a52f20 60%,#7e2014);border:1px solid #4f130b;box-shadow:inset 0 1px #ffc8b480,0 3px #4f130b,0 6px 12px #00000059}.link-btn{color:var(--gold-1);font-family:var(--font-title);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;margin-left:10px;padding:0;font-size:.72rem;text-decoration:underline}.text-input{width:100%;color:var(--ink);font-family:var(--font-body);background:#fffbeebf;border:1px solid #b08c50;border-radius:7px;outline:none;padding:10px 13px;font-size:1.1rem;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 2px 5px #5a3c1433}.text-input::placeholder{color:#5d442973;font-style:italic}.text-input:focus{border-color:var(--gold-3);box-shadow:inset 0 2px 5px #5a3c1433,0 0 0 3px #e0b95e66}.field-label{font-family:var(--font-title);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-size:.74rem;font-weight:700;display:block}input[type=range]{appearance:none;background:linear-gradient(90deg, var(--gold-3), var(--gold-2));cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px;box-shadow:inset 0 1px 2px #0006}input[type=range]:disabled{opacity:.5;cursor:default}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 30%,#fff6d6,#d9a93f 60%,#8a5f18);border:1px solid #5a3a08;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 4px #0006}input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 35% 30%,#fff6d6,#d9a93f 60%,#8a5f18);border:1px solid #5a3a08;border-radius:50%;width:18px;height:18px}.toggle{cursor:pointer;align-items:center;gap:10px;margin:8px 0;display:flex}.toggle.disabled{cursor:default;opacity:.75}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#5a3c1459;border-radius:11px;flex:none;width:38px;height:21px;transition:background .2s;position:relative;box-shadow:inset 0 1px 3px #0006}.toggle-thumb{background:radial-gradient(circle at 35% 30%,#fffaf0,#e8d5a8);border-radius:50%;width:17px;height:17px;transition:transform .2s cubic-bezier(.3,1.4,.5,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0006}.toggle input:checked+.toggle-track{background:linear-gradient(90deg, var(--gold-3), var(--gold-2))}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(17px)}.icon-btn{width:38px;height:38px;color:var(--gold-1);background:var(--grain), radial-gradient(circle at 40% 30%, #6e4327, #3a2010 70%);cursor:pointer;border:1px solid #e0b95e8c;border-radius:50%;place-items:center;transition:transform .15s,box-shadow .15s,color .15s;display:grid;position:relative;box-shadow:0 4px 10px #00000073,inset 0 1px #ffe6aa33}.icon-btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px #00000080,0 0 12px #e0b95e59}.icon-btn.is-active{color:#3a2208;background:linear-gradient(#fbe39a,#c8952f)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.modal-x{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:#fffaeb80;border:1px solid #6b4d1966;border-radius:50%;place-items:center;display:grid}.modal-x:hover{color:var(--ink);background:#fffaebe6}.tabs{gap:4px;display:flex}.tab{font-family:var(--font-title);letter-spacing:.08em;color:inherit;opacity:.6;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px 7px 0 0;align-items:center;gap:6px;padding:6px 12px;font-size:.74rem;font-weight:700;display:inline-flex}.tab:hover{opacity:.9}.tab.on{opacity:1;background:#fff5d71f;border-color:#a97c2e73 #a97c2e73 #0000}.screen{z-index:20;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:24px;display:flex;position:fixed;inset:0}.screen>*{pointer-events:auto}.screen>.screen-vignette{pointer-events:none}.screen-vignette{background:radial-gradient(75% 65% at 50% 45%,#0000 35%,#0c0602b8 100%),linear-gradient(#0c060273,#0000 30% 70%,#0c06028c);position:absolute;inset:0}.home-title{text-align:center;position:relative;pointer-events:none!important}.title-flourish{color:var(--gold-2);opacity:0;justify-content:center;align-items:center;gap:14px;animation:1s .2s forwards fade-up;display:flex}.title-flourish span{background:linear-gradient(90deg, transparent, var(--gold-2));width:120px;height:1px}.title-flourish span:last-child{background:linear-gradient(90deg, var(--gold-2), transparent)}.catan-title{font-family:var(--font-deco);letter-spacing:.08em;background:linear-gradient(#fff7d4 0%,#f3d37c 28%,#c9952f 50%,#7e5212 58%,#d9b55a 76%,#fff1bb 100%);color:#0000;filter:drop-shadow(0 2px #3b220a)drop-shadow(0 4px #24140a)drop-shadow(0 10px 22px #000000b3);-webkit-background-clip:text;background-clip:text;margin:4px 0 0;font-size:clamp(64px,11vw,158px);font-weight:700;line-height:1;animation:1.8s cubic-bezier(.2,.8,.2,1) both title-in;position:relative}.catan-title:after{content:attr(data-text);background:linear-gradient(105deg,#0000 42%,#ffffffd9 50%,#0000 58%) 120% 0/260% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out 2s infinite shine;position:absolute;inset:0}.title-sub{font-family:var(--font-title);letter-spacing:.6em;text-transform:uppercase;color:var(--gold-1);text-shadow:0 2px 8px #000000e6;opacity:0;margin-top:6px;font-size:clamp(14px,1.6vw,20px);font-weight:600;animation:1.2s .9s forwards fade-up}.home-panel{flex-direction:column;gap:12px;width:min(400px,92vw);padding:26px 28px 20px;animation:.9s cubic-bezier(.2,.8,.2,1) .5s both panel-in;display:flex}.invite-note{border:1px dashed var(--gold-3);background:#e0b95e38;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.98rem;display:flex}.divider{color:var(--ink-faint);font-family:var(--font-title);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:10px;margin:4px 0;font-size:.7rem;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(90deg,#0000,#6b4d1973,#0000);flex:1;height:1px}.join-row{gap:10px;display:flex}.code-input{font-family:var(--font-title);letter-spacing:.35em;text-align:center;text-transform:uppercase;flex:1;font-size:1.25rem;font-weight:700}.conn-status{color:var(--ink-faint);justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:.86rem;font-style:italic;display:flex}.conn-status .dot{background:var(--warn);width:8px;height:8px;box-shadow:0 0 8px var(--warn);border-radius:50%;animation:1.2s ease-in-out infinite pulse-dot}.conn-status.ok .dot{background:#6fbf4a;animation:none;box-shadow:0 0 8px #6fbf4a}.home-foot{font-family:var(--font-title);letter-spacing:.16em;color:#f3e4c0bf;text-shadow:0 1px 4px #000;text-align:center;font-size:.76rem;animation:1s 1.4s both fade-up;position:absolute;bottom:18px;pointer-events:none!important}.lobby-wrap{grid-template-columns:minmax(0,640px) 320px;gap:20px;max-height:calc(100vh - 48px);animation:.7s cubic-bezier(.2,.8,.2,1) both panel-in;display:grid}.lobby-main,.lobby-chat{padding:22px 26px;overflow:auto}.lobby-chat{flex-direction:column;display:flex}.lobby-chat .section-title{margin-top:2px}.lobby-chat .chat-panel{flex:1;min-height:260px}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.lobby-head-actions{gap:8px;display:flex}.room-code{gap:6px;margin-top:4px;display:flex}.room-code span{width:44px;height:54px;font-family:var(--font-title);color:var(--gold-1);background:var(--grain), linear-gradient(180deg, #6e4327, #3a2010);text-shadow:0 2px #000;border:1px solid #22130a;border-radius:7px;place-items:center;font-size:1.9rem;font-weight:800;display:grid;box-shadow:inset 0 1px #ffe6aa40,0 3px #1e1006,0 5px 10px #0000004d}.seat-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.seat{border:1px solid #6b4d1940;border-left:5px solid var(--pc,#6b4d1940);background:#fffaeb73;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;animation:.35s both fade-up;display:flex;position:relative}.seat.mine{box-shadow:0 0 0 1px var(--gold-2), 0 4px 12px #6b4d1933;background:#fff6d7cc}.seat.offline{opacity:.6}.seat.empty{background:#fffaeb33;border-style:dashed;border-left-width:1px}.seat-crest{flex:none;place-items:center;width:40px;display:grid}.ghost-crest{width:34px;height:38px;font-family:var(--font-title);color:var(--ink-faint);border:1.5px dashed #6b4d1966;border-radius:6px 6px 50% 50%}.seat-info{flex:1;min-width:0}.seat-name{white-space:nowrap;text-overflow:ellipsis;font-size:1.12rem;font-weight:600;overflow:hidden}.seat-meta{color:var(--ink-faint);align-items:center;gap:4px;font-size:.86rem;font-style:italic;display:flex}.seat-meta.ok{color:var(--good)}.swatches{align-items:center;gap:7px;display:flex}.swatch{cursor:pointer;border:2px solid #00000059;border-radius:50%;width:26px;height:26px;transition:transform .15s;box-shadow:inset 0 -3px 5px #0000004d,inset 0 2px 3px #ffffff59}.swatch:hover:not(:disabled){transform:scale(1.15)}.swatch.on{outline:2px solid var(--gold-2);outline-offset:2px;transform:scale(1.1)}.swatch:disabled{opacity:.25;cursor:not-allowed}.kick{width:26px;height:26px;color:var(--bad);cursor:pointer;background:#b8392c14;border:1px solid #b8392c80;border-radius:50%;place-items:center;display:grid}.kick:hover{background:#b8392c33}.lobby-settings{flex-direction:column;gap:6px;display:flex}.setting-label{justify-content:space-between;margin-bottom:6px;display:flex}.setting-value{font-family:var(--font-title);font-size:1.1rem}.lobby-foot{border-top:1px solid #6b4d1940;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:14px;display:flex}.starting{text-align:center;padding:34px 48px;animation:.6s both panel-in}.spinner-hex{background:linear-gradient(180deg, var(--gold-1), var(--gold-3));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:46px;height:52px;margin:0 auto 14px;animation:1.6s cubic-bezier(.6,0,.4,1) infinite spin-hex}.chat-panel{flex-direction:column;gap:8px;min-height:0;display:flex}.chat-list{flex-direction:column;flex:1;gap:4px;min-height:80px;padding-right:4px;display:flex}.chat-empty{padding:6px 0;font-style:italic}.chat-msg{overflow-wrap:anywhere;font-size:.98rem;line-height:1.3}.chat-msg.system{color:var(--ink-faint);font-size:.88rem;font-style:italic}.chat-name{text-shadow:0 0 1px #0006;margin-right:6px;font-weight:700}.parchment .chat-name{filter:brightness(.75)saturate(1.2)}.chat-input{gap:6px;display:flex}.chat-input .text-input{padding:6px 10px;font-size:.98rem}.toasts{z-index:70;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;top:96px;left:50%;transform:translate(-50%)}.toast{max-width:min(520px,90vw);color:var(--ink);pointer-events:auto;cursor:pointer;background:linear-gradient(#fbf3dc,#ead8ad);border:1px solid #a5844c;border-radius:22px;align-items:center;gap:9px;padding:7px 16px 7px 8px;font-size:1rem;animation:.4s cubic-bezier(.2,1.2,.4,1) both toast-in;display:flex;box-shadow:0 8px 20px #0006}.toast-mark{color:#fff;background:var(--gold-3);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.toast-good .toast-mark{background:var(--good)}.toast-bad .toast-mark{background:var(--bad)}.toast-warn .toast-mark{background:var(--warn)}.toast-bad{border-color:#b8392c99}.hud{z-index:20;pointer-events:none;color:var(--cream);position:fixed;inset:0}.hud-left{pointer-events:none;width:262px;position:absolute;top:12px;left:12px}.player-panels{flex-direction:column;gap:8px;display:flex}.pp{color:var(--cream);background:var(--grain), linear-gradient(180deg, #462814e6, #221309eb);border:1px solid #e0b95e59;border-left:4px solid var(--pc);pointer-events:auto;border-radius:11px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:7px 10px 7px 8px;transition:box-shadow .3s,transform .3s;animation:.5s cubic-bezier(.2,.8,.2,1) backwards slide-right;display:grid;position:relative;box-shadow:0 6px 18px #0006}.pp:nth-child(2){animation-delay:70ms}.pp:nth-child(3){animation-delay:.14s}.pp:nth-child(4){animation-delay:.21s}.pp.current{border-color:var(--pc);box-shadow:0 0 0 1px var(--pc), 0 0 22px color-mix(in srgb, var(--pc) 55%, transparent), 0 8px 22px #00000080;transform:translate(6px)}.pp.me{background:var(--grain), linear-gradient(180deg, #5c381aed, #2c190bf0)}.pp.offline{filter:saturate(.4)brightness(.8)}.pp-crest{place-items:center;display:grid;position:relative}.pp-ring{border:2px solid var(--pc);opacity:.8;border-radius:50%;animation:1.8s ease-out infinite ring-pulse;position:absolute;inset:-5px}.pp-body{min-width:0}.pp-top{align-items:center;gap:4px;min-width:0;display:flex}.pp-name{font-family:var(--font-title);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.pp-top .tag{margin-left:2px}.pp-icon{color:var(--gold-2);opacity:.85;display:inline-grid}.pp-icon.warn{color:#ff9a7a}.pp-stats{gap:9px;margin-top:3px;display:flex}.pp-stat{color:#f3e4c0d9;align-items:center;gap:3px;font-size:.85rem;display:inline-flex}.pp-stat b{font-family:var(--font-title);font-size:.84rem}.pp-stat b.danger{color:#ff8a73}.pp-stat.award{color:var(--gold-1);text-shadow:0 0 8px #fbe6a699}.mini-card{filter:drop-shadow(0 1px 1px #00000080);width:11px;height:15px;display:block}.pp-status{align-items:center;gap:6px;margin-top:2px;display:flex}.pp-state{color:var(--gold-1);font-size:.8rem;font-style:italic;animation:1.6s ease-in-out infinite breathe}.pp-state.warn{color:#ff9a7a;animation:none}.pp-resp{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;background:#f3e4c01f;border-radius:8px;align-items:center;gap:3px;padding:0 6px;font-size:.6rem;font-weight:700;line-height:1.7;display:inline-flex}.pp-resp.accepted{color:#c8f0a8;background:#6fbf4a4d}.pp-resp.declined{color:#ffc0b0;background:#b8392c59}.pp-vp{text-align:center;min-width:38px}.pp-vp-num{font-family:var(--font-title);background:linear-gradient(#fff4c8,#e4ba58 55%,#b08028);color:#0000;filter:drop-shadow(0 1px #000);-webkit-background-clip:text;background-clip:text;font-size:1.55rem;font-weight:800;line-height:1}.pp-vp-of{color:#f3e4c08c;font-size:.66rem;font-family:var(--font-title)}.pp-vp-hidden{color:var(--gold-2);white-space:nowrap;font-size:.6rem;font-style:italic}.pp-badge{color:#3a2208;background:radial-gradient(circle at 35% 30%,#fff3c4,#d9a93f 65%,#8a5f18);border:1px solid #5a3a08;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;display:inline-grid;box-shadow:0 2px 5px #00000073,0 0 10px #fbe6a673}.phase-wrap{pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100vw - 600px);display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phase-banner{color:var(--cream);background:var(--grain), linear-gradient(180deg, #462814eb, #1e1108f0);border:1px solid #e0b95e73;border-radius:14px;align-items:center;gap:14px;padding:8px 14px 8px 12px;animation:.5s cubic-bezier(.2,.9,.3,1.1) both drop-in;display:flex;box-shadow:0 8px 22px #00000073}.phase-banner.mine{border-color:var(--gold-2);box-shadow:0 0 0 1px #fbe6a659,0 0 26px #e0b95e59,0 8px 22px #00000073}.phase-banner.urgent{animation:.5s cubic-bezier(.2,.9,.3,1.1) both drop-in,2.2s ease-in-out .5s infinite glow-pulse}.phase-turn{font-family:var(--font-title);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap;border-right:1px solid #e0b95e4d;align-items:center;gap:7px;padding-right:12px;font-size:.68rem;font-weight:700;display:flex}.phase-dot{background:var(--pc,var(--gold-2));width:10px;height:10px;box-shadow:0 0 8px var(--pc,var(--gold-2));border:1px solid #00000080;border-radius:50%}.phase-text{min-width:0}.phase-title{font-family:var(--font-title);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;animation:.35s both fade-up;overflow:hidden}.phase-banner.mine .phase-title{color:var(--gold-1)}.phase-detail{color:#f3e4c0bf;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-style:italic;overflow:hidden}.phase-dice{border-left:1px solid #e0b95e4d;align-items:center;gap:4px;padding-left:12px;display:flex}.phase-dice-total{font-family:var(--font-title);color:var(--gold-1);text-align:center;min-width:1.4em;margin-left:4px;font-size:1.3rem;font-weight:800}.phase-dice.seven .phase-dice-total{color:#ff7a64;text-shadow:0 0 10px #ff5a3c99}.build-hint{color:#fff6dc;pointer-events:auto;background:#140b05c7;border:1px dashed #fbe6a699;border-radius:16px;padding:5px 14px;font-size:.92rem;animation:.25s both fade-up;box-shadow:0 4px 12px #0006}.build-hint kbd{color:var(--gold-1);background:#ffffff14;border-color:#fbe6a666}.utility{pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:12px;right:12px}.utility-row{pointer-events:auto;gap:6px;display:flex}.bank-mini{color:var(--gold-1);pointer-events:auto;background:#180d06c7;border:1px solid #e0b95e4d;border-radius:16px;align-items:center;gap:8px;padding:5px 12px;display:flex;box-shadow:0 4px 12px #00000059}.bank-item{font-family:var(--font-title);color:var(--cream);align-items:center;gap:3px;font-size:.78rem;font-weight:700;display:inline-flex}.bank-item.low{color:#ffab8f}.popover{pointer-events:auto;z-index:5;transform-origin:100% 0;width:300px;padding:16px 18px;animation:.22s cubic-bezier(.2,1,.4,1) both pop-in;position:absolute;top:52px;right:0}.pop-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.pop-title{font-family:var(--font-title);letter-spacing:.08em;color:var(--ink-soft);font-size:1rem;font-weight:800}.pop-section{font-family:var(--font-title);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 6px;font-size:.66rem;font-weight:700}.slider-row{grid-template-columns:72px 1fr 30px;align-items:center;gap:10px;margin:6px 0;font-size:.95rem;display:grid}.slider-val{font-family:var(--font-title);text-align:right;color:var(--ink-faint);font-size:.74rem}.seg{border:1px solid #a5844c;border-radius:8px;display:flex;overflow:hidden}.seg-btn{font-family:var(--font-title);letter-spacing:.08em;text-transform:capitalize;cursor:pointer;background:#fffaeb80;border:0;border-right:1px solid #a5844c99;flex:1;padding:6px 0;font-size:.74rem;font-weight:700}.seg-btn:last-child{border-right:0}.seg-btn.on{color:#3a2208;background:linear-gradient(#fbe39a,#d9a93f)}.shortcuts{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;display:flex}.costs-list{flex-direction:column;gap:6px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.costs-list li{background:#fffaeb73;border:1px solid #6b4d192e;border-radius:8px;grid-template-columns:26px 1fr auto 34px;align-items:center;gap:8px;padding:6px 8px;display:grid}.cost-name{font-weight:600}.cost-vp{font-family:var(--font-title);color:var(--gold-4);text-align:right;font-size:.72rem;font-weight:700}.costs-foot{font-style:italic}.res-list{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.res-chip{align-items:center;gap:1px;display:inline-flex}.res-chip b{font-family:var(--font-title);font-size:.85em}.log-panel{width:304px;color:var(--cream);background:var(--grain), linear-gradient(180deg, #382010e0, #1a0e06eb);pointer-events:auto;border:1px solid #e0b95e59;border-radius:12px;flex-direction:column;display:flex;position:absolute;bottom:12px;left:12px;overflow:hidden;box-shadow:0 8px 22px #00000073}.log-head{border-bottom:1px solid #e0b95e40;align-items:flex-end;gap:2px;padding:6px 6px 0;display:flex}.log-panel.collapsed .log-head{border-bottom:0;padding-bottom:5px}.log-panel.collapsed .tab.on{background:0 0;border-color:#0000}.collapse-btn{width:24px;height:24px;color:var(--gold-1);cursor:pointer;background:#f3e4c01a;border:0;border-radius:50%;place-items:center;margin-bottom:4px;margin-left:auto;display:grid}.collapse-btn .flip{transform:rotate(180deg)}.unread{background:var(--bad);color:#fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.66rem;display:inline-grid}.log-list{flex-direction:column;gap:3px;height:196px;padding:8px 10px;display:flex}.log-entry{align-items:flex-start;gap:7px;font-size:.93rem;line-height:1.3;animation:.3s both fade-up;display:flex}.log-icon{width:17px;height:17px;color:var(--gold-2);background:#f3e4c01a;border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.log-entry.k-robber .log-icon{color:#ff9a7a}.log-entry.k-award .log-icon,.log-entry.k-victory .log-icon{color:#3a2208;background:var(--gold-2)}.log-entry.k-victory{color:var(--gold-1);font-weight:700}.log-entry.k-system{color:#f3e4c0a6;font-style:italic}.log-text{overflow-wrap:anywhere;min-width:0}.log-chat{flex-direction:column;gap:6px;height:232px;padding:8px 10px;display:flex}.log-chat .chat-list{min-height:0}.log-chat .text-input{background:#fff5dce6}.hand-wrap{pointer-events:none;flex-direction:column;align-items:center;min-width:300px;max-width:calc(100vw - 700px);display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hand-label{font-family:var(--font-title);letter-spacing:.14em;text-transform:uppercase;color:#f3e4c0d9;text-shadow:0 1px 4px #000,0 0 10px #000c;align-items:baseline;gap:10px;margin-bottom:2px;font-size:.72rem;font-weight:600;display:flex}.hand-warn{color:#ffab8f;font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.9rem;font-style:italic}.hand{align-items:flex-end;gap:calc(var(--card-w) * .3);padding:0 12px;display:flex}.fan{align-items:flex-end;padding-top:26px;display:flex}.hand-empty{color:#f3e4c0b3;background:#140b058c;border-radius:16px;margin-bottom:26px;padding:8px 16px;font-style:italic}.hand-card{width:var(--card-w);height:calc(var(--card-w) * 1.4);margin-left:calc(var(--card-w) * -.22);transform:translateY(calc(var(--lift) + var(--card-w) * .1)) rotate(var(--rot));transform-origin:50% 130%;filter:drop-shadow(0 8px 10px #00000080);pointer-events:auto;cursor:pointer;flex:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s;animation:.45s cubic-bezier(.2,.9,.3,1.1) backwards deal-in;position:relative}.hand-card:first-child{margin-left:0}.hand-card:hover{transform:translateY(calc(var(--card-w) * -.16)) rotate(0deg) scale(1.1);filter:drop-shadow(0 14px 16px #0000008c);z-index:100!important}.hand-card.gone{opacity:0;transform:translateY(40px) rotate(var(--rot)) scale(.8);pointer-events:none;transition:opacity 1.2s .3s,transform 1.2s .3s}.card-svg{z-index:1;width:100%;height:100%;display:block;position:relative}.stack-layer{border-radius:calc(var(--card-w) * .075);background:linear-gradient(160deg,#efe0bb,#d4ba84);border:1.5px solid #6b4a24;position:absolute;inset:0}.stack-layer.l1{transform:translate(3px,-3px)rotate(2.5deg)}.stack-layer.l2{transform:translate(6px,-6px)rotate(5deg)}.count-badge{z-index:3;min-width:26px;height:26px;font-family:var(--font-title);color:#3a2208;background:radial-gradient(circle at 35% 30%,#fff6d6,#e0b24a 60%,#9c6c1c);border:1.5px solid #4f3208;border-radius:13px;place-items:center;padding:0 6px;font-size:.95rem;font-weight:800;display:grid;position:absolute;top:-9px;right:-8px;box-shadow:0 3px 6px #00000073}.count-badge.dev{color:#f3dca0;background:radial-gradient(circle at 35% 30%,#9a74c4,#4d2f6b 70%);border-color:#1e0f2c}.delta{z-index:4;font-family:var(--font-title);pointer-events:none;text-shadow:0 2px #000,0 0 10px #0009;font-size:1.5rem;font-weight:800;animation:1.4s ease-out forwards float-up;position:absolute;top:18%;left:50%;transform:translate(-50%)}.delta.up{color:#b9f58f}.delta.down{color:#ff8a73}.gain-glow{z-index:2;pointer-events:none;border-radius:10px;animation:1.2s ease-out forwards glow-once;position:absolute;inset:-4px}.gain-glow.up{box-shadow:0 0 0 3px #b9f58fe6,0 0 24px #b9f58fcc}.gain-glow.down{box-shadow:0 0 0 3px #ff8a73e6,0 0 24px #ff5a3cb3}.dev-fan{padding-left:6px}.hand-card.dev{--card-w:clamp(58px, 5.4vw, 84px)}.hand-card.dev.playable:before{content:"";z-index:0;border-radius:10px;animation:1.8s ease-in-out infinite breathe;position:absolute;inset:-3px;box-shadow:0 0 0 2px #e8c46a,0 0 18px 4px #c9a2ffbf}.new-tag,.play-tag{z-index:3;font-family:var(--font-title);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border-radius:8px;padding:0 7px;font-size:.58rem;font-weight:800;line-height:1.7;position:absolute;left:50%;transform:translate(-50%)}.new-tag{color:#fff;background:var(--good);top:-8px;box-shadow:0 2px 4px #0006}.play-tag{color:#3a2208;background:linear-gradient(#fbe39a,#d9a93f);top:-8px;box-shadow:0 2px 8px #00000080}.spectating{color:var(--ink);pointer-events:auto;margin-bottom:18px}.action-bar{width:336px;color:var(--cream);background:var(--grain), linear-gradient(180deg, #402512e6, #1c1007f0);pointer-events:auto;border:1px solid #e0b95e66;border-radius:14px;flex-direction:column;gap:8px;padding:10px;animation:.5s cubic-bezier(.2,.8,.2,1) both slide-up;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 26px #00000080}.action-bar.waiting .build-row{opacity:.8}.roll-btn{color:#3a2208;height:58px;font-family:var(--font-title);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#fde9a8 0%,#e3b24a 52%,#b8862a 100%);border:1px solid #7a5415;border-radius:10px;justify-content:center;align-items:center;gap:12px;font-size:1.15rem;font-weight:800;transition:transform .12s,filter .15s,box-shadow .12s;display:flex;box-shadow:inset 0 1px #ffffffb3,0 4px #6b4a14,0 8px 18px #0006}.roll-btn.ready{animation:1.6s ease-in-out infinite roll-glow}.roll-btn.ready .roll-dice{animation:1.6s ease-in-out infinite dice-wiggle}.roll-btn:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.roll-btn:not(:disabled):active{transform:translateY(3px);box-shadow:inset 0 1px #ffffff80,0 1px #6b4a14,0 3px 8px #0006}.roll-btn:disabled{opacity:.55;cursor:wait}.roll-dice{place-items:center;display:grid}.roll-label kbd{font-size:.6em}.build-row{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.build-btn-wrap{position:relative}.build-btn{width:100%;height:70px;color:var(--cream);cursor:pointer;background:linear-gradient(#fff0c81a,#fff0c808);border:1px solid #e0b95e4d;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.build-btn .build-name{font-family:var(--font-title);letter-spacing:.06em;white-space:nowrap;font-size:.64rem;font-weight:700}.build-btn .build-left{font-family:var(--font-title);color:#f3e4c08c;font-size:.62rem;font-weight:700;position:absolute;top:3px;right:5px}.build-btn.affordable{border-color:#e0b95e99}.build-btn:not(:disabled):hover{background:linear-gradient(#fff0c833,#fff0c80f);transform:translateY(-2px);box-shadow:0 0 14px #e0b95e4d}.build-btn.is-active{border-color:var(--gold-1);box-shadow:0 0 0 1px var(--gold-2), 0 0 20px #fbe39a8c;background:linear-gradient(#fbe39a59,#e0b24a2e);animation:1.4s ease-in-out infinite breathe}.build-btn:disabled{cursor:not-allowed;opacity:.38;filter:grayscale(.6)}.tooltip{z-index:10;width:180px;color:var(--ink);pointer-events:none;transform-origin:bottom;background:linear-gradient(#fbf3dc,#e8d4a6);border:1px solid #a5844c;border-radius:9px;padding:9px 12px;animation:.16s both pop-in;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000073}.tooltip:after{content:"";border:7px solid #0000;border-top-color:#e8d4a6;margin-left:-7px;position:absolute;top:100%;left:50%}.build-row .build-btn-wrap:first-child .tooltip{left:0;transform:none}.build-row .build-btn-wrap:first-child .tooltip:after{left:36px}.build-row .build-btn-wrap:last-child .tooltip{left:auto;right:0;transform:none}.build-row .build-btn-wrap:last-child .tooltip:after{left:auto;right:30px}.tip-title{font-family:var(--font-title);letter-spacing:.06em;font-size:.85rem;font-weight:800}.tip-cost{margin:5px 0}.tip-note{color:var(--ink-soft);font-size:.88rem;font-style:italic}.tip-left{color:var(--ink-faint);font-size:.82rem}.tip-reason{color:var(--bad);margin-top:4px;font-size:.84rem;font-weight:600}.turn-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.turn-row .btn{width:100%}.turn-row kbd{font-size:.62em}.trade-panel{pointer-events:auto;transform-origin:100% 100%;width:360px;max-height:calc(100vh - 290px);padding:12px 16px 14px;animation:.25s cubic-bezier(.2,1,.4,1) both pop-in;position:absolute;bottom:170px;right:12px;overflow:auto}.panel-head{border-bottom:1px solid #6b4d194d;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.panel-head .tab{color:var(--ink)}.panel-head .tab.on{background:#fffaeb8c}.trade-body{flex-direction:column;gap:6px;display:flex}.trade-label{font-family:var(--font-title);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px;font-size:.66rem;font-weight:700}.res-picker{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.res-pick{cursor:pointer;background:#fffaeb80;border:1px solid #6b4d1947;border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 5px;transition:transform .12s,box-shadow .15s,background .15s;display:flex}.res-pick:not(:disabled):hover{background:#fffaebd9;transform:translateY(-2px)}.res-pick.on{border-color:var(--gold-3);box-shadow:0 0 0 2px var(--gold-2), 0 4px 10px #6b4d194d;background:linear-gradient(#fff4cf,#efd68f)}.res-pick:disabled{opacity:.35;cursor:not-allowed}.ratio{font-family:var(--font-title);font-size:.8rem;font-weight:800}.ratio.r2{color:var(--good)}.ratio.r3{color:#8a6a14}.have{color:var(--ink-faint);font-size:.74rem}.trade-summary{border-top:1px solid #6b4d1938;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:8px;display:flex}.trade-summary>span{align-items:center;gap:4px;display:inline-flex}.harbors{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.harbor-chip{font-family:var(--font-title);color:#1f4796;background:#2f5fb324;border:1px solid #2f5fb359;border-radius:10px;align-items:center;gap:3px;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.trade-cols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.counters{flex-direction:column;gap:3px;display:flex}.counter{border:1px solid #0000;border-radius:8px;grid-template-columns:30px 1fr auto;align-items:center;gap:6px;padding:3px 5px;transition:background .15s;display:grid}.counter.has-value{background:#e0b95e38;border-color:#a97c2e59}.counter-label{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.counter-sub,.trade-cols .counter-label{display:none}.trade-cols .counter{grid-template-columns:30px 1fr}.trade-cols .counter .counter-ctl{justify-self:end}.counter-ctl{align-items:center;gap:4px;display:flex}.counter-ctl button{width:22px;height:22px;color:var(--ink);cursor:pointer;background:linear-gradient(#fbf3de,#e2cc98);border:1px solid #8d6d3a;border-radius:50%;place-items:center;display:grid}.counter-ctl button:hover:not(:disabled){background:linear-gradient(#fff8e6,#efd9a6)}.counter-ctl button:disabled{opacity:.3;cursor:not-allowed}.counter-val{text-align:center;min-width:18px;font-family:var(--font-title);font-size:1rem;font-weight:800}.target-row{flex-wrap:wrap;gap:6px;display:flex}.target{cursor:pointer;opacity:.55;background:#fffaeb66;border:1px solid #6b4d194d;border-radius:16px;align-items:center;gap:5px;padding:3px 10px 3px 5px;font-weight:600;transition:opacity .15s,box-shadow .15s;display:inline-flex}.target.on{opacity:1;box-shadow:0 0 0 2px var(--pc);background:#fffaebd9}.open-offer{border:1px dashed var(--gold-3);background:#fffaeb8c;border-radius:10px;padding:8px 10px}.open-offer-head{justify-content:space-between;align-items:center;display:flex}.offer-line{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.responses{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.resp{align-items:center;gap:6px;font-size:.95rem;display:flex}.resp-state{font-family:var(--font-title);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:3px;font-size:.62rem;font-weight:700;display:inline-flex}.resp.accepted .resp-state{color:var(--good)}.resp.declined .resp-state{color:var(--bad)}.resp .btn{margin-left:auto}.incoming-offer{pointer-events:auto;border-color:var(--wood-2);width:310px;padding:12px 14px;animation:.45s cubic-bezier(.2,1,.3,1) both slide-left;position:absolute;top:104px;right:12px}.incoming-offer:before{content:"";background:var(--pc);border-radius:6px 0 0 6px;width:6px;position:absolute;top:-4px;bottom:-4px;left:-4px}.incoming-head{align-items:center;gap:10px;display:flex}.incoming-title{font-weight:600}.incoming-lines{background:#fffaeb8c;border-radius:8px;margin:8px 0;padding:6px 8px}.incoming-actions{justify-content:flex-end;gap:8px;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;background:radial-gradient(#140a0459,#0a0502b3);place-items:center;padding:20px;animation:.25s both fade-in;display:grid;position:fixed;inset:0}.modal{width:min(600px,94vw);max-height:calc(100vh - 40px);padding:20px 24px 22px;animation:.35s cubic-bezier(.2,1,.3,1) both modal-in;overflow:auto}.modal.framed{border-width:4px}.modal-head{text-align:center;margin-bottom:14px;padding:0 30px;position:relative}.modal-head h2{font-size:1.6rem}.modal-sub{color:var(--ink-soft);margin-top:4px;font-size:1.05rem;font-style:italic}.modal-head .modal-x{position:absolute;top:0;right:0}.modal-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.counters.wide{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.counters.wide .counter{background:#fffaeb73;border-color:#6b4d1933;grid-template-columns:1fr;justify-items:center;gap:4px;padding:10px 4px}.counters.wide .counter.has-value{background:#b8392c1f;border-color:#b8392c66}.counters.wide .counter-sub{color:var(--ink-faint);font-size:.8rem;display:block}.progress-pips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.progress-pips span:not(.muted){border:1px solid var(--bad);border-radius:50%;width:12px;height:12px}.progress-pips span.on{background:var(--bad)}.progress-pips.done span.on{background:var(--good);border-color:var(--good)}.steal-list{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.steal-target{border:1px solid #6b4d194d;border-top:5px solid var(--pc);cursor:pointer;background:#fffaeb8c;border-radius:12px;flex-direction:column;align-items:center;gap:4px;width:150px;padding:14px 10px;transition:transform .15s,box-shadow .15s;display:flex}.steal-target:hover:not(:disabled){box-shadow:0 8px 18px #6b4d1959, 0 0 0 2px var(--pc);transform:translateY(-4px)}.steal-name{font-size:1.1rem}.steal-cards{height:22px;margin-top:2px;display:flex}.steal-cards .mini-card{width:15px;height:21px;margin-left:-5px}.steal-cards .mini-card:first-child{margin-left:0}.big-picks{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.big-pick{cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:6px;transition:transform .15s;display:flex}.big-pick .card-svg{filter:drop-shadow(0 5px 8px #00000059);width:100%;height:auto}.big-pick:hover:not(:disabled){transform:translateY(-5px)scale(1.04)}.big-pick:disabled{opacity:.35;cursor:not-allowed}.slots{gap:10px;display:flex}.slot{cursor:pointer;background:#fffaeb66;border:2px dashed #6b4d1973;border-radius:10px;place-items:center;width:52px;height:52px;display:grid}.slot.full{border-style:solid;border-color:var(--gold-3);background:#fff6d7e6}.dev-detail{width:min(560px,94vw)}.dev-detail-body{align-items:center;gap:22px;display:flex}.dev-detail-card{filter:drop-shadow(0 12px 18px #00000073);flex:none;width:190px;animation:.6s cubic-bezier(.2,.9,.3,1) both card-flip-in}.dev-detail-card .card-svg{height:auto}.dev-text{margin:0 0 10px;font-size:1.2rem;line-height:1.4}.dev-note{color:var(--bad);font-style:italic}.gameover-backdrop{background:radial-gradient(#28180866,#080401d1)}.gameover{text-align:center;width:min(560px,94vw);padding:26px 30px 24px;animation:.7s cubic-bezier(.2,1,.3,1) both modal-in}.laurel{color:var(--gold-3);filter:drop-shadow(0 2px 4px #6b4d1980);animation:3s ease-in-out infinite float}.gameover-title{margin:4px 0 16px;font-size:2.3rem}.ranking{text-align:left;flex-direction:column;gap:7px;margin:0 0 20px;padding:0;list-style:none;display:flex}.ranking li{border:1px solid #6b4d1938;border-left:5px solid var(--pc);background:#fffaeb73;border-radius:10px;grid-template-columns:24px 34px 1fr auto;align-items:center;gap:10px;padding:8px 14px;animation:.5s both fade-up;display:grid}.ranking li:nth-child(2){animation-delay:.1s}.ranking li:nth-child(3){animation-delay:.2s}.ranking li:nth-child(4){animation-delay:.3s}.ranking li.winner{box-shadow:0 0 0 1px var(--gold-2), 0 6px 16px #6b4d1940;background:linear-gradient(90deg,#fbe39abf,#fffaeb80)}.rank{font-family:var(--font-title);color:var(--ink-faint);font-size:1.1rem;font-weight:800}.ranking li.winner .rank{color:var(--gold-4)}.rank-name{align-items:center;gap:8px;min-width:0;font-size:1.15rem;display:flex}.rank-awards{align-items:center;gap:3px;display:inline-flex}.rank-vp{font-family:var(--font-title);font-size:1.4rem;font-weight:800}.rank-vp small{color:var(--ink-faint);font-size:.6em}.show-results{pointer-events:auto;position:absolute;top:108px;left:50%;transform:translate(-50%)}.banner{z-index:45;pointer-events:none;animation:banner-in .45s cubic-bezier(.2, .9, .3, 1.1) both, banner-out .55s ease-in calc(var(--dur,2.4s) - .55s) forwards;background:linear-gradient(90deg,#0000,#100803c7 22% 78%,#0000);justify-content:center;align-items:center;gap:26px;padding:22px 0 18px;display:flex;position:fixed;top:30%;left:0;right:0}.banner:before,.banner:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-2), transparent);height:1px;position:absolute;left:18%;right:18%}.banner:before{top:0}.banner:after{bottom:0}.banner-art{filter:drop-shadow(0 10px 18px #0009);width:92px;animation:.7s cubic-bezier(.2,.9,.3,1) both card-flip-in}.banner-art .card-svg,.banner-art svg{width:100%;height:auto;display:block}.banner-text{text-align:center}.banner-sub{font-family:var(--font-title);letter-spacing:.4em;text-transform:uppercase;color:var(--cream);text-shadow:0 2px 6px #000;font-size:.9rem;font-weight:600}.banner-title{font-family:var(--font-deco);letter-spacing:.06em;background:linear-gradient(#fff7d4 0%,#f3d37c 30%,#c9952f 52%,#8a5c16 60%,#e6c065 80%,#fff1bb 100%);color:#0000;filter:drop-shadow(0 2px #2a1606)drop-shadow(0 6px 16px #000000b3);-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,6vw,74px);font-weight:700;line-height:1.1}.banner-red .banner-title{background-image:linear-gradient(#ffe0d4 0%,#ff8a6a 30%,#c8372d 55%,#7a140c 62%,#e8664a 82%,#ffd2c2 100%)}.banner-red:before,.banner-red:after{background:linear-gradient(90deg,#0000,#e2574c,#0000)}.banner-purple .banner-title{background-image:linear-gradient(#f3e6ff 0%,#c9a6f2 30%,#7a52a0 55%,#3e2154 62%,#b08ad6 82%,#f1e4ff 100%)}.banner-purple:before,.banner-purple:after{background:linear-gradient(90deg,#0000,#b08ad6,#0000)}.banner-green .banner-title{background-image:linear-gradient(#eaffd8 0%,#a7dc7c 30%,#4f8a3a 55%,#24461a 62%,#8cc063 82%,#e6ffd2 100%)}.banner-rule{background:radial-gradient(circle, var(--gold-1) 0 3px, transparent 4px) center/8px 8px no-repeat, linear-gradient(90deg, transparent, var(--gold-2), transparent) center/100% 1px no-repeat;width:220px;height:8px;margin:8px auto 0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes title-in{0%{opacity:0;letter-spacing:.3em;filter:blur(8px)drop-shadow(0 2px #3b220a);transform:translateY(-24px)scale(1.08)}60%{opacity:1;filter:blur()drop-shadow(0 2px #3b220a)drop-shadow(0 4px #24140a)drop-shadow(0 10px 22px #000000b3)}to{opacity:1;letter-spacing:.08em;transform:none}}@keyframes shine{0%,60%{background-position:120% 0}to{background-position:-120% 0}}@keyframes panel-in{0%{opacity:0;transform:translateY(26px)scale(.97)}to{opacity:1;transform:none}}@keyframes pulse-dot{50%{opacity:.35}}@keyframes spin-hex{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.92)}to{opacity:1;transform:none}}@keyframes slide-right{0%{opacity:0;transform:translate(-30px)}to{opacity:1}}@keyframes slide-left{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes drop-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(24px)scale(.95)}to{opacity:1;transform:none}}@keyframes ring-pulse{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}@keyframes breathe{50%{opacity:.55}}@keyframes glow-pulse{0%,to{box-shadow:0 0 0 1px #fbe6a659,0 0 18px #e0b95e40,0 8px 22px #00000073}50%{box-shadow:0 0 0 1px #fbe6a6b3,0 0 34px #e0b95e99,0 8px 22px #00000073}}@keyframes roll-glow{0%,to{box-shadow:inset 0 1px #ffffffb3,0 4px #6b4a14,0 8px 18px #0006,0 0 #fbe39a00}50%{box-shadow:inset 0 1px #ffffffb3,0 4px #6b4a14,0 8px 18px #0006,0 0 28px #fbe39abf}}@keyframes dice-wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-18deg)}84%{transform:rotate(14deg)}92%{transform:rotate(-6deg)}}@keyframes deal-in{0%{opacity:0;transform:translateY(80px) rotate(var(--rot))}}@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px)scale(.6)}20%{opacity:1;transform:translate(-50%)scale(1.15)}to{opacity:0;transform:translate(-50%,-46px)scale(1)}}@keyframes glow-once{0%{opacity:0}20%{opacity:1}to{opacity:0}}@keyframes card-flip-in{0%{opacity:0;transform:perspective(600px)rotateY(90deg)scale(.8)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-5px)}}@keyframes banner-in{0%{opacity:0;letter-spacing:.3em;transform:scaleY(.15)}to{opacity:1;transform:none}}@keyframes banner-out{to{opacity:0;transform:translateY(-14px)scaleY(.92)}}@media (width<=1180px){.hud-left{width:226px}.pp-stats{gap:6px}.log-panel{width:262px}.action-bar{width:300px}.hand-wrap{max-width:calc(100vw - 600px)}.phase-wrap{max-width:calc(100vw - 520px)}.phase-detail{display:none}}@media (height<=760px){.log-list{height:140px}.log-chat{height:176px}.trade-panel{max-height:calc(100vh - 200px)}}@media (width<=900px){.lobby-wrap{grid-template-columns:1fr;overflow:auto}.lobby-chat{min-height:300px}.hud-left{width:64px}.pp{grid-template-columns:38px;padding:6px}.pp-body,.pp-vp-of,.pp-vp-hidden{display:none}.pp-vp{min-width:0;position:absolute;bottom:-6px;right:-6px}.pp-vp-num{font-size:1rem}.phase-wrap{align-items:stretch;width:auto;max-width:none;top:112px;left:88px;right:10px;transform:none}.bank-mini{transform-origin:100% 0;transform:scale(.86)}.phase-dice,.log-panel{display:none}.hand-wrap{max-width:100vw;bottom:196px;left:0;right:0;transform:none}.action-bar{width:auto;left:12px;right:12px}.trade-panel{width:auto;bottom:200px;left:12px}.incoming-offer{width:auto;top:150px;left:12px}.big-picks,.counters.wide{grid-template-columns:repeat(3,1fr)}.dev-detail-body{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.conn-veil{z-index:900;-webkit-backdrop-filter:blur(2px)saturate(.7);backdrop-filter:blur(2px)saturate(.7);background:#0c070373;justify-content:center;align-items:flex-start;padding-top:18vh;animation:.3s both fade-up;display:flex;position:fixed;inset:0}.conn-veil-card{color:var(--cream);background:linear-gradient(#462814f2,#1e1108f5);border:1px solid #e0b95e80;border-radius:14px;align-items:center;gap:16px;max-width:min(460px,100vw - 32px);padding:16px 22px;display:flex;box-shadow:0 12px 30px #00000080}.conn-veil-title{font-family:var(--font-title);color:var(--gold-1);font-size:1.05rem;font-weight:700}.conn-veil-sub{color:#f3e4c0cc;font-size:.95rem;font-style:italic}.conn-veil-spinner{border:3px solid #e0b95e40;border-top-color:var(--gold-2);border-radius:50%;flex:none;width:26px;height:26px;animation:.9s linear infinite conn-spin}@keyframes conn-spin{to{transform:rotate(360deg)}}
