.form-reveal{animation:formUnfold .4s cubic-bezier(.22,.84,.44,1) both;transform-origin:top center}
.form-reveal>*{animation:fadeUp .4s ease both;opacity:0}
.form-reveal>*:nth-child(1){animation-delay:.08s}
.form-reveal>*:nth-child(2){animation-delay:.14s}
.form-reveal>*:nth-child(3){animation-delay:.2s}
.form-reveal>*:nth-child(4){animation-delay:.26s}
.form-reveal>*:nth-child(5){animation-delay:.32s}
.form-reveal>*:nth-child(6){animation-delay:.38s}
.form-reveal>*:nth-child(7){animation-delay:.44s}
.form-reveal>*:nth-child(8){animation-delay:.5s}
.form-type-hint{animation:formHint .35s ease both}
.modal-enter{animation:scaleIn .25s ease both}
.modal-bg{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000e0;backdrop-filter:blur(4px)}
.modal-box{width:92vw;max-width:min(680px,92vw);margin:0;background:#0f172a;border-radius:22px;border:1px solid rgba(255,255,255,.1);overflow:hidden;max-height:90vh;overflow-y:auto;transition:border-radius .2s ease}
.modal-scroll{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;background:#000000e0;overflow-y:auto;padding:clamp(0px,3vh,40px) 0;backdrop-filter:blur(4px);transition:align-items .2s ease}
#fab{position:fixed;z-index:45;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #6366f180;transition:all .25s ease;font-size:28px;animation:fabPulse 3s ease-in-out infinite}
#fab:hover{transform:scale(1.12) rotate(90deg);box-shadow:0 12px 40px #6366f1a6}
#fab:active{transform:translate(-50%) scale(.93)!important}
#fab-wrapper{position:fixed;z-index:45}
#fab-menu{position:absolute;bottom:calc(100% + 10px);right:0;background:#1a1f35;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:6px 0;min-width:180px;box-shadow:0 8px 32px #0000008c;display:none;flex-direction:column;animation:fadeInUp .18s ease both;z-index:46}
#fab-menu.open{display:flex}
#fab-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:transparent;border:none;color:#e2e8f0;font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s}
#fab-menu button:hover{background:#6366f133}
.rating-picker{display:none;position:fixed;bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);background:#1e2a45;border:1px solid rgba(99,102,241,.4);border-radius:16px;padding:16px;z-index:200;box-shadow:0 20px 60px #000000d9;width:260px;animation:tooltipFade .2s ease both}
.rating-picker.open{display:block}
.rating-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.rating-btn{padding:10px 4px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#d1d5db;font-weight:700;font-size:15px;cursor:pointer;transition:all .15s;text-align:center}
.rating-btn:hover,.rating-btn.selected{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;transform:scale(1.08)}
#install-banner{display:none;position:fixed;bottom:calc(68px + env(safe-area-inset-bottom,0px));left:12px;right:12px;background:#111827;border:1px solid rgba(99,102,241,.35);border-radius:16px;padding:14px;z-index:1000;align-items:center;gap:12px;box-shadow:0 8px 32px #0009}
#update-banner{display:none;position:fixed;bottom:calc(68px + env(safe-area-inset-bottom,0px));left:12px;right:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;padding:14px 16px;z-index:1000;color:#fff;font-size:13px;font-weight:600;align-items:center;justify-content:space-between;gap:12px}
#hamburger,#nav-dropdown,#header-add-btn,#fab-wrapper,#fab{display:none!important}
.spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.12);border-top-color:#8b5cf6;border-radius:50%;animation:spin .7s linear infinite}
#fab{box-shadow:0 12px 36px #6366f18c,inset 0 1px #ffffff2e}
.mml-skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:800px 100%;animation:mmlShimmer 1.4s linear infinite;border-radius:10px}
.rating-picker{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:min(380px,92vw);max-width:92vw;background:linear-gradient(180deg,var(--im-elev,#0d1224),var(--im-surf,#0c1120));border:1px solid var(--im-accent-line,rgba(20,184,166,.4));border-radius:var(--im-r-l,18px);padding:clamp(16px,2.2vw,22px);z-index:300;box-shadow:0 24px 70px #000c,0 0 0 1px #ffffff08 inset,0 0 44px var(--im-accent-glow,rgba(20,184,166,.28));opacity:0;pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}
.rating-picker.open{display:block;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.rating-picker.open:before{content:"";position:fixed;inset:0;background:radial-gradient(80% 60% at 50% 40%,#080814b3,#000000d9);z-index:-1;backdrop-filter:blur(4px);animation:tooltipFade .18s ease both}
.rp-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;padding:0 2px}
.rp-eyebrow{color:var(--im-accent,#14b8a6);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.rp-eyebrow:before{content:"";width:14px;height:1px;background:var(--im-accent,#14b8a6);opacity:.7}
.rp-title{color:var(--im-ink,#f5f3ef);font-size:13px;font-weight:700;margin:0}
.rating-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rating-picker .rating-btn{padding:12px 2px;border-radius:12px;font-size:15px;font-weight:700;border:1px solid var(--im-line,rgba(255,255,255,.08));background:rgba(255,255,255,.04);color:var(--im-ink-soft,#d8d5cf);cursor:pointer;text-align:center;min-width:0;width:100%;transition:transform .14s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.rating-picker .rating-btn:hover{background:var(--im-accent-veil);border-color:var(--im-accent-line);color:var(--im-ink);transform:translateY(-1px)}
.rating-picker .rating-btn.selected{background:linear-gradient(135deg,var(--im-accent),var(--im-accent-2,var(--im-accent)));border-color:transparent;color:#031414;box-shadow:0 8px 24px var(--im-accent-glow,rgba(20,184,166,.35))}
.rp-clear{width:100%;margin-top:14px;padding:10px 12px;border-radius:12px;background:transparent;border:1px solid var(--im-line,rgba(255,255,255,.08));color:var(--im-ink-mute,#a8a29e);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:color .18s,border-color .18s,background .18s}
.rp-clear:hover{color:var(--im-ink);border-color:var(--im-accent-line);background:var(--im-accent-veil)}
.rp-current{margin-top:12px;text-align:center;font-size:12px;font-weight:700;color:var(--im-accent);display:flex;align-items:center;justify-content:center;gap:6px}
body>.rating-picker{position:fixed;z-index:10000}
