:root{--bg-top: #124a39;--bg-deep: #04170f;--surface: #0c3527;--gold: #d4b46a;--gold-light: #f3dfa2;--gold-deep: #9c7a35;--milk: #f6f0e4;--pearl: #e7e1d3;--silver: #c9cfd2;--fade-ms: .52s;--flip-ms: 1.1s;--serif: "Cormorant Garamond", Georgia, serif;--sans: Manrope, -apple-system, "Segoe UI", Roboto, sans-serif;--vh: var(--tg-viewport-stable-height, 100dvh)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg-deep);color:var(--milk);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{overscroll-behavior:none}button{font:inherit}.app{position:relative;min-height:var(--vh);overflow-x:clip;background:radial-gradient(90% 55% at 50% -5%,rgba(243,223,162,.13),transparent 60%),radial-gradient(120% 80% at 50% 0%,var(--bg-top),var(--surface) 45%,var(--bg-deep) 100%)}.dust,.burst{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.burst{z-index:30}.frame{position:fixed;inset:10px;pointer-events:none;border:1px solid rgba(212,180,106,.22);border-radius:18px}.frame:before,.frame:after{content:"";position:absolute;width:26px;height:26px;border:1px solid rgba(212,180,106,.5)}.frame:before{top:6px;left:6px;border-right:0;border-bottom:0}.frame:after{bottom:6px;right:6px;border-left:0;border-top:0}.screen{position:relative;z-index:1;min-height:var(--vh);padding:calc(env(safe-area-inset-top) + 34px) 26px calc(env(safe-area-inset-bottom) + 34px);animation:fadeIn var(--fade-ms) ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.center{max-width:460px;margin:0 auto;min-height:calc(var(--vh) - 68px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.title{font-family:var(--serif);font-weight:600;font-size:31px;line-height:1.12;letter-spacing:.04em;margin:4px 0 0;background:linear-gradient(180deg,var(--gold-light),var(--gold) 58%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.title.big{font-size:clamp(26px,8.4vw,40px);letter-spacing:.07em}.subtitle{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--milk);margin:0;line-height:1.3}.hello{margin:0;color:var(--gold-light);font-size:14px;letter-spacing:.06em}.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}.body p{margin:0 0 10px;font-size:15.5px;line-height:1.6;color:var(--pearl)}.body p:last-child{margin-bottom:0}.body p.quote{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;color:var(--gold-light);margin:14px 0}.muted{color:var(--pearl);opacity:.7;font-size:14px}.small{font-size:13px;line-height:1.5}.ornament{width:190px;height:18px;margin:2px 0}.btn{margin-top:10px;width:100%;max-width:340px;min-height:54px;padding:15px 22px;border:0;border-radius:40px;cursor:pointer;background:linear-gradient(180deg,var(--gold-light),var(--gold) 70%,#c19f55);color:#1d1a10;font-weight:600;font-size:13.5px;letter-spacing:.12em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #d4b46a47,inset 0 1px #ffffff8c;transition:transform .15s ease,box-shadow .2s ease,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn.ghost{background:#08281e8c;color:var(--gold-light);border:1px solid rgba(212,180,106,.55);box-shadow:none;margin-top:2px}.stack{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:6px}.stack .btn{margin-top:0}.emblem{position:relative;width:170px;height:150px;margin-bottom:6px}.emblem img{position:absolute;top:10px;left:50%;width:78px;border-radius:5px;box-shadow:0 10px 30px #00000073,0 0 0 1px #d4b46a99;transform-origin:50% 120%}.emblem img:nth-child(1){transform:translate(-50%) rotate(-14deg) translate(-24px);opacity:.9}.emblem img:nth-child(3){transform:translate(-50%) rotate(14deg) translate(24px);opacity:.9}.emblem img:nth-child(2){transform:translate(-50%);z-index:1;box-shadow:0 0 34px #f3dfa273,0 0 0 1px var(--gold)}.breath{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(212,180,106,.45);margin-bottom:4px}.breath span{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,var(--gold-light),rgba(212,180,106,.15) 70%,transparent);animation:breathe 6s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1.6);opacity:1}}.s-mPick,.s-pPick{padding:calc(env(safe-area-inset-top) + 18px) 12px calc(env(safe-area-inset-bottom) + 14px)}.pick{height:calc(var(--vh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px);display:flex;flex-direction:column}.pick-head{text-align:center;padding:4px 14px 12px}.hint{margin:8px 0 0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.3;color:var(--milk);min-height:2.6em}.grid-box{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.grid-box.scroll{overflow-y:auto;align-items:flex-start}.grid{display:flex;flex-direction:column;align-items:center;margin:auto}.grid-row{display:flex;justify-content:center}.slot{padding:0;border:0;background:none;cursor:pointer;border-radius:4px;animation:deal .5s ease both;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .4s,filter .4s}.slot .card-back{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.slot:active{transform:scale(.94)}.slot.chosen{transform:translateY(-6px) scale(1.12);z-index:2;filter:drop-shadow(0 0 12px rgba(243,223,162,.85))}.slot.dim{opacity:.35;filter:saturate(.6)}@keyframes deal{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.reveal{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}.flip{position:relative;width:min(62vw,250px,calc((var(--vh) - 330px) / 1.596));aspect-ratio:1410 / 2250;perspective:1400px;transform-style:preserve-3d}.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;overflow:hidden;transition:transform var(--flip-ms) cubic-bezier(.45,.05,.2,1)}.face.back{transform:rotateY(0)}.face.back .card-back{width:100%;height:100%;display:block}.face.front{transform:rotateY(180deg);background:#fff;box-shadow:0 0 0 1.5px var(--gold)}.face.front img{width:100%;height:100%;display:block}.flip.flipped .back{transform:rotateY(-180deg)}.flip.flipped .front{transform:rotateY(0)}.flip.instant .face{transition:none}.glow{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(243,223,162,.55),rgba(243,223,162,.12) 45%,transparent 70%);opacity:0;transform:scale(.6);transition:opacity 1.2s ease,transform 1.6s ease;pointer-events:none}.flip.flipped .glow{opacity:.9;transform:scale(1);animation:pulse 4s ease-in-out 1.6s infinite}@keyframes pulse{0%,to{opacity:.65}50%{opacity:1}}.reveal-text{opacity:0;transform:translateY(10px);transition:opacity .9s ease,transform .9s ease;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.reveal-text.on{opacity:1;transform:none}.message{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1.1;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(180deg,var(--gold-light),var(--gold) 60%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(243,223,162,.15)}.accept{margin:0;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--milk)}.pair{display:flex;gap:14px;justify-content:center;width:100%;margin:6px 0}.pair figure{margin:0;flex:1 1 0;min-width:0;max-width:160px;display:flex;flex-direction:column;align-items:center;gap:8px}.pair figcaption{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.pair img{width:100%;aspect-ratio:1410 / 2250;object-fit:cover;border-radius:6px;box-shadow:0 0 0 1px var(--gold),0 0 26px #f3dfa240}.pair-msg{max-width:100%;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere;font-family:var(--serif);font-weight:600;font-size:clamp(15px,4.4vw,19px);line-height:1.15;color:var(--gold-light);text-transform:uppercase;letter-spacing:.04em}.pair.mini img{width:64px}.pair.mini{gap:10px}.player{width:100%;max-width:360px;margin-top:8px;padding:18px 18px 14px;border-radius:22px;background:#04170f8c;border:1px solid rgba(212,180,106,.35)}.player-title{font-family:var(--serif);font-size:19px;color:var(--gold-light);margin-bottom:12px}.player-row{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:14px}.btn-play{width:68px;height:68px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-light),var(--gold));box-shadow:0 0 26px #f3dfa259}.btn-play svg{width:30px;height:30px;fill:#1d1a10}.btn-round{width:44px;height:44px;border-radius:50%;border:1px solid rgba(212,180,106,.5);background:transparent;cursor:pointer;display:grid;place-items:center}.btn-round svg{width:24px;height:24px;fill:var(--gold-light)}.btn-round text{fill:var(--gold-light);font-family:var(--sans);font-weight:600}.progress{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;outline:none;margin:0}.progress::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 10px #f3dfa2b3}.progress::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:var(--gold-light)}.times{display:flex;justify-content:space-between;font-size:12px;color:var(--pearl);opacity:.7;margin-top:8px;font-variant-numeric:tabular-nums}.done{margin:0;color:var(--gold-light);font-size:14px;letter-spacing:.06em}.portrait{width:132px;height:132px;border-radius:50%;padding:3px;background:linear-gradient(160deg,var(--gold-light),var(--gold-deep));box-shadow:0 0 34px #f3dfa24d}.portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.drevo .body{text-align:left}.meta{width:100%;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.meta div{flex:1;min-width:92px;padding:10px 8px;border-radius:14px;border:1px solid rgba(212,180,106,.35);background:#04170f66;display:flex;flex-direction:column;gap:4px}.meta span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.meta b{font-weight:600;font-size:14px;color:var(--milk)}.pc-img{width:min(78vw,330px,calc((var(--vh) - 300px) * .5625));aspect-ratio:9 / 16;border-radius:12px;box-shadow:0 0 0 1px #d4b46a80,0 14px 40px #00000080;-webkit-touch-callout:default;user-select:auto}.pc-img.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#04170f80}.loader{width:38px;height:38px;border-radius:50%;border:2px solid rgba(212,180,106,.25);border-top-color:var(--gold-light);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 18px);z-index:50;padding:14px 16px;border-radius:14px;background:#04170ff2;border:1px solid rgba(212,180,106,.5);color:var(--milk);font-size:14px;text-align:center}@media (max-height: 700px){.hint{font-size:16px;min-height:2.4em}.title{font-size:26px}.title.big{font-size:32px}.body p{font-size:14.5px;line-height:1.5}.emblem{width:130px;height:112px}.emblem img{width:60px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.2s!important}}.dev-fab{position:fixed;z-index:60;right:14px;top:calc(env(safe-area-inset-top) + 14px);width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,180,106,.6);background:#04170fbf;color:var(--gold-light);font-size:19px;cursor:pointer;backdrop-filter:blur(6px)}.dev-sheet{position:fixed;inset:0;z-index:70;background:#0000008c;display:flex;align-items:flex-end;justify-content:center}.dev-box{width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:20px 18px calc(env(safe-area-inset-bottom) + 18px);border-radius:22px 22px 0 0;background:var(--bg-deep);border-top:1px solid rgba(212,180,106,.5);display:flex;flex-direction:column;align-items:center;gap:8px}.dev-title{font-family:var(--serif);font-size:22px;color:var(--gold-light)}.dev-note{margin:0;font-size:12.5px;color:var(--pearl);opacity:.7;text-align:center}.dev-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.dev-jump{padding:11px 8px;border-radius:12px;border:1px solid rgba(212,180,106,.35);background:#0c352799;color:var(--milk);font-size:13px;cursor:pointer}.dev-jump:disabled{opacity:.35}.title.split{display:flex;flex-direction:column;align-items:center;gap:2px}.title-small{font-size:22px;font-weight:500;font-style:italic;letter-spacing:.04em}.title-accent{font-size:clamp(25px,7.4vw,32px);font-weight:700;letter-spacing:.1em;line-height:1.1}.actions{position:sticky;bottom:0;z-index:5;width:calc(100% + 52px);margin:6px -26px calc(-1*(env(safe-area-inset-bottom) + 34px));padding:22px 26px calc(env(safe-area-inset-bottom) + 18px);display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(180deg,rgba(4,23,15,0),rgba(4,23,15,.92) 32%,var(--bg-deep))}.actions .btn{margin-top:0}.link{background:none;border:0;padding:6px 10px;color:var(--gold-light);font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#f3dfa273;cursor:pointer}.drevo{gap:10px}.drevo-head{display:flex;flex-direction:column;align-items:center;gap:6px}.portrait.small{width:84px;height:84px;padding:2px}.drevo-name{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.drevo .title{font-size:clamp(24px,6.6vw,30px)}.meta-line{font-size:13px;color:var(--pearl);opacity:.75;letter-spacing:.04em}.drevo .body.drevo-text{text-align:center}.drevo .body.drevo-text p{font-size:15px;line-height:1.55}.drevo .more{text-align:left;animation:fadeIn .4s ease both}
