:root{--pt-cream: #faf3e4;--pt-cream-2: #f0e3c8;--pt-cream-3: #e6d5b4;--pt-ink: #1f3050;--pt-ink-soft: #4a5c78;--pt-ink-faint: #8493a8;--pt-blue: #4a86c4;--pt-blue-deep: #2f5f96;--pt-teal: #5fc8d2;--pt-red: #d0553f;--pt-gold: #ffd447;--pt-wood: #8a5c3b;--pt-r-sm: 12px;--pt-r-md: 18px;--pt-r-lg: 26px;--pt-r-xl: 34px;--pt-shadow-lift: 0 2px 0 rgba(31, 48, 80, .16), 0 10px 28px rgba(20, 32, 54, .26), 0 32px 64px rgba(15, 24, 42, .22);--pt-shadow-soft: 0 6px 20px rgba(20, 32, 54, .18);--pt-spring: cubic-bezier(.22, 1.16, .34, 1);--pt-ease: cubic-bezier(.4, 0, .2, 1);--pt-font: ui-rounded, "SF Pro Rounded", "Nunito", "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif}.pt-ui{position:fixed;inset:0;z-index:40;pointer-events:none;font-family:var(--pt-font);color:var(--pt-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;user-select:none;-webkit-user-select:none}.pt-ui *{box-sizing:border-box}.pt-crosshair{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;display:grid;place-items:center;opacity:0;transition:opacity .38s var(--pt-ease)}.pt-crosshair.is-on{opacity:1}.pt-crosshair i{display:block;width:6px;height:6px;border-radius:50%;background:#faf3e4eb;box-shadow:0 0 0 1.5px #1f305057,0 1px 4px #0f182a73;transition:transform .32s var(--pt-spring),background .32s var(--pt-ease),box-shadow .32s var(--pt-ease)}.pt-crosshair.is-focus i{transform:scale(1.85);background:var(--pt-gold);box-shadow:0 0 0 2px #1f305066,0 0 14px 3px #ffd44780}.pt-prompt{position:absolute;left:50%;bottom:clamp(84px,13vh,150px);transform:translate(-50%,16px) scale(.94);display:flex;align-items:center;gap:12px;padding:10px 20px 10px 12px;border-radius:999px;background:linear-gradient(180deg,#faf3e4f7,#f0e3c8f7);box-shadow:var(--pt-shadow-lift);opacity:0;visibility:hidden;transition:opacity .22s var(--pt-ease),transform .38s var(--pt-spring),visibility 0s linear .24s;white-space:nowrap}.pt-prompt.is-on{opacity:1;visibility:visible;transform:translate(-50%) scale(1);transition:opacity .2s var(--pt-ease),transform .46s var(--pt-spring),visibility 0s linear 0s}.pt-prompt__label{font-size:clamp(15px,1.15vw,19px);font-weight:700;letter-spacing:.01em;color:var(--pt-ink)}.pt-hint{position:absolute;left:50%;bottom:clamp(140px,20vh,220px);transform:translate(-50%,10px);max-width:min(520px,84vw);padding:10px 20px;border-radius:999px;background:linear-gradient(180deg,#faf3e4f5,#f0e3c8f5);box-shadow:var(--pt-shadow-soft);font-size:clamp(12px,.95vw,15px);font-weight:700;letter-spacing:.01em;color:var(--pt-ink-soft);text-align:center;opacity:0;visibility:hidden;transition:opacity .26s var(--pt-ease),transform .42s var(--pt-spring),visibility 0s linear .28s}.pt-hint.is-on{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity .24s var(--pt-ease),transform .46s var(--pt-spring),visibility 0s linear 0s}.pt-key{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:11px;background:linear-gradient(180deg,#fff,#f3ead6);box-shadow:inset 0 1px #ffffffe6,0 3px 0 var(--pt-cream-3),0 4px 8px #1f305033;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--pt-ink);text-transform:uppercase}.pt-key--wide{min-width:62px}.pt-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:5vh 4vw;opacity:1;transition:opacity .62s var(--pt-ease)}.pt-overlay.is-hidden{opacity:0;pointer-events:none}.pt-overlay.is-gone{display:none}.pt-loading{background:radial-gradient(120% 90% at 50% 12%,#7fb6e4,#4a86c4 42%,#24446e);z-index:3}.pt-loading:after{content:"";position:absolute;inset:0;background:radial-gradient(46vw 40vh at 50% 6%,#fff3d66b,#fff3d600 70%),radial-gradient(120% 100% at 50% 50%,#10223c00 46%,#0e1c326b);pointer-events:none}.pt-loading__inner{position:relative;z-index:1;width:min(560px,82vw);text-align:center}.pt-mark{width:clamp(66px,6vw,86px);height:clamp(66px,6vw,86px);margin:0 auto clamp(18px,2.6vh,30px);border-radius:50%;background:linear-gradient(180deg,var(--pt-red) 0% 47%,var(--pt-cream) 53% 100%);box-shadow:inset 0 -3px #1f30501f,0 10px 24px #0f182a52;position:relative;animation:pt-bob 3.6s var(--pt-ease) infinite}.pt-mark:before{content:"";position:absolute;inset:47% 0;background:#1f30508c;border-radius:2px}.pt-mark:after{content:"";position:absolute;left:50%;top:50%;width:26%;height:26%;transform:translate(-50%,-50%);border-radius:50%;background:var(--pt-cream);box-shadow:0 0 0 3px #1f30508c}@keyframes pt-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(4deg)}}.pt-title{margin:0;font-size:clamp(38px,4.4vw,66px);font-weight:800;letter-spacing:.13em;line-height:1.05;color:var(--pt-cream);text-shadow:0 2px 0 rgba(31,48,80,.22),0 12px 30px rgba(15,24,42,.4)}.pt-subtitle{margin:10px 0 0;font-size:clamp(12px,1.05vw,15px);font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#faf3e4bd}.pt-bar{position:relative;margin:clamp(26px,4vh,44px) auto 0;width:100%;height:14px;border-radius:999px;background:#14223a57;box-shadow:inset 0 2px 5px #0f182a6b,0 1px #ffffff24;overflow:hidden}.pt-bar__fill{position:absolute;inset:2px;width:0;min-width:10px;border-radius:999px;background:linear-gradient(90deg,var(--pt-teal),#b6ee8f 55%,var(--pt-gold));box-shadow:0 0 14px #ffd44773}.pt-bar__fill:after{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(100deg,#fff0 20%,#ffffff8c,#fff0 80%);background-size:220% 100%;animation:pt-sheen 1.7s linear infinite}@keyframes pt-sheen{0%{background-position:140% 0}to{background-position:-60% 0}}.pt-loading__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:14px;color:#faf3e4eb}.pt-loading__step{font-size:clamp(13px,1.05vw,16px);font-weight:600;letter-spacing:.02em;opacity:.9}.pt-loading__pct{font-size:clamp(13px,1.05vw,16px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.04em}.pt-start{z-index:2;background:radial-gradient(90% 70% at 50% 45%,#101e3457,#0c16289e);backdrop-filter:blur(3px) saturate(1.08);-webkit-backdrop-filter:blur(3px) saturate(1.08);pointer-events:auto;cursor:pointer}.pt-card{width:min(660px,88vw);padding:clamp(26px,3.4vh,40px) clamp(28px,3vw,46px) clamp(24px,3vh,34px);border-radius:var(--pt-r-xl);background:linear-gradient(180deg,var(--pt-cream) 0%,var(--pt-cream-2) 100%);box-shadow:var(--pt-shadow-lift),inset 0 2px #ffffffd9,inset 0 -3px #1f305014;text-align:center;transform:translateY(0) scale(1);transition:transform .52s var(--pt-spring),opacity .38s var(--pt-ease)}.pt-overlay.is-hidden .pt-card{transform:translateY(14px) scale(.965)}.pt-card__eyebrow{font-size:clamp(10px,.82vw,12px);font-weight:800;letter-spacing:.4em;text-transform:uppercase;color:var(--pt-ink-faint)}.pt-card__title{margin:8px 0 0;font-size:clamp(30px,3.2vw,46px);font-weight:800;letter-spacing:.1em;color:var(--pt-ink);text-shadow:0 2px 0 rgba(255,255,255,.7)}.pt-card__rule{width:74px;height:4px;margin:16px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--pt-red),var(--pt-gold));opacity:.85}.pt-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:clamp(20px,2.6vh,30px) 0 0;text-align:left}.pt-legend__row{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--pt-r-md);background:#ffffff8c;box-shadow:inset 0 0 0 1.5px #1f30500f;min-width:0}.pt-legend__keys{display:flex;gap:4px;flex:none}.pt-legend__keys .pt-key{min-width:28px;height:28px;padding:0 8px;border-radius:9px;font-size:11px;box-shadow:inset 0 1px #ffffffe6,0 2px 0 var(--pt-cream-3),0 3px 6px #1f305029}.pt-legend__text{font-size:clamp(12px,.92vw,14px);font-weight:700;color:var(--pt-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-cta{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(20px,2.8vh,32px);padding:15px 34px;border:0;border-radius:999px;font-family:inherit;font-size:clamp(15px,1.2vw,19px);font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--pt-cream);background:linear-gradient(180deg,#5d99d4 0%,var(--pt-blue) 55%,var(--pt-blue-deep) 100%);box-shadow:0 4px #23496f,0 12px 26px #14284666,inset 0 1px #ffffff73;cursor:pointer;pointer-events:auto;animation:pt-pulse 2.6s var(--pt-ease) infinite;transition:transform .22s var(--pt-spring),box-shadow .22s var(--pt-ease)}.pt-cta:hover{transform:translateY(-2px);box-shadow:0 6px #23496f,0 16px 32px #14284673,inset 0 1px #ffffff73}.pt-cta:active{transform:translateY(2px);box-shadow:0 2px #23496f,0 8px 18px #14284666}@keyframes pt-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}.pt-card__foot{margin:14px 0 0;font-size:clamp(11px,.86vw,13px);font-weight:600;letter-spacing:.05em;color:var(--pt-ink-faint)}.pt-dialogue{position:absolute;left:50%;bottom:clamp(26px,4.4vh,54px);width:min(1080px,88vw);transform:translate(-50%,26px) scale(.985);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--pt-ease),transform .44s var(--pt-spring),visibility 0s linear .22s}.pt-dialogue.is-on{opacity:1;visibility:visible;transform:translate(-50%) scale(1);pointer-events:auto;cursor:pointer;transition:opacity .18s var(--pt-ease),transform .52s var(--pt-spring),visibility 0s linear 0s}.pt-name{display:inline-block;margin:0 0 -14px 26px;padding:8px 22px 16px;border-radius:var(--pt-r-md) var(--pt-r-md) 0 0;background:linear-gradient(180deg,#5d99d4,var(--pt-blue));box-shadow:0 -2px #ffffff47 inset,0 6px 16px #14284647;color:var(--pt-cream);font-size:clamp(13px,1.02vw,16px);font-weight:800;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:0}.pt-name.is-empty{display:none}.pt-dialogue__panel{position:relative;z-index:1;min-height:clamp(112px,15vh,158px);padding:clamp(20px,2.4vh,30px) clamp(26px,2.6vw,40px) clamp(24px,2.6vh,34px);border-radius:var(--pt-r-xl);background:linear-gradient(180deg,var(--pt-cream) 0%,var(--pt-cream-2) 100%);box-shadow:var(--pt-shadow-lift),inset 0 2px #ffffffe6,inset 0 -3px #1f305014,inset 0 0 0 3px #fff6}.pt-dialogue__text{margin:0;font-size:clamp(17px,1.5vw,25px);font-weight:600;line-height:1.5;letter-spacing:.005em;color:var(--pt-ink);min-height:1.5em;white-space:pre-wrap}.pt-caret{display:inline-block;width:.42em;margin-left:1px;color:var(--pt-blue);opacity:0}.pt-dialogue__next{position:absolute;right:clamp(20px,2vw,30px);bottom:clamp(14px,1.8vh,22px);display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(-2px);transition:opacity .26s var(--pt-ease)}.pt-dialogue__next.is-on{opacity:1;animation:pt-chev 1.15s var(--pt-ease) infinite}.pt-dialogue__next svg{width:20px;height:20px;fill:var(--pt-blue);filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.pt-dialogue__hint{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--pt-ink-faint)}@keyframes pt-chev{0%,to{transform:translateY(-3px)}50%{transform:translateY(2px)}}@media(max-width:620px){.pt-legend{grid-template-columns:minmax(0,1fr)}}@media(max-height:620px){.pt-legend{gap:7px 9px;margin-top:14px}.pt-cta{margin-top:16px;padding:11px 26px}}@media(prefers-reduced-motion:reduce){.pt-ui *,.pt-ui *:before,.pt-ui *:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
