:root{color-scheme:dark;--ap-bg:#0f1419;--ap-surface:#19212a;--ap-surface-2:#222c37;--ap-border:#34414e;--ap-text:#eef1f4;--ap-muted:#a5b1bd;--ap-accent:#c44a22;--ap-accent-soft:#f07a4a;--ap-ok:#3ddc97;--ap-danger:#ff6b81;--ap-font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ap-font-title:var(--font-inter,system-ui, sans-serif);--ap-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ap-ease-out:cubic-bezier(.23, 1, .32, 1);--ap-t-fast:.15s;--ap-radius:10px}.ap-body{background:var(--ap-bg);min-height:100dvh;color:var(--ap-text);font-family:var(--ap-font);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}.ap-app{box-sizing:border-box;flex-direction:column;gap:1rem;max-width:30rem;min-height:100dvh;margin:0 auto;padding:1rem;display:flex}.ap-title{font-family:var(--ap-font-title);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.15}.ap-sub{color:var(--ap-muted);margin:0;font-size:.9rem}.ap-card{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.ap-label{color:var(--ap-muted);font-size:.85rem;font-weight:600}.ap-input{min-height:48px;font:inherit;color:var(--ap-text);background:var(--ap-surface-2);border:1px solid var(--ap-border);border-radius:var(--ap-radius);transition:border-color var(--ap-t-fast) var(--ap-ease-out);padding:0 .85rem;font-size:1rem}.ap-input:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:1px;border-color:var(--ap-accent-soft)}.ap-input--code{font-family:var(--ap-mono);text-transform:uppercase;letter-spacing:.12em}.ap-btn{min-height:48px;font:inherit;color:var(--ap-text);background:var(--ap-surface-2);border:1px solid var(--ap-border);border-radius:var(--ap-radius);cursor:pointer;transition:background-color var(--ap-t-fast) var(--ap-ease-out), border-color var(--ap-t-fast) var(--ap-ease-out), transform var(--ap-t-fast) var(--ap-ease-out);padding:0 1.1rem;font-size:1rem;font-weight:600}.ap-btn--primary{background:var(--ap-accent);border-color:var(--ap-accent);color:#fff}.ap-btn:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:2px}@media (hover:hover) and (pointer:fine){.ap-btn:hover{border-color:var(--ap-accent-soft)}.ap-btn--primary:hover{background:var(--ap-accent-soft);border-color:var(--ap-accent-soft)}}.ap-btn:active{transform:scale(.97)}.ap-roomhead{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.ap-roomcode{font-family:var(--ap-mono);letter-spacing:.14em;font-size:1.35rem;font-weight:700}.ap-badge{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--ap-accent);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700}.ap-status{color:var(--ap-muted);font-size:.85rem}.ap-status--ok{color:var(--ap-ok)}.ap-status--err{color:var(--ap-danger)}.ap-peers{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.ap-peer{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);align-items:center;gap:.6rem;padding:.45rem .75rem;font-size:.95rem;display:flex}.ap-peer__dot{background:var(--ap-ok);border-radius:50%;flex:none;width:.6rem;height:.6rem}.ap-peer__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ap-peer__rtt{font-family:var(--ap-mono);color:var(--ap-muted);font-size:.8rem}.ap-feed{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);flex-direction:column;flex:1;gap:.4rem;min-height:10rem;padding:.75rem;display:flex;overflow-y:auto}.ap-msg{background:var(--ap-surface-2);border-radius:var(--ap-radius);overflow-wrap:anywhere;max-width:85%;padding:.45rem .7rem}.ap-msg--own{background:var(--ap-accent);color:#fff;align-self:flex-end}.ap-msg__meta{color:var(--ap-muted);font-size:.72rem;font-weight:600;display:block}.ap-msg--own .ap-msg__meta{color:#ffffffbf}.ap-msg--sys{max-width:100%;color:var(--ap-muted);text-align:center;background:0 0;align-self:center;padding:.1rem .5rem;font-size:.8rem}.ap-composer{gap:.5rem;display:flex}.ap-composer .ap-input{flex:1;min-width:0}.ap-error{min-height:1.2rem;color:var(--ap-danger);margin:0;font-size:.85rem}.ap-loadfail{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ap-hidden{display:none}.ap-sig{gap:.6rem;display:grid}.ap-sig__show:not(:empty) .ap-qr svg{max-width:16rem}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card{grid-template-columns:auto 1fr;align-items:center;gap:.25rem .75rem;display:grid}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card>:is(.ap-video,.ap-sig__open){grid-area:1/1/span 2;width:7.5rem}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-video{height:5.5rem}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card>.ap-label{grid-area:1/2}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card>.ap-paste{grid-area:2/2}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card>.ap-sig__status{grid-area:3/1/auto/-1}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card>.ap-paste[open]{grid-area:4/1/auto/-1}@media (width>=34rem){.ap-sig{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.ap-sig__show:not(:empty) .ap-qr svg{max-width:20rem}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card{align-items:stretch;gap:.6rem;display:flex}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-sig__card>:is(.ap-video,.ap-sig__open){width:100%}.ap-sig__show:not(:empty)+.ap-sig__scan .ap-video{height:auto}}.ap-sig>:empty{display:none}.ap-sig__card{gap:.6rem}.ap-sig__card>p{margin:0}.ap-sig__copy{align-self:center}.ap-paste{font-size:.85rem}.ap-paste>:not(summary){margin-top:.5rem}.ap-paste__toggle{color:var(--ap-muted);text-underline-offset:.2em;cursor:pointer;padding:.7rem 0;text-decoration:underline}.ap-invite{flex-direction:column;gap:.4rem;display:flex}.ap-invite:empty{display:none}.ap-qr{border-radius:var(--ap-radius);background:#fff;padding:.75rem}.ap-qr svg{width:100%;max-width:20rem;height:auto;margin:0 auto;display:block}.ap-video{object-fit:cover;border-radius:var(--ap-radius);background:#000;width:100%;max-height:16rem}.ap-textarea{box-sizing:border-box;width:100%;font-family:var(--ap-mono);color:var(--ap-text);background:var(--ap-surface-2);border:1px solid var(--ap-border);border-radius:var(--ap-radius);word-break:break-all;resize:vertical;padding:.6rem .85rem;font-size:.8rem;line-height:1.4}.ap-textarea:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:1px}.ap-note{color:var(--ap-muted);margin:0;font-size:.8rem}.ap-log{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);min-height:8rem;font-family:var(--ap-mono);flex:1;padding:.75rem;font-size:.78rem;line-height:1.5;overflow-y:auto}.ap-log__line{overflow-wrap:anywhere;margin:0 0 .2rem}.ap-btn--small{min-height:36px;padding:0 .7rem;font-size:.8rem}.ap-swatches{flex-wrap:wrap;gap:.5rem;display:flex}.ap-swatch{cursor:pointer;width:44px;height:44px;transition:transform var(--ap-t-fast) var(--ap-ease-out), border-color var(--ap-t-fast) var(--ap-ease-out);border:3px solid #0000;border-radius:50%}.ap-swatch[aria-checked=true]{border-color:#fff}.ap-swatch:active{transform:scale(.92)}.ap-swatch:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:2px}.ap-select{appearance:none;width:100%}.ap-gallery{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;display:grid}.ap-tile{--ga:var(--ap-accent-soft);font:inherit;text-align:left;color:var(--ap-text);background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);cursor:pointer;transition:border-color var(--ap-t-fast) var(--ap-ease-out), box-shadow var(--ap-t-fast) var(--ap-ease-out), background-color var(--ap-t-fast) var(--ap-ease-out), transform var(--ap-t-fast) var(--ap-ease-out);grid-template-columns:auto 1fr;grid-template-areas:"icon name""icon meta";align-items:center;gap:0 .55rem;padding:.5rem .6rem;display:grid}.ap-tile[aria-checked=true]{border-color:color-mix(in srgb, var(--ga) 65%, transparent);background:color-mix(in srgb, var(--ga) 10%, var(--ap-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--ga) 55%, transparent), 0 8px 22px -12px color-mix(in srgb, var(--ga) 60%, transparent)}@media (hover:hover) and (pointer:fine){.ap-tile:hover{border-color:color-mix(in srgb, var(--ga) 55%, transparent);transform:translateY(-2px)}}.ap-tile:active{transform:scale(.98)}.ap-tile:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:2px}.ap-tile__icon{background:color-mix(in srgb, var(--ga) 14%, transparent);border:1px solid color-mix(in srgb, var(--ga) 30%, transparent);width:34px;height:34px;color:color-mix(in srgb, var(--ga) 85%, #fff);image-rendering:pixelated;border-radius:8px;grid-area:icon;place-items:center;display:grid}.ap-tile__icon svg{width:22px;height:22px}.ap-tile__name{min-width:0;font-family:var(--ap-font-title);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:name;font-size:.9rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.ap-tile__meta{letter-spacing:.02em;color:color-mix(in srgb, var(--ga) 80%, #fff);grid-area:meta;font-size:.68rem;font-weight:600;line-height:1.3}.ap-ailleurs{--ga:var(--ap-accent-soft);color:var(--ap-text);background:linear-gradient(100deg, color-mix(in srgb, var(--ga) 13%, var(--ap-surface)), var(--ap-surface) 60%);border:1px solid var(--ap-border);border-radius:var(--ap-radius);transition:border-color var(--ap-t-fast) var(--ap-ease-out), transform var(--ap-t-fast) var(--ap-ease-out);grid-template-columns:auto 1fr auto;grid-template-areas:"icon name go""icon meta go";align-items:center;gap:.15rem .7rem;padding:.6rem .7rem;text-decoration:none;display:grid}@media (hover:hover) and (pointer:fine){.ap-ailleurs:hover{border-color:color-mix(in srgb, var(--ga) 55%, transparent);transform:translateY(-2px)}}.ap-ailleurs:active{transform:scale(.99)}.ap-ailleurs:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:2px}.ap-ailleurs__icon{width:42px;height:42px}.ap-ailleurs__icon svg{width:28px;height:28px}.ap-ailleurs__name{font-family:var(--ap-font-title);flex-wrap:wrap;grid-area:name;align-items:center;gap:.2rem .5rem;font-size:1rem;font-weight:700;line-height:1.2;display:flex}.ap-ailleurs__badge{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--ga) 85%, #fff);background:color-mix(in srgb, var(--ga) 16%, transparent);border:1px solid color-mix(in srgb, var(--ga) 38%, transparent);border-radius:999px;padding:.1rem .45rem;font-size:.62rem}.ap-ailleurs__meta{color:color-mix(in srgb, var(--ga) 80%, #fff);grid-area:meta;font-size:.72rem;font-weight:600;line-height:1.3}.ap-ailleurs__go{color:#1a1028;background:var(--ga);min-height:40px;box-shadow:0 6px 18px -8px color-mix(in srgb, var(--ga) 70%, transparent);border:1px solid #0000;border-radius:999px;grid-area:go;align-items:center;gap:.3rem;padding:0 .95rem;font-size:.85rem;font-weight:700;display:inline-flex}.ap-ailleurs__go:after{content:"↗"}.ap-peer--off{opacity:.55}.ap-peer--off .ap-peer__dot{background:var(--ap-muted)}.ap-connbanner{z-index:45;text-align:center;color:#ffb454;backdrop-filter:blur(6px);background:#0f1419e0;border-bottom:1px solid #ffb45459;padding:.55rem 1rem;font-size:.85rem;position:fixed;top:0;left:0;right:0}.ap-connline{color:#ffb454}.ap-debug{z-index:50;border:1px solid var(--ap-border);border-radius:var(--ap-radius);max-width:min(92vw,24rem);font-family:var(--ap-mono);background:#000000d9;padding:.6rem .8rem;font-size:.72rem;line-height:1.5;position:fixed;bottom:.75rem;right:.75rem}.ap-debug__line{overflow-wrap:anywhere;margin:0}.ap-gamewrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.ap-game{flex-direction:column;flex:1;min-height:0;display:flex}.ap-app.ap-playing{height:100dvh;min-height:0;padding-block:.5rem calc(.5rem + env(safe-area-inset-bottom,0px));gap:.5rem;overflow-y:auto}.ap-playing .ap-roomhead{flex-wrap:nowrap;padding-block:.25rem}.ap-playing .ap-roomcode{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;min-width:0;font-size:1.05rem;overflow:hidden}.ap-playing .ap-game>*{flex:1;min-height:0}.ap-board{flex:1 1 0;justify-content:center;align-items:center;width:100%;min-width:0;min-height:9rem;display:flex}@media (aspect-ratio>=5/4){.ap-playing .ap-game>*{grid-template-rows:repeat(6,auto) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(11rem,17rem);align-content:start;gap:.5rem 1rem;display:grid}.ap-playing .ap-game>*>*{grid-column:2;min-width:0}.ap-playing .ap-game>*>.ap-board{grid-area:1/1/-1;height:100%;min-height:0}}@media (width>=769px) and (height>=700px){.ap-app.ap-playing{padding-block:1rem}}.ap-result-overlay{z-index:10;border-radius:var(--ap-radius);backdrop-filter:blur(3px);background:#0f1419d1;justify-content:center;align-items:flex-start;padding:.75rem;display:flex;position:absolute;inset:0;overflow-y:auto}.ap-result-overlay:empty{display:none}.ap-result-overlay>*{margin-block:auto}.ap-result-overlay .ap-result{width:min(100%,22rem)}.ap-pause-overlay{z-index:9;text-align:center;border-radius:var(--ap-radius);backdrop-filter:blur(3px);background:#0f1419b8;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.75rem;display:flex;position:absolute;inset:0}.ap-pause-overlay[hidden]{display:none}.ap-pause-overlay__text{font-family:var(--ap-font-title);color:#ffb454;margin:0;font-size:1.25rem;font-weight:700}.ap-diag{text-align:left;gap:.5rem;padding:.75rem .9rem;display:grid}.ap-diag__title{color:var(--ap-danger);margin:0;font-weight:700}.ap-diag__list{color:var(--ap-muted);margin:0;padding-left:1.1rem;font-size:.85rem}.ap-diag__list li+li{margin-top:.25rem}.ap-diag__advice{margin:0;font-size:.85rem}.ap-invite__hint,.ap-invite__status{margin-top:.5rem}.ap-result__text{font-family:var(--ap-font-title);margin:0;font-size:1.15rem;font-weight:700}.ap-uttt{--ga:#5ac8fa;flex-direction:column;gap:.75rem;display:flex}.ap-uttt__players{gap:.5rem;display:flex}.ap-uttt__chip{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);min-width:0;transition:border-color var(--ap-t-fast) var(--ap-ease-out), background-color var(--ap-t-fast) var(--ap-ease-out), box-shadow var(--ap-t-fast) var(--ap-ease-out), opacity var(--ap-t-fast) var(--ap-ease-out);opacity:.6;flex:1;align-items:center;gap:.5rem;padding:.45rem .7rem;display:flex}.ap-uttt__chip--turn{opacity:1;border-color:var(--ga)}.ap-uttt__chip .ap-uttt__glyph{flex:none;width:1.15rem;height:1.15rem}.ap-uttt__chip-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.ap-note--center{text-align:center}.ap-hint{min-height:1.3rem;color:var(--ap-muted);text-align:center;margin:0;font-size:.85rem}.ap-hint--tall{min-height:2.2rem}.ap-chips{grid-template-columns:repeat(2,1fr);gap:.4rem;width:min(100%,24rem);margin-inline:auto;display:grid}.ap-chip{min-width:0;color:inherit;font:inherit;text-align:left;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);transition:opacity var(--ap-t-fast) var(--ap-ease-out), border-color var(--ap-t-fast) var(--ap-ease-out);align-items:center;gap:.45rem;padding:.35rem .6rem;font-size:.85rem;font-weight:600;display:flex}.ap-chip:disabled{opacity:1}.ap-chip--dim{opacity:.6}.ap-chip--turn{opacity:1;border-color:var(--ap-accent-soft)}.ap-chip--dead{opacity:.45}.ap-chip--active{border-color:var(--ap-accent-soft);box-shadow:0 0 0 1px var(--ap-accent-soft)}.ap-chip__dot{border-radius:50%;flex:none;width:.7rem;height:.7rem}.ap-chip__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ap-chip__meta{font-family:var(--ap-mono);color:var(--ap-muted);font-size:.78rem;font-weight:400}.ap-uttt__macro{box-sizing:border-box;aspect-ratio:1;touch-action:manipulation;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(38% 14% at 28% 30%,#ffffff12,#0000 70%),radial-gradient(30% 10% at 70% 64%,#ffffff0f,#0000 70%),radial-gradient(45% 12% at 52% 86%,#ffffff0d,#0000 70%),linear-gradient(170deg,#2f4a40,#22392f 55%,#1d3229);border:10px solid #7a4e2b;border-image:linear-gradient(160deg,#a36a39,#7a4b26 30%,#93602f 55%,#6a401f 80%,#8a5730) 10;border-radius:3px;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem;display:grid;position:relative;box-shadow:inset 0 0 0 1px #00000073,inset 0 2px #00000059,inset 0 0 50px #0006,0 1px #b98250,0 14px 34px -14px #000000bf}.ap-uttt__defs{width:0;height:0;position:absolute}.ap-uttt__lines,.ap-uttt__arrow,.ap-uttt__strike{pointer-events:none;width:calc(100% - 1.5rem);height:calc(100% - 1.5rem);position:absolute;inset:.75rem}.ap-uttt__lines path{stroke:#f5f5ebd1;stroke-width:3.2px}.ap-uttt__grid{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ap-uttt__grid path{stroke:#f5f5eb8c;stroke-width:2.4px}.ap-uttt__board{transition:opacity var(--ap-t-base) var(--ap-ease-out), box-shadow var(--ap-t-fast) var(--ap-ease-out);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid;position:relative}.ap-uttt__board--idle{opacity:.5}.ap-uttt__board--active{outline-offset:1px;background:#ffe2780f;outline:2px dashed #ffe278d9}.ap-uttt__board--winline{outline-offset:1px;outline:2px solid #96e6aae6}.ap-uttt__cell{aspect-ratio:1;cursor:pointer;transition:background-color var(--ap-t-fast) var(--ap-ease-out), transform var(--ap-t-fast) var(--ap-ease-out);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.ap-uttt__board--active .ap-uttt__cell:not([disabled]):active{background:#ffffff1a;transform:scale(.88)}@media (hover:hover) and (pointer:fine){.ap-uttt__board--active .ap-uttt__cell:not([disabled]):hover{background:#ffe67824}}.ap-uttt__cell:focus-visible{outline-offset:1px;outline:2px solid #ffe678e6}.ap-uttt__cell--last:after{content:"";border:2px dashed var(--lc,#fff);opacity:.75;pointer-events:none;border-radius:50%;position:absolute;inset:4%}.ap-uttt__glyph{width:90%;height:90%;overflow:visible}.ap-uttt__glyph--in{animation:ap-uttt-pop .18s var(--ap-ease-out)}.ap-uttt__glyph--in path{stroke-dasharray:var(--uttt-dash);animation:ap-uttt-draw .32s var(--ap-ease-out)}@keyframes ap-uttt-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes ap-uttt-draw{0%{stroke-dashoffset:var(--uttt-dash)}to{stroke-dashoffset:0}}.ap-uttt__veil{background:#dce6e114;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ap-uttt__veil .ap-uttt__glyph{width:86%;height:86%}.ap-uttt__veil-draw{font-family:var(--ap-font-title);color:#ebebe18c;font-size:2.4rem;font-weight:700}.ap-uttt__veil--fresh{animation:ap-uttt-veil-in .24s var(--ap-ease-out)}@keyframes ap-uttt-veil-in{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.ap-uttt__cell[aria-disabled=true]{cursor:not-allowed}.ap-uttt__cell--deny{animation:ap-uttt-deny .22s var(--ap-ease-out)}@keyframes ap-uttt-deny{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.ap-uttt__arrow{display:none}.ap-uttt__arrow--on{display:block}.ap-uttt__arrow path{stroke:#ffe678eb;stroke-width:4px;stroke-dasharray:400;stroke-dashoffset:0}.ap-uttt__arrow--draw path{animation:ap-uttt-arrow .42s var(--ap-ease-out) both}.ap-uttt__arrow--draw path+path{animation-delay:.3s}@keyframes ap-uttt-arrow{0%{stroke-dashoffset:400px}}.ap-uttt__strike{display:none}.ap-uttt__strike--on{display:block}.ap-uttt__strike line{stroke-width:9px;stroke-dasharray:460;animation:ap-uttt-arrow .52s var(--ap-ease-out) both;filter:drop-shadow(0 0 6px)}.ap-uttt__board--active{animation:1.5s ease-in-out infinite alternate ap-uttt-active}@keyframes ap-uttt-active{0%{box-shadow:0 0 0 2px #ffe678b3,0 0 10px #ffe67833}to{box-shadow:0 0 0 2px #ffe678f2,0 0 22px #ffe67873}}.ap-pong{--ga:var(--ap-accent-soft);flex-direction:column;align-items:center;gap:.5rem;display:flex}.ap-pong__scores{gap:.5rem;width:min(100%,22rem);display:flex}.ap-pong__score{background:linear-gradient(180deg, var(--ap-surface-2), var(--ap-surface));border:1px solid var(--ap-border);border-radius:var(--ap-radius);min-width:0;transition:box-shadow var(--ap-t-fast) var(--ap-ease-out);border-left-width:4px;flex:1;align-items:center;gap:.5rem;padding:.35rem .6rem;display:flex}.ap-pong__score-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.ap-pong__score-num{font-family:var(--ap-font-title);font-size:1.25rem;font-weight:700;line-height:1}.ap-pong__score--pop{animation:ap-pong-score-pop .38s var(--ap-ease-out)}@keyframes ap-pong-score-pop{0%{transform:scale(1)}40%{transform:scale(1.07)}to{transform:scale(1)}}.ap-pong__score--match{box-shadow:0 0 0 1px color-mix(in srgb, var(--ga) 60%, transparent), 0 0 14px color-mix(in srgb, var(--ga) 30%, transparent)}.ap-pong__field{aspect-ratio:100/160;border-radius:var(--ap-radius);touch-action:none;cursor:crosshair;user-select:none;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 42px -18px #000000bf}.ap-pong__field:focus-visible{outline:2px solid var(--ga);outline-offset:2px}.ap-pong__canvas{width:100%;height:100%;display:block}.ap-counter{text-align:center;flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.ap-counter__value{font-family:var(--ap-font-title);letter-spacing:-.03em;margin:0;font-size:4.5rem;font-weight:700;line-height:1.05}.ap-qor{--ga:#ffb454;flex-direction:column;gap:.6rem;display:flex}.ap-qor__boardwrap{aspect-ratio:1;box-shadow:0 16px 38px -14px #000000bf, 0 0 30px -10px color-mix(in srgb, var(--ga) 30%, transparent);background:radial-gradient(120% 90% at 50% 8%,#ffbe781f,#0000 62%),linear-gradient(160deg,#22170f,#120c09);border:1px solid #ffc88c24;border-radius:16px;padding:.45rem}.ap-qor__board{touch-action:manipulation;width:100%;height:100%;transition:transform .3s var(--ap-ease-out);display:block}.ap-qor__cell{stroke:#32190880;stroke-width:1px}.ap-qor__grain,.ap-qor__bevel,.ap-qor__bed,.ap-qor__traces{pointer-events:none}.ap-qor__bevel{fill:none;stroke:#fff5dc4d;stroke-width:1px}.ap-qor__trace{animation:ap-qor-trace .42s var(--ap-ease-out)}.ap-qor__trace-line{stroke:var(--tc,var(--ga));stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 7;opacity:.85}.ap-qor__trace-print{fill:color-mix(in srgb, var(--tc,var(--ga)) 18%, transparent);stroke:var(--tc,var(--ga));stroke-width:2px;stroke-dasharray:3 4;opacity:.75}@keyframes ap-qor-trace{0%{opacity:0}to{opacity:1}}.ap-qor__goal{opacity:.6;filter:drop-shadow(0 0 4px var(--gc,transparent));animation:1.6s ease-in-out infinite alternate ap-qor-goal}@keyframes ap-qor-goal{0%{opacity:.4}to{opacity:.8}}.ap-qor__zones{pointer-events:none}.ap-qor__zones--on{pointer-events:auto}.ap-qor__zone{fill:#0000;cursor:pointer;transition:fill var(--ap-t-fast) var(--ap-ease-out)}.ap-qor__rail{fill:#0000;pointer-events:none;transition:fill var(--ap-t-fast) var(--ap-ease-out)}.ap-qor__zones--on .ap-qor__rail{fill:color-mix(in srgb, var(--ga) 40%, transparent)}@media (hover:hover) and (pointer:fine){.ap-qor__zones--on .ap-qor__zone:hover{fill:color-mix(in srgb, var(--ga) 24%, transparent)}}.ap-qor__wall{filter:drop-shadow(0 3px 2px #000000a6)}.ap-qor__wall-body{stroke:#0c1018d9;stroke-width:1.3px}.ap-qor__wall-edge{fill:#fff9}.ap-qor__wall--last{filter:drop-shadow(0 3px 2px #000000a6) drop-shadow(0 0 6px var(--lc,var(--ga)))}.ap-qor__wall--new{animation:ap-qor-drop .24s var(--ap-ease-out);transform-box:fill-box;transform-origin:50%}@keyframes ap-qor-drop{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.ap-qor__preview{fill:#3ddc9761;stroke:var(--ap-ok);stroke-width:1.5px;filter:drop-shadow(0 0 4px #3ddc9799);pointer-events:none;animation:ap-qor-drop .24s var(--ap-ease-out);transform-box:fill-box;transform-origin:50%}.ap-qor__preview--bad{fill:#ff6b8159;stroke:var(--ap-danger);filter:drop-shadow(0 0 4px #ff6b8199)}.ap-qor__dot-hit{fill:#0000;cursor:pointer}.ap-qor__dot-ring{fill:#2814062e;stroke:var(--mc,var(--ga));stroke-width:3px;pointer-events:none;filter:drop-shadow(0 0 1.5px #1e0e04e6);animation:ap-qor-dot .9s var(--ap-ease-out) infinite alternate}.ap-qor__dot{fill:var(--mc,var(--ga));stroke:#fff;stroke-width:1.5px;opacity:.95;pointer-events:none;animation:ap-qor-dot .9s var(--ap-ease-out) infinite alternate}@keyframes ap-qor-dot{0%{opacity:.55}to{opacity:.95}}.ap-qor__pawn{transition:transform .3s var(--ap-ease-out), filter var(--ap-t-fast) var(--ap-ease-out);pointer-events:none;filter:drop-shadow(0 3px 3px #00000073)}.ap-qor__pawn--turn{filter:drop-shadow(0 3px 3px #00000073) drop-shadow(0 0 6px var(--pc,var(--ga)))}.ap-qor__pawn--win{filter:drop-shadow(0 3px 3px #00000073) drop-shadow(0 0 10px var(--pc,var(--ga)))}.ap-qor__pawn-base{fill:#2a170b;opacity:.85}.ap-qor__pawn-body{stroke:#1e0e04b3;stroke-width:1.5px}.ap-qor__pawn-groove{fill:none;stroke:#00000038;stroke-width:1.3px}.ap-qor__pawn-ring{fill:none;stroke:#fff;stroke-width:0;transition:stroke-width var(--ap-t-fast) var(--ap-ease-out)}.ap-qor__pawn--turn .ap-qor__pawn-ring{stroke-width:2.5px}.ap-qor__pawn--win .ap-qor__pawn-ring{stroke:var(--pc,var(--ga));stroke-width:3px}.ap-qor__pawn-shine{fill:#ffffff7a}.ap-qor__pawn-in--shake{animation:ap-qor-shake .26s var(--ap-ease-out)}@keyframes ap-qor-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.ap-qor__pips{align-items:center;gap:2px;display:flex}.ap-qor__pip{background:var(--pc,var(--ap-muted));border-radius:1.5px;width:3px;height:9px}.ap-qor__hint--warn{color:var(--ap-danger)}.ap-qor .ap-composer .ap-btn--primary{flex:1}.ap-swatch--static{pointer-events:none;cursor:default;flex:none;align-self:center}.ap-namegrid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.4rem;display:grid}.ap-namerow{align-items:center;gap:.5rem;display:flex}.ap-namerow .ap-input{flex:1;min-width:0}.ap-qor__wall,.ap-qor__goal{pointer-events:none}.ap-serp{--ga:#f07a4a;flex-direction:column;align-items:center;gap:.6rem;display:flex}.ap-serp__stage{position:relative}.ap-serp__canvas{aspect-ratio:21/27;background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--ga) 9%, transparent), transparent 68%), var(--ap-surface);border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;outline-offset:2px;width:100%;display:block;box-shadow:0 14px 34px -16px #000000b3}.ap-serp__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-serp__clock{font-family:var(--ap-mono);border:1px solid var(--ap-border);pointer-events:none;background:#0f14199e;border-radius:999px;padding:.08rem .55rem;font-size:.78rem;font-weight:700;position:absolute;top:6px;left:50%;transform:translate(-50%)}.ap-serp__clock--low{color:var(--ap-danger);border-color:var(--ap-danger)}.ap-jnb{--ga:#ffd43b;flex-direction:column;align-items:center;gap:.6rem;display:flex}.ap-jnb__hud{background:var(--ap-surface);border:1px solid var(--ap-border);width:min(100%,24rem);transition:border-color var(--ap-t-fast) var(--ap-ease-out);border-radius:999px;justify-content:space-between;align-items:center;gap:.6rem;padding:.3rem .7rem;font-size:.82rem;font-weight:600;display:flex}.ap-jnb__goal{text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb, var(--ga) 80%, #fff);overflow:hidden}.ap-jnb__clock{font-family:var(--ap-mono);font-weight:700}.ap-jnb__hud--late{border-color:var(--ap-danger)}.ap-jnb__hud--late .ap-jnb__clock{color:var(--ap-danger)}.ap-jnb__canvas{aspect-ratio:100/140;background:var(--ap-surface);border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;outline-offset:2px;width:100%}.ap-jnb__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-td{--ga:#3ddc97;flex-direction:column;align-items:center;gap:.35rem;display:flex}.ap-td__hud{align-items:center;gap:.3rem;width:100%;max-width:30rem;display:flex}.ap-td__stat{font-variant-numeric:tabular-nums;white-space:nowrap;background:linear-gradient(180deg, color-mix(in srgb, var(--ap-surface) 82%, #fff), var(--ap-surface));border:1px solid var(--ap-border);min-height:34px;transition:border-color var(--ap-t-fast) var(--ap-ease-out), color var(--ap-t-fast) var(--ap-ease-out);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 4px 10px -6px #000000b3}.ap-td__stat--wave{text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.ap-td__stat--gold{color:#ffd75e;border-color:#ffd75e59}.ap-td__stat--alert{color:#ffc2cd;border-color:color-mix(in srgb, var(--ap-danger) 70%, transparent);animation:1.1s ease-in-out infinite ap-td-alert}.ap-td__btn{white-space:nowrap;flex:none;min-width:34px;min-height:34px;padding:.15rem .55rem;font-size:.85rem;font-weight:800}.ap-td__ico{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.ap-td__ico--sm{width:.95em;height:.95em;margin:0 .15em 0 .1em}.ap-td__stat b{font-weight:800}@media (width<=26rem){.ap-td__wl{display:none}}.ap-td__stat--wave b{text-overflow:ellipsis;overflow:hidden}.ap-td__launch{align-items:center;gap:.25rem;display:inline-flex}.ap-td__opt span{align-items:center;gap:.1rem;display:inline-flex}.ap-td__opt .ap-td__ico{width:.9em;height:.9em;margin:0}.ap-td>.ap-chips .ap-chip__label:before{content:"";vertical-align:-.15em;background:radial-gradient(circle at 40% 35%,#fff6c8 0 12%,#ffd75e 14% 58%,#c99a2e 60% 70%,#9a6b12 72%);border-radius:50%;width:.95em;height:.95em;margin-right:.25em;display:inline-block}.ap-td__btn[aria-pressed=true]{color:#10241a;background:color-mix(in srgb, var(--ga) 80%, #fff);border-color:var(--ga)}.ap-td__launch:not(:disabled){color:#0e2f21;background:var(--ga);border-color:var(--ga);box-shadow:0 6px 18px -8px color-mix(in srgb, var(--ga) 70%, transparent)}@media (hover:hover) and (pointer:fine){.ap-td__launch:not(:disabled):hover{background:color-mix(in srgb, var(--ga) 88%, #fff);border-color:color-mix(in srgb, var(--ga) 88%, #fff)}}.ap-td>.ap-chips{gap:.3rem;width:100%;max-width:30rem;display:flex}.ap-td>.ap-chips .ap-chip{flex:1 1 0;gap:.3rem;min-width:0;min-height:30px;padding:.1rem .45rem;font-size:.78rem}.ap-td>.ap-chips .ap-chip__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ap-td>.ap-note{display:none}@media (aspect-ratio>=5/4){.ap-td>.ap-note{display:block}.ap-td__hud{flex-wrap:wrap}.ap-td__stat--wave{flex-basis:100%;order:-1}}.ap-td__board{border-radius:var(--ap-radius);background:#2f4a2a;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 16px 38px -18px #000000bf,0 0 0 1px #ffd75e38}.ap-td__canvas{border-radius:var(--ap-radius);cursor:pointer;touch-action:manipulation;width:100%;height:100%;display:block}.ap-td--nuit .ap-td__stat--wave{color:#eef2ff;background:linear-gradient(#262d63,#12163a);border-color:#cdd8ff59}.ap-td--nuit .ap-td__board{background:#0b1020;box-shadow:0 16px 38px -18px #000000bf,0 0 0 1px #cdd8ff4d}.ap-td__ring{pointer-events:none;position:absolute;inset:0}.ap-td__opt{color:#fff;pointer-events:auto;cursor:pointer;width:56px;height:56px;animation:ap-td-pop .16s var(--ap-ease-out) both;transition:transform var(--ap-t-fast) var(--ap-ease-out), border-color var(--ap-t-fast) var(--ap-ease-out);background:radial-gradient(circle at 35% 30%,#33404d,#151c23 75%);border:2px solid #bc9f47;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin:-28px 0 0 -28px;padding:0;font-size:.68rem;font-weight:800;line-height:1;display:flex;position:absolute;box-shadow:inset 0 1px #ffffff2e,0 0 0 2px #0f0c198c,0 8px 16px -4px #000000bf}.ap-td__opt svg{width:30px;height:30px;margin-bottom:1px}.ap-td__opt:active{transform:scale(.94)}.ap-td__opt:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.55}.ap-td__opt[aria-pressed=true]{border-color:var(--ga);box-shadow:0 0 0 3px color-mix(in srgb, var(--ga) 45%, transparent), 0 0 18px -2px color-mix(in srgb, var(--ga) 75%, transparent);transform:scale(1.1)}.ap-td__opt--close{background:#0f1419e0;width:34px;height:34px;margin:-17px 0 0 -17px;font-size:.95rem}.ap-td__opt--sell{background:radial-gradient(circle at 35% 30%,#5a3240,#2a1620 75%)}.ap-td__opt--up{background:radial-gradient(circle at 35% 30%,#2f5a45,#15291f 75%)}.ap-td__card{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#fff6dc;pointer-events:none;max-width:92%;animation:ap-td-fade .16s var(--ap-ease-out) both;background:linear-gradient(#203628f0,#0e1c14f0);border:1px solid #ffd75e8c;border-radius:10px;padding:.3rem .6rem;font-size:.78rem;font-weight:700;line-height:1.25;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 18px -8px #000c}.ap-td__card small{opacity:.8;font-weight:600;display:block}.ap-td__avalanche{background:radial-gradient(circle, #e9f5ff 0 54%, transparent 56%), conic-gradient(#8fd3ff calc(var(--p,0) * 360deg), #ffffff26 0);cursor:pointer;width:52px;height:52px;transition:transform var(--ap-t-fast) var(--ap-ease-out);border:2px solid #81784e;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;display:grid;position:absolute;bottom:8px;left:8px;box-shadow:0 0 0 2px #0a14288c,0 6px 16px -6px #000c}.ap-td__avalanche svg{width:34px;height:34px}.ap-td__avalanche:disabled{cursor:not-allowed;filter:saturate(.4)brightness(.8)}.ap-td__avalanche--ready{animation:1.4s ease-in-out infinite ap-td-ready}.ap-td__avalanche:active:not(:disabled){transform:scale(.94)}@keyframes ap-td-pop{0%{opacity:0;transform:scale(.95)}}@keyframes ap-td-fade{0%{opacity:0}}@keyframes ap-td-ready{0%,to{box-shadow:0 6px 16px -6px #000c,0 0 #8fd3ff00}50%{box-shadow:0 6px 16px -6px #000c,0 0 16px 3px #8fd3ffbf}}@keyframes ap-td-alert{0%,to{box-shadow:0 0 #ff6b8100}50%{box-shadow:0 0 12px 1px #ff6b8173}}.ap-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ap-home{gap:.6rem}@media (width>=769px){.ap-app.ap-home{max-width:46rem}}.ap-hero{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.ap-hero__brand{align-items:baseline;gap:.4rem;display:inline-flex}.ap-hero__badge{align-self:center;font-size:1.3rem;line-height:1}.ap-hero__badge svg{display:block}.ap-hero__end{justify-self:end;align-items:center;gap:.5rem;display:inline-flex}.ap-install{white-space:nowrap;border-color:var(--ap-accent-soft);min-height:32px;padding:0 .6rem;font-size:.75rem}.ap-hero__version{font-family:var(--ap-mono);color:var(--ap-muted);justify-self:end;font-size:.68rem}.ap-hero__sub{text-align:center;margin:0;font-size:.8rem}.ap-hero .ap-logo{font-size:1.6rem}.ap-idbar{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.ap-idbar__name{flex:8rem;min-width:0;min-height:40px}.ap-swatch--sm{border-width:2px;width:30px;height:30px;position:relative}.ap-swatch--sm:after{content:"";position:absolute;inset:-7px}.ap-sechead{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.ap-sechead__count{color:var(--ap-muted);font-size:.72rem;font-weight:600}.ap-segs{flex-wrap:wrap;gap:.4rem;display:flex}.ap-seg{min-height:40px;font:inherit;color:var(--ap-muted);background:var(--ap-surface);border:1px solid var(--ap-border);cursor:pointer;transition:color var(--ap-t-fast) var(--ap-ease-out), border-color var(--ap-t-fast) var(--ap-ease-out), background-color var(--ap-t-fast) var(--ap-ease-out);border-radius:999px;padding:0 .7rem;font-size:.82rem;font-weight:600}.ap-seg[aria-checked=true]{color:#fff;background:color-mix(in srgb, var(--ap-accent) 26%, var(--ap-surface));border-color:var(--ap-accent-soft)}.ap-seg:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:2px}.ap-segs__help{min-height:1.1rem;line-height:1.35}.ap-setup{gap:.6rem}.ap-gbanner{--ga:var(--ap-accent-soft);background:color-mix(in srgb, var(--ga) 10%, var(--ap-surface));border:1px solid color-mix(in srgb, var(--ga) 45%, transparent);border-radius:var(--ap-radius);box-shadow:0 8px 26px -14px color-mix(in srgb, var(--ga) 65%, transparent);align-items:center;gap:.7rem;padding:.6rem .7rem;display:flex;position:relative}.ap-gbanner__icon{background:color-mix(in srgb, var(--ga) 16%, transparent);border:1px solid color-mix(in srgb, var(--ga) 32%, transparent);width:44px;height:44px;color:color-mix(in srgb, var(--ga) 85%, #fff);image-rendering:pixelated;border-radius:8px;flex:none;place-items:center;display:grid}.ap-gbanner__icon svg{width:28px;height:28px}.ap-gbanner__body{flex-direction:column;gap:.05rem;min-width:0;display:flex}.ap-gbanner__name{font-family:var(--ap-font-title);font-size:1rem;font-weight:700;line-height:1.2}.ap-gbanner__tag{color:var(--ap-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.ap-gbanner__note{color:var(--ap-muted);font-size:.7rem}.ap-gbanner__meta{letter-spacing:.02em;color:color-mix(in srgb, var(--ga) 80%, #fff);font-size:.7rem;font-weight:600}.ap-gbanner__chev{color:color-mix(in srgb, var(--ga) 85%, #fff);margin-left:auto;padding-left:.3rem;font-size:1.1rem}.ap-gbanner__select{opacity:0;width:100%;height:100%;font:inherit;cursor:pointer;position:absolute;inset:0}.ap-gbanner--pick:focus-within{outline:2px solid var(--ap-accent-soft);outline-offset:2px}.ap-preview{--ga:var(--ap-accent-soft);border-radius:var(--ap-radius);background:radial-gradient(120% 120% at 50% 100%, color-mix(in srgb, var(--ga) 16%, transparent), transparent 68%), var(--ap-surface);border:1px solid color-mix(in srgb, var(--ga) 22%, transparent);flex:1;place-items:center;min-height:6rem;max-height:16rem;margin-block:auto;display:grid;position:relative;overflow:hidden}.ap-preview__icon{width:84px;height:84px;color:color-mix(in srgb, var(--ga) 88%, #fff);place-items:center;animation:5.5s ease-in-out infinite ap-float;display:grid}.ap-preview__icon svg{width:100%;height:100%;filter:drop-shadow(0 6px 18px color-mix(in srgb, var(--ga) 45%, transparent))}.ap-preview:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--ga) 26%, transparent), transparent 68%);border-radius:50%;width:9rem;height:9rem;animation:5.5s ease-in-out infinite ap-breathe;position:absolute}.ap-preview__icon{z-index:1;position:relative}@keyframes ap-float{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}@keyframes ap-breathe{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.ap-tile[aria-checked=true] .ap-tile__icon{animation:4.5s ease-in-out infinite ap-breathe}.ap-input--slim{min-height:40px}.ap-peer__state{color:var(--ap-muted);flex:none;font-size:.72rem;font-weight:600}.ap-peer__state--ready{color:var(--ap-ok)}.ap-launch__status{min-height:1.1rem;margin:0}.ap-launch{z-index:2;padding:.55rem 1rem max(.55rem, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--ap-bg) 88%, transparent);backdrop-filter:blur(8px);border-top:1px solid var(--ap-border);flex-direction:column;order:1;gap:.5rem;margin:auto -1rem 0;display:flex;position:sticky;bottom:0}.ap-launch .ap-composer .ap-btn{flex:1}.ap-launch__pick{--ga:var(--ap-accent-soft);min-width:0;color:var(--ap-muted);align-items:baseline;gap:.4rem;margin:0;font-size:.78rem;display:flex}.ap-launch__name{font-family:var(--ap-font-title);color:color-mix(in srgb, var(--ga) 82%, #fff);flex:none;font-size:.9rem}.ap-launch__tag--stats{font-family:var(--ap-mono);font-size:.72rem}.ap-launch__tag{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ap-logo{font-family:var(--ap-font-title);letter-spacing:-.03em;text-align:center;color:#fff;margin:0;font-size:2.5rem;font-weight:700;line-height:1.05}.ap-btn--primary{box-shadow:0 2px 16px #c44a2259}@media (hover:hover) and (pointer:fine){.ap-btn--primary:hover{box-shadow:0 6px 26px #c44a2280}}.ap-swatch[aria-checked=true]{box-shadow:0 0 0 3px #ffffff2e,0 0 16px #ffffff4d}.ap-roomhead{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);padding:.4rem .65rem}.ap-roomhead__quit{margin-left:auto}.ap-roomhead__title{font-family:var(--ap-font-title);font-size:1.05rem;font-weight:700}.ap-sitelink{min-height:44px;color:var(--ap-muted);transition:color var(--ap-t-fast) var(--ap-ease-out);align-self:flex-start;align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.ap-sitelink:hover{color:var(--ap-text)}}.ap-result{text-align:center;border-color:color-mix(in srgb, var(--ap-accent-soft) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ap-accent-soft) 40%, transparent), 0 12px 36px -12px #f07a4a73;align-items:center}.ap-result__emoji{animation:ap-result-pop .42s var(--ap-ease-out);margin:0;font-size:2.5rem;line-height:1.1}.ap-result__emoji svg{width:3.2rem;height:3.2rem;margin:0 auto;display:block}@keyframes ap-result-pop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}.ap-result .ap-composer{flex-wrap:wrap;justify-content:center}.ap-result{--ga:var(--ap-accent-soft);border-color:color-mix(in srgb, var(--ga) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ga) 42%, transparent), 0 12px 36px -12px color-mix(in srgb, var(--ga) 60%, transparent);gap:.55rem}.ap-series{background:var(--ap-surface-2);border-radius:var(--ap-radius);flex-direction:column;gap:.3rem;width:100%;padding:.5rem .6rem;display:flex}.ap-series__round{letter-spacing:.06em;text-transform:uppercase;color:var(--ap-muted);font-size:.72rem;font-weight:700}.ap-series__list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.ap-series__item{text-align:left;align-items:center;gap:.5rem;display:flex}.ap-series__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;overflow:hidden}.ap-series__score{font-family:var(--ap-mono);font-size:1rem}.ap-series__draws{color:var(--ap-muted);font-size:.72rem}.ap-result__record{color:#ffd43b;margin:0;font-size:.88rem;font-weight:700}.ap-result__stats{margin:0;font-size:.76rem}.ap-kbd{display:none}@media (width>=769px) and (pointer:fine){.ap-kbd{display:inline}}.ap-golf{--ga:#4ade80;flex-direction:column;flex:1;align-items:center;gap:.55rem;min-height:0;display:flex}.ap-golf__stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.ap-golf__canvas{aspect-ratio:120/160;background:var(--ap-surface);border:2px solid color-mix(in srgb, var(--ga) 38%, var(--ap-border));border-radius:var(--ap-radius);width:100%;box-shadow:0 14px 34px -18px color-mix(in srgb, var(--ga) 60%, transparent);touch-action:none;outline-offset:2px}.ap-golf__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-golf__clock--low{color:var(--ap-danger);font-weight:700;animation:.9s ease-in-out infinite alternate ap-golf-clock}@keyframes ap-golf-clock{0%{opacity:1}to{opacity:.6}}.ap-fc{flex-direction:column;flex:1;align-items:center;gap:.55rem;min-height:0;display:flex}.ap-fc__hud{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1.1rem;width:100%;display:flex}.ap-fc__stat{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.ap-fc__stat--score{color:#b8f04e}.ap-fc__progress{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:999px;width:min(100%,24rem);height:5px;overflow:hidden}.ap-fc__progress-fill{transform-origin:0;width:100%;height:100%;transition:transform .25s var(--ap-ease-out);background:linear-gradient(90deg,#86c93f,#b8f04e);border-radius:999px;transform:scaleX(0);box-shadow:0 0 8px #b8f04e80}.ap-fc__stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.ap-fc__canvas{aspect-ratio:12/17;background:var(--ap-surface);border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;width:100%;box-shadow:0 0 26px #b8f04e0f}.ap-ms{--ga:#f28c50;flex-direction:column;flex:1;align-items:center;gap:.55rem;min-height:0;display:flex}.ap-ms__levels{justify-content:center;gap:.3rem}.ap-ms__levels[hidden]{display:none}.ap-ms__levels .ap-seg{min-height:44px;padding:0 .7rem;font-size:.78rem}.ap-ms__levels .ap-seg[aria-checked=true]{background:color-mix(in srgb, var(--ga) 24%, var(--ap-surface));border-color:color-mix(in srgb, var(--ga) 65%, transparent);color:#fff}.ap-ms .ap-chip{border-color:color-mix(in srgb, var(--ga) 22%, var(--ap-border))}.ap-ms__stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.ap-ms__canvas{aspect-ratio:100/140;background:var(--ap-surface);border:2px solid color-mix(in srgb, var(--ga) 30%, var(--ap-border));border-radius:var(--ap-radius);width:100%;box-shadow:0 12px 32px -16px color-mix(in srgb, var(--ga) 55%, transparent);touch-action:none;outline-offset:2px}.ap-ms__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-lc{--ga:#ff5252;flex-direction:column;flex:1;align-items:center;gap:.55rem;min-height:0;display:flex}.ap-lc__stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.ap-lc__canvas{aspect-ratio:100/140;background:var(--ap-surface);border:2px solid color-mix(in srgb, var(--ga) 34%, var(--ap-border));border-radius:var(--ap-radius);width:100%;box-shadow:0 12px 32px -16px #000000b3, 0 0 22px -8px color-mix(in srgb, var(--ga) 30%, transparent);touch-action:none;outline-offset:2px}.ap-lc__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-bq{flex-direction:column;flex:1;align-items:center;gap:.55rem;min-height:0;display:flex}.ap-bq__stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.ap-bq__canvas{aspect-ratio:100/140;border:2px solid color-mix(in srgb, var(--ga,#67e8f9) 34%, var(--ap-border));border-radius:var(--ap-radius);width:100%;box-shadow:0 14px 34px -14px #000000bf, 0 0 26px -6px color-mix(in srgb, var(--ga,#67e8f9) 22%, transparent);touch-action:none;cursor:crosshair;outline-offset:2px;background:linear-gradient(#0c1834,#0a142c 35%,#040914)}.ap-bq__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-bq>.ap-note{max-width:26rem}.ap-ah{flex-direction:column;flex:1;align-items:center;gap:.55rem;min-height:0;display:flex}.ap-ah__stage{background:radial-gradient(58% 46% at 50% 46%,#f7258514,#0000 72%);flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.ap-ah__canvas{background:var(--ap-surface);border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;cursor:grab;outline-offset:2px;width:100%;box-shadow:0 18px 42px -18px #000000b3,0 0 26px -8px #f7258573}.ap-ah__canvas:active{cursor:grabbing}.ap-ah__canvas:focus-visible{outline:2px solid var(--ap-accent-soft)}.ap-ah__clock{z-index:1;font-family:var(--ap-mono);color:var(--ap-muted);background:color-mix(in srgb, var(--ap-surface) 88%, transparent);border:1px solid var(--ap-border);pointer-events:none;transition:color var(--ap-t-fast) var(--ap-ease-out), border-color var(--ap-t-fast) var(--ap-ease-out);border-radius:999px;margin:0;padding:.12rem .6rem;font-size:.78rem;position:absolute;top:.35rem;left:50%;transform:translate(-50%)}.ap-ah__clock--late{color:var(--ap-danger);border-color:color-mix(in srgb, var(--ap-danger) 55%, transparent)}.ap-ah>.ap-note{max-width:26rem}@media (width>=769px){.ap-app{max-width:58rem;padding:2rem 1.5rem}.ap-app.ap-playing:has(.ap-td){max-width:160rem}.ap-launch{margin-inline:-1.5rem;padding-inline:1.5rem}}.ap-cc{flex-direction:column;flex:1;align-items:center;gap:.5rem;min-height:0;display:flex}.ap-cc__line{font-variant-numeric:tabular-nums;margin:0}.ap-cc__line--late{color:#ff8a95}.ap-cc__stage{background:radial-gradient(58% 46% at 50% 46%,#2dd4bf17,#0000 72%);flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.ap-cc__canvas{background:var(--ap-surface);border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;outline-offset:2px;width:100%;box-shadow:0 18px 42px -18px #000000b3,0 0 26px -8px #2dd4bf73}.ap-cc__canvas:focus-visible{outline:2px solid #2dd4bf}.ap-cc__tilt[hidden]{display:none}.ap-tr{flex-direction:column;flex:1;align-items:center;gap:.5rem;min-height:0;display:flex}.ap-tr__stage{background:radial-gradient(58% 46% at 50% 46%,#e879f917,#0000 72%);flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.ap-tr__canvas{border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;outline-offset:2px;background:#6fb24f;width:100%;box-shadow:0 18px 42px -18px #000000b3,0 0 26px -8px #e879f973}.ap-tr__canvas:focus-visible{outline:2px solid #e879f9}.ap-cd{flex-direction:column;flex:1;align-items:center;gap:.5rem;min-height:0;display:flex}.ap-cd__line{font-variant-numeric:tabular-nums;margin:0}.ap-cd__stage{background:radial-gradient(58% 46% at 50% 46%,#4f8cff17,#0000 72%);flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.ap-cd__canvas{border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;outline-offset:2px;background:#7a8fd1;width:100%;box-shadow:0 18px 42px -18px #000000b3,0 0 26px -8px #4f8cff73}.ap-cd__canvas:focus-visible{outline:2px solid #4f8cff}.ap-pt{flex-direction:column;flex:1;align-items:center;gap:.5rem;min-height:0;display:flex}.ap-pt__line{font-variant-numeric:tabular-nums;margin:0}.ap-pt__stage{background:radial-gradient(58% 46% at 50% 46%,#ff7a1a17,#0000 72%);flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.ap-pt__canvas{border:2px solid var(--ap-border);border-radius:var(--ap-radius);touch-action:none;outline-offset:2px;background:#110c1b;width:100%;box-shadow:0 18px 42px -18px #000000b3,0 0 26px -8px #ff7a1a73}.ap-pt__canvas:focus-visible{outline:2px solid #ff7a1a}.ap-joincard{width:100%;min-height:56px;font:inherit;text-align:left;color:var(--ap-text);background:linear-gradient(100deg, color-mix(in srgb, var(--ap-accent) 16%, var(--ap-surface)), var(--ap-surface) 70%);border:1px solid color-mix(in srgb, var(--ap-accent-soft) 45%, var(--ap-border));border-radius:var(--ap-radius);cursor:pointer;transition:border-color var(--ap-t-fast) var(--ap-ease-out), transform var(--ap-t-fast) var(--ap-ease-out);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.6rem .85rem;display:grid}@media (hover:hover) and (pointer:fine){.ap-joincard:hover{border-color:var(--ap-accent-soft)}}.ap-joincard:active{transform:scale(.99)}.ap-joincard:focus-visible{outline:2px solid var(--ap-accent-soft);outline-offset:2px}.ap-joincard__icon{width:2.6rem;height:2.6rem;color:var(--ap-accent-soft);background:color-mix(in srgb, var(--ap-accent) 18%, transparent);border-radius:8px;place-items:center;display:grid}.ap-joincard__text{flex-direction:column;min-width:0;display:flex}.ap-joincard__title{font-family:var(--ap-font-title);font-size:1rem;line-height:1.25}.ap-joincard__sub{color:var(--ap-muted);font-size:.8rem;line-height:1.35}.ap-joincard__chev{color:var(--ap-muted);font-size:1.6rem;line-height:1}.ap-seats{grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.4rem;max-width:30rem;margin:0;padding:0;list-style:none;display:grid}.ap-seat{--pc:var(--ap-accent-soft);text-align:center;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius);flex-direction:column;align-items:center;gap:.15rem;min-width:0;padding:.4rem .25rem .35rem;display:flex}.ap-seat__avatar{width:2.1rem;height:2.1rem;font-family:var(--ap-font-title);color:#0f1419;background:var(--pc);box-shadow:0 0 0 3px color-mix(in srgb, var(--pc) 25%, transparent);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:800;display:grid}.ap-seat__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.82rem;font-weight:600;line-height:1.3;overflow:hidden}.ap-seat__tag{color:var(--ap-muted);font-size:.68rem;line-height:1.2}.ap-seat--free{background:0 0;border-style:dashed}.ap-seat--free .ap-seat__avatar{color:var(--ap-muted);border:2px dashed var(--ap-border);box-shadow:none;background:0 0;font-size:1.3rem;font-weight:400}.ap-seat--free .ap-seat__name{color:var(--ap-muted);font-weight:500}.ap-seat--off{opacity:.55}.ap-seat--new{animation:ap-seat-in .42s var(--ap-ease-out) both}@keyframes ap-seat-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.ap-gbanner--compact{padding-block:.35rem}.ap-gbanner--compact .ap-gbanner__tag,.ap-gbanner--compact .ap-gbanner__note{display:none}.ap-gbanner--compact .ap-gbanner__icon{width:36px;height:36px}@media (width>=34rem){.ap-seats{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));max-width:40rem}}@media (width<=33.99rem){.ap-invite .ap-sig__show:not(:empty) .ap-qr svg{max-width:13rem}}.ap-gbanner--compact.ap-gbanner--pick .ap-gbanner__chev:before{content:"Changer ";font-size:.78rem;font-weight:600}.ap-invite:not(:empty)~.ap-preview{display:none}.ap-sig__prompt{align-items:center;gap:.5rem;display:flex}.ap-step{color:#fff;background:var(--ap-accent);border-radius:50%;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:.8rem;font-weight:800;display:grid}.ap-bots:empty{display:none}@media (prefers-reduced-motion:reduce){.ap-body *,.ap-body :before,.ap-body :after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.ap-golf__clock--low{opacity:1;animation:none!important}}@media (forced-colors:active){.ap-body [aria-checked=true],.ap-body [aria-pressed=true]{outline-offset:2px;outline:2px solid highlight}.ap-swatch,.ap-peer__dot,.ap-seat__avatar,.ap-qr{forced-color-adjust:none}}
