.table{--cw:clamp(84px, 9.2vw, 132px);--jw:clamp(60px, 6.6vw, 96px);min-height:100svh;font-family:var(--pixel);grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:16px;padding:16px;display:grid;overflow-x:clip}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lbl{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.8rem;display:block}.c-blue{color:var(--blue)}.c-red{color:var(--red)}.c-chips{color:var(--blue)}.c-mult{color:var(--red)}.hud{flex-direction:column;align-self:start;gap:10px;padding:12px;display:flex;position:sticky;top:16px}.nameplate{background:var(--red);box-shadow:0 4px 0 var(--red-d);text-align:center;border-radius:9px;padding:12px 14px 10px}.nameplate h1{text-shadow:0 3px #00000040;font-size:clamp(1.35rem,2.1vw,1.7rem)}.nameplate p{color:#ffe6e3;margin:6px 0 0;font-size:.92rem}.blind{align-items:center;gap:12px;padding:10px 12px;display:flex}.blind-chip{background:radial-gradient(circle at 35% 30%, #7fd0ff, var(--blue) 45%, var(--blue-d));border-radius:50%;flex:none;width:44px;height:44px;transition:background .3s;box-shadow:0 3px #00000059,inset 0 0 0 4px #ffffff40}.blind.big .blind-chip{background:radial-gradient(circle at 35% 30%, #ffd97a, var(--orange) 45%, var(--orange-d))}.blind.boss .blind-chip{background:radial-gradient(circle at 35% 30%, #ff9d97, var(--red) 45%, var(--red-d))}.blind.won .blind-chip{background:radial-gradient(circle at 35% 30%, #b8f5d9, var(--green) 45%, var(--green-d))}.blind-name{margin:0;font-size:1.15rem;font-weight:600}.blind-goal{color:var(--ink-2);margin:0;font-size:.92rem}.blind-goal b{color:var(--red)}.round{justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.round-score{font-size:1.7rem;font-weight:700}.scoring{text-align:center;padding:10px 12px 12px}.hand-name{min-height:1.3em;margin:0 0 8px;font-size:1.2rem;font-weight:600}.cxm{align-items:center;gap:8px;display:flex}.box{text-align:center;text-shadow:0 2px #00000040;border-radius:8px;flex:1;padding:8px 6px;font-size:1.6rem;font-weight:700}.box.chips{background:var(--blue);box-shadow:0 3px 0 var(--blue-d);text-align:right}.box.mult{background:var(--red);box-shadow:0 3px 0 var(--red-d);text-align:left}.x{color:var(--red);font-size:1.4rem;font-weight:700}.bump{animation:.22s ease-out bump}@keyframes bump{40%{transform:scale(1.18)rotate(-3deg)}}.counters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.counter{text-align:center;padding:8px 10px}.counter b{font-size:1.6rem;line-height:1}.meta{padding:10px 12px;font-size:.95rem}.meta p{margin:0}.meta p+p{margin-top:6px}.hud-links{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hud-links .btn{padding:.7rem .5rem;font-size:.95rem}.felt{grid-template-rows:auto minmax(180px,1fr) auto auto;gap:12px;min-width:0;display:grid}.jokers-wrap{align-items:flex-end;gap:10px;display:flex}.jokers{min-height:calc(var(--jw) * 1.4 + 24px);background:#00000047;flex:1;justify-content:center;gap:clamp(6px,1.4vw,18px);padding:12px;display:flex}.count{color:var(--ink-2);font-size:.95rem}.joker-slot{position:relative}.joker{width:var(--jw);aspect-ratio:5/7;cursor:help;perspective:600px;animation:3.4s ease-in-out infinite bob;animation-delay:calc(var(--i) * -.6s);background:0 0;border:0;padding:0;display:block}.jk-inner{background:radial-gradient(circle at 50% 45%, #ffffff59, transparent 60%), repeating-linear-gradient(45deg, #0000000f 0 4px, transparent 4px 8px), var(--jc);height:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border:3px solid #fff;border-radius:8px;grid-template-rows:auto 1fr auto;justify-items:center;padding:6px 4px;transition:transform .12s;display:grid;position:relative;overflow:hidden;box-shadow:0 4px #0006}.jk-name{color:#1d1d1d;text-align:center;font-size:clamp(.62rem,.9vw,.85rem);font-weight:700;line-height:1}.jk-art{align-self:center;width:70%}.jk-tag{color:#1d1d1d;opacity:.7;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.55rem,.75vw,.72rem)}.joker.fire .jk-inner{animation:.4s ease-in-out wiggle}@keyframes wiggle{25%{transform:rotate(-10deg)scale(1.12)}60%{transform:rotate(8deg)scale(1.08)}}.tip{z-index:70;text-align:center;opacity:0;visibility:hidden;pointer-events:none;gap:8px;width:220px;padding:10px;transition:opacity .12s,visibility .12s;display:grid;position:absolute;top:calc(100% + 10px);left:50%;translate:-50%}.joker-slot:first-child .tip{left:0;translate:0}.joker-slot:last-child .tip{left:auto;right:0;translate:0}.joker-slot:hover .tip,.joker:focus-visible+.tip,.joker-slot.open .tip{opacity:1;visibility:visible}.tip-name{font-size:1.15rem}.tip-effect{color:#333;background:#fff;border-radius:7px;padding:8px;font-size:1rem}.tip-items{color:var(--ink-2);font-size:.88rem}.playzone{border-radius:var(--r);border:3px dashed #ffffff1f;justify-content:center;align-items:center;gap:clamp(8px,1.6vw,20px);padding:16px;display:flex;position:relative}.help{text-align:center;max-width:34ch;color:var(--ink-2);text-shadow:0 2px #0006;margin:0;font-size:1.15rem}.help-keys{color:var(--muted);margin-top:8px;font-size:.9rem;display:block}.playzone.has-cards .help{display:none}@media (hover:none){.help-keys{display:none}}.hand-area{min-height:calc(var(--cw) * 1.4 + 52px);justify-content:center;align-items:flex-end;padding-top:30px;padding-bottom:22px;display:flex;position:relative}.hand{justify-content:center;align-items:flex-end;display:flex}.deck{width:calc(var(--cw) * .72);aspect-ratio:5/7;position:absolute;bottom:0;right:4px}.deck-card{background:repeating-linear-gradient(45deg, #ffffff1f 0 3px, transparent 3px 9px), var(--red);border:3px solid #fff;border-radius:8px;position:absolute;inset:0;box-shadow:0 3px #0006}.deck-card:nth-child(2){translate:-3px -3px}.deck-card:nth-child(3){translate:-6px -6px}.deck-count{text-align:center;color:var(--ink-2);font-size:.9rem;position:absolute;bottom:-26px;left:0;right:0}.pcard{width:var(--cw);aspect-ratio:5/7;margin-inline:calc(var(--cw) * -.06);cursor:pointer;font-family:var(--pixel);perspective:700px;transform:translateY(var(--lift,0px)) rotate(var(--rot,0deg));-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;padding:0;transition:transform .25s cubic-bezier(.2,1.4,.4,1);position:relative}.pcard[aria-pressed=true]{transform:translateY(calc(var(--lift,0px) - var(--cw) * .26)) rotate(var(--rot,0deg))}.pcard:hover{z-index:5}.pc-inner{background:var(--card-face);border:2px solid var(--card-edge);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--s,1));animation:3s ease-in-out infinite bob;animation-delay:calc(var(--i) * -.55s);border-radius:9px;place-items:center;transition:transform .12s,box-shadow .2s;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 5px #00000073}.pcard:hover .pc-inner{--s:1.06}.pcard[aria-pressed=true] .pc-inner{box-shadow:0 5px 0 #00000073, 0 0 0 3px var(--gold)}@keyframes bob{0%,to{translate:0}50%{translate:0 -4px}}.is-red{color:var(--card-red)}.is-black{color:var(--card-black)}.corner{justify-items:center;line-height:.95;display:grid;position:absolute}.corner b{font-size:calc(var(--cw) * .2);font-weight:700}.corner i{font-style:normal;font-size:calc(var(--cw) * .15)}.corner.c-tl{top:5%;left:7%}.corner.c-br{bottom:5%;right:7%;rotate:180deg}.art{width:42%;margin-top:-26%}.label{text-align:center;font-size:calc(var(--cw) * .135);letter-spacing:-.02em;white-space:nowrap;color:var(--card-black);font-weight:700;line-height:1;position:absolute;bottom:30%;left:4%;right:4%}.hint{text-align:center;font-size:calc(var(--cw) * .092);white-space:nowrap;color:#7d7666;line-height:1;position:absolute;bottom:21%;left:4%;right:4%}.key{font-size:calc(var(--cw) * .09);color:#b2a990;position:absolute;top:-1px;right:9%}@media (hover:none){.key{display:none}}.shine{pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,30%), #ffffff8c, transparent 45%);mix-blend-mode:soft-light;opacity:0;transition:opacity .2s;position:absolute;inset:0}.pcard:hover .shine,.joker:hover .shine{opacity:1}.edition{pointer-events:none;opacity:0;position:absolute;inset:0}.ed-foil .edition{opacity:1;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 25%,#6ebeff8c 45%,#fff9 50%,#0000 70%) 0 0/250% 250%;animation:2.6s linear infinite sweep}.ed-holo .edition{opacity:.55;mix-blend-mode:color-dodge;background:repeating-linear-gradient(120deg,#ff4d6d 0 8%,#ffd166 8% 16%,#06d6a0 16% 24%,#4cc9f0 24% 32%,#b388ff 32% 40%) 0 0/300% 300%;animation:4s linear infinite sweep}.ed-poly .edition{opacity:.6;mix-blend-mode:color;background:conic-gradient(#ff5f6d,#ffc371,#47e891,#3ec7ff,#b06bff,#ff5f6d);animation:5s linear infinite huespin}@keyframes sweep{0%{background-position:100% 0}to{background-position:-150% 0}}@keyframes huespin{to{filter:hue-rotate(360deg)}}.actions{flex-wrap:wrap;justify-content:center;gap:12px;padding-bottom:6px;display:flex}.btn.big{min-width:150px;padding:.95rem 1.4rem;font-size:1.2rem}.sheet{width:min(1000px,100vw - 24px);max-height:min(88vh,900px);color:var(--ink);font-family:var(--sans);padding:0;overflow:hidden}.sheet[open]{flex-direction:column;animation:.35s cubic-bezier(.2,1.4,.4,1) sheet-in;display:flex}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)scale(.92)rotate(-1.5deg)}}.sheet::backdrop{backdrop-filter:blur(3px);background:#08101199}.sheet-head{background:var(--panel-2);border-bottom:3px solid var(--shadow-c);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tab{font:600 1rem/1 var(--pixel);background:var(--panel-3);color:var(--ink-2);cursor:pointer;border:0;border-radius:8px;padding:.6rem .85rem}.tab[aria-selected=true]{background:var(--red);color:#fff;box-shadow:0 3px 0 var(--red-d)}.sheet-body{padding:clamp(18px,3.5vw,36px);overflow-y:auto}.sec h3{margin:8px 0 18px;font-size:clamp(1.9rem,4.5vw,2.8rem)}.sec h5{font:600 1.25rem/1.2 var(--pixel);margin:0 0 4px}.sec-lede{color:var(--ink-2);max-width:62ch}.projects{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.proj{background:var(--panel-3);box-shadow:0 5px 0 var(--shadow-c);border:3px solid #0000;border-radius:12px;flex-direction:column;text-decoration:none;transition:transform .2s cubic-bezier(.2,1.4,.4,1),border-color .2s;display:flex;overflow:hidden}.proj:hover{color:inherit;border-color:var(--tint);transform:translateY(-4px)rotate(-.6deg)}.proj-visual{aspect-ratio:16/9;background:radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--tint) 45%, transparent), transparent 60%), color-mix(in oklab, var(--tint) 14%, var(--panel-3));place-items:center;display:grid;overflow:hidden}.proj-visual img{object-fit:cover;object-position:top left;width:100%;height:100%}.proj-visual .proj-icon{object-fit:contain;width:72px;height:72px}.proj-body{gap:8px;padding:14px 16px 16px;display:grid}.proj-kind{font:500 .9rem/1 var(--pixel);color:var(--tint)}.proj-title{font:700 1.5rem/1.1 var(--pixel);flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.ar{font:500 1.05rem/1.3 var(--arabic);color:var(--muted)}.proj-sum{color:var(--ink-2);font-size:.97rem}.proj-tags{flex-wrap:wrap;gap:5px;display:flex}.proj-more{font:600 1rem/1 var(--pixel);color:var(--gold);margin-top:4px}.tl-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;display:grid}.col{font:600 1rem/1 var(--pixel);color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.tl{border-left:5px solid var(--red);color:var(--ink-2);padding:16px}.tl+.tl{margin-top:12px}.tl-when{font:500 .92rem/1.2 var(--pixel);color:var(--muted);margin-bottom:6px}.tl-org{color:var(--muted);margin-bottom:10px;font-size:.95rem}.tl ul{margin:0;padding-left:1.1em}.tl li{margin-bottom:.45em}.tl li::marker{color:var(--red)}.skills{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.skill{align-items:flex-start;gap:14px;padding:14px;display:flex}.skill-badge{aspect-ratio:5/7;background:var(--jc);border:2px solid #fff;border-radius:6px;flex:none;place-items:center;width:52px;display:grid;box-shadow:0 3px #0006}.skill-badge svg{width:70%}.skill-items{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.contact-row{flex-wrap:wrap;align-items:center;gap:12px 18px;margin:8px 0 22px;display:flex}.email{font:700 clamp(1.25rem, 4.5vw, 2.3rem) / 1.1 var(--pixel);color:var(--gold);overflow-wrap:anywhere}.also{color:var(--muted)}.also a{color:var(--ink)}.banner{z-index:950;text-align:center;font-family:var(--pixel);pointer-events:none;padding:18px 28px;animation:2.4s cubic-bezier(.2,1.4,.4,1) forwards banner;position:fixed;top:38%;left:50%;translate:-50% -50%}.banner-title{color:var(--gold);text-shadow:0 3px #0006;margin:0;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700}.banner-sub{color:var(--ink-2);margin:6px 0 0;font-size:1.1rem}@keyframes banner{0%{opacity:0;transform:scale(.3)rotate(-8deg)}15%{opacity:1;transform:scale(1.08)rotate(2deg)}25%,80%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.9)}}.shake{animation:.35s shake}@keyframes shake{20%{translate:-4px 2px}40%{translate:4px -2px}60%{translate:-3px -1px}80%{translate:2px 1px}}.noscript{z-index:999;font-family:var(--pixel);text-align:center;padding:14px;position:fixed;bottom:16px;left:16px;right:16px}.noscript a{color:var(--gold)}@media (width<=860px){.table{--cw:min(19vw, 104px);--jw:min(15.5vw, 78px);grid-template-columns:1fr;gap:10px;padding:10px}.hud{grid-template-columns:1fr 1fr;gap:8px;padding:8px;display:grid;position:static}.nameplate{grid-column:1/-1;padding:9px 10px 8px}.nameplate p{margin-top:4px;font-size:.85rem}.blind{grid-column:1/-1;padding:6px 10px}.blind-chip{width:30px;height:30px}.blind-name{font-size:1rem}.round{flex-direction:column;justify-content:center;padding:6px}.round-score{font-size:1.4rem}.scoring{padding:6px}.hand-name{margin-bottom:4px;font-size:.9rem}.box{padding:5px 4px;font-size:1.15rem}.counters,.meta{display:none}.hud-links{grid-column:1/-1}.hud-links .btn{padding:.55rem}.felt{grid-template-rows:auto minmax(112px,1fr) auto auto;gap:8px}.count{display:none}.jokers{gap:5px;padding:8px}.jk-name{font-size:.55rem}.tip{width:min(220px,70vw)}.help{font-size:1rem}.deck{display:none}.hand-area{padding-top:26px;padding-bottom:18px}.actions{gap:8px}.btn.big{flex:1;min-width:0;padding:.85rem .6rem;font-size:1.05rem}.actions #all{padding-inline:.7rem;font-size:.9rem}.tl-grid{grid-template-columns:1fr}.sheet{width:calc(100vw - 12px);max-height:calc(100svh - 12px)}.sheet-head{flex-wrap:wrap;padding:8px}.sheet-head .btn{padding:.6rem .8rem;font-size:.95rem}}
