/* PeliMagia 2.3 — short home, clear choices and activities that work with touch or keyboard. */
[hidden] { display:none !important; }
body.pm-activity-playing #pm-home-screen,body.pm-activity-playing .pm-tmdb-credit { display:none; }
.pm-home-v3 { overflow:hidden; }
.pm-welcome { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:40px; padding:40px 0 22px; }
.pm-welcome h1 { margin:14px 0 20px; font-size:clamp(32px,4.4vw,54px); line-height:1.14; letter-spacing:-1.6px; text-wrap:balance; }
.pm-welcome h1 em { font-style:normal; color:var(--pm-gold); }
.pm-welcome-copy>p:not(.pm-small-note) { max-width:480px; color:var(--pm-muted); font-size:17px; line-height:1.65; }
.pm-welcome .pm-hero-actions { margin:24px 0 12px; flex-wrap:wrap; }
.pm-welcome .pm-small-note { font-size:12px; }
.pm-welcome-art { position:relative; height:340px; border-radius:42% 42% 22% 22%; overflow:hidden; border:1px solid var(--pm-line); background:#28144e; }
.pm-welcome-world { width:100%; height:100%; object-fit:cover; opacity:.88; }
.pm-welcome-luma { position:absolute; width:190px; height:auto; bottom:0; right:15px; filter:drop-shadow(0 12px 18px #1c0a4f); }
.pm-welcome-art>span { position:absolute; bottom:28px; left:22px; padding:12px 16px; border:1px solid #ffffff40; border-radius:14px; background:#26163bed; font-size:14px; color:var(--pm-gold); }
.pm-progress-strip { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; padding:14px 18px; border:1px solid var(--pm-line); border-radius:20px; background:#24133d99; }
.pm-progress-strip>span:not(.pm-profile-avatar) { display:inline-flex; align-items:center; gap:6px; color:var(--pm-muted); font-size:13px; }
.pm-progress-strip>span[data-pm-profile-greeting] { flex:1; color:var(--pm-ink); min-width:155px; }
.pm-progress-strip .pm-icon { width:18px; height:18px; color:var(--pm-gold); }
.pm-progress-strip button { color:var(--pm-aqua); background:transparent; border:0; min-height:36px; cursor:pointer; }
.pm-daily-strip { display:flex; align-items:center; gap:22px; border-bottom:1px solid var(--pm-line); padding:26px 0; }
.pm-daily-strip>div { flex:1; }
.pm-daily-strip h2 { font-size:20px; margin:0 0 5px; }
.pm-daily-strip p { font-size:13px; color:var(--pm-muted); margin:0; line-height:1.6; }
.pm-new-pill { width:fit-content; padding:5px 9px; border-radius:8px; background:#a6f0de; color:#1a3e39; font-weight:800; font-size:10px; white-space:nowrap; }
.pm-play-section { padding:34px 0 16px; }
.pm-home-v3 .pm-section-heading { margin-bottom:22px; align-items:end; }
.pm-home-v3 .pm-section-heading h2 { font-size:clamp(25px,3.4vw,38px); line-height:1.2; margin:9px 0 0; }
.pm-home-v3 .pm-section-heading>p { font-size:13px; max-width:280px; }
.pm-play-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.pm-play-card { display:flex; position:relative; align-items:flex-start; gap:14px; min-height:146px; text-align:left; padding:24px 22px 36px; color:var(--pm-ink); border:1px solid var(--pm-line); border-radius:22px; background:linear-gradient(130deg,#2c194b,#201037); cursor:pointer; transition:transform .18s,border-color .18s; }
.pm-play-card:hover { transform:translateY(-3px); border-color:var(--pm-aqua); }
.pm-play-symbol { flex-shrink:0; display:grid; place-items:center; width:45px; height:45px; border-radius:14px; color:var(--pm-gold); background:#ffd36a12; }
.pm-play-card:nth-child(3n+2) .pm-play-symbol { color:var(--pm-aqua); background:#69e1e012; }
.pm-play-card:nth-child(3n) .pm-play-symbol { color:#e8b4ef; background:#cf7ae812; }
.pm-play-symbol .pm-icon { width:24px; height:24px; }
.pm-play-card-copy { display:grid; gap:9px; }
.pm-play-card strong { font-size:16px; line-height:1.35; }
.pm-play-card-copy>span { color:var(--pm-muted); font-size:13px; line-height:1.5; }
.pm-play-card>.pm-new-pill { position:absolute; bottom:12px; left:22px; }
.pm-play-arrow { position:absolute; right:18px; bottom:12px; color:var(--pm-aqua); }
.pm-play-arrow .pm-icon { width:19px; height:19px; }
.pm-more-games { margin:20px 0 0; border:1px solid var(--pm-line); border-radius:18px; background:#21123c66; padding:0 20px; }
.pm-more-games summary { cursor:pointer; padding:18px 0; color:var(--pm-aqua); font-weight:700; font-size:14px; }
.pm-more-games>p { color:var(--pm-muted); font-size:14px; }
.pm-extra-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:8px 0 18px; }
.pm-extra-actions .pm-button { font-size:13px; }
.pm-collection-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 0 20px; }
.pm-collection-list button { display:grid; text-align:left; gap:6px; color:var(--pm-ink); border:1px solid var(--pm-line); border-radius:12px; background:#301c4c; padding:15px; min-height:76px; cursor:pointer; }
.pm-collection-list button:hover { border-color:var(--pm-aqua); }
.pm-collection-list button>span,.pm-collection-list button>strong { font-size:14px; }
.pm-collection-list small { color:var(--pm-muted); font-size:11px; line-height:1.5; }
.pm-universe-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pm-universe-card { position:relative; display:grid; grid-template-columns:40% 1fr; align-items:center; text-align:left; gap:20px; padding:0 24px 0 0; min-height:176px; overflow:hidden; border-radius:24px; border:1px solid var(--pm-line); background:#27375a; color:var(--pm-ink); cursor:pointer; }
.pm-universe-barbie { background:#492752; }
.pm-universe-card>img { width:100%; height:176px; object-fit:cover; }
.pm-universe-card>span { display:grid; gap:10px; padding:14px 0; }
.pm-universe-card strong { font-size:23px; }
.pm-universe-card span>span { font-size:13px; line-height:1.6; color:#e4dce9; }
.pm-universe-card small { font-size:12px; color:var(--pm-gold); }
.pm-catalog-tools { display:flex; align-items:end; flex-wrap:wrap; gap:18px; margin:0 0 22px; }
.pm-catalog-tools>label { display:grid; gap:9px; font-size:12px; color:var(--pm-muted); }
.pm-catalog-tools>label:first-child { flex:1; min-width:190px; }
.pm-catalog-tools input,.pm-catalog-tools select,.pm-setup-fields select { width:100%; min-height:46px; border:1px solid #ffffff35; border-radius:12px; color:var(--pm-ink); background:#2a1848; padding:12px; font:inherit; }
.pm-catalog-tools input { font-size:14px; }
.pm-catalog-tools>p { min-height:46px; display:flex; align-items:center; margin:0; font-size:12px; color:var(--pm-muted); }
.pm-catalog-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:15px; }
.pm-catalog-grid .pm-movie-tile { width:auto; min-width:0; display:flex; flex-direction:column; gap:6px; color:var(--pm-ink); text-decoration:none; }
.pm-catalog-grid .pm-movie-cover { width:100%; aspect-ratio:2/3; height:auto; border-radius:14px; }
.pm-catalog-grid .pm-movie-tile>strong { font-size:12px; line-height:1.5; }
.pm-catalog-grid .pm-movie-tile>span,.pm-catalog-grid .pm-movie-tile>small { font-size:10px; color:var(--pm-muted); line-height:1.5; }
.pm-catalog-grid .pm-movie-tile>small { color:var(--pm-aqua); }
.pm-catalog-more { margin-top:22px; }
.pm-week-card { display:flex; gap:30px; align-items:center; justify-content:space-between; padding:30px; border:1px solid #ffd36a3b; border-radius:24px; background:linear-gradient(120deg,#4a3054,#291847); }
.pm-week-card h2 { margin:10px 0; font-size:30px; }
.pm-week-card p { color:#e3d8e9; font-size:14px; line-height:1.6; }
.pm-week-card .pm-button { flex-shrink:0; }
.pm-sticker-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:12px; margin-top:18px; }
.pm-sticker-grid:empty { display:none; }
.pm-movie-sticker { display:grid; align-content:start; gap:8px; padding:10px; border:1px solid #ffd36a50; border-radius:16px; background:#33214b; color:var(--pm-ink); text-decoration:none; font-size:11px; line-height:1.5; text-align:center; }
.pm-movie-sticker img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:10px; }
.pm-family-compact { margin-top:25px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pm-family-compact details { border-top:1px solid var(--pm-line); }
.pm-family-compact summary { padding:20px 0; font-size:13px; color:var(--pm-muted); cursor:pointer; }
.pm-family-compact p { color:var(--pm-muted); font-size:13px; line-height:1.7; }
.pm-home-v3~.pm-site-footer { margin-top:25px; }
.pm-question-context { color:var(--pm-gold); text-align:center; font-size:13px; margin:6px 0 16px; }
.pm-movie-characters { padding:12px 0; }
.pm-movie-characters h2 { font-size:23px; }
.pm-character-chips { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.pm-character-chips>span { border:1px solid var(--pm-line); border-radius:20px; padding:10px 15px; color:var(--pm-gold); background:#301c4c; }
.pm-movie-activity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.pm-movie-activity-grid>button { display:grid; text-align:left; gap:14px; padding:24px; background:#2b1947; border:1px solid var(--pm-line); border-radius:20px; color:var(--pm-ink); cursor:pointer; }
.pm-movie-activity-grid .pm-icon { color:var(--pm-gold); }
.pm-movie-activity-grid>button>span { color:var(--pm-muted); font-size:13px; line-height:1.6; }
.pm-setup-modal { position:fixed; z-index:1300; inset:0; display:flex; align-items:center; justify-content:center; padding:22px; overflow:auto; }
.pm-setup-card { position:relative; z-index:1; width:min(570px,100%); max-height:calc(100dvh - 44px); overflow:auto; border:1px solid #a98de06b; border-radius:26px; padding:34px; background:#24123f; box-shadow:0 30px 110px #090015b3; }
.pm-setup-card h2 { font-size:30px; margin:15px 42px 12px 0; line-height:1.2; }
.pm-setup-card>p { color:var(--pm-muted); font-size:14px; line-height:1.7; }
.pm-setup-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:22px 0; }
.pm-setup-fields label { display:grid; align-content:start; gap:9px; font-size:13px; color:var(--pm-muted); min-width:0; }
.pm-setup-fields label[data-pm-setup-movie-field] { grid-column:1/-1; }
.pm-setup-fields select { min-width:0; font-size:14px; text-overflow:ellipsis; }
.pm-setup-summary { padding:16px; background:#8addca14; border:1px solid #8addca3b; color:#bdede3; font-size:13px; line-height:1.7; border-radius:14px; }
.pm-setup-card .pm-button-primary { width:100%; justify-content:center; margin-top:8px; }
.pm-activity-screen { min-height:100dvh; width:min(1000px,100%); margin:auto; padding:25px 26px 40px; }
.pm-activity-top { display:flex; align-items:center; gap:20px; border-bottom:1px solid var(--pm-line); padding-bottom:22px; }
.pm-activity-top>div { flex:1; min-width:0; }
.pm-activity-top h1 { font-size:clamp(22px,3.5vw,34px); line-height:1.3; margin:8px 0 0; }
.pm-activity-top strong { font-size:13px; color:var(--pm-aqua); text-align:right; }
.pm-activity-instructions { max-width:670px; margin:22px auto; text-align:center; color:var(--pm-muted); font-size:15px; line-height:1.8; }
.pm-activity-controls { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px; margin:25px 0 10px; }
.pm-activity-controls .pm-button { font-size:13px; min-height:46px; }
.pm-activity-feedback { min-height:28px; color:var(--pm-gold); text-align:center; font-size:15px; line-height:1.7; }
.pm-activity-local-note { text-align:center; }
.pm-activity-finish { display:flex; margin:18px auto; }
.pm-puzzle-layout { display:flex; justify-content:center; align-items:start; gap:24px; }
.pm-puzzle-grid { display:grid; grid-template-columns:repeat(var(--pm-puzzle-size),1fr); grid-template-rows:repeat(var(--pm-puzzle-size),1fr); aspect-ratio:2/3; width:min(330px,100%); gap:3px; padding:4px; border-radius:16px; background:#a5c6d6; overflow:hidden; flex-shrink:1; }
.pm-puzzle-piece { position:relative; border:0; background-color:#33214b; border-radius:5px; cursor:pointer; min-width:0; min-height:0; }
.pm-puzzle-piece[aria-pressed="true"] { outline:4px solid var(--pm-gold); outline-offset:-4px; z-index:1; box-shadow:inset 0 0 0 7px #0006; }
.pm-puzzle-piece:disabled { opacity:1; cursor:default; }
.pm-piece-number { position:absolute; top:5px; left:5px; display:grid; place-items:center; width:23px; height:23px; background:#21112eed; border-radius:6px; color:white; font-size:12px; }
.pm-puzzle-reference { width:min(190px,32%); border-radius:14px; border:2px solid #b7a1da; }
.pm-search-list { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; list-style:none; padding:0; margin:0 0 20px; }
.pm-search-list li { display:flex; align-items:center; gap:7px; padding:7px 12px; border:1px solid var(--pm-line); border-radius:20px; color:var(--pm-muted); font-size:13px; }
.pm-search-list li.is-found { color:var(--pm-aqua); border-color:#69e1e066; }
.pm-search-list svg { width:25px; height:25px; color:var(--pm-gold); }
.pm-search-scene { position:relative; width:min(760px,100%); aspect-ratio:16/10; margin:auto; border:2px solid #9e80d760; border-radius:24px; overflow:hidden; background:linear-gradient(160deg,#253d54,#658a74); }
.pm-search-scene>img { width:100%; height:100%; object-fit:cover; }
.pm-hidden-object { position:absolute; width:52px; height:52px; padding:7px; transform:translate(-50%,-50%); background:transparent; color:var(--pm-object-color); border:0; cursor:pointer; filter:drop-shadow(0 1px 2px #2225); }
.pm-hidden-object svg { width:100%; height:100%; }
.pm-hidden-object:disabled { opacity:.18; }
.pm-search-expert .pm-hidden-object { padding:14px; }
.pm-search-easy .pm-hidden-object { padding:4px; background:#ffffff22; border-radius:12px; }
.pm-search-fallback { background:radial-gradient(ellipse at 30% 70%,#736d8c,#33566d); }
.pm-story-list { display:grid; gap:14px; list-style:none; margin:0 auto; padding:0; width:min(730px,100%); }
.pm-story-list li { display:grid; grid-template-columns:34px 1fr 95px; align-items:center; gap:16px; padding:18px; border:1px solid var(--pm-line); border-radius:20px; background:#291846; }
.pm-story-number { display:grid; place-items:center; width:32px; height:32px; border-radius:12px; background:#8d5af233; color:var(--pm-gold); font-weight:800; }
.pm-story-list p { font-size:15px; line-height:1.7; margin:0; }
.pm-story-arrows { display:grid; gap:8px; }
.pm-story-move { min-height:40px; border:1px solid #ffffff40; border-radius:9px; color:var(--pm-ink); background:#ffffff0c; cursor:pointer; font-size:12px; }
.pm-story-move:disabled { opacity:.3; }
.pm-art-palette { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:22px; }
.pm-art-color { width:38px; height:38px; border:3px solid #ffffff33; border-radius:50%; cursor:pointer; }
.pm-art-color[aria-pressed="true"] { outline:3px solid var(--pm-aqua); outline-offset:4px; }
.pm-art-drawing { width:min(680px,100%); margin:auto; }
.pm-art-drawing>svg { display:block; width:100%; height:auto; border-radius:22px; }
.pm-art-drawing [data-pm-color-part] { cursor:pointer; }
.pm-art-drawing [data-pm-color-part]:focus-visible { stroke:#413055; stroke-width:5px; stroke-dasharray:6; outline:none; }
.pm-art-decorations { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; margin:22px 0; }
.pm-art-decorations>strong { font-size:13px; margin-right:10px; color:var(--pm-muted); }
.pm-art-decoration { width:42px; height:42px; padding:8px; border-radius:12px; border:1px solid var(--pm-line); color:var(--pm-gold); background:#3c2558; cursor:pointer; }
.pm-art-decoration svg { width:100%; height:100%; }
.pm-art-decoration:disabled { opacity:.4; }
@media (max-width:950px) {
 .pm-catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .pm-play-card { padding:20px 18px 36px; gap:11px; }
 .pm-play-symbol { width:35px; height:35px; }
 .pm-play-card strong { font-size:15px; }
 .pm-universe-card { grid-template-columns:36% 1fr; gap:14px; padding-right:16px; }
 .pm-universe-card strong { font-size:20px; }
 .pm-welcome-art { height:300px; }
 .pm-welcome-luma { width:155px; }
 .pm-welcome-art>span { bottom:25px; left:12px; font-size:12px; }
}
@media (max-width:700px) {
 .pm-welcome { grid-template-columns:1fr; gap:18px; padding-top:24px; }
 .pm-welcome h1 { font-size:36px; letter-spacing:-1px; }
 .pm-welcome-art { height:180px; border-radius:24px; }
 .pm-welcome-world { object-position:center 48%; }
 .pm-welcome-luma { width:150px; right:20px; }
 .pm-welcome-copy>p:not(.pm-small-note) { font-size:15px; }
 .pm-welcome .pm-hero-actions { margin:18px 0 8px; }
 .pm-welcome-art>span { bottom:38px; left:25px; }
 .pm-progress-strip { gap:8px 15px; padding:13px; }
 .pm-progress-strip>span[data-pm-profile-greeting] { min-width:calc(100% - 85px); }
 .pm-progress-strip .pm-profile-avatar { width:32px; height:32px; }
 .pm-daily-strip { flex-wrap:wrap; gap:12px; padding:22px 0; }
 .pm-daily-strip>.pm-new-pill { align-self:flex-start; }
 .pm-daily-strip .pm-button { margin-left:auto; font-size:13px; }
 .pm-daily-strip>div { min-width:65%; }
 .pm-daily-strip h2 { font-size:18px; }
 .pm-play-grid { grid-template-columns:1fr 1fr; gap:11px; }
 .pm-play-card { flex-direction:column; padding:18px 16px 38px; min-height:194px; gap:12px; }
 .pm-play-card strong { font-size:15px; }
 .pm-play-card-copy>span { font-size:12px; }
 .pm-play-card>.pm-new-pill { left:16px; font-size:9px; }
 .pm-play-card:nth-child(9) { grid-column:1/-1; flex-direction:row; min-height:110px; align-items:center; }
 .pm-universe-grid { grid-template-columns:1fr; gap:12px; }
 .pm-universe-card { min-height:142px; grid-template-columns:35% 1fr; }
 .pm-universe-card>img { height:142px; }
 .pm-universe-card strong { font-size:22px; }
 .pm-home-v3 .pm-section-heading { display:block; }
 .pm-home-v3 .pm-section-heading>p { margin:12px 0 0; }
 .pm-catalog-grid { gap:10px; }
 .pm-catalog-grid .pm-movie-tile>strong { font-size:11px; }
 .pm-catalog-tools { gap:13px; }
 .pm-catalog-tools>p { min-height:0; width:100%; }
 .pm-week-card { flex-direction:column; align-items:start; gap:12px; padding:24px; }
 .pm-week-card h2 { font-size:27px; }
 .pm-sticker-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .pm-family-compact { grid-template-columns:1fr; gap:0; }
 .pm-collection-list { grid-template-columns:1fr; }
 .pm-setup-modal { padding:14px; }
 .pm-setup-card { padding:24px; max-height:calc(100dvh - 28px); }
 .pm-setup-card h2 { font-size:25px; }
 .pm-setup-fields { gap:15px; }
 .pm-setup-fields select { font-size:13px; }
 .pm-activity-screen { padding:18px 16px 32px; }
 .pm-activity-top { gap:12px; flex-wrap:wrap; }
 .pm-activity-top>div { min-width:calc(100% - 60px); }
 .pm-activity-top strong { width:100%; text-align:center; }
 .pm-activity-instructions { font-size:14px; line-height:1.7; }
 .pm-activity-controls { gap:9px; }
 .pm-puzzle-layout { gap:12px; }
 .pm-puzzle-grid { max-width:300px; }
 .pm-puzzle-reference { width:26%; }
 .pm-hidden-object { width:44px; height:44px; padding:9px; }
 .pm-search-expert .pm-hidden-object { padding:13px; }
 .pm-search-list { gap:8px; }
 .pm-search-list li { padding:6px 9px; font-size:12px; }
 .pm-story-list li { grid-template-columns:26px 1fr; gap:12px; padding:16px; }
 .pm-story-list p { font-size:14px; }
 .pm-story-number { width:26px; height:30px; }
 .pm-story-arrows { grid-column:2; display:flex; }
 .pm-story-move { width:84px; }
 .pm-movie-activity-grid { grid-template-columns:1fr; }
 .pm-art-palette { gap:12px; }
 .pm-art-color { width:32px; height:32px; }
 .pm-art-decorations>strong { width:100%; text-align:center; }
}
@media (max-width:380px) {
 .pm-welcome h1 { font-size:31px; }
 .pm-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .pm-setup-fields { grid-template-columns:1fr; }
 .pm-play-card { padding:16px 13px 38px; }
 .pm-play-card>.pm-new-pill { left:13px; }
 .pm-progress-strip>span:not(.pm-profile-avatar) { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .pm-play-card { transition:none; } html { scroll-behavior:auto; } }

.pm-cover-fallback { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; height:100%; min-height:80px; padding:12px; text-align:center; color:var(--pm-muted); background:#291846; }
.pm-cover-fallback svg { width:32px; height:32px; color:var(--pm-gold); }
.pm-cover-fallback small { font-size:10px; line-height:1.5; }
.pm-movie-main-cover.is-unavailable { aspect-ratio:2/3; }
.pm-map-extra { margin:25px 0; }
.pm-map-extra h3 { font-size:22px; }
@media (max-width:700px) { .pm-map-extra .pm-map-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) {
 .pm-setup-fields label[data-pm-setup-world-field],.pm-setup-fields label[data-pm-setup-scene-field],.pm-setup-fields label[data-pm-setup-length-field] { grid-column:1/-1; }
}
