:root{--bg: #14101a;--bg2: #0f0c13;--card: #1d1725;--card2: #1a1422;--line: #2b2335;--line2: #352c40;--text: #f4eff6;--muted: #b7aabf;--dim: #8f8199;--faint: #6f6379;--accent: #d42a7b;--accent2: #f09ac6;--accent-bg: #2e1225;--ok: #6fd3a0;--ok-bg: #173328;--warn: #f2c56b;--warn-bg: #3a2e14;--err: #ff8a7a;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Rubik,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}a{color:var(--accent)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}::placeholder{color:var(--faint)}.screen{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.top{display:flex;align-items:center;gap:12px;padding:calc(16px + var(--safe-top)) 20px 8px;min-height:44px}.top .t{font-size:17px;font-weight:500;flex:1}.top .brand{font-size:22px;font-weight:600;flex:1;letter-spacing:.01em}.h1{font-size:28px;line-height:1.2;font-weight:600;margin:0;letter-spacing:-.01em}.h2{font-size:22px;line-height:1.25;font-weight:600;margin:0}.p{font-size:15px;line-height:1.5;color:var(--muted);margin:0}.s{font-size:13px;line-height:1.45;color:var(--dim);margin:0}.body{flex:1;padding:8px 20px;display:flex;flex-direction:column;gap:16px}.foot{padding:12px 20px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;gap:10px}.foot.sticky{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--bg) 30%)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:14px;font-size:16px;font-weight:500;background:linear-gradient(180deg,#db3182,#a3145a);color:#fff6fa;box-shadow:0 8px 24px #d42a7b47,inset 0 1px #ffffff40;width:100%;transition:transform .1s,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;box-shadow:none}.btn.sec{background:#241d2e;color:var(--text);box-shadow:inset 0 0 0 1px #2f2739}.btn.ghost{background:transparent;color:var(--muted);height:44px;box-shadow:none}.btn.danger{background:#3a1c1c;color:var(--err);box-shadow:none}.btn.sm{height:40px;font-size:14px;border-radius:11px;width:auto;padding:0 16px}.card{background:linear-gradient(180deg,#1f1927,#1a1422);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:inset 0 1px #ffffff08}.card.accent{background:linear-gradient(120deg,#2e1225,#221824);border-color:#5a2a47}.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);font-size:14px;color:#d9cfe0;white-space:nowrap;background:transparent}.chip.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent2);box-shadow:0 0 0 3px #d42a7b1f}.chip.sm{height:30px;font-size:12px;padding:0 10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;color:#9d8fa7}.input{height:48px;border-radius:12px;background:#17121e;border:1px solid var(--line);padding:0 14px;display:flex;align-items:center;justify-content:space-between;font-size:15px;color:var(--text);width:100%;outline:none}.input:focus,.input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #d42a7b1f}textarea.input{height:auto;min-height:104px;padding:12px 14px;line-height:1.5;resize:none}select.input{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.steps{display:flex;gap:6px;padding:0 20px}.steps i{flex:1;height:4px;border-radius:2px;background:var(--line);display:block}.steps i.on{background:linear-gradient(90deg,#db3182,#a3145a)}.tab{display:flex;justify-content:space-around;align-items:center;padding:10px 12px calc(10px + var(--safe-bottom));border-top:1px solid #241d2e;background:var(--bg);position:sticky;bottom:0;z-index:5}.tab a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:#7d6f87;min-width:60px;height:44px;justify-content:center;text-decoration:none;position:relative}.tab a.on{color:var(--accent)}.tab a.on:after{content:"";position:absolute;top:-11px;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.tab .dot{position:absolute;top:4px;inset-inline-end:14px;min-width:16px;height:16px;border-radius:8px;background:var(--accent);color:#fff6fa;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}.toggle{width:44px;height:26px;border-radius:13px;background:var(--line);position:relative;flex-shrink:0;transition:background .2s}.toggle:after{content:"";position:absolute;top:3px;inset-inline-end:3px;width:20px;height:20px;border-radius:50%;background:#7d6f87;transition:inset-inline-end .2s,background .2s}.toggle.on{background:var(--accent)}.toggle.on:after{background:#fff6fa;inset-inline-end:21px}.li{display:flex;align-items:center;gap:12px;min-height:56px;padding:4px 0;border-bottom:1px solid #241d2e;width:100%;text-align:start;text-decoration:none;color:inherit}.li:last-child{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap}.ok{background:var(--ok-bg);color:var(--ok)}.warn{background:var(--warn-bg);color:var(--warn)}.acc{background:var(--accent-bg);color:var(--accent2)}.err{background:#3a1c1c;color:var(--err)}.photo{border-radius:16px;background:radial-gradient(90% 70% at 30% 20%,rgba(255,150,200,.16),transparent 60%),linear-gradient(160deg,#5c3a4d,#2b1d33 60%,#1d1725);position:relative;overflow:hidden}.photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.photo .ph{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.av{width:44px;height:44px;border-radius:50%;background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22><circle cx=%2222%22 cy=%2217%22 r=%227%22 fill=%22rgba(255,255,255,.16)%22/><path d=%22M6 46c0-9 7-15 16-15s16 6 16 15z%22 fill=%22rgba(255,255,255,.12)%22/></svg>") center/cover no-repeat,linear-gradient(140deg,#7a4a60,#3a2640);flex-shrink:0;overflow:hidden}.av img{width:100%;height:100%;object-fit:cover}.ico{width:40px;height:40px;border-radius:12px;background:#241d2e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.opt{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--card);width:100%;text-align:start}.opt.on{border-color:var(--accent);background:#221824;box-shadow:0 0 0 3px #d42a7b1f}.check{width:24px;height:24px;border-radius:7px;border:1.5px solid #4a3f55;display:flex;align-items:center;justify-content:center;flex-shrink:0}.check.on{background:var(--accent);border-color:var(--accent)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.msg{max-width:78%;padding:10px 14px;border-start-start-radius:18px;border-start-end-radius:18px;border-end-end-radius:18px;border-end-start-radius:4px;background:#221b2b;box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.45;align-self:flex-start;word-break:break-word}.msg.me{background:linear-gradient(180deg,#db3182,#a3145a);color:#fff6fa;box-shadow:none;border-end-end-radius:4px;border-end-start-radius:18px;align-self:flex-end}.time{font-size:11px;color:var(--faint);align-self:flex-start}.time.me{align-self:flex-end}.dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a070eb3;z-index:20;animation:fade .2s}.sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:22px 22px 0 0;padding:12px 20px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;gap:12px;z-index:21;animation:up .25s;max-height:88vh;overflow:auto}.sheet .handle{width:40px;height:4px;border-radius:2px;background:#4a3f55;align-self:center}.plan{border-radius:16px;border:1px solid var(--line);padding:14px 16px;display:flex;align-items:center;gap:12px;background:var(--card);width:100%;text-align:start}.plan.on{border-color:var(--accent);background:#221824;box-shadow:0 0 0 3px #d42a7b1f}.radio{width:22px;height:22px;border-radius:50%;border:1.5px solid #4a3f55;flex-shrink:0;display:flex;align-items:center;justify-content:center}.radio.on{background:var(--accent);border-color:var(--accent)}.rng{position:relative;height:32px;width:100%}.rng-track{position:absolute;top:14px;left:0;right:0;height:4px;border-radius:2px;background:var(--line)}.rng-track i{position:absolute;top:0;height:4px;border-radius:2px;background:linear-gradient(90deg,#db3182,#a3145a);display:block}.rng input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:32px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;direction:inherit;outline:none}.rng input::-webkit-slider-runnable-track{background:transparent;height:32px}.rng input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:26px;height:26px;margin-top:3px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 2px 8px #00000073;cursor:pointer}.rng input::-moz-range-track{background:transparent}.rng input::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 2px 8px #00000073}.toast{position:fixed;bottom:calc(90px + var(--safe-bottom));left:20px;right:20px;background:#241d2e;border:1px solid var(--line2);border-radius:14px;padding:12px 16px;font-size:14px;z-index:30;animation:up .2s;text-align:center}.toast.err{border-color:#5a2f2a;color:var(--err)}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;flex:1;padding:40px 20px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}.segbar{display:flex;background:var(--card);border-radius:12px;padding:4px;gap:4px}.segbar button{flex:1;height:36px;border-radius:9px;font-size:14px;color:var(--dim)}.segbar button.on{background:#302639;color:var(--text)}.fh{position:fixed;animation:floatUp 4.5s ease-out infinite;pointer-events:none}.deck{position:relative;flex:1;min-height:420px}.deck .cardwrap{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s;will-change:transform}.deck .cardwrap.out-left{transform:translate(-130%) rotate(-12deg);opacity:0}.deck .cardwrap.out-right{transform:translate(130%) rotate(12deg);opacity:0}.deck .cardwrap.out-up{transform:translateY(-130%) scale(.9);opacity:0}.deck .cardwrap.back{transform:scale(.95) translateY(12px);opacity:.6}.stamp{position:absolute;top:30px;padding:8px 18px;border:3px solid;border-radius:10px;font-size:26px;font-weight:700;letter-spacing:.06em;transform:rotate(-12deg);opacity:0;transition:opacity .15s;z-index:3}.stamp.like{right:24px;color:var(--ok);border-color:var(--ok);transform:rotate(12deg)}.stamp.pass{left:24px;color:var(--err);border-color:var(--err)}.stamp.show{opacity:1}.action{border-radius:50%;display:flex;align-items:center;justify-content:center;background:#241d2e;transition:transform .1s}.action:active{transform:scale(.92)}.action.big{width:62px;height:62px;border:1px solid var(--line2);box-shadow:0 8px 20px #00000059}.action.pri{background:linear-gradient(180deg,#db3182,#a3145a);box-shadow:0 8px 24px #d42a7b59;border:0}.action.sm{width:50px;height:50px}.ring{position:relative;display:flex;align-items:center;justify-content:center}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(24px);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes floatUp{0%{transform:translateY(0) rotate(var(--r, 0deg));opacity:0}15%{opacity:var(--o, .8)}to{transform:translateY(-140px) rotate(var(--r, 0deg));opacity:0}}@keyframes ringPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.pop{animation:pop .5s cubic-bezier(.2,.8,.2,1)}.hint{display:flex;align-items:center;gap:11px;background:#ffffff08;border:1px solid #241d2e;border-radius:14px;padding:11px 13px}.hint .s{color:#d9cfe0;line-height:1.4;flex:1}.hint .i{width:26px;height:26px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
