@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#09090b;--panel:#131316;--panel2:#1a1a1f;--text:#f5f4f4;--muted:#929097;--red:#e52b3a;--red2:#ff4654;--line:rgba(255,255,255,.08);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:560px;min-height:100svh;margin:0 auto;padding-bottom:calc(82px + var(--safe-bottom));overflow:hidden;background:radial-gradient(ellipse at 90% 0%,rgba(115,15,25,.12),transparent 32%),var(--bg)}.topbar{height:64px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:rgba(9,9,11,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.035)}.brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-family:Manrope,sans-serif;font-size:19px;font-weight:800;letter-spacing:2px}.brand img{width:29px;height:29px;object-fit:cover;border-radius:8px}.top-actions{display:flex;align-items:center;gap:14px}.icon-btn{width:35px;height:35px;background:none;border:0;color:#eee;padding:7px}.icon-btn svg,.search-box svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.avatar,.profile-avatar{border:1px solid rgba(255,255,255,.15);background:linear-gradient(145deg,#3a171c,#171316);color:#fff;border-radius:50%;width:33px;height:33px;font-weight:700}.page{display:none;padding:23px 20px 28px}.page.active{display:block}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;margin:5px 1px 19px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:#df5962;margin:0 0 8px}.welcome-row h1,.page-intro h1{font-family:Manrope,sans-serif;font-size:30px;line-height:1.12;letter-spacing:-1.1px;margin:0;font-weight:800}.welcome-row h1 em,.page-intro h1 em{font-style:normal;color:var(--red2)}.tiny-mark{font-family:Manrope;font-weight:800;font-size:34px;color:#343137;line-height:1}.tiny-mark span{color:var(--red)}.hero{height:410px;border-radius:19px;overflow:hidden;position:relative;background:#211a1c;box-shadow:0 16px 45px rgba(0,0,0,.32)}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,7,.98) 0%,rgba(5,5,7,.78) 35%,rgba(5,5,7,.04) 100%),linear-gradient(90deg,rgba(0,0,0,.2),transparent)}.hero-content{position:absolute;bottom:33px;left:21px;right:18px}.tag{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;background:rgba(15,15,18,.65);border:1px solid rgba(255,255,255,.15);border-radius:20px;font-size:8px;letter-spacing:1.1px;font-weight:800}.tag i{width:6px;height:6px;border-radius:50%;background:var(--red2);box-shadow:0 0 10px var(--red)}.hero-kicker{font-size:9px;letter-spacing:2px;color:#ff858d;font-weight:800;margin:18px 0 6px}.hero h2{font-family:Manrope,sans-serif;font-size:34px;line-height:1.04;letter-spacing:-1.2px;margin:0 0 11px;font-weight:800}.hero-meta{font-size:10px;color:#c2bec2;margin:0 0 17px}.hero-meta b{color:#e14b56;padding:0 4px}.hero-buttons{display:flex;gap:9px}.primary-btn,.glass-btn,.outline-btn{border:0;border-radius:9px;min-height:42px;padding:0 16px;font-weight:700;font-size:11px}.primary-btn{background:var(--red);color:#fff;box-shadow:0 5px 18px rgba(229,43,58,.18)}.primary-btn:active{transform:scale(.98)}.primary-btn span{font-size:17px;vertical-align:-1px;margin-right:4px}.glass-btn{width:43px;padding:0;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);color:#fff;font-size:21px}.hero-dots{position:absolute;right:19px;top:19px;display:flex;gap:5px}.hero-dots span{width:5px;height:5px;border-radius:5px;background:rgba(255,255,255,.45)}.hero-dots .selected{width:17px;background:var(--red2)}.content-section{margin-top:31px}.compact-section{margin-top:30px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.section-heading .eyebrow{font-size:8px;margin-bottom:5px}.section-heading h2{font-family:Manrope;font-size:20px;letter-spacing:-.5px;margin:0}.text-link{border:0;background:none;color:#c4c0c4;font-size:10px;padding:5px 0}.text-link span{color:var(--red2);font-size:17px;vertical-align:-1px;margin-left:3px}.poster-row{display:flex;gap:12px;overflow-x:auto;margin:0 -20px;padding:0 20px 5px;scrollbar-width:none}.poster-row::-webkit-scrollbar,.wide-row::-webkit-scrollbar{display:none}.poster-card{flex:0 0 112px;min-width:0}.poster-wrap{position:relative;aspect-ratio:2/3;border-radius:10px;overflow:hidden;background:#242126}.poster-wrap img{width:100%;height:100%;object-fit:cover;display:block}.poster-rating{position:absolute;top:7px;left:7px;padding:4px 6px;border-radius:5px;background:rgba(7,7,9,.82);font-size:9px;font-weight:700;color:#ffd36b}.poster-add{position:absolute;right:7px;bottom:7px;width:27px;height:27px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(9,9,11,.75);color:white;font-size:17px;line-height:1}.poster-title{font-size:11px;font-weight:700;margin:8px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-sub{font-size:9px;color:var(--muted);margin:0}.wide-row{display:flex;gap:10px;overflow-x:auto;margin:0 -20px;padding:0 20px 5px;scrollbar-width:none}.wide-card{flex:0 0 245px;height:112px;border-radius:11px;overflow:hidden;position:relative;background:#242126}.wide-card img{width:100%;height:100%;object-fit:cover;opacity:.7}.wide-card:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),transparent)}.wide-copy{position:absolute;z-index:1;left:13px;bottom:12px}.wide-copy strong{display:block;font-size:13px}.wide-copy span{font-size:9px;color:#ccc}.page-intro{margin:7px 1px 23px}.page-intro h1{font-size:31px}.muted{color:var(--muted);font-size:11px;line-height:1.5;margin:9px 0 0}.search-box{height:47px;display:flex;align-items:center;gap:11px;padding:0 13px;background:#17171b;border:1px solid var(--line);border-radius:10px;color:#a6a2a8}.search-box svg{width:18px;height:18px;flex:none}.search-box input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:white;font-size:12px}.search-box input::placeholder{color:#77737b}.search-box kbd{font-size:17px;color:#6d6870}.filter-row{display:flex;gap:7px;overflow-x:auto;margin:15px -20px 20px;padding:0 20px 3px;scrollbar-width:none}.filter-chip{flex:none;padding:8px 13px;border:1px solid var(--line);border-radius:30px;background:#141417;color:#aaa6ad;font-size:10px}.filter-chip.active{background:rgba(229,43,58,.15);border-color:rgba(229,43,58,.5);color:#ff7b84}.catalog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;color:#aaa6ad;font-size:10px}.sort-btn{border:0;background:none;color:#eee;font-size:10px}.sort-btn span{color:var(--red2);margin-left:5px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 11px}.catalog-grid .poster-card{width:100%;}.catalog-grid .poster-wrap{border-radius:9px}.catalog-grid .poster-title{font-size:10px}.catalog-grid .poster-sub{font-size:9px}.empty-state{text-align:center;color:var(--muted);font-size:12px;padding:40px 0}.segmented{display:flex;background:#17171b;padding:4px;border-radius:10px;margin-bottom:20px}.segmented button{flex:1;border:0;border-radius:7px;background:transparent;color:#aaa5ad;padding:10px 5px;font-size:10px}.segmented button.active{background:#2a2023;color:#fff}.segmented span{color:#ff727c;margin-left:4px}.empty-card{padding:32px 20px;text-align:center;border:1px dashed rgba(255,255,255,.13);border-radius:15px}.empty-card h3{font-size:15px;margin:13px 0 5px}.empty-card p{font-size:10px;color:var(--muted);line-height:1.5;margin:0 auto 17px;max-width:220px}.empty-icon{width:43px;height:43px;border-radius:50%;margin:auto;background:rgba(229,43,58,.12);color:#ff6670;display:grid;place-items:center;font-size:25px}.saved-list{display:grid;gap:10px}.saved-item{display:flex;gap:12px;padding:9px;background:#141417;border:1px solid var(--line);border-radius:11px}.saved-item img{width:64px;height:91px;object-fit:cover;border-radius:7px}.saved-copy{flex:1;min-width:0;padding:4px 0}.saved-copy strong{font-size:12px}.saved-copy p{font-size:9px;color:var(--muted);margin:5px 0 10px}.saved-actions{display:flex;gap:7px}.small-action{border:1px solid var(--line);background:#202025;color:#ddd;border-radius:6px;padding:6px 8px;font-size:9px}.small-action.red{color:#ff8189;border-color:rgba(229,43,58,.35)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:120px;padding:15px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#19191d,#111114);display:flex;flex-direction:column;align-items:flex-start}.stat-icon{color:#ed5360;font-size:17px;margin-bottom:10px}.stat-card strong{font-family:Manrope;font-size:27px;letter-spacing:-1px}.stat-card>span:last-child{font-size:9px;color:var(--muted);margin-top:3px}.accent-card{background:linear-gradient(145deg,rgba(116,20,30,.42),#151316);border-color:rgba(229,43,58,.2)}.insight-card{margin-top:15px;border-radius:14px;padding:21px;background:linear-gradient(135deg,#321319,#171216 70%);border:1px solid rgba(229,43,58,.16)}.insight-card h2{font-family:Manrope;font-size:24px;line-height:1.1;margin:12px 0}.insight-card>p:not(.eyebrow){font-size:10px;line-height:1.6;color:#c1b6ba;max-width:230px}.insight-line{height:3px;background:rgba(255,255,255,.1);border-radius:3px;margin-top:20px}.insight-line span{display:block;width:8%;height:100%;background:var(--red);border-radius:3px}.profile-card{display:flex;align-items:center;gap:12px;padding:17px;background:#151518;border:1px solid var(--line);border-radius:13px}.profile-avatar{width:47px;height:47px;display:grid;place-items:center;font-size:18px}.profile-card h2{font-size:14px;margin:0}.profile-card .muted{margin:4px 0 0;font-size:9px}.profile-badge{margin-left:auto;font-size:8px;letter-spacing:1px;color:#ff7780;border:1px solid rgba(229,43,58,.35);padding:6px 8px;border-radius:20px}.settings-list{margin-top:17px;background:#141417;border:1px solid var(--line);border-radius:12px;padding:0 14px}.setting-row{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:10px}.setting-row:last-child{border:0}.setting-row span{color:#c4c0c5}.setting-row strong{font-size:9px;color:#eee;text-align:right}.setting-row i{color:#e94c58;font-style:normal}.profile-note{font-size:9px;color:#77737b;line-height:1.6;margin:15px 3px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);height:calc(67px + var(--safe-bottom));padding:8px 9px calc(8px + var(--safe-bottom));display:flex;justify-content:space-around;background:rgba(17,17,20,.96);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.08)}.nav-item{position:relative;flex:1;border:0;background:transparent;color:#77737c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-icon{width:22px;height:22px;display:block}.nav-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.nav-item small{font-size:8px;font-weight:600}.nav-item.active{color:#ff5965}.nav-item.active .nav-icon{filter:drop-shadow(0 0 7px rgba(229,43,58,.3))}.nav-count{position:absolute;top:0;right:calc(50% - 21px);font-style:normal;background:var(--red);color:white;font-size:7px;padding:2px 4px;border-radius:10px}.modal-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.76);backdrop-filter:blur(7px);display:flex;align-items:flex-end;justify-content:center;padding:12px}.modal-backdrop[hidden]{display:none}.detail-modal{width:min(100%,500px);max-height:91svh;overflow:auto;position:relative;background:#151518;border:1px solid rgba(255,255,255,.1);border-radius:19px 19px 13px 13px;scrollbar-width:none}.close-modal{position:absolute;z-index:3;right:13px;top:13px;width:32px;height:32px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:22px}.detail-art{height:230px;position:relative;background:#222}.detail-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.detail-art-shade{position:absolute;inset:0;background:linear-gradient(0deg,#151518,transparent 65%)}.detail-body{padding:0 19px 22px;margin-top:-24px;position:relative}.detail-tags{display:flex;gap:7px;color:#ff7b84;font-size:9px}.detail-tags span{padding:5px 8px;background:rgba(229,43,58,.13);border-radius:20px}.detail-body h2{font-family:Manrope;font-size:25px;margin:12px 0 8px}.detail-overview{font-size:11px;line-height:1.65;color:#b4b0b6;margin:0 0 17px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.outline-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#eee}.rating-area{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid var(--line);font-size:10px;color:#bbb}.rating-stars{letter-spacing:3px;color:#5c565d;font-size:19px;cursor:pointer}.rating-stars .chosen{color:#ffc65a}.toast{position:fixed;z-index:60;bottom:calc(83px + var(--safe-bottom));left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:11px 16px;background:#292326;border:1px solid rgba(255,255,255,.12);border-radius:30px;color:#fff;font-size:10px;box-shadow:0 8px 30px #0008;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:600px){body{background:#050506}.app-shell{border-left:1px solid #19191c;border-right:1px solid #19191c}.hero{height:460px}.poster-card{flex-basis:125px}.page{padding-left:24px;padding-right:24px}}

