/* iMini-style pricing page: black canvas, model cloud, and high-contrast plan rail. */
.imini-pricing-page { background:#050506; }
.imini-pricing-page main { overflow:hidden; }
.imini-pricing-hero { max-width:1320px; margin:0 auto; padding:121px 24px 0; text-align:center; }
.imini-pricing-hero h1 { margin:0; color:rgba(255,255,255,.94); font-size:clamp(34px,3.35vw,48px); font-weight:850; line-height:1.2; letter-spacing:-1.8px; }
.imini-pricing-hero > p:not(.imini-eyebrow) { max-width:760px; margin:12px auto 0; color:rgba(255,255,255,.66); font-size:16px; }
.imini-pricing-hero .imini-eyebrow { display:none; }
.imini-pricing-models { max-width:800px; margin:24px auto 0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 16px; }
.imini-pricing-models span { display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.9); font-size:14px; white-space:nowrap; }
.imini-pricing-models span::before { width:15px; height:15px; display:inline-block; border-radius:5px; background:linear-gradient(135deg,#3877ff,#28d8e5); content:""; box-shadow:0 0 10px rgba(57,220,229,.18); }
.imini-pricing-models span:nth-child(3n)::before { border-radius:50%; background:#f5ce4f; }
.imini-pricing-models span:nth-child(4n)::before { background:#8c63ff; transform:rotate(45deg) scale(.78); }
.imini-pricing-cycle { width:max-content; margin:83px auto 40px; padding:4px; display:flex; gap:3px; border-radius:999px; background:#2e2e40; box-shadow:0 0 0 1px rgba(255,255,255,.06); }
.imini-pricing-cycle button { min-width:126px; min-height:34px; padding:0 13px; color:rgba(255,255,255,.8); border:0; border-radius:999px; background:transparent; font-size:13px; font-weight:760; transition:color 180ms ease,background-color 180ms ease,transform 180ms ease; }
.imini-pricing-cycle button:hover { color:#fff; transform:translateY(-1px); }
.imini-pricing-cycle button.active { color:#17171b; background:#f4f4f4; }
.imini-pricing-cycle button b { margin-left:4px; color:#f83c67; font-size:11px; }
.imini-pricing-grid { max-width:1232px; margin:0 auto; padding:0 0 96px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:stretch; }
.imini-pricing-card { position:relative; min-height:675px; padding:26px 20px 20px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:23px; background:#202021; box-shadow:0 22px 60px rgba(0,0,0,.2); transition:transform 220ms var(--ih-ease),box-shadow 220ms ease,border-color 180ms ease; }
.imini-pricing-card::before { position:absolute; top:0; right:0; left:0; height:56px; background:linear-gradient(180deg,rgba(255,255,255,.025),transparent); content:""; pointer-events:none; }
.imini-pricing-card:hover { box-shadow:0 28px 72px rgba(0,0,0,.34); transform:translateY(-5px); }
.imini-pricing-card.free { background:#242425; }
.imini-pricing-card.featured { border:4px solid var(--ih-cyan); padding:22px 16px 16px; background:#0f1011; }
.imini-pricing-card:not(.free):not(.featured) { border:4px solid #ffe33f; padding:22px 16px 16px; background:#242425; }
.imini-pricing-card header { position:relative; min-height:30px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:rgba(255,255,255,.94); font-size:14px; font-weight:800; }
.imini-pricing-card header span { color:rgba(255,255,255,.96); font-size:12px; letter-spacing:.08em; }
.imini-pricing-card header em { padding:4px 7px; color:#111; border-radius:4px; background:#ffe33f; font-size:10px; font-style:normal; font-weight:850; }
.imini-pricing-card.featured header em { background:var(--ih-cyan); }
.imini-pricing-card h2 { position:relative; margin:16px 0 14px; color:#f3f3f4; font-size:29px; font-weight:500; line-height:1; letter-spacing:.02em; }
.imini-pricing-price { position:relative; min-height:48px; display:flex; align-items:baseline; gap:8px; }
.imini-pricing-price small { color:#f3f3f4; font-size:17px; font-weight:680; }
.imini-pricing-price b { color:#fff; font-family:Inter,"Microsoft YaHei UI",sans-serif; font-size:36px; font-weight:850; letter-spacing:-1.4px; }
.imini-pricing-card > p { position:relative; min-height:42px; margin:4px 0 17px; color:rgba(255,255,255,.62); font-size:12px; line-height:1.55; }
.imini-pricing-card > a { position:relative; min-height:43px; display:flex; align-items:center; justify-content:center; color:#111; border-radius:11px; background:#343443; font-size:14px; font-weight:820; transition:filter 180ms ease,transform 180ms ease; }
.imini-pricing-card > a:hover { filter:brightness(1.08); transform:translateY(-2px); }
.imini-pricing-card.featured > a { background:var(--ih-cyan); }
.imini-pricing-card:not(.free):not(.featured) > a { background:#ffe33f; }
.imini-pricing-card ul { position:relative; min-height:295px; margin:14px 0 0; padding:16px 14px 12px; display:grid; align-content:start; gap:14px; color:rgba(255,255,255,.9); border-top:1px solid rgba(255,255,255,.12); list-style:none; font-size:11px; line-height:1.4; }
.imini-pricing-card ul::before { position:absolute; top:0; right:0; left:0; height:42px; background:linear-gradient(180deg,rgba(255,255,255,.035),transparent); content:""; pointer-events:none; }
.imini-pricing-card li { position:relative; padding-left:17px; }
.imini-pricing-card li::before { position:absolute; top:2px; left:0; color:#fff; content:"✓"; font-size:12px; }
.imini-pricing-compare { max-width:1280px; margin:0 auto; padding:0 24px 110px; }
.imini-pricing-compare > header { margin:0 auto 42px; text-align:center; }
.imini-pricing-compare h2,.imini-pricing-faq h2 { margin:8px 0 0; color:#fff; font-size:clamp(34px,3.5vw,50px); font-weight:850; line-height:1.16; letter-spacing:-1.8px; }
.imini-pricing-compare > header p:not(.imini-eyebrow) { margin:12px auto 0; color:rgba(255,255,255,.58); font-size:14px; }
.imini-pricing-feature-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:17px; background:rgba(255,255,255,.1); }
.imini-pricing-compare article { min-height:138px; padding:23px 20px; display:grid; align-content:center; gap:8px; background:#0b0b0c; }
.imini-pricing-compare article:nth-child(2n) { background:#1c1c1f; }
.imini-pricing-compare article strong { color:#fff; font-size:15px; }
.imini-pricing-compare article span { color:rgba(255,255,255,.58); font-size:12px; line-height:1.55; }
.imini-pricing-table { margin-top:34px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:17px; }
.imini-pricing-table-row { min-width:850px; min-height:55px; display:grid; grid-template-columns:1.65fr repeat(4,1fr); align-items:center; background:#070708; }
.imini-pricing-table-row:nth-child(odd) { background:#1b1b1e; }
.imini-pricing-table-row.head { min-height:94px; background:#080809; }
.imini-pricing-table-row > * { min-width:0; height:100%; padding:0 18px; display:flex; align-items:center; justify-content:center; border-left:1px solid rgba(255,255,255,.05); color:rgba(255,255,255,.75); text-align:center; }
.imini-pricing-table-row > strong { justify-content:flex-start; color:#fff; font-size:13px; text-align:left; }
.imini-pricing-table-row.head > span { color:#fff; font-size:13px; font-weight:780; }
.imini-pricing-table-row .yes,.imini-pricing-table-row .no,.imini-pricing-table-row .partial { font-size:0; font-weight:900; }
.imini-pricing-table-row .yes { color:#071113; }
.imini-pricing-table-row .yes::before { width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--ih-cyan); content:"✓"; }
.imini-pricing-table-row .no { color:#777987; }
.imini-pricing-table-row .no::before { width:23px; height:23px; display:grid; place-items:center; color:#8a8c98; border:1px solid #454752; border-radius:50%; background:#292a32; content:"×"; font-size:14px; }
.imini-pricing-table-row .partial { color:#111; }
.imini-pricing-table-row .partial::before { width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:#ffe463; content:"—"; }
.imini-pricing-faq { max-width:1280px; margin:0 auto; padding:0 24px 126px; }
.imini-pricing-faq > header { margin-bottom:38px; text-align:center; }
.imini-pricing-faq > div { border-top:1px solid rgba(255,255,255,.12); }
.imini-pricing-faq details { border-bottom:1px solid rgba(255,255,255,.12); }
.imini-pricing-faq summary { min-height:72px; padding:0 4px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#fff; font-size:15px; font-weight:700; cursor:pointer; list-style:none; }
.imini-pricing-faq summary::-webkit-details-marker { display:none; }
.imini-pricing-faq summary::after { color:rgba(255,255,255,.55); font-size:23px; font-weight:300; content:"+"; transition:transform 180ms ease,color 180ms ease; }
.imini-pricing-faq details[open] summary::after { color:var(--ih-cyan); transform:rotate(45deg); }
.imini-pricing-faq details p { max-width:900px; margin:-3px 0 0; padding:0 4px 22px; color:rgba(255,255,255,.62); font-size:13px; line-height:1.75; }
.imini-pricing-page .imini-footer { margin-top:0; }
@media (max-width:1180px) {
    .imini-pricing-grid { padding-right:24px; padding-left:24px; }
    .imini-pricing-card { min-height:650px; }
}
@media (max-width:760px) {
    .imini-pricing-hero { padding:105px 16px 0; }
    .imini-pricing-hero h1 { font-size:33px; letter-spacing:-1px; }
    .imini-pricing-hero > p:not(.imini-eyebrow) { font-size:14px; }
    .imini-pricing-models { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
    .imini-pricing-models::-webkit-scrollbar { display:none; }
    .imini-pricing-models span { flex:0 0 auto; }
    .imini-pricing-cycle { margin-top:28px; margin-bottom:30px; }
    .imini-pricing-grid { grid-template-columns:1fr; gap:12px; padding:0 16px 72px; }
    .imini-pricing-card,.imini-pricing-card.featured,.imini-pricing-card:not(.free):not(.featured) { min-height:0; padding:23px 18px 18px; border-width:2px; border-radius:20px; }
    .imini-pricing-card ul { min-height:0; }
    .imini-pricing-compare,.imini-pricing-faq { padding-right:16px; padding-left:16px; }
    .imini-pricing-compare h2,.imini-pricing-faq h2 { font-size:32px; letter-spacing:-1px; }
    .imini-pricing-feature-summary { grid-template-columns:1fr; }
    .imini-pricing-compare article { min-height:100px; }
    .imini-pricing-table { overflow-x:auto; }
    .imini-pricing-table-row { min-width:760px; }
    .imini-pricing-faq { padding-bottom:84px; }
}
@media (prefers-reduced-motion:reduce) {
    .imini-pricing-card,.imini-pricing-cycle button,.imini-pricing-card > a,.imini-pricing-faq summary::after { transition:none !important; }
}
