.pt{--pt-bg:#06090f;--pt-card:#0e131c;--pt-card-2:#0b1017;--pt-line:#1f2733;--pt-line-soft:#1a212c;--pt-muted:#8b8778;--pt-body:#a8a396;--pt-radius:20px;--pt-ok:#3fb68b;background-color:var(--pt-bg);background-image:linear-gradient(color-mix(in srgb, var(--accent) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 7%, transparent) 1px, transparent 1px);background-size:72px 72px;min-height:100vh}.pt .nav-shell{border-bottom:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:#070b12e6}.pt .nav-row{box-sizing:border-box;gap:20px;min-height:68px;padding:12px 40px}.pt-live{border:1px solid var(--pt-line);height:30px;color:var(--text);white-space:nowrap;background:#0f141d;border-radius:15px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.pt-live-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:2s infinite pt-pulse}@keyframes pt-pulse{0%,to{opacity:1}50%{opacity:.35}}.pt .tabs{background:var(--pt-card-2);border:1px solid var(--pt-line-soft);border-radius:24px;gap:4px;padding:4px}.pt .tab{height:38px;font-family:var(--font-body);letter-spacing:0;text-transform:none;color:#b5b0a3;border-radius:19px;align-items:center;padding:0 16px;font-size:14px;display:inline-flex}.pt .tab:hover{color:var(--text);background:#ffffff08}.pt .tab.active{background:var(--accent);color:#0a0a0a;font-weight:700}.pt .tab.tab-judging{color:var(--accent);font-weight:600}.pt .tab.tab-judging.active{color:#0a0a0a}.pt .tab{white-space:nowrap}@media (max-width:1180px){.pt .nav-brand-sep,.pt .nav-brand-event{display:none}.pt .nav-row{gap:12px;padding:12px 20px}.pt .tab{padding:0 12px}}.pt-bottom{display:none}@media (max-width:860px){.pt .nav-row{flex-wrap:nowrap;min-height:60px;padding:10px 16px}.pt .tabs,.pt .nav-end .tag,.pt .nav-end .pt-hide-sm{display:none}.pt-live{height:28px;font-size:12px}.pt-live-label,.pt .nav-brand-sep,.pt .nav-brand-event{display:none}.pt .nav-brand,.pt .nav-end{min-width:0}.pt-bottom{z-index:40;height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:#070b12f5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.pt-bottom a{color:var(--pt-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;display:flex}.pt-bottom a.active{color:var(--accent);font-weight:600}.pt .main{padding-bottom:96px}.pt .dock{bottom:84px!important}}.pt-page{flex-direction:column;gap:28px;max-width:1240px;margin:0 auto;padding:40px 40px 80px;display:flex}.pt-page-narrow{max-width:880px}@media (max-width:860px){.pt-page{gap:18px;padding:20px 16px 40px}}.pt-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pt-muted);font-size:12px}.pt-eyebrow.accent{color:var(--accent)}.pt-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:48px;font-weight:800;line-height:1.05}.pt-h1 .accent{color:var(--accent)}.pt-h2{font-family:var(--font-display);margin:0;font-size:28px;font-weight:700;line-height:1.15}.pt-h3{font-family:var(--font-display);margin:0;font-size:20px;font-weight:700}.pt-lede{color:var(--pt-body);max-width:62ch;margin:0;font-size:16px;line-height:1.6}.pt-muted{color:var(--pt-muted)}@media (max-width:860px){.pt-h1{font-size:30px}.pt-h2{font-size:22px}}.pt-card{border-radius:var(--pt-radius);background:var(--pt-card);border:1px solid var(--pt-line);flex-direction:column;gap:18px;min-width:0;padding:28px;display:flex}.pt-card.soft{background:var(--pt-card-2);border-color:var(--pt-line-soft);border-radius:16px;gap:12px;padding:20px}.pt-card.accent{background:color-mix(in srgb, var(--accent) 10%, var(--pt-card));border-color:color-mix(in srgb, var(--accent) 45%, transparent)}a.pt-card{color:inherit;transition:border-color .12s,transform .12s}a.pt-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}@media (max-width:860px){.pt-card{gap:14px;padding:18px}}.pt-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pt-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pt-split{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px;display:grid}@media (max-width:1080px){.pt-split{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.pt-grid-2,.pt-grid-3{grid-template-columns:minmax(0,1fr)}}.pt-btn{cursor:pointer;background:var(--accent);color:#0a0a0a;height:48px;font:700 15px var(--font-body);white-space:nowrap;border:1px solid #0000;border-radius:24px;justify-content:center;align-items:center;gap:10px;padding:0 22px;transition:filter .1s,opacity .1s;display:inline-flex}.pt-btn:hover{filter:brightness(1.08)}.pt-btn.ghost{color:var(--text);background:0 0;border-color:#2c3540}.pt-btn.ghost:hover{border-color:var(--accent)}.pt-btn.sm{border-radius:18px;height:36px;padding:0 14px;font-size:13px}.pt-btn.lg{border-radius:26px;height:52px;padding:0 26px;font-size:16px}.pt-btn:disabled,.pt-btn[aria-disabled=true]{opacity:.6;cursor:default;filter:none}.pt-chip{background:color-mix(in srgb, var(--accent) 14%, transparent);height:28px;color:var(--accent);white-space:nowrap;border-radius:14px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.pt-chip.neutral{color:#cfcabd;border:1px solid var(--pt-line);background:#141a24}.pt-chip.ok{background:color-mix(in srgb, var(--pt-ok) 16%, transparent);color:var(--pt-ok)}.pt-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pt-divider{background:var(--pt-line-soft);border:0;height:1px;margin:0}.pt-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pt-list>li{border-top:1px solid var(--pt-line-soft);padding:14px 0}.pt-list>li:first-child{border-top:0;padding-top:0}.pt-code{font-family:var(--font-mono);color:#e6e1d3;border:1px solid var(--pt-line);white-space:pre;background:#070a10;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto}.pt-progress{z-index:100;pointer-events:none;background:var(--accent);height:3px;box-shadow:0 0 10px var(--accent);transition:width .2s,opacity .3s;position:fixed;top:0;left:0}.pt-progress.running{animation:8s cubic-bezier(.1,.7,.2,1) forwards pt-bar}@keyframes pt-bar{0%{width:0%}15%{width:45%}to{width:88%}}.pt-sk{background:linear-gradient(90deg,#11161f 0%,#1b2330 50%,#11161f 100%) 0 0/600px 100%;border-radius:8px;animation:1.4s linear infinite pt-shimmer}@keyframes pt-shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.pt-spin{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite pt-rot}@keyframes pt-rot{to{transform:rotate(360deg)}}.pt-toasts{z-index:90;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.pt-toast{pointer-events:auto;border:1px solid var(--pt-line);min-width:240px;max-width:380px;color:var(--text);background:#141a24;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;animation:.18s pt-in;display:flex;box-shadow:0 10px 30px #0006}.pt-toast.ok{border-color:color-mix(in srgb, var(--pt-ok) 50%, transparent)}.pt-toast.err{border-color:color-mix(in srgb, var(--error) 60%, transparent)}@keyframes pt-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:860px){.pt-toasts{bottom:90px;left:16px;right:16px}.pt-toast{max-width:none}}