.load-more{display:block;margin:24px auto 110px;min-width:180px}.load-more[hidden]{display:none}

/* CINORA detail sheet v2 */
.modal-backdrop{padding:0;align-items:flex-end}
.detail-modal{width:100%;max-width:620px;max-height:94svh;border-radius:24px 24px 0 0;border-bottom:0}
.detail-art{height:270px}
.detail-body{padding:0 22px calc(28px + env(safe-area-inset-bottom));margin-top:-38px}
.detail-body h2{font-size:27px;line-height:1.15;margin:14px 0 10px}
.detail-overview{font-size:13px;line-height:1.65;color:#c2bdc4;margin-bottom:18px}
.detail-tags{flex-wrap:wrap;font-size:11px}
.detail-tags span{padding:6px 10px}
.detail-extra{display:grid;gap:0;margin:18px 0 20px;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.detail-extra-row{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;line-height:1.45}
.detail-extra-row:last-child{border-bottom:0}
.detail-extra-row span{color:#969099}
.detail-extra-row strong{color:#eee;font-weight:600;text-align:left}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.detail-actions button{min-height:44px;border-radius:12px;font-size:12px}
.rating-area{margin-top:20px;padding-top:16px;font-size:12px}
.rating-stars{font-size:24px;letter-spacing:5px;white-space:nowrap}
.rating-stars span{display:inline-block;padding:2px}
.clear-rating{display:block;margin-top:6px;background:none;border:0;color:#f17880;font-size:11px;text-decoration:underline}
.clear-rating[hidden]{display:none}
@media(min-width:600px){.modal-backdrop{align-items:center;padding:18px}.detail-modal{border-radius:22px;max-height:90svh}.detail-art{height:300px}}

/* CINORA mobile polish: prevent iOS focus zoom and give detail artwork real screen space */
.search-box input{font-size:16px!important;line-height:1.35;min-width:0}
.detail-modal{width:min(100%,560px);max-height:94svh}
.detail-art{height:clamp(300px,48svh,440px)}
.detail-art img{object-fit:cover;object-position:center 28%}
@media(max-width:600px){
 .modal-backdrop{padding:7px;align-items:flex-end}
 .detail-modal{width:100%;max-height:94svh;border-radius:20px 20px 12px 12px}
 .detail-art{height:clamp(310px,48svh,430px)}
 .detail-body{padding:0 18px 24px;margin-top:-30px}
 .detail-body h2{font-size:27px}
 .detail-overview{font-size:14px;line-height:1.65}
 .detail-tags{font-size:10px;flex-wrap:wrap}
}

/* CINORA v3 — iPhone Safari and full-screen detail view */
.search-box,
.search-box input,
.search-box input[type="search"]{
  font-size:16px!important;
}
.search-box input{
  -webkit-appearance:none;
  appearance:none;
  line-height:1.4;
  min-height:44px;
  touch-action:manipulation;
}
@media(max-width:600px){
  .modal-backdrop{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    height:100dvh;
    padding:0;
    display:flex;
    align-items:stretch;
    justify-content:stretch;
    border-radius:0;
    background:#151518;
    backdrop-filter:none;
  }
  .detail-modal{
    width:100%;
    height:100%;
    height:100dvh;
    max-height:none;
    min-height:0;
    border:0;
    border-radius:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    -webkit-overflow-scrolling:touch;
  }
  .detail-art{
    height:clamp(300px,43dvh,440px);
    min-height:300px;
    border-radius:0;
  }
  .close-modal{
    position:fixed;
    top:calc(env(safe-area-inset-top,0px) + 14px);
    right:16px;
    width:42px;
    height:42px;
    font-size:25px;
    background:rgba(8,8,10,.78);
    z-index:8;
  }
  .detail-body{
    padding:0 20px 30px;
    margin-top:-28px;
  }
}

/* Navigation sans animation verticale : évite tout déplacement visuel de la page. */
.top-actions{gap:0}
.avatar,.profile-avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.avatar{width:38px;height:38px;padding:0;font-size:15px}
.avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-avatar{width:66px;height:66px;font-size:24px}
.profile-editor{margin:22px 0;padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:10px}
.profile-editor label{font-size:12px;color:#d5d0d5;font-weight:700;margin-top:5px}
.profile-editor input[type="text"]{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#0d0d10;color:#fff;padding:0 13px;font-size:16px;outline:none}
.profile-editor input[type="file"]{width:100%;font-size:12px;color:#bdb8c0}
.profile-editor .primary-btn{margin-top:8px;min-height:44px;justify-content:center}
.profile-hint{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.profile-remove-photo{align-self:flex-start;background:none;border:0;padding:6px 0;color:#f17880;font-size:12px}
.profile-remove-photo[hidden]{display:none}

.avatar-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:3px 0 10px}
.avatar-choice{min-width:0;padding:7px 6px 9px;background:#0d0d10;border:1px solid rgba(255,255,255,.1);border-radius:13px;color:#ddd;display:flex;flex-direction:column;align-items:center;gap:7px;transition:border-color .18s,background .18s,transform .18s}
.avatar-choice:active{transform:scale(.97)}
.avatar-choice.selected{border-color:var(--red2);background:rgba(229,43,58,.12);box-shadow:0 0 0 1px rgba(229,43,58,.2)}
.avatar-choice img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#252329;border:1px solid rgba(255,255,255,.14)}
.avatar-choice span{font-size:10px;font-weight:700;text-align:center;line-height:1.2}

/* Galerie d'avatars élargie */
.avatar-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:5px 0 12px}
.avatar-choice{min-height:112px;padding:10px 5px 9px;gap:8px}
.avatar-choice img,.avatar-placeholder{width:68px;height:68px;border-radius:50%;object-fit:cover;background:#252329;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#f05a67;font-size:22px;flex:0 0 auto}
.avatar-choice span:last-child{font-size:10px;font-weight:700;text-align:center;line-height:1.25;min-height:25px;display:flex;align-items:center;justify-content:center}
.avatar-choice.avatar-unavailable{opacity:.55}
@media(min-width:620px){.avatar-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.avatar-choice{min-height:122px}.avatar-choice img,.avatar-placeholder{width:76px;height:76px}}

/* Galerie de 100 avatars */
.avatar-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.avatar-choice{min-height:116px;padding:8px 3px;gap:6px}
.avatar-choice img{width:58px;height:58px}
.avatar-choice span:last-child{font-size:9px;min-height:28px;overflow-wrap:anywhere}
.avatar-choice small{font-size:8px;color:#8e8991;letter-spacing:.4px}
.avatar-loading{grid-column:1/-1;color:#aaa;font-size:11px;line-height:1.5;padding:12px 4px}
@media(min-width:620px){.avatar-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}.avatar-choice img{width:68px;height:68px}}


/* Sélecteur de film au hasard */
.random-promo{margin:22px 0 28px;padding:22px 24px;border:1px solid #38343b;border-radius:18px;background:linear-gradient(120deg,#211319,#111014);display:flex;align-items:center;justify-content:space-between;gap:18px}
.random-promo h2{font-size:clamp(20px,3vw,27px);margin:5px 0}
.random-promo p:not(.eyebrow){color:#aaa;margin:5px 0 0}
.random-panel{margin-top:28px;padding:clamp(18px,4vw,30px);border:1px solid #302d33;border-radius:18px;background:#121115}
.random-panel h2{font-size:20px;margin:0 0 20px}
.random-genres{display:flex;flex-wrap:wrap;gap:10px}
.random-genre{border:1px solid #464149;background:#1b191e;color:#d8d5da;padding:11px 16px;border-radius:999px;font:inherit;cursor:pointer;transition:.18s}
.random-genre.active{background:#a51d32;border-color:#e13a50;color:#fff;box-shadow:0 0 0 2px #a51d3233}
.random-hint,.random-message{color:#aaa;font-size:14px;margin:18px 0}
.random-draw{margin-top:8px;min-width:210px}
.random-draw:disabled{opacity:.6;cursor:wait}
.random-result{margin-top:24px;min-height:320px;box-sizing:border-box;overflow-anchor:none;position:relative;contain:layout;scroll-margin:0}
.random-picked{display:flex;gap:20px;align-items:center;min-height:320px;box-sizing:border-box;padding:18px;border-radius:16px;background:#1b191e;border:1px solid #39343d}
.random-picked>img{width:145px;aspect-ratio:2/3;height:auto;flex:0 0 auto;object-fit:cover;border-radius:10px}
.random-picked-info h3{font-size:24px;margin:7px 0}
.random-picked-info p{color:#aaa;margin:7px 0}
.random-picked-info .primary-btn,.random-picked-info .outline-btn{margin:12px 8px 0 0}
@media(max-width:600px){
 .random-result{min-height:320px}
 .random-picked{min-height:320px}
 .random-promo{align-items:flex-start;flex-direction:column;padding:19px}
 .random-promo .primary-btn{width:100%;justify-content:center}
 .random-picked{align-items:flex-start;gap:13px;padding:12px}
 .random-picked>img{width:112px}
 .random-picked-info h3{font-size:19px}
 .random-picked-info .primary-btn,.random-picked-info .outline-btn{font-size:13px;padding:10px}
}


/* Galerie d’avatars compacte, organisée par univers */
.avatar-gallery{display:flex;flex-direction:column;gap:9px;max-height:650px;overflow:auto;padding:3px 2px 8px}
.avatar-group{border:1px solid #343039;border-radius:12px;background:#17151a;overflow:hidden}
.avatar-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;font-weight:650}
.avatar-group summary::-webkit-details-marker{display:none}
.avatar-group summary:after{content:'＋';color:#d64a5e;font-size:18px}
.avatar-group[open] summary:after{content:'−'}
.avatar-group summary small{color:#999;font-weight:400;margin-left:auto}
.avatar-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px;padding:4px 13px 15px}
.avatar-group .avatar-choice{min-width:0;padding:5px;border:1px solid transparent;border-radius:10px;background:#211e24;color:#ddd;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}
.avatar-group .avatar-choice img{width:62px;height:62px;object-fit:cover;object-position:center 25%;border-radius:50%}
.avatar-group .avatar-choice span{font-size:11px;line-height:1.25;text-align:center;max-width:100%;overflow-wrap:anywhere}
.avatar-group .avatar-choice.selected{border-color:#df3c53;background:#3a1720;box-shadow:0 0 0 1px #df3c53}
@media(max-width:480px){.avatar-gallery{max-height:560px}.avatar-group-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:4px 9px 12px}.avatar-group .avatar-choice img{width:54px;height:54px}}


/* Statistiques avancées */
.stats-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.stats-section{background:#151318;border:1px solid #302c34;border-radius:16px;padding:20px;min-width:0}
.stats-section-head{margin-bottom:18px}
.stats-section-head h2{font-size:18px;margin:0 0 5px}
.stats-section-head>span{font-size:12px;color:#999}
.stats-bars{display:flex;flex-direction:column;gap:13px}
.stats-bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:6px}
.stats-bar-row strong{color:#eee}
.stats-bar-track{height:7px;border-radius:10px;background:#302b33;overflow:hidden}
.stats-bar-track i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#9d2035,#ed5368)}
.stats-top-list{display:flex;flex-direction:column;gap:12px}
.stats-top-row{display:flex;align-items:center;gap:10px;font-size:13px}
.stats-rank{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#30212a;color:#ed6576;font-weight:700}
.stats-top-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats-top-row strong{white-space:nowrap;color:#f1c66b}
.stats-months{height:150px;display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-items:end}
.stats-month{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;font-size:11px;color:#aaa}
.stats-month strong{color:#eee;font-size:12px}
.stats-month-bar-wrap{height:88px;width:100%;display:flex;align-items:end;justify-content:center;background:#211e24;border-radius:7px 7px 3px 3px;overflow:hidden}
.stats-month-bar-wrap i{width:100%;min-height:3px;background:linear-gradient(0deg,#9d2035,#ed5368);border-radius:6px 6px 0 0}
.stats-note{font-size:11px;line-height:1.5;margin:13px 0 0}
@media(max-width:650px){.stats-details{grid-template-columns:1fr}.stats-section{padding:17px}.stats-months{gap:6px}}


/* Galerie de profils : grille unique, fluide et recherche intégrée */
.avatar-gallery{display:block;max-height:none;overflow:visible;padding:0;margin-top:10px}
.avatar-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.avatar-choice{min-width:0;padding:8px 5px;border:1px solid #302c34;border-radius:12px;background:#1b191f;color:#e6e3e8;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;transition:border-color .18s,background .18s}
.avatar-choice img{width:68px;height:68px;object-fit:cover;object-position:center 25%;border-radius:50%;border:1px solid #49434c}
.avatar-choice span{font-size:12px;line-height:1.3;text-align:center;max-width:100%;overflow-wrap:anywhere}
.avatar-choice.selected{border-color:#e34a60;background:#351820;box-shadow:0 0 0 1px #e34a60}
.avatar-title-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:9px}
.avatar-title-result{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 9px;text-align:left;padding:8px;border:1px solid #37323b;border-radius:10px;background:#1b191f;color:#eee;cursor:pointer}
.avatar-title-result img{grid-row:1/3;width:42px;height:60px;object-fit:cover;border-radius:5px}
.avatar-title-result span{font-size:12px;font-weight:650;line-height:1.25}
.avatar-title-result small{font-size:10px;color:#999}
.avatar-empty{padding:18px;border:1px dashed #45404a;border-radius:12px;color:#aaa;text-align:center;font-size:13px}
#avatarSearch{width:100%;box-sizing:border-box;background:#1a181e;color:#fff;border:1px solid #49434d;border-radius:12px;padding:13px 15px;font:inherit;font-size:16px;margin:8px 0}
#avatarSearch:focus{outline:2px solid #bd3349;border-color:#bd3349}
@media(max-width:480px){.avatar-results-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.avatar-choice{padding:7px 3px}.avatar-choice img{width:55px;height:55px}.avatar-choice span{font-size:10px}.avatar-title-results{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* La galerie affiche d'abord des titres, puis les portraits de leur casting */
.avatar-title-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:11px}
.avatar-title-card{min-width:0;padding:8px;border:1px solid #302c34;border-radius:12px;background:#1b191f;color:#e6e3e8;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;cursor:pointer;transition:border-color .18s,transform .18s}
.avatar-title-card:active{transform:scale(.98)}
.avatar-title-card img{width:100%;max-width:105px;aspect-ratio:2/3;object-fit:cover;border-radius:8px}
.avatar-title-card span{font-size:12px;line-height:1.3;font-weight:650}
.avatar-title-card small{font-size:10px;color:#a9a3ad;line-height:1.2}
.avatar-back{margin-bottom:12px}
@media(max-width:480px){.avatar-title-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.avatar-title-card{padding:6px}.avatar-title-card img{max-width:100%}.avatar-title-card span{font-size:11px}}

/* Le résultat du tirage ne doit pas provoquer de correction automatique du défilement sur mobile. */
.random-panel,#randomResult{overflow-anchor:none;}

/* CINORA V22 — stabilité du bloc de tirage et neutralisation du focus Safari */
.page, .page.active, #randomResult, .random-picked { animation:none !important; transition:none !important; }
html, body { scroll-behavior:auto !important; }

/* Indicateur de recherche superposé : aucune modification de hauteur pendant le tirage. */
.random-result.is-loading::after{content:"Recherche du prochain film…";position:absolute;top:8px;right:10px;z-index:2;padding:6px 10px;border-radius:999px;background:#29252d;color:#eee;font-size:11px;box-shadow:0 2px 10px #0005;pointer-events:none}





/* Tirage films et séries — sélecteur de type cohérent avec l'identité CINORA. */
.random-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 22px}
.random-type{min-height:46px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.035);color:var(--muted,#aaa);font:inherit;font-weight:650;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.random-type.active{background:rgba(229,43,58,.16);border-color:rgba(229,43,58,.72);color:#fff;box-shadow:inset 0 0 0 1px rgba(229,43,58,.12)}
.random-genre-title{margin-top:4px}
.random-genre-title span{font-size:.85em;font-weight:400;color:var(--muted,#aaa)}
@media(max-width:420px){.random-types{gap:6px}.random-type{padding:9px 5px;font-size:13px}}
