@font-face{font-family:PartyNoto;src:url('./assets/game-font.woff') format('woff');font-display:swap;font-weight:400}
#party-ui{--ink:#102458;--muted:#52759e;--cyan:#05becb;--deep:#07899e;--cream:#fff9ec;position:absolute;inset:0;z-index:10;pointer-events:none;color:var(--ink);font:800 16px/1.35 PartyNoto,'PingFang SC','Microsoft YaHei',sans-serif;isolation:isolate}
#party-ui *{box-sizing:border-box}#party-ui h1,#party-ui h2,#party-ui h3,#party-ui p{margin:0}#party-ui button,#party-ui input{font:inherit}#party-ui button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}#party-ui button:disabled{cursor:default}#party-ui [hidden]{display:none!important}#party-ui button:focus-visible,#party-ui input:focus-visible{outline:4px solid #1745bd;outline-offset:4px}#party-ui .negative{color:#e53757!important}#party-ui .icon{width:30px;height:30px;fill:currentColor;flex-shrink:0;vertical-align:middle}#party-ui small{font-weight:700}#party-ui .button-label{display:block;min-width:0;overflow-wrap:anywhere}#party-ui button{color:var(--ink)}
#party-ui .party-toolbar{position:absolute;z-index:12;inset:max(12px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) auto max(24px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}#party-ui .party-toolbar nav{display:flex;gap:10px;pointer-events:auto}#party-ui .party-logo>img{width:clamp(210px,22vw,330px);height:auto;display:block;filter:drop-shadow(0 6px 3px #19498133)}#party-ui[data-phase=home] .party-logo>img{width:clamp(280px,38vw,550px)}
#party-ui .party-button{--button:#06cad6;--button-bottom:#0291bb;position:relative;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:48px;min-height:56px;max-width:100%;padding:10px 24px;border:4px solid white;border-radius:100px;background:radial-gradient(ellipse at 50% 0,#ffffffc9 0,transparent 39%),linear-gradient(165deg,#ffffff50,transparent 40%),linear-gradient(var(--button),var(--button-bottom));color:#fff;font-size:22px;font-weight:900;line-height:1.25;text-align:center;text-shadow:0 2px 1px #086780;box-shadow:inset 0 0 0 2px #ffffffb3,inset 0 -5px 2px #07698f42,0 2px 0 #65cce5,0 6px 0 #b5c8d8,0 8px 12px #143d6328;transition:transform .12s,filter .12s}
#party-ui .party-button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 2px #fff9,inset 0 -2px #07698f42,0 2px #8eb8d0}#party-ui .party-button:disabled{--button:#bfcedf;--button-bottom:#8fa3be;color:#f9fcff;text-shadow:0 2px #637b9e;filter:saturate(.6)}#party-ui .party-button.secondary,#party-ui .party-button.icon-button{--button:white;--button-bottom:#edf6ff;color:var(--ink);text-shadow:0 1px white}#party-ui .party-button.blue{--button:#12c4ff;--button-bottom:#0866f5}#party-ui .party-button.coral{--button:#ff86a9;--button-bottom:#fa3b6a}#party-ui .party-button.mint{--button:#a3ffdb;--button-bottom:#35d8b4;color:#116b6a;text-shadow:0 1px #fff9}#party-ui .party-button.yellow{--button:#fff497;--button-bottom:#ffcb44;color:var(--ink);text-shadow:0 1px white}#party-ui .party-button.lavender{--button:#d2abff;--button-bottom:#9a64ec}#party-ui .party-button.icon-button{width:56px;height:56px;padding:10px;flex-shrink:0}#party-ui .party-button.text-button{border:0;background:#fffdf5de;box-shadow:none;color:var(--ink);text-shadow:none;font-size:14px;min-height:48px;padding:7px 16px}
#party-content{position:absolute;inset:38px max(32px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left));pointer-events:none}#party-content>section{height:100%;min-height:0;pointer-events:auto}#party-ui .draft-screen,#party-ui .opening-screen,#party-ui .submit-screen,#party-ui .double-screen,#party-ui .results-screen,#party-ui .lobby-screen{display:flex;flex-direction:column;max-width:1360px;margin:auto;min-height:0}#party-ui .phase-head{display:flex;flex-direction:column;align-items:center;gap:7px;padding:0 25%;min-height:120px;flex-shrink:0;justify-content:flex-start;margin-bottom:16px;pointer-events:none}#party-ui .phase-title{display:flex;align-items:center;justify-content:center;gap:11px;padding:10px 23px;background:linear-gradient(#fffefa,#fff6cf);border:4px solid white;box-shadow:inset 0 0 0 3px #ffe270,0 4px #d9a128,0 7px 14px #25508a30;border-radius:100px;max-width:100%}#party-ui .phase-title>.icon{color:#0866e9;width:35px;height:35px}#party-ui .phase-title h1{font-size:27px;line-height:1.3;white-space:nowrap;-webkit-text-stroke:.4px currentColor}#party-ui .phase-subtitle{background:#fcfffe;border:2px solid #92d2ff;padding:5px 16px;border-radius:30px;font-size:14px;white-space:normal;text-align:center;min-width:max-content;max-width:650px;box-shadow:0 3px #5f8cab33}#party-ui .countdown{display:inline-flex;align-items:center;gap:4px;background:#e6f6ff;border-radius:22px;padding:6px 10px;font-size:23px;white-space:nowrap}#party-ui .countdown small{font-size:13px}#party-ui .room-code{letter-spacing:3px;font-size:1.08em}#party-ui .paper-panel{border:5px solid white;border-radius:32px;background:linear-gradient(130deg,#fffdf6,#fff7e5);box-shadow:inset 0 0 0 3px #f8e1ae,0 0 0 2px #69d5f0,0 6px #c9dae6,0 10px 24px #16395226}
#party-ui .animal{display:block;aspect-ratio:1;background:url('./assets/characters-v2-web-v6.webp') no-repeat;background-size:266.6667% 266.6667%;flex-shrink:0;filter:drop-shadow(0 5px 3px #15384820)}#party-ui .animal[data-animal=A]{background-position:10% 10%}#party-ui .animal[data-animal=B]{background-position:90% 10%}#party-ui .animal[data-animal=C]{background-position:10% 90%}#party-ui .animal[data-animal=D]{background-position:90% 90%}
#party-ui .animal-A{--ticket:#20dbd6;--ticket-deep:#079ca8;--ticket-light:#b6fff5}#party-ui .animal-B{--ticket:#ffdb68;--ticket-deep:#d4a02e;--ticket-light:#fff4b5}#party-ui .animal-C{--ticket:#ff88b1;--ticket-deep:#cb467a;--ticket-light:#ffd4e5}#party-ui .animal-D{--ticket:#64bcff;--ticket-deep:#2179cd;--ticket-light:#bfedff}#party-ui .animal-yes,#party-ui .animal-all{--ticket:#5ce9c3;--ticket-deep:#00a28a;--ticket-light:#bdffe4}#party-ui .animal-no{--ticket:#c7a1ff;--ticket-deep:#874fc8;--ticket-light:#f0dfff}
#party-ui .event-art{display:flex;align-items:center;justify-content:center;aspect-ratio:1;color:var(--ticket-deep,#02b9c5);flex-shrink:0}#party-ui .event-art .icon{width:70%;height:70%}#party-ui .animal-no .event-art{color:#ff4676}#party-ui .animal-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:43px;border:3px solid white;border-radius:45%;background:linear-gradient(var(--ticket-light,#65e8ec),var(--ticket,#00b9cc));box-shadow:0 3px var(--ticket-deep,#048cac),inset 0 2px #fff8;color:var(--ink);font-size:28px;font-weight:900;flex-shrink:0}
/* The entry is a floating control stack, with the world and four animals fully visible. */
#party-ui .home-screen{position:relative;display:flex;justify-content:flex-end;align-items:flex-end;pointer-events:none;padding:0 1.5% 5%}#party-ui .home-message{position:absolute;top:28%;left:5%;transform:rotate(-5deg)}#party-ui .speech-sticker{display:flex;align-items:center;gap:10px;background:#fffbed;border:3px solid white;box-shadow:0 5px #e5c88f;border-radius:9px;padding:10px 22px;font-size:23px}#party-ui .speech-sticker .icon{color:#127bf6}#party-ui .home-form{pointer-events:auto;display:flex;flex-direction:column;gap:16px;width:36%;max-width:440px;min-width:320px;background:none;padding:0;border:0;position:relative}#party-ui .home-form:not(.join-form)>.input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#party-ui .nickname-shell{display:flex;align-items:center;gap:12px;min-width:0;padding:3px 20px;background:linear-gradient(#fff,#edf6ff);border:4px solid white;box-shadow:0 0 0 2px #81c3ff,0 5px #b1cce1;border-radius:100px}#party-ui .nickname-shell>.icon{color:#0668ed}#party-ui .home-form input{min-width:0;width:100%;height:60px;border:0;background:transparent;color:var(--ink);padding:8px 0;font-size:22px;outline-offset:0}#party-ui .home-form input::placeholder{color:#5274a6;font-weight:600}#party-ui .home-primary,#party-ui .home-secondary{min-height:87px;font-size:36px;border-width:5px;gap:16px;-webkit-text-stroke:.4px currentColor}#party-ui .home-primary>.icon,#party-ui .home-secondary>.icon{width:44px;height:44px}#party-ui .home-footnote{text-align:center;background:#fffdf8;border:2px solid #c0ddff;border-radius:30px;padding:6px 14px;font-size:17px;align-self:center}#party-ui .home-links{display:flex;justify-content:center;gap:12px}#party-ui .join-form{background:linear-gradient(#fffdf6,#fff8e9);border:5px solid white;border-radius:32px;box-shadow:inset 0 0 0 2px #f2d9a6,0 0 0 2px #80caff,0 6px #adc6da;padding:20px 22px;gap:10px}#party-ui .join-form h2{text-align:center;font-size:28px;margin-bottom:8px}#party-ui .join-form h2>.icon{color:#0774f0}#party-ui .input-label{font-size:17px;padding-left:8px}#party-ui .join-form .nickname-shell{border-width:2px;border-radius:19px;padding:1px 12px}#party-ui .join-form input{height:51px;font-size:20px}#party-ui .join-form #party-room{background:#eaf4ff;border:2px solid #a8d2ff;border-radius:16px;padding:7px 17px;letter-spacing:5px}#party-ui .home-join-actions{display:grid;gap:12px;margin-top:9px}#party-ui .home-join-actions>.party-button{font-size:25px}#party-ui .home-join-actions>.secondary{min-height:48px;justify-self:center;min-width:60%}#party-ui .join-form .home-footnote,#party-ui .join-form .home-links{display:none}#party-ui .form-error{color:#d62652;font-size:14px;padding:3px 8px}
/* Eight seats are player badges, never animal racers. */
#party-ui .lobby-screen .phase-head{padding-top:0}#party-ui .lobby-board{display:grid;grid-template-columns:minmax(0,1fr) 225px;grid-template-rows:minmax(0,1fr) auto;gap:12px 24px;margin-top:auto;height:39%;min-height:225px;max-height:350px}#party-ui .seat-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;min-height:0;overflow:auto;align-items:stretch;padding:10px 5px;scrollbar-width:thin;overscroll-behavior:contain}#party-ui .seat{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(#fff,#eaf5ff);border:3px solid white;box-shadow:0 0 0 1px #b4d7ee,0 4px #93c3db;border-radius:20px;padding:10px 5px;text-align:center;min-height:164px}#party-ui .seat.ready{box-shadow:0 0 0 2px #6ce5ea,0 4px #68c9d7}#party-ui .seat.empty{background:#f7fbffba;opacity:.8;border-style:dashed}#party-ui .human-avatar{display:inline-flex;align-items:center;justify-content:center;width:59px;height:59px;border:3px solid white;border-radius:50%;background:radial-gradient(circle at 50% 25%,#c5f5ff,#5eb5f3);box-shadow:0 2px 4px #3568ac35;position:relative;flex-shrink:0}#party-ui .human-avatar svg{width:100%;height:100%;border-radius:50%}#party-ui .human-avatar i{position:absolute;right:-4px;bottom:-2px;background:#2871bd;border:1px solid white;border-radius:50%;color:white;width:19px;height:19px;line-height:17px;font-style:normal;font-size:11px}#party-ui .seat-1{--avatar-shirt:#ef7aab;background:linear-gradient(#ffe5ed,#f5a3c9)}#party-ui .seat-2{--avatar-shirt:#7a58d8;background:linear-gradient(#e0dbff,#aaa0ef)}#party-ui .seat-3{--avatar-shirt:#149c89;background:linear-gradient(#d7ffe9,#70d6b1)}#party-ui .seat-copy{min-width:0;width:100%}#party-ui .seat-copy strong{display:block;font-size:15px;overflow-wrap:anywhere;line-height:1.3}#party-ui .seat-copy small{display:block;font-size:11px;color:#55739a;margin-top:4px}#party-ui .seat-status{display:block;width:100%;padding:4px 3px;border-radius:30px;background:#d8e7f7;color:#53769d;font-size:12px;line-height:1.3}#party-ui .seat.ready .seat-status{background:linear-gradient(#20e4c5,#00ab92);color:white;text-shadow:0 1px #067b79}#party-ui .seat .seat-kick{position:absolute;top:0;right:0;min-width:48px;width:48px;height:48px;min-height:48px;padding:11px;border:0;box-shadow:none;background:transparent;z-index:2}#party-ui .seat-kick .icon{width:24px;height:24px;background:#ff5080;border:2px solid white;border-radius:50%;padding:2px;box-shadow:0 2px #b74165}#party-ui .seat:has(.seat-kick) .human-avatar{margin-top:12px}#party-ui .lobby-side{display:flex;flex-direction:column;gap:9px;grid-column:2;grid-row:1/3;justify-content:center}#party-ui .lobby-bot-tools{display:flex;flex-direction:column;gap:6px;order:2}#party-ui .lobby-bot-tools>p{font-size:11px;text-align:center;background:#fffde8;border-radius:12px;padding:4px;order:2}#party-ui .lobby-bot-tools>.party-button{width:100%;font-size:20px}#party-ui .lobby-bot-tools small{display:block;font-size:12px}#party-ui .lobby-actions{display:flex;flex-direction:column;gap:10px}#party-ui .lobby-actions [data-action=leave]{min-height:48px;font-size:12px;padding:5px;order:4}#party-ui .lobby-actions [data-action=start]{font-size:24px;min-height:64px}#party-ui .lobby-actions [data-action=ready]{font-size:16px;min-height:48px}#party-ui .lobby-hint{grid-column:1;align-self:center;text-align:center;background:#fffef4ed;border-radius:18px;padding:6px 12px;font-size:13px}
/* Layered ticket paper, shaped edges and inset stitching. */
#party-ui .draft-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:22px;flex:1;min-height:0}#party-ui .ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:23px 22px;padding:25px 26px 30px;min-height:0;overflow:auto;scrollbar-width:thin}#party-ui .ticket-stack{position:relative;isolation:isolate;display:block;min-height:140px;min-width:0;border:3px solid white;border-radius:22px;padding:0;color:var(--ink);background:radial-gradient(ellipse at 45% 5%,#fff9,transparent 65%),linear-gradient(135deg,var(--ticket-light),var(--ticket));box-shadow:inset 0 0 0 5px var(--ticket),inset 0 0 0 7px #ffffff99,0 5px var(--ticket-deep),0 8px var(--ticket),0 12px var(--ticket-deep),0 15px 10px #79582b35;transition:transform .14s}
#party-ui .ticket-stack::before,#party-ui .ticket-stack::after{content:'';position:absolute;top:42%;width:16px;height:25px;background:#fff8e6;box-shadow:inset 0 0 0 2px var(--ticket-deep);z-index:5}#party-ui .ticket-stack::before{left:-5px;border-radius:0 15px 15px 0}#party-ui .ticket-stack::after{right:-5px;border-radius:15px 0 0 15px}#party-ui .ticket-stack.chosen{outline:5px solid #fff;outline-offset:3px;box-shadow:inset 0 0 0 5px var(--ticket),inset 0 0 0 7px #fff9,0 5px var(--ticket-deep),0 8px var(--ticket),0 12px var(--ticket-deep),0 0 0 8px #36e7ec,0 0 30px #8cffff;transform:translateY(-3px)}#party-ui .ticket-stack:disabled:not(.sold-out){cursor:default}#party-ui .ticket-stack.sold-out{filter:saturate(.15)}#party-ui .ticket-stack>.animal,#party-ui .ticket-stack>.event-art{position:absolute;top:-2%;left:50%;transform:translateX(-50%);height:85%;max-width:95%;width:auto;aspect-ratio:1;z-index:1}#party-ui .ticket-stack>.event-art{top:1%;height:72%}#party-ui .ticket-stack>.event-art .icon{width:65%;height:65%;filter:drop-shadow(0 3px #ffffffb3)}#party-ui .ticket-stack .animal-badge{position:absolute;top:9px;left:8px;z-index:3}#party-ui .ticket-name{position:absolute;bottom:23px;left:9px;right:9px;z-index:3;background:#ffffffed;border-radius:13px;text-align:left;padding:5px 10px;font-size:22px;line-height:1.25;box-shadow:0 3px #ffffff75;-webkit-text-stroke:.3px currentColor}#party-ui .stack-tier,#party-ui .stock-badge{position:absolute;bottom:3px;z-index:4;left:9px;border:2px solid white;border-radius:30px;background:linear-gradient(#22bcf9,#0873de);color:white;padding:3px 11px;font-size:12px;line-height:1.2;text-shadow:0 1px #15558e}#party-ui .stock-badge{right:7px;left:auto;background:linear-gradient(#28d9e7,#008da8)}#party-ui .ticket-paw{position:absolute;right:8px;top:34%;color:var(--ticket-deep);opacity:.5}#party-ui .ticket-paw>.icon{width:38px;height:38px}#party-ui .desktop-detail{min-height:0}#party-ui .ticket-detail{height:100%;min-height:0;position:relative;display:flex;flex-direction:column;gap:13px;padding:20px 21px;border:5px solid white;border-radius:34px;background:linear-gradient(130deg,#fffef9,#fff5df);box-shadow:inset 0 0 0 3px #f5dbab,0 0 0 4px #14cede,0 0 0 7px white,0 7px #1d9cc0;overflow:auto;scrollbar-width:thin}#party-ui .detail-animal{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;min-height:100px}#party-ui .detail-animal>.animal,#party-ui .detail-animal>.event-art{height:130px;width:130px}#party-ui .detail-animal h2{display:flex;align-items:center;gap:8px;font-size:28px;white-space:nowrap}#party-ui .tier-pill{display:inline-block;color:white;background:linear-gradient(#2bceff,#0678ed);border:2px solid white;box-shadow:0 2px #81b8d4;border-radius:30px;padding:5px 13px;margin-top:9px;font-size:13px}#party-ui .face-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0}#party-ui .face-switch .party-button{font-size:24px;padding:8px 10px;min-height:60px}#party-ui .face-switch .check{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:white;color:#01aab4;width:26px;height:26px;vertical-align:middle;font-size:20px;margin-left:5px;text-shadow:none}#party-ui .face-switch .coral .check{color:#ed426c}#party-ui .reward-title{text-align:center;font-size:17px;flex-shrink:0}#party-ui .payout-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;min-height:86px;flex-shrink:0}#party-ui .payout-grid.event-payout{grid-template-columns:1fr 1fr}#party-ui .payout{display:flex;flex-direction:column;text-align:center;border:2px solid white;box-shadow:0 0 0 1px #e8d5b4;border-radius:13px;overflow:hidden;background:#fffdf5}#party-ui .payout>span{background:linear-gradient(#fff6b4,#ffd769);padding:6px 0;font-size:14px}#party-ui .payout.rank-2>span{background:linear-gradient(#bde4ff,#8dc4ef)}#party-ui .payout.rank-3>span{background:linear-gradient(#ffd6b4,#f7b691)}#party-ui .payout.rank-4>span{background:linear-gradient(#e2dcff,#b8b0ef)}#party-ui .payout>b{font-size:34px;line-height:1.25;padding:6px 0}#party-ui .detail-warning{font-size:12px;text-align:center;line-height:1.4}#party-ui .risk-warning{background:#ffe4ed;border-radius:10px;padding:7px;color:#bc2555}#party-ui .event-question{text-align:center;font-size:19px;line-height:1.5}#party-ui .detail-confirm{display:flex;gap:10px;flex-shrink:0;margin-top:auto}#party-ui .confirm-pick{width:100%;min-height:66px;font-size:29px}#party-ui .detail-context{display:none}#party-ui .empty-detail{justify-content:center;text-align:center;gap:17px}#party-ui .empty-detail .party-button{margin-top:auto}#party-ui .blank-ticket{display:grid;place-items:center;width:155px;height:130px;align-self:center;margin:auto 0 10px;background:linear-gradient(#a0edff,#13a2f4);border:5px solid white;border-radius:25px;box-shadow:0 0 0 4px #70cdff,5px 7px #0e83df,10px 13px #69c8f5;transform:rotate(-12deg)}#party-ui .blank-ticket>.icon{color:white;width:90px;height:90px}#party-ui .empty-detail h2{font-size:30px}#party-ui .empty-detail p{font-size:17px}
#party-ui .draft-footer{display:flex;align-items:stretch;gap:16px;margin-top:25px;flex-shrink:0;min-height:91px}#party-ui .draft-footer>.party-button{min-width:215px}#party-ui .own-picks{display:flex;align-items:center;gap:12px;flex:1;min-width:0;background:#fffef7f5;border:4px solid white;border-radius:27px;padding:8px 13px;box-shadow:0 3px #a8c5dc}#party-ui .picks-label{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#0c70de;padding:8px;font-size:19px}#party-ui .ticket-chip{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:65px;flex:1;border:2px solid #a9daef;border-radius:15px;background:linear-gradient(#f8feff,#e6f3ff);padding:4px 8px;text-align:left;pointer-events:auto}#party-ui .ticket-chip.empty{border:2px dashed #7fb8f5;background:#f2f9ff;color:#5078ae}#party-ui .ticket-chip>.animal,#party-ui .ticket-chip>.event-art{width:57px;height:57px}#party-ui .ticket-chip>span:not(.animal):not(.event-art){min-width:0}#party-ui .ticket-chip strong{display:block;font-size:15px}#party-ui .ticket-chip small{display:block;font-size:12px;line-height:1.45;margin-top:3px}#party-ui .ticket-chip>.icon{width:24px;height:24px;color:#578ac7}
/* Public cards retain their own lane and identity; repeated cards remain separate. */
#party-ui .opening-body{display:flex;flex-direction:column;gap:15px;flex:1;min-height:0}#party-ui .preview-lanes{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:10px;min-height:0;flex:1;padding:0 5px 7px}#party-ui .preview-lane{--lane:#ff8eb6;--lane-light:#ffd1e3;--lane-deep:#d96897;display:flex;min-height:0;min-width:0;background:repeating-linear-gradient(90deg,transparent 0 62px,#fff5 63px 65px),linear-gradient(var(--lane-light),var(--lane));border:3px solid white;border-radius:24px;box-shadow:0 5px var(--lane-deep);overflow:hidden}#party-ui .preview-lane.animal-B{--lane:#52dbb5;--lane-light:#b3ffe2;--lane-deep:#249e82}#party-ui .preview-lane.animal-C{--lane:#ffdc64;--lane-light:#fff3a9;--lane-deep:#dba83b}#party-ui .preview-lane.animal-D{--lane:#68bdff;--lane-light:#c3edff;--lane-deep:#2b8fd0}#party-ui .preview-lane>header{display:flex;align-items:center;gap:7px;flex:0 0 220px;padding:4px 12px;border-right:2px dashed white;min-width:0}#party-ui .preview-lane>header .animal{width:84px;height:84px}#party-ui .preview-lane>header strong{display:block;font-size:20px;white-space:nowrap}#party-ui .preview-lane>header small{display:block;font-size:12px;margin-top:4px}#party-ui .preview-card-track{display:flex;gap:10px;min-height:0;min-width:0;overflow:auto;padding:7px 10px;flex:1;scrollbar-width:thin;overscroll-behavior:contain}#party-ui .preview-card{display:grid;grid-template-columns:35px 1fr;gap:3px 8px;align-content:center;flex:0 0 235px;background:linear-gradient(135deg,#fff,#edf8ff);border:3px solid white;box-shadow:inset 0 0 0 1px #b3d3eb,0 3px #c8c4b8;border-radius:17px;padding:5px 11px;min-width:0;overflow-wrap:anywhere}#party-ui .preview-card-icon{grid-row:1/3;align-self:center;color:#02b6b9}#party-ui .preview-card strong{font-size:16px}#party-ui .preview-card small{font-size:11px;line-height:1.4;color:#5f7892}#party-ui .preview-empty{font-size:13px;padding:10px;align-self:center}#party-ui .preview-global{display:flex;gap:12px;background:linear-gradient(#fffdf5,#fff3d4);border:4px solid white;border-radius:23px;box-shadow:0 4px #c4b28b;padding:8px 13px;min-height:84px;max-height:105px}#party-ui .preview-global h2{display:flex;align-items:center;gap:9px;flex:0 0 165px;font-size:17px}#party-ui .preview-global h2 small{display:block;font-size:12px}#party-ui .preview-global-cards{display:flex;gap:10px;min-width:0;flex:1;overflow:auto;scrollbar-width:thin;padding-bottom:3px}#party-ui .opening-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:15px;flex-shrink:0}#party-ui .opening-footer p{font-size:13px;line-height:1.5;background:#fffdf4;border:2px solid white;border-radius:20px;padding:6px 15px}#party-ui .opening-footer p span{font-size:12px}#party-ui .preview-start{min-width:270px;min-height:63px;font-size:28px}#party-ui .preview-scroll-portrait{display:none}
/* Secret action cards use large poses and a three-card horizontal deck. */
#party-ui .submit-status{position:absolute;right:4%;top:128px;z-index:1}#party-ui .submit-status>.party-button{font-size:17px;min-height:48px;padding:5px 15px}#party-ui .hand-grid{display:flex;justify-content:center;gap:32px;flex:1;min-height:0;padding:18px 30px 20px;max-width:1100px;width:100%;margin:auto;background:#fff9ebe8;border:4px solid white;border-radius:38px;box-shadow:inset 0 0 0 2px #f3dfb4;overflow:auto;scrollbar-width:thin;scroll-snap-type:x mandatory;overscroll-behavior:contain}#party-ui .action-card{position:relative;display:flex;flex-direction:column;flex:1;max-width:315px;min-width:0;min-height:0;padding:10px;border:4px solid white;border-radius:28px;background:repeating-conic-gradient(from 0deg at 50% 45%,#fff0 0deg 15deg,#fff3 15deg 30deg),linear-gradient(var(--ticket-light,#b8fff1),var(--ticket,#23ddcf));box-shadow:inset 0 0 0 5px var(--ticket,#23ddcf),inset 0 0 0 7px #fffa,0 7px var(--ticket-deep,#08a6ae);color:var(--ink);scroll-snap-align:center;transition:transform .15s}#party-ui .action-card.chosen{outline:5px solid white;outline-offset:3px;box-shadow:inset 0 0 0 5px var(--ticket),inset 0 0 0 7px #fffa,0 7px var(--ticket-deep),0 0 0 8px #ff8fcb,0 0 28px #ff7ac6;transform:translateY(-4px)}#party-ui .card-topline{display:flex;justify-content:space-between;align-items:center;padding:0 4px;color:#386c94;font-size:13px}#party-ui .card-topline .animal-badge{width:45px;height:48px;font-size:31px}#party-ui .action-art{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0}#party-ui .action-art>.animal,#party-ui .action-art>.event-art{height:100%;max-height:285px;max-width:100%;width:auto;aspect-ratio:1}#party-ui .action-move .action-art>.animal,#party-ui .action-recover .action-art>.animal{background-image:url('./assets/characters-run-v2-web-v6.webp')}#party-ui .action-symbol{position:absolute;right:4px;top:4px;background:#fffdf4e8;border:3px solid white;border-radius:19px;padding:8px;color:var(--ticket-deep,#09b0b9);box-shadow:0 3px #5286ac40}#party-ui .action-symbol>.icon{width:35px;height:35px}#party-ui .action-description{display:block;flex-shrink:0;background:#fffffff2;border:2px solid white;border-radius:16px;padding:10px 6px;text-align:center;min-width:0}#party-ui .action-description strong{display:block;font-size:25px;line-height:1.25;overflow-wrap:anywhere;-webkit-text-stroke:.3px currentColor}#party-ui .action-description small{display:block;margin-top:7px;font-size:12px;line-height:1.45;color:#436284}#party-ui .selection-stamp{position:absolute;right:8px;top:8px;display:grid;place-items:center;background:white;color:#0675f9;border:3px solid #91caff;border-radius:50%;width:53px;height:53px;font-size:34px;box-shadow:0 3px #53b2e7;z-index:5}#party-ui .hand-pages{display:none}#party-ui .submit-bottom{display:flex;gap:30px;margin-top:20px;flex-shrink:0;align-items:center}#party-ui .submit-bottom .own-picks{flex:1.2}#party-ui .submit-confirm-area{flex:1;text-align:center}#party-ui .submit-confirm-area>.party-button{width:100%;font-size:30px;min-height:68px}#party-ui .submit-confirm-area p{font-size:13px;margin-top:8px;background:#fffef3de;border-radius:15px;padding:2px}#party-ui .locked-body{display:flex;flex-direction:column;min-height:0;flex:1;gap:20px;align-items:center}#party-ui .locked-envelope{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:linear-gradient(145deg,#41e7f4,#00aaca);border:5px solid white;border-radius:28px;box-shadow:inset 0 0 0 5px #24c9e0,inset 0 0 0 7px #fff9,0 7px #087c9a;width:min(470px,75%);min-height:140px;flex:1;color:white;text-shadow:0 2px #087fa0;padding:20px}#party-ui .locked-envelope>.icon{width:60px;height:60px}#party-ui .locked-envelope strong{font-size:32px}#party-ui .locked-envelope small{background:white;color:#067db0;text-shadow:none;border-radius:20px;padding:5px 18px}#party-ui .submission-seats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px;min-height:0;overflow:auto;flex-shrink:0;width:100%;max-height:220px}#party-ui .submission-seats>div{display:flex;gap:10px;align-items:center;border:1px solid #e8d9bb;border-radius:18px;padding:8px;min-width:0;background:#fffdfa}#party-ui .submission-seats strong{display:block;overflow-wrap:anywhere;font-size:15px}#party-ui .submission-seats small{display:block;color:#00a68c;font-size:13px}
#party-ui .double-grid{display:flex;gap:30px;flex:1;min-height:0;max-width:1100px;width:100%;margin:auto;padding:10px 15px 20px;overflow:auto}#party-ui .double-ticket{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:0;border:5px solid white;border-radius:30px;background:linear-gradient(var(--ticket-light),var(--ticket));box-shadow:inset 0 0 0 4px var(--ticket),inset 0 0 0 6px #fff8,0 6px var(--ticket-deep);padding:12px 20px;color:var(--ink)}#party-ui .double-ticket.chosen{outline:4px solid #ffdc3d;outline-offset:4px;box-shadow:0 0 28px #ffe27f,inset 0 0 0 4px #ffcd3b}#party-ui .double-ticket>.animal,#party-ui .double-ticket>.event-art{height:30%;width:auto;aspect-ratio:1;min-height:80px;max-height:140px}#party-ui .double-copy{display:flex;flex-direction:column;gap:6px;text-align:center}#party-ui .double-copy strong{font-size:23px}#party-ui .double-copy small{font-size:17px;background:#fff9;border-radius:25px;padding:4px 15px}#party-ui .double-stamp{position:absolute;top:10px;right:10px;font-size:35px;color:white;text-shadow:0 3px #b05d08;padding:8px;background:linear-gradient(#ffdb5c,#ef9e18);border:4px solid white;border-radius:50%;box-shadow:0 3px #c28b24}#party-ui .double-rates{display:flex;flex-direction:column;gap:6px;width:100%;padding:9px;background:#fff9;border-radius:18px;margin-top:auto;font-size:14px;text-align:center}#party-ui .double-rates>div{display:flex;gap:6px}#party-ui .double-rates>div>span{flex:1;background:white;border-radius:11px;padding:5px 2px}#party-ui .double-rates small{display:block;font-size:12px}#party-ui .double-rates b{font-size:27px}#party-ui .selection-footer{display:flex;justify-content:center;gap:15px;margin-top:15px;flex-shrink:0}#party-ui .double-footer .party-button{min-width:400px;min-height:66px;font-size:29px}
/* Race UI is anchored outside the board. */
#party-ui .race-screen,#party-ui .demo-screen{position:relative;pointer-events:none}#party-ui .race-round{display:flex;gap:12px;align-items:center;position:absolute;left:50%;top:0;transform:translateX(-50%);border:4px solid white;border-radius:50px;background:linear-gradient(#fffbe6,#ffe58d);box-shadow:0 4px #d7ad42;padding:9px 24px;font-size:24px;white-space:nowrap}#party-ui .race-round>span{font-size:12px;color:#138d85}#party-ui .current-action{position:absolute;top:85px;right:0;display:flex;align-items:center;gap:10px;width:340px;min-height:90px;background:#fffdf2;border:5px solid white;border-radius:26px;box-shadow:inset 0 0 0 2px #3ad7df,0 4px #2c9aba;padding:5px 13px 5px 4px}#party-ui .current-action>.animal,#party-ui .current-action>.event-art{width:78px;height:78px}#party-ui .current-action>div{min-width:0}#party-ui .current-action small{display:block;font-size:11px;color:#376da0}#party-ui .current-action strong{display:block;font-size:21px;margin:3px 0}#party-ui .current-action span:not(.animal):not(.event-art):not(.animal-group){display:block;font-size:12px}#party-ui .current-action>.icon{display:none}#party-ui .current-action-round{display:none}#party-ui .race-footer{position:absolute;left:0;right:0;bottom:0;display:flex;gap:20px;align-items:flex-end;pointer-events:auto}#party-ui .race-footer .own-picks{max-width:700px}#party-ui .race-score-actions{margin-left:auto;display:flex;gap:12px}#party-ui .race-score-actions>.party-button{font-size:18px}#party-caption{position:absolute;top:22%;left:50%;transform:translateX(-50%) scale(.9);opacity:0;background:#fffdf4;border:4px solid white;border-radius:24px;padding:10px 23px;box-shadow:0 5px #99bad9;color:var(--ink);font-size:27px;pointer-events:none;transition:opacity .15s,transform .15s;text-align:center;max-width:85%}#party-caption.visible{opacity:1;transform:translateX(-50%) scale(1)}#party-ui .demo-label{position:absolute;left:50%;top:0;transform:translateX(-50%);background:#fff9de;border:3px solid white;border-radius:30px;padding:10px 20px;white-space:nowrap;font-size:21px}#party-ui .demo-screen footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:15px}
/* Podium belongs to animals; scores and victory belong to the human/Bot seats. */
#party-ui .results-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:20px;flex:1;min-height:0}#party-ui .round-result{display:flex;flex-direction:column;padding:18px 18px 14px;gap:10px;min-height:0;overflow:auto}#party-ui .animal-results{display:flex;align-items:flex-end;gap:10px;min-height:160px;flex:1;padding:0 5px 10px}#party-ui .animal-result{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;min-width:0;flex:1;height:100%}#party-ui .animal-result>.animal{width:100%;height:auto;aspect-ratio:1;max-height:180px;flex-shrink:1}#party-ui .animal-result>span:not(.animal){display:flex;align-items:center;gap:4px;justify-content:center;position:absolute;top:2%;font-size:14px;background:#fffef4;border:2px solid white;border-radius:22px;padding:3px 8px}#party-ui .animal-result .animal-badge{font-size:15px;width:25px;height:27px;border-width:2px}#party-ui .animal-result>b{width:100%;text-align:center;padding:7px 0;min-height:43px;border:3px solid white;border-radius:14px 14px 8px 8px;background:linear-gradient(#d0adff,#9c77d3);box-shadow:inset 0 3px #fff8,0 5px #8960ae;color:white;font-size:30px;text-shadow:0 2px #575786}#party-ui .animal-result.rank-1{order:2}#party-ui .animal-result.rank-1>b{min-height:85px;background:linear-gradient(#ffe987,#ffc22d);box-shadow:inset 0 3px #fff8,0 5px #d09a24;font-size:45px;text-shadow:0 3px #c98c13}#party-ui .animal-result.rank-2{order:1}#party-ui .animal-result.rank-2>b{min-height:65px;background:linear-gradient(#e1f2ff,#8cbce9);box-shadow:inset 0 3px #fff8,0 5px #5d8ab3}#party-ui .animal-result.rank-3{order:3}#party-ui .animal-result.rank-3>b{min-height:53px;background:linear-gradient(#ffc5a0,#e79473);box-shadow:inset 0 3px #fff8,0 5px #b77757}#party-ui .animal-result.rank-4{order:4}#party-ui .animal-result.champion::before{content:'♛';position:absolute;left:40%;top:-10px;color:#ffca24;font-size:39px;text-shadow:0 2px #a77516;z-index:2}#party-ui .no-champion{font-size:16px;text-align:center;color:#516a8e}#party-ui .my-result-title{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}#party-ui .my-result-title h2{font-size:17px}#party-ui .my-result-title>span{font-size:16px;background:#e9f6ff;border:1px solid #a3d8f5;border-radius:20px;padding:4px 10px}#party-ui .my-result-title b{font-size:23px}#party-ui .settlement-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;flex-shrink:0}#party-ui .settlement-ticket{display:grid;grid-template-columns:60px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 7px;background:linear-gradient(var(--ticket-light),var(--ticket));border:3px solid white;border-radius:16px;box-shadow:inset 0 0 0 2px #fff8,0 4px var(--ticket-deep);padding:6px 9px;min-width:0;position:relative}#party-ui .settlement-ticket>.animal,#party-ui .settlement-ticket>.event-art{grid-row:1/3;width:60px;height:60px}#party-ui .settlement-ticket>strong{font-size:13px;overflow-wrap:anywhere;padding-right:47px}#party-ui .settlement-ticket>span{font-size:11px}#party-ui .settlement-ticket>b{position:absolute;bottom:7px;right:7px;font-size:28px;line-height:1;background:#fffdf4e8;padding:5px 6px;border-radius:12px}#party-ui .settlement-ticket>b small{font-size:11px}#party-ui .human-results{display:flex;flex-direction:column;min-height:0;padding:15px 15px 12px;overflow:hidden}#party-ui .human-results h2{text-align:center;font-size:24px;padding-bottom:8px}#party-ui .human-results h2>.icon{color:#217aef;margin-right:7px}#party-ui .score-heading{display:flex;justify-content:space-between;background:#daecff;border-radius:11px;padding:5px 12px;font-size:12px;margin-bottom:4px;flex-shrink:0}#party-ui .score-list{display:flex;flex-direction:column;gap:5px;list-style:none;padding:0;margin:0;overflow:auto;min-height:0;scrollbar-width:thin;overscroll-behavior:contain}#party-ui .score-list li{display:flex;align-items:center;gap:8px;background:#fffdfa;border-bottom:1px solid #e8dfd0;border-radius:11px;min-height:43px;padding:3px 7px;flex-shrink:0}#party-ui .score-list li.is-me{background:linear-gradient(#d7ffff,#a9f0ff);box-shadow:inset 0 0 0 1px #2acbf1}#party-ui .score-rank{display:grid;place-items:center;flex-shrink:0;width:25px;height:27px;background:#e5edf4;border-radius:45%;font-size:15px}#party-ui .score-list li:first-child .score-rank{background:linear-gradient(#ffe990,#ffba22);color:#7b4808;border:1px solid #d6a231}#party-ui .score-list .human-avatar{width:31px;height:31px;border-width:1px}#party-ui .score-list .human-avatar i{display:none}#party-ui .score-list li>span{min-width:0;flex:1;overflow-wrap:anywhere;font-size:14px;line-height:1.3}#party-ui .score-list li>span small{display:block;font-size:10px;color:#51779c;margin-top:2px}#party-ui .score-list li>strong{font-size:24px;white-space:nowrap;min-width:45px;text-align:right}#party-ui .score-list li>strong small{font-size:11px}#party-ui .round-delta{font-size:15px;font-style:normal;min-width:30px;text-align:right}#party-ui .results-footer{display:flex;justify-content:center;gap:16px;margin-top:18px;flex-shrink:0}#party-ui .results-footer>.party-button{font-size:20px}#party-ui .results-footer>.party-button:last-child{min-width:320px;font-size:27px}#party-ui .final-board{display:flex;flex-direction:column;min-height:0;flex:1;padding:15px 24px;gap:10px;max-width:1050px;width:100%;margin:auto;overflow:auto}#party-ui .winner-message{display:flex;gap:15px;justify-content:center;text-align:center;font-size:25px;color:#d08013}#party-ui .winner-podium{display:flex;justify-content:center;gap:25px;flex-shrink:0}#party-ui .winner-podium>div{display:flex;align-items:center;flex-direction:column;min-width:125px;padding:4px 18px 8px;background:linear-gradient(#fff9d7,#ffe477);border:3px solid white;border-radius:24px;box-shadow:0 4px #d5a333}#party-ui .winner-podium .human-avatar{width:66px;height:66px;border:3px solid #ffd431}#party-ui .winner-podium strong{font-size:17px;max-width:150px;overflow-wrap:anywhere}#party-ui .winner-podium b{font-size:23px}#party-ui .final-list{min-height:0}#party-ui .final-list li{min-height:40px}#party-ui .final-board .final-list{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;gap:7px 25px;overflow:visible}#party-ui .final-board .score-heading{margin:0}
/* Information windows keep one scroll container and fixed controls. */
#party-overlays{position:absolute;inset:0;z-index:30;pointer-events:none}#party-ui .modal-backdrop{position:absolute;inset:0;background:#10274d94;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:25px;pointer-events:auto}#party-ui .party-dialog{width:min(960px,95vw);max-height:calc(var(--view-height,100dvh) - 55px);display:flex;flex-direction:column;background:linear-gradient(120deg,#fffdf6,#fff8e9);border:5px solid white;border-radius:34px;box-shadow:inset 0 0 0 3px #f0dfb9,0 0 0 4px #05c7df,0 0 0 7px #d0f9ff,0 12px 40px #09214766;min-height:0;overflow:hidden}#party-ui .party-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px 7px;flex-shrink:0}#party-ui .party-dialog>header h2{font-size:29px;min-width:0;overflow-wrap:anywhere;padding-left:10px}#party-ui .party-dialog>header h2::before{content:'✦';color:#1585ed;margin-right:13px}#party-ui .dialog-body{padding:15px 24px;overflow:auto;min-height:0;line-height:1.6;scrollbar-width:thin;overscroll-behavior:contain}#party-ui .party-dialog>footer{display:flex;justify-content:center;gap:17px;flex-shrink:0;padding:10px 20px 19px}#party-ui .party-dialog>footer>.party-button{min-width:200px}#party-ui .menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:8px 4px}#party-ui .menu-grid>.party-button{display:flex;flex-direction:column;border-radius:23px;padding:15px 6px;font-size:18px;min-height:120px;gap:12px;color:var(--ink);text-shadow:0 1px white}#party-ui .menu-grid>.party-button>.icon{width:43px;height:43px}#party-ui .dialog-note{font-size:13px;color:#42678f;text-align:center;margin:14px 0 6px!important}#party-ui .rule-tabs,#party-ui .table-tabs{display:flex;gap:10px;margin-bottom:15px;position:sticky;top:-15px;z-index:2;background:#fff9ed;padding:5px 0 10px}#party-ui .rule-tabs>.party-button,#party-ui .table-tabs>.party-button{flex:1;font-size:17px;min-height:48px;padding:7px 12px}#party-ui .rules-copy h3{font-size:20px;color:#075dad;margin:13px 0 7px}#party-ui .rules-copy p{font-size:16px;line-height:1.9;background:#fffdf9;border-bottom:1px solid #e4decb;padding:9px 12px;border-radius:12px}#party-ui .dialog-section-title{font-size:18px;text-align:center;background:#e2f5ff;border-radius:18px;padding:6px;margin-bottom:12px}#party-ui .dialog-ticket-list{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}#party-ui .dialog-ticket-list>div{display:flex;align-items:center;gap:10px;background:linear-gradient(var(--ticket-light),var(--ticket));border:3px solid white;border-radius:18px;padding:10px;box-shadow:0 4px var(--ticket-deep);min-width:0}#party-ui .dialog-ticket-list .animal,#party-ui .dialog-ticket-list .event-art{width:95px;height:95px}#party-ui .dialog-ticket-list strong,#party-ui .dialog-ticket-list small,#party-ui .dialog-ticket-list b{display:block}#party-ui .dialog-ticket-list strong{font-size:21px}#party-ui .dialog-ticket-list small{font-size:13px}#party-ui .dialog-ticket-list b{font-size:20px;margin-top:7px}#party-ui .readonly-hand{display:flex;gap:20px;min-height:260px;padding:8px 5px 13px;overflow:auto}#party-ui .readonly-hand .action-card{min-width:155px;min-height:250px;max-height:330px}#party-ui .readonly-hand .action-description strong{font-size:19px}#party-ui .readonly-hand .action-description small{font-size:11px}#party-ui .modal-public-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0}#party-ui .modal-public-groups>section{min-width:0;background:linear-gradient(var(--ticket-light),var(--ticket));border:3px solid white;border-radius:21px;padding:8px;box-shadow:0 4px var(--ticket-deep)}#party-ui .modal-public-groups h3{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:16px;margin-bottom:7px}#party-ui .modal-public-groups h3>.animal{width:55px;height:55px}#party-ui .modal-public-groups h3 small{font-size:11px}#party-ui .modal-public-groups>section>div{display:flex;gap:7px;overflow:auto;scrollbar-width:thin;padding-bottom:3px}#party-ui .modal-public-groups article{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fffc;border:2px solid white;border-radius:11px;padding:7px;min-width:115px;max-width:170px;text-align:center}#party-ui .modal-public-groups article strong{font-size:13px}#party-ui .modal-public-groups article small{font-size:11px}#party-ui .modal-public-groups>section:last-child{grid-column:1/-1}#party-ui .modal-public-groups>section:last-child>div{max-height:170px}#party-ui .submission-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:9px}#party-ui .submission-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 16px;background:#eef6ff;border-radius:16px;min-height:54px}#party-ui .submission-list strong{overflow-wrap:anywhere}#party-ui .submission-list .done{color:#00a18b}#party-ui .table-tickets{display:flex;flex-direction:column;gap:9px}#party-ui .table-tickets>section{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;align-items:center;border-bottom:1px solid #e4decf;padding:5px 8px;background:#fffdfa;border-radius:15px}#party-ui .table-player{display:flex;gap:10px;align-items:center;min-width:0}#party-ui .table-player>.human-avatar{width:45px;height:45px}#party-ui .table-player>strong{font-size:16px;overflow-wrap:anywhere;min-width:0}#party-ui .table-player small{display:block;font-size:11px;color:#4a7093}#party-ui .table-picks{display:flex;gap:9px;min-width:0}#party-ui .mini-ticket{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(var(--ticket-light),var(--ticket));border:2px solid white;box-shadow:inset 0 0 0 1px var(--ticket-deep),0 3px var(--ticket-deep);border-radius:9px;padding:6px 8px;min-height:57px;text-align:center}#party-ui .mini-ticket b{font-size:16px}#party-ui .mini-ticket small{font-size:11px;line-height:1.45}#party-ui .mini-ticket.empty{background:#ecf2f7;box-shadow:none;border:2px dashed #bad0e8;font-size:12px;color:#5e799c}#party-ui .player-report{padding:13px 16px;border:2px solid #e4d7b5;border-radius:18px;background:#fffdf7;margin:11px 0}#party-ui .player-report h3{display:flex;justify-content:space-between;gap:12px;font-size:18px;padding-bottom:8px}#party-ui .player-report h3>span{color:#2375aa;font-size:16px;white-space:nowrap}#party-ui .player-report p{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dfecf3;padding:8px 0;font-size:15px}#party-ui .player-report p>span{min-width:0;overflow-wrap:anywhere}#party-ui .player-report p>b{white-space:nowrap}#party-ui .player-report>strong{display:block;text-align:right;color:#0476ab}#party-ui .report-context h3{font-size:23px}#party-ui .report-ranks{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}#party-ui .report-ranks>span{display:flex;align-items:center;gap:7px;background:#e9f7ff;padding:6px 12px;border-radius:20px;font-size:14px}#party-ui .report-ranks .animal-badge{width:25px;height:26px;font-size:17px}#party-ui .report-note{background:#fff0b6;border-radius:15px;padding:8px 14px;margin-top:12px}#party-ui .match-log{padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}#party-ui .match-log li{display:flex;gap:12px;background:#edf7ff;border-radius:13px;padding:10px;font-size:14px}#party-ui .match-log li>b{color:#1379bc;min-width:28px}#party-ui .leave-confirm{display:flex;flex-direction:column;align-items:center;gap:15px}#party-ui .leave-confirm .animal{width:180px;height:180px}
#party-ui .detail-dialog{width:min(440px,95vw);max-height:calc(var(--view-height,100dvh) - 40px);min-height:0}#party-ui .detail-mobile{height:auto;max-height:calc(var(--view-height,100dvh) - 40px)}#party-ui .detail-close{position:absolute;top:7px;right:7px;z-index:5}#party-ui .party-connection{position:absolute;left:18px;bottom:4px;font-size:10px;padding:2px 8px;border-radius:12px;background:#f0ffffd4;color:#327394;pointer-events:none}#party-ui .party-connection.offline{color:#995a0c;background:#fff0c9}#party-toast{position:absolute;top:85px;right:20px;z-index:40;display:flex;align-items:center;gap:10px;max-width:min(480px,94%);padding:8px 8px 8px 18px;background:#fffdf2;border:3px solid white;border-radius:23px;box-shadow:0 0 0 2px #ffcc7a,0 5px #b8c7d4;color:#8b4b14;font-size:16px;pointer-events:auto}#party-ui .toast-close{width:48px;min-height:48px;min-width:48px;padding:10px;box-shadow:none;flex-shrink:0}#party-ui .toast-close .icon{width:23px;height:23px}
@media(prefers-reduced-motion:reduce){#party-ui *,#party-ui *::before,#party-ui *::after{animation:none!important;transition:none!important}}
/* Pose atlases use their own tile geometry, independent of the standing sprites. */
#party-ui .animal.fallen-pose{background-image:url('./assets/characters-fallen-r1-web-v6.webp');background-size:200% 200%}#party-ui .animal.fallen-pose[data-animal=A]{background-position:0 0}#party-ui .animal.fallen-pose[data-animal=B]{background-position:100% 0}#party-ui .animal.fallen-pose[data-animal=C]{background-position:0 100%}#party-ui .animal.fallen-pose[data-animal=D]{background-position:100% 100%}
#party-ui .score-list li>.human-avatar{flex:0 0 31px;min-width:31px;max-width:31px;height:31px}
#party-ui .party-button:not(.text-button):not(.icon-button)::after{content:'';position:absolute;inset:3px 5px 48%;border-top:2px solid #ffffffdf;border-radius:80px 80px 30px 30px;pointer-events:none;background:linear-gradient(#ffffff38,transparent)}
#party-ui .animal-result>span:not(.animal){position:relative;top:auto;order:-1;flex-shrink:0;margin-bottom:1px}
#party-ui .animal-result.champion::before{top:auto;bottom:calc(85px + min(12vw,180px) - 10px);left:42%;font-size:32px;transform:rotate(10deg)}
#party-ui .animal-group{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:250px;aspect-ratio:1;align-items:center}#party-ui .animal-group>.animal{width:100%;height:auto;aspect-ratio:1}#party-ui .current-action>.animal-group{width:78px;height:78px}#party-ui .action-art>.animal-group{height:100%;width:auto;max-width:100%;aspect-ratio:1}#party-ui .action-description strong,#party-ui .party-button .button-label,#party-ui .ticket-name,#party-ui .winner-message,#party-ui .detail-animal h2{-webkit-text-stroke:.45px currentColor}#party-ui .menu-grid .party-button{text-shadow:none}
/* The reward body scrolls independently; the irreversible confirmation stays fixed. */
#party-ui .ticket-detail:not(.empty-detail){overflow:hidden}
#party-ui .detail-scroll{display:flex;flex-direction:column;gap:13px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:1px 1px 4px}
#party-ui .detail-confirm{position:relative;z-index:6;background:#fff8e9;flex-shrink:0;padding-top:3px}
#party-ui .winner-podium{flex-wrap:wrap}
#party-ui .winner-podium>div{max-width:190px;flex:0 1 170px}
#party-ui .current-card-back{display:grid;place-items:center;flex:0 0 65px;width:65px;height:74px;border:3px solid white;border-radius:14px;outline:2px solid #3acbef;background:linear-gradient(#82e9ff,#0b99e2);color:white;box-shadow:inset 0 0 0 2px #a9f8ff}
#party-ui .current-card-back .icon{width:43px;height:43px}

.close-room-action{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere}.leave-confirm .party-button{margin:6px;max-width:100%}

/* Group portraits keep their 2x2 layout inside the current action card. */
#party-ui .current-action>:is(.animal,.event-art,.animal-group){flex-shrink:0}
