html{height:-webkit-fill-available}body{margin:0;padding:0}needle-engine{width:100%;height:100%;position:absolute;top:0;left:0}:root{--wine-900:#1a0509;--wine-800:#2b0b14;--wine-700:#4a0e1f;--wine-600:#5e1326;--gold:#c9a24a;--gold-bright:#e7c873;--gold-deep:#9c7a2e;--parchment:#f3e7c9;--parchment-edge:#e3d2a6;--ink:#3a2a16;--ink-soft:#5b4527;--text:#f6ecd8;--text-dim:#cdb389;--font-display:"Cinzel", Georgia, serif;--font-serif:"Cormorant Garamond", Georgia, serif}*{box-sizing:border-box}#ui-root{z-index:10;font-family:var(--font-serif);color:var(--text);-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow:hidden}.screen{padding:max(28px, env(safe-area-inset-top)) 22px max(28px, env(safe-area-inset-bottom));opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;align-items:center;transition:opacity .45s;display:flex;position:absolute;inset:0}.screen.is-active{opacity:1;visibility:visible;pointer-events:auto}.screen--panel{background:radial-gradient(120% 80% at 50% 0%, var(--wine-600) 0%, var(--wine-800) 45%, var(--wine-900) 100%);justify-content:center}.screen--panel:before{content:"";pointer-events:none;background:radial-gradient(1px 1px at 20% 18%,#e7c87380,#0000),radial-gradient(1px 1px at 78% 24%,#e7c87359,#0000),radial-gradient(1.5px 1.5px at 62% 12%,#e7c87366,#0000),radial-gradient(1px 1px at 34% 30%,#e7c8734d,#0000);position:absolute;inset:0}.badge{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000040;border:1px solid #c9a24a66;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:600;display:inline-flex}.badge svg{fill:currentColor;width:13px;height:13px}.portrait{object-fit:cover;border:2px solid var(--gold);background:radial-gradient(circle at 50% 35%, var(--wine-600), var(--wine-900));border-radius:50%;width:132px;height:132px;box-shadow:0 0 0 6px #c9a24a1f,0 0 38px #c9a24a59}.portrait--ring{place-items:center;display:grid;position:relative}.flourish{font-family:var(--font-display);color:var(--gold);letter-spacing:.3em;opacity:.85;font-size:13px}.btn-gold{appearance:none;cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;color:#2a1c06;background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:17px 26px;font-size:16px;font-weight:600;transition:transform .12s,filter .12s;display:inline-flex;box-shadow:0 8px 22px #00000059,inset 0 1px #ffffff80}.btn-gold:active{filter:brightness(.96);transform:translateY(1px)scale(.99)}.btn-gold svg{fill:currentColor;width:18px;height:18px}.btn-ghost{appearance:none;cursor:pointer;width:100%;font-family:var(--font-display);letter-spacing:.08em;color:var(--text-dim);background:0 0;border:none;border-radius:12px;padding:12px;font-size:13.5px}.btn-ghost:active{color:var(--gold-bright)}.btn-outline{appearance:none;cursor:pointer;width:100%;font-family:var(--font-display);letter-spacing:.06em;color:var(--gold-bright);background:#0003;border:1px solid #c9a24a8c;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:14.5px;display:inline-flex}.btn-outline:active{transform:translateY(1px)scale(.99)}.btn-outline svg{fill:currentColor;width:17px;height:17px}.ar-note{font-family:var(--font-serif);color:var(--text-dim);text-align:center;padding:6px 4px;font-size:16px;font-style:italic}.icon-btn{top:max(18px, env(safe-area-inset-top));width:40px;height:40px;color:var(--text);cursor:pointer;background:#00000073;border:1px solid #ffffff1f;border-radius:50%;place-items:center;display:grid;position:absolute}.icon-btn--close{left:18px}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:2.2px;width:18px;height:18px}.intro__title{font-family:var(--font-serif);text-align:center;text-wrap:balance;margin:22px 6px 8px;font-size:clamp(26px,7.5vw,34px);font-style:italic;font-weight:600;line-height:1.18}.intro__attr{color:var(--text-dim);margin-bottom:26px;font-size:17px}.intro__meta{color:var(--text-dim);gap:26px;margin-bottom:30px;font-size:15px;display:flex}.intro__meta span{align-items:center;gap:7px;display:inline-flex}.intro__meta svg{width:16px;height:16px;fill:var(--gold)}.stack{flex-direction:column;align-items:center;width:100%;max-width:460px;margin:auto 0;display:flex}.cta-dock{width:100%;max-width:460px;margin-top:auto}.pergamino{background:linear-gradient(180deg, var(--parchment) 0%, #ecdcb6 100%);border:1px solid var(--parchment-edge);width:100%;color:var(--ink);border-radius:16px;padding:20px 22px 22px;position:relative;box-shadow:0 14px 40px #00000080,inset 0 0 0 1px #fff6}.pergamino__seal{text-align:center;color:var(--gold-deep);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px;font-size:12px}.pergamino__title{font-family:var(--font-display);text-align:center;color:#5a2018;margin:2px 0 12px;font-size:22px;font-weight:700}.pergamino__img{object-fit:cover;border:1px solid #5a3c1433;border-radius:10px;width:100%;max-height:168px;margin-bottom:14px}.pergamino__text{color:var(--ink-soft);font-size:19px;font-style:italic;line-height:1.5}:root{--circle-y:33%;--circle-r:96px}#screen-ar{pointer-events:none;padding-top:max(16px, env(safe-area-inset-top));justify-content:flex-end}#screen-ar .portrait,#screen-ar .pergamino,#screen-ar .ar-cta,#screen-ar .ar-window,#screen-ar .icon-btn{pointer-events:auto}#ui-root:not(.in-ar) #screen-ar:before{content:"";z-index:0;background:radial-gradient(130% 90% at 50% 0%, var(--wine-600), var(--wine-800) 52%, var(--wine-900));-webkit-mask:radial-gradient(circle var(--circle-r) at 50% var(--circle-y), transparent 0 var(--circle-r), #000 calc(var(--circle-r) + 1px));-webkit-mask:radial-gradient(circle var(--circle-r) at 50% var(--circle-y), transparent 0 var(--circle-r), #000 calc(var(--circle-r) + 1px));mask:radial-gradient(circle var(--circle-r) at 50% var(--circle-y), transparent 0 var(--circle-r), #000 calc(var(--circle-r) + 1px));position:absolute;inset:0}#screen-ar .portrait{left:50%;top:var(--circle-y);width:calc(var(--circle-r) * 2);height:calc(var(--circle-r) * 2);border:3px solid var(--gold);z-index:2;background:0 0;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #c9a24a1f,0 0 34px #c9a24a4d}#screen-ar .portrait__cam{color:#2a1c06;background:linear-gradient(180deg, var(--gold-bright), var(--gold));border-radius:13px;place-items:center;width:46px;height:46px;display:grid;position:absolute;bottom:8px;right:-4px;box-shadow:0 5px 14px #00000073}#screen-ar .portrait__cam svg{fill:currentColor;width:22px;height:22px}.ar-pre{z-index:1;pointer-events:none;position:absolute;inset:0}.pre-quote{left:22px;right:22px;top:calc(var(--circle-y) + var(--circle-r) + 34px);text-align:center;color:var(--text);text-wrap:balance;font-size:clamp(23px,6.4vw,29px);font-style:italic;font-weight:600;line-height:1.2;position:absolute}.pre-desc{left:30px;right:30px;top:calc(var(--circle-y) + var(--circle-r) + 150px);text-align:center;color:var(--text-dim);font-size:15.5px;line-height:1.5;position:absolute}.ar-cta{z-index:3;width:100%;max-width:460px;margin-top:auto}#screen-ar .ar-window{display:none}.in-ar #screen-ar .ar-window{z-index:3;flex-direction:column;gap:14px;width:100%;max-width:460px;margin-top:auto;display:flex}.in-ar #screen-ar .ar-pre,.in-ar #screen-ar .ar-cta{display:none}.reto__q{font-family:var(--font-serif);text-align:center;text-wrap:balance;margin:18px 4px 22px;font-size:clamp(20px,5.6vw,25px);font-weight:600;line-height:1.3}.options{flex-direction:column;gap:12px;width:100%;max-width:460px;display:flex}.option{appearance:none;cursor:pointer;text-align:left;font-family:var(--font-serif);color:var(--text);background:#ffffff0d;border:1px solid #c9a24a59;border-radius:13px;align-items:center;gap:14px;padding:16px 18px;font-size:19px;transition:background .15s,border-color .15s,transform .1s;display:flex}.option .key{font-family:var(--font-display);color:var(--gold-bright);border:1px solid #c9a24a80;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.option:active{transform:scale(.99)}.option.is-correct{background:#568c4847;border-color:#7fbf6a}.option.is-wrong{background:#9628284d;border-color:#d76b6b}.option:disabled{cursor:default}.timer{width:64px;height:64px;margin:0 auto 8px;position:relative}.timer svg{transform:rotate(-90deg)}.timer__track{stroke:#c9a24a33}.timer__bar{stroke:var(--gold-bright);stroke-linecap:round;transition:stroke-dashoffset 1s linear}.timer__num{font-family:var(--font-display);color:var(--gold-bright);place-items:center;font-size:22px;font-weight:700;display:grid;position:absolute;inset:0}.result__verdict{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin-top:18px;font-size:15px;font-weight:700}.result__verdict.ok{color:var(--gold-bright)}.result__verdict.ko{color:#e08e8e}.result__phrase{text-align:center;text-wrap:balance;margin:10px 6px 16px;font-size:clamp(22px,6vw,27px);font-style:italic;line-height:1.25}.points-pill{font-family:var(--font-display);color:var(--gold-bright);background:#00000040;border:1px solid #c9a24a66;border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:8px 16px;display:inline-flex}.dev-tabs{top:max(14px, env(safe-area-inset-top));z-index:50;background:#00000073;border:1px solid #ffffff1f;border-radius:999px;gap:6px;padding:5px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.dev-tabs button{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 11px;font-size:10.5px}.dev-tabs button.is-on{color:#1a0a04;background:linear-gradient(180deg,var(--gold-bright),var(--gold))}.spinner{border:3px solid #c9a24a40;border-top-color:var(--gold-bright);border-radius:50%;width:44px;height:44px;margin:auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading__label{font-family:var(--font-display);letter-spacing:.2em;color:var(--text-dim);margin-top:18px;font-size:13px}
