.fam-video-gallery{box-sizing:border-box;width:min(1200px,100%);margin:24px auto;padding:clamp(12px,3vw,30px);border-radius:24px;background:linear-gradient(140deg,#f5eaff,#fff0d4 66%,#fce6f1);color:#291240}
.fam-video-banner{padding:clamp(18px,4vw,38px);border-radius:20px;background:linear-gradient(125deg,#351460,#7425ad 65%,#9f287c);color:#fff}
.fam-video-banner h1,.fam-video-banner h2{color:#fff;font-size:clamp(1.35rem,4vw,2.6rem);margin:.4em 0;overflow-wrap:anywhere}
.fam-video-banner span,.fam-video-banner a{color:#ffdc8c;font-weight:700}
.fam-video-banner p{margin:0;color:#fff}
.fam-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;margin-top:18px}
.fam-video-card{display:block;min-width:0;border-radius:16px;overflow:hidden;background:#fff;color:#3b175f;text-decoration:none;box-shadow:0 5px 16px #501b8020}
.fam-video-card:hover,.fam-video-card:focus-visible{outline:2px solid #7425ad}
.fam-video-card strong,.fam-video-card small{display:block;padding:0 14px;overflow-wrap:anywhere}
.fam-video-card strong{margin-top:12px}
.fam-video-card small{margin:6px 0 14px;color:#652098}
.fam-video-cover{position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#3e166d,#a42d83,#d99a46)}
.fam-video-cover img{position:absolute;width:100%;height:100%;object-fit:cover}
.fam-video-player{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:16px;background:#160e20;margin:18px 0}
.fam-video-discussion,.fam-video-empty{padding:clamp(14px,3vw,25px);border-radius:16px;background:#fff;margin-top:18px}
.fam-video-discussion label{display:block;font-weight:600}
.fam-video-discussion input:not([type=submit]):not([type=checkbox]),.fam-video-discussion textarea{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #a68bb9;border-radius:8px}
.fam-video-discussion input[type=submit]{background:#672098;color:white;border:0;border-radius:10px;padding:10px 18px;cursor:pointer}
.fam-video-comment{background:#f7efff;border-left:4px solid #a353cb;border-radius:10px;padding:12px;margin:10px 0;overflow-wrap:anywhere}
.fam-video-comment time{display:block;font-size:.85em;color:#633c7b}
.fam-video-comment p:last-child{margin-bottom:0}
.fam-video-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.fam-video-pagination .page-numbers{border-radius:8px;padding:5px 10px;background:#f2e6ff;color:#4e187a}
.fam-video-pagination .current{background:#672098;color:#fff}

.fam-stage-event{box-sizing:border-box;width:min(1200px,100%);margin:14px auto 18px}
.fam-stage-event > summary{display:table;cursor:pointer;border-radius:12px;padding:10px 20px;background:linear-gradient(125deg,#4a197b,#8a2ba9);color:#fff;font-weight:700;list-style:none}
.fam-stage-event > summary::-webkit-details-marker{display:none}
.fam-stage-event > summary::after{content:"＋";margin-inline-start:10px;color:#ffdc8c}
.fam-stage-event[open] > summary::after{content:"−"}
.fam-stage-event > summary:focus-visible{outline:3px solid #a353cb;outline-offset:3px}
.fam-stage-event > .fam-video-gallery{margin:12px auto 0}

.fam-video-gallery[hidden]{display:none!important}
.fam-video-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.fam-malarkal-banner > .fam-stage-actions{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;width:100%}
.fam-malarkal-banner > .fam-stage-actions > :is(button,a){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;height:48px;min-height:48px!important;margin:0!important;padding:4px 8px!important;display:flex;justify-content:center;align-items:center;text-align:center}
.fam-malarkal-banner > .fam-stage-actions > [hidden]{display:none!important}
.fam-malarkal-banner .fam-stage-tab{background:#7425ad!important;color:#fff!important}
.fam-stage-tab[aria-expanded=true]{box-shadow:inset 0 0 0 2px #fff}
@media(max-width:740px){.fam-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.fam-video-grid{grid-template-columns:minmax(0,1fr)}}

.fam-app[data-directory="malarkal"] :is([data-malarkal-directory],.fam-malarkal-chat-panel,.fam-participation)[hidden]{display:none!important}
.fam-malarkal-banner .fam-activities-tab{background:#22558a!important;color:#fff!important}

.fam-video-watch{background:transparent;margin-top:24px;padding-top:0}
.fam-watch-player{border-radius:20px;overflow:hidden;background:#10081b;box-shadow:0 12px 32px #35146030}
.fam-watch-player .fam-video-player{margin:0;border-radius:0}
.fam-watch-play{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;border:0;padding:0;background:radial-gradient(ellipse,#3e205c,#10081b);cursor:pointer}
.fam-watch-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fam-watch-play span{z-index:1;display:grid;place-items:center;width:clamp(62px,12vw,112px);aspect-ratio:1;border:3px solid #ffde92;border-radius:50%;background:#491879e8;color:#fff;font-size:clamp(26px,5vw,48px);box-shadow:0 6px 24px #0008}
.fam-watch-play:is(:hover,:focus-visible) span{background:#7c2db1;outline:3px solid #fff;outline-offset:4px}
.fam-watch-back{display:inline-block;margin-top:16px;color:#672098;font-weight:700}
.fam-video-discussion{background:linear-gradient(130deg,#f4e9ff,#fff3d9);border:1px solid #e7d5f6}
.fam-discussion-heading{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:14px;background:linear-gradient(120deg,#391464,#8d2d96);color:#fff}
.fam-discussion-heading span{color:#ffda82;font-size:1.7rem}
.fam-discussion-heading h2,.fam-discussion-heading p{margin:0;color:#fff}
.fam-video-discussion #respond{margin:16px 0 22px;padding:clamp(14px,3vw,24px);border-radius:14px;background:#fff;box-shadow:0 5px 16px #501b8014}
.fam-video-discussion #respond h3{margin-top:0;color:#522478}
.fam-video-discussion textarea{resize:vertical;background:#fcf8ff}
.fam-video-discussion input[type=submit]{background:linear-gradient(120deg,#542188,#8e2b95);font-weight:700}
.fam-video-discussion .fam-video-comment{background:#fff;border-left-color:#9b51c5}

.fam-watch-frame{padding:clamp(8px,2vw,18px);border-radius:24px;border:1px solid #ad7adb;background:linear-gradient(135deg,#22113d,#542582 58%,#27123f);box-shadow:0 12px 30px #35146038}
.fam-watch-frame-strip{display:flex;align-items:center;gap:10px;padding:4px 5px 12px;color:#ffe5a2;font-size:.85rem;font-weight:800;letter-spacing:.04em}
.fam-watch-frame-strip span{width:10px;height:10px;border-radius:50%;background:#ffcd66;box-shadow:0 0 12px #ffbf66}
.fam-watch-frame-strip small{margin-inline-start:auto;color:#fff;letter-spacing:normal}
.fam-watch-frame .fam-watch-player{border:1px solid #d5a0f16b;border-radius:14px}
.fam-watch-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.fam-watch-actions button,.fam-watch-dialog button{cursor:pointer;padding:9px 15px;border:1px solid #caa7e7;border-radius:11px;background:#f6eaff;color:#4b196d;font-weight:700}
.fam-watch-actions [data-reaction=heart]{color:#b92256}
.fam-watch-actions [aria-pressed=true]{background:#612386;color:#fff}
.fam-watch-actions [data-open-dialog=comments],.fam-watch-dialog .fam-copy-link{background:#67258f;color:#fff}
.fam-watch-dialog{box-sizing:border-box;width:min(680px,calc(100% - 24px));max-height:85dvh;overflow:auto;margin:auto;padding:clamp(14px,3vw,26px);border:1px solid #d9b7f2;border-radius:20px;color:#291240;box-shadow:0 18px 60px #210f4780}
.fam-watch-dialog::backdrop{background:#170a2bb0}
.fam-watch-dialog form[method=dialog]{display:flex;justify-content:flex-end;margin-bottom:10px}
.fam-watch-dialog input[readonly]{width:100%;box-sizing:border-box;padding:10px;margin:5px 0 12px;border:1px solid #a68bb9;border-radius:8px}

.fam-watch-views{align-self:center;padding:6px 8px;color:#4b196d;font-weight:700;white-space:nowrap}

.fam-video-card{position:relative}
.fam-video-card::after{content:"";background:url("film-reel.webp") center/contain no-repeat;pointer-events:none}
.fam-video-card::after{position:absolute;right:9px;bottom:7px;width:min(31%,94px);height:116px}
.fam-video-card strong,.fam-video-card small{padding-inline-end:calc(min(31%,94px) + 12px)}
.fam-watch-frame-strip{min-height:44px}
.fam-watch-frame{position:relative}
.fam-watch-frame::after{
 content:"";position:absolute;z-index:2;right:clamp(10px,2vw,26px);bottom:clamp(-60px,-4vw,-16px);
 width:clamp(62px,16vw,175px);aspect-ratio:1200/1312;
 background:url("watch-film-reel.webp") center/contain no-repeat;pointer-events:none
}
.fam-watch-frame+.fam-watch-actions{padding-inline-end:clamp(72px,19vw,210px)}
@media(max-width:740px){.fam-video-card::after{height:76px}}
