/*
 * Flick's Movie Club: club pages only (loaded by templates/layout.php, never
 * by the general site). Every selector is .kc-scoped.
 * Look: a late-90s educational site (chunky bevel buttons, sticker badges,
 * marquee lights) built with modern, accessible CSS.
 */
:root{
	--kc-purple:#4b0082;--kc-violet:#7b3fc4;--kc-lav:#e9dcf7;--kc-lav2:#d6c2f2;
	--kc-gold:#c9a84c;--kc-gold-lt:#f3d27a;--kc-night:#1b0b36;--kc-night2:#2a1150;
	--kc-ink:#1d1330;--kc-cream:#fff8ec;--kc-paper:#fff;--kc-green:#1e6b3a;--kc-red:#a3162b;
	--kc-radius:14px;--kc-shadow:0 4px 0 var(--kc-night2);
	--kc-font:'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
	--kc-display:'Bebas Neue','Outfit',Impact,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.kc{margin:0;background:var(--kc-night) radial-gradient(ellipse at top,#34176a 0,var(--kc-night) 60%) no-repeat;color:var(--kc-ink);font:400 18px/1.55 var(--kc-font)}
.kc img{max-width:100%;height:auto}
.kc a{color:var(--kc-purple);text-underline-offset:3px}
.kc a:hover{color:var(--kc-violet)}
.kc :focus-visible{outline:4px solid var(--kc-gold-lt);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 7px var(--kc-night)}
.kc [hidden]{display:none!important}
.kc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.kc-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--kc-gold-lt);color:var(--kc-ink);padding:10px 16px;border-radius:10px;font-weight:700}
.kc-skip:focus{top:12px}
.kc-staffbar{background:#fff1b8;color:#3b2a00;padding:8px 16px;font-size:15px;text-align:center}

/* Header */
.kc-header{position:relative;background:linear-gradient(180deg,var(--kc-night2),var(--kc-night));border-bottom:4px solid var(--kc-gold);color:#fff;position:relative;z-index:20}
.kc-header::before{content:"";position:absolute;inset:0;overflow:hidden;background-image:radial-gradient(circle,#fff 1px,transparent 1.5px),radial-gradient(circle,var(--kc-gold-lt) 1px,transparent 1.5px);background-size:90px 70px,130px 110px;background-position:10px 12px,60px 40px;opacity:.35;pointer-events:none}
.kc-header__inner{position:relative;max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.kc-brand{display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;margin-right:auto}
.kc-brand__flick{width:64px;height:64px;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}
.kc-brand__text{display:flex;flex-direction:column;line-height:1.1}
.kc-brand__name{font:400 32px/1 var(--kc-display);letter-spacing:1px;color:var(--kc-gold-lt)}
.kc-brand__tag{font-size:14px;color:#e6dcff}
.kc-nav{order:3;flex-basis:100%}
.kc-nav__toggle{display:none}
.kc-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.kc-nav__list > li > a,.kc-nav__menubtn{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;color:#fff;text-decoration:none;font:700 16px/1 var(--kc-font);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);cursor:pointer}
.kc-nav__list > li > a:hover,.kc-nav__menubtn:hover{background:rgba(255,255,255,.16);color:#fff}
.kc-nav__list > li > a[aria-current="page"],.kc-nav__menubtn.is-current{background:var(--kc-gold);color:var(--kc-ink);border-color:var(--kc-gold)}
.kc-nav__menubtn::after{content:"";width:0;height:0;margin-left:8px;border:5px solid transparent;border-top-color:currentColor;border-bottom:0;transition:transform .15s}
.kc-nav__menubtn[aria-expanded="true"]::after{transform:rotate(180deg)}
.kc-nav__menu{position:relative}
.kc-nav__sub{list-style:none;margin:0;padding:8px;display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:30;width:330px;background:var(--kc-cream);border:3px solid var(--kc-gold);border-radius:16px;box-shadow:0 8px 0 var(--kc-night2),0 18px 40px rgba(0,0,0,.35)}
.kc-nav__menu.is-open .kc-nav__sub{display:block}
.kc-nav__sub a{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;border-radius:10px;color:var(--kc-ink)!important;text-decoration:none}
.kc-nav__sub a:hover,.kc-nav__sub a[aria-current="page"]{background:var(--kc-lav)}
.kc-nav__sub img{width:40px;height:40px;object-fit:contain;flex:0 0 40px}
.kc-nav__sub span{display:flex;flex-direction:column;line-height:1.2}
.kc-nav__sub strong{color:var(--kc-purple);font-size:16px}
.kc-nav__sub small{font-size:13.5px;color:#4a3d63}
.kc-grownups-link{white-space:nowrap;order:2;display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:10px;background:var(--kc-cream);color:var(--kc-purple)!important;font-weight:700;text-decoration:none;border:2px solid var(--kc-gold);box-shadow:0 3px 0 rgba(0,0,0,.35)}
.kc-grownups-link[aria-current="page"]{background:var(--kc-gold-lt)}
@media (min-width:1180px){
	.kc-header__inner{flex-wrap:nowrap}
	.kc-brand{margin-right:0}
	.kc-nav{order:2;flex:1 1 auto;flex-basis:auto;display:flex;justify-content:center}
	.kc-grownups-link{order:3}
	.kc-brand__tag{display:none}
}
@media (max-width:760px){
	.kc-brand__flick{width:52px;height:52px}
	.kc-brand__name{font-size:26px}
	.kc-brand__tag{display:none}
	.kc-nav__toggle{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:10px;border:2px solid var(--kc-gold);background:var(--kc-night2);color:#fff;font:700 17px var(--kc-font);cursor:pointer}
	.kc-nav__toggle::after{content:"";width:0;height:0;border:6px solid transparent;border-top-color:currentColor;border-bottom:0}
	.kc-nav__toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
	.kc-nav__toggle{white-space:nowrap}
	.kc-js .kc-nav__list{display:none}
	.kc-header__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}
	.kc-brand{grid-column:1/-1}
	.kc-nav{grid-column:1;grid-row:2}
	.kc-grownups-link{grid-column:2;grid-row:2}
	.kc-js .kc-nav.is-open .kc-nav__list{display:flex;flex-direction:column;align-items:stretch;gap:8px;position:absolute;left:12px;right:12px;top:calc(100% - 2px);z-index:40;max-height:78vh;overflow:auto;padding:12px;background:var(--kc-night2);border:3px solid var(--kc-gold);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
	.kc-nav__list > li > a{display:flex;justify-content:center;min-height:48px}
	.kc-nav__menubtn{display:none}
	.kc-nav__sub{display:block;position:static;width:auto;box-shadow:none;border-width:2px}
}
/* Season decorations: still, corner-only, decorative. */
.kc-deco{position:absolute;right:8px;bottom:6px;width:120px;height:48px;opacity:.9;pointer-events:none;background-repeat:no-repeat;background-size:contain}
.kc-deco--bats{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 48'%3E%3Cg fill='%23f3d27a'%3E%3Cpath d='M20 20c4-6 8-6 10 0 2-6 6-6 10 0-4 0-6 3-10 8-4-5-6-8-10-8z'/%3E%3Cpath d='M70 10c3-4 6-4 7 0 1-4 4-4 7 0-3 0-4 2-7 6-3-4-4-6-7-6z'/%3E%3Cpath d='M92 28c3-4 6-4 7 0 1-4 4-4 7 0-3 0-4 2-7 6-3-4-4-6-7-6z'/%3E%3C/g%3E%3C/svg%3E")}
.kc-deco--leaves{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 48'%3E%3Cg fill='%23e08a2e'%3E%3Cpath d='M20 8c10 4 12 14 2 22-6-8-8-14-2-22z'/%3E%3Cpath d='M60 20c10 2 14 10 6 18-8-6-10-12-6-18z' fill='%23c9a84c'/%3E%3Cpath d='M96 6c8 4 10 12 2 18-6-6-7-12-2-18z' fill='%23b5452a'/%3E%3C/g%3E%3C/svg%3E")}
.kc-deco--snow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 48'%3E%3Cg stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M20 8v20M10 18h20M13 11l14 14M27 11L13 25'/%3E%3Cpath d='M70 18v16M62 26h16M64 20l12 12M76 20L64 32'/%3E%3Cpath d='M102 6v12M96 12h12'/%3E%3C/g%3E%3C/svg%3E")}
.kc-deco--confetti{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 48'%3E%3Ccircle cx='14' cy='12' r='4' fill='%23f3d27a'/%3E%3Crect x='40' y='20' width='8' height='4' fill='%23b79be6' transform='rotate(30 44 22)'/%3E%3Ccircle cx='70' cy='8' r='3' fill='%23fff'/%3E%3Crect x='90' y='28' width='8' height='4' fill='%23f3d27a' transform='rotate(-20 94 30)'/%3E%3Ccircle cx='108' cy='14' r='4' fill='%23b79be6'/%3E%3C/svg%3E")}
.kc-deco--hearts{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 48'%3E%3Cg fill='%23f59ab8'%3E%3Cpath d='M20 30l-9-9a5 5 0 017-7l2 2 2-2a5 5 0 017 7z'/%3E%3Cpath d='M70 24l-7-7a4 4 0 016-6l1 1 1-1a4 4 0 016 6z'/%3E%3Cpath d='M104 34l-8-8a5 5 0 017-7l1 1 1-1a5 5 0 017 7z'/%3E%3C/g%3E%3C/svg%3E")}
.kc-deco--sparkles,.kc-deco--stars{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 48'%3E%3Cg fill='%23f3d27a'%3E%3Cpath d='M20 4l3 9 9 3-9 3-3 9-3-9-9-3 9-3z'/%3E%3Cpath d='M72 16l2 6 6 2-6 2-2 6-2-6-6-2 6-2z'/%3E%3Cpath d='M104 6l2 5 5 2-5 2-2 5-2-5-5-2 5-2z'/%3E%3C/g%3E%3C/svg%3E")}
@media (max-width:760px){.kc-deco{display:none}}

/* Main surfaces */
.kc-main{display:block;max-width:1180px;margin:0 auto;padding:20px 16px 48px}
.kc-main:focus{outline:none}
.kc-page{background:var(--kc-cream);border-radius:22px;padding:22px 20px 32px;border:3px solid var(--kc-gold);box-shadow:0 8px 0 var(--kc-night2);position:relative}
@media (min-width:900px){.kc-page{padding:30px 40px 40px}}
.kc-display{font:400 clamp(38px,6vw,60px)/1 var(--kc-display);letter-spacing:.5px;color:var(--kc-purple);margin:0 0 8px}
.kc-h2{font:800 clamp(24px,3.2vw,30px)/1.2 var(--kc-font);color:var(--kc-purple);margin:0 0 10px}
.kc-h3{font:800 21px/1.25 var(--kc-font);color:var(--kc-purple);margin:0 0 8px}
.kc-lede{font-size:clamp(18px,2.2vw,21px);margin:0 0 10px}
.kc-small{font-size:15px;color:#4a3d63}
.kc-kicker{font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--kc-violet);margin:0}
.kc-note{background:var(--kc-lav);border-left:6px solid var(--kc-violet);padding:10px 14px;border-radius:8px;font-size:16px}
.kc-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;text-decoration:none;margin-bottom:8px}
.kc-panel{background:var(--kc-paper);border:2px solid var(--kc-lav2);border-radius:var(--kc-radius);padding:18px 18px 12px;margin:22px 0}
.kc-panel--print{border-style:dashed;border-color:var(--kc-gold)}
.kc-page__head{display:flex;gap:18px;align-items:center;margin-bottom:12px}
.kc-page__art{width:130px;height:auto;flex:0 0 auto}
@media (max-width:600px){.kc-page__head{flex-direction:column;text-align:center}.kc-page__art{width:120px}}
.kc-example{background:#fff1b8;border:2px dashed #b88a00;padding:10px 14px;border-radius:10px}
.kc-safety{background:#fff4f0;border-left:6px solid #d0572a;padding:10px 14px;border-radius:8px}
.kc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.kc-inline{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:8px 16px}
.kc-prompts{padding-left:22px}
.kc-prompts li{margin:4px 0;font-weight:600}

/* Buttons: chunky, beveled, big targets */
.kc-btn,.kc button.kc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;border-radius:12px;border:2px solid var(--kc-purple);background:var(--kc-paper);color:var(--kc-purple)!important;font:700 17px/1.2 var(--kc-font);text-decoration:none;cursor:pointer;box-shadow:var(--kc-shadow);transition:transform .08s,box-shadow .08s}
.kc-btn:hover{background:var(--kc-lav)}
.kc-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--kc-night2)}
.kc .kc-btn.kc-btn--primary{background:var(--kc-purple);color:#fff!important}
.kc .kc-btn.kc-btn--primary:hover{background:var(--kc-violet)}
.kc .kc-btn.kc-btn--ghost{background:transparent}
.kc-btn--small{min-height:44px;padding:8px 14px;font-size:16px}
.kc-btn[disabled],.kc-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.kc-btn small{font-weight:500;opacity:.85}
.kc-chip{min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--kc-violet);background:var(--kc-paper);color:var(--kc-purple);font:700 16px var(--kc-font);cursor:pointer;margin:0 6px 8px 0}
.kc-chip[aria-pressed="true"]{background:var(--kc-violet);color:#fff}
.kc-chip.is-right{background:#dff3e5;border-color:var(--kc-green);color:var(--kc-green)}
.kc-chip.is-wrong{background:#fde7ea;border-color:var(--kc-red);color:var(--kc-red)}
.kc-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:14px;font-weight:700;background:var(--kc-lav);color:var(--kc-purple);border:1px solid var(--kc-lav2);margin:0 4px 4px 0}
.kc-badge--easy{background:#e3f4e8;color:#1e6b3a;border-color:#b4dfc1}
.kc-badge--medium{background:#fff1cc;color:#7a5600;border-color:#f0d58a}
.kc-badge--detailed{background:#f3e5ff;color:#5a1e9a;border-color:#d8b9f7}
.kc-badge--season,.kc-badge--now{background:var(--kc-gold-lt);color:#3b2a00;border-color:var(--kc-gold)}
.kc-badge--open{background:#e3f4e8;color:#1e6b3a}
.kc-badge--closed{background:#eee;color:#444}
.kc-label{display:block;font-weight:800;margin-bottom:6px}
.kc-readout{background:var(--kc-lav);border-radius:10px;padding:10px 14px;margin:10px 0}
.kc-range{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--kc-purple)}
.kc-range input[type=range]{flex:1;min-width:120px;height:44px;accent-color:var(--kc-purple)}

/* Welcome + campus */
.kc-welcome{display:flex;align-items:center;gap:20px;color:#fff;margin:4px 0 18px}
.kc-welcome .kc-display{color:var(--kc-gold-lt)}
.kc-welcome .kc-lede{color:#f1eaff}
.kc-welcome .kc-note{background:rgba(255,255,255,.1);border-left-color:var(--kc-gold);color:#f1eaff}
.kc-welcome__flick{width:180px;height:auto;animation:kc-rise .5s ease-out both}
@keyframes kc-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:640px){.kc-welcome{flex-direction:column;text-align:center}.kc-welcome__flick{width:150px}}
.kc-campus__scene{position:relative;border-radius:18px;overflow:hidden;border:6px solid var(--kc-night2);box-shadow:0 0 0 3px var(--kc-gold),0 10px 0 var(--kc-night2);background:var(--kc-night2)}
.kc-campus__scene::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:12px;background:radial-gradient(circle,var(--kc-gold-lt) 2.5px,transparent 3px) 0 0/28px 28px;-webkit-mask:linear-gradient(#000 0 0) top/100% 8px no-repeat,linear-gradient(#000 0 0) bottom/100% 8px no-repeat;mask:linear-gradient(#000 0 0) top/100% 8px no-repeat,linear-gradient(#000 0 0) bottom/100% 8px no-repeat;opacity:.9}
.kc-campus__img{display:block;width:100%}
.kc-campus__spots{list-style:none;margin:0;padding:0}
.kc-campus__spots li{position:absolute;transform:translate(-50%,-50%)}
.kc-spot{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:999px;background:rgba(27,11,54,.88);color:#fff!important;font-weight:700;font-size:15px;text-decoration:none;border:2px solid var(--kc-gold);white-space:nowrap;box-shadow:0 3px 0 rgba(0,0,0,.4)}
.kc-spot:hover{background:var(--kc-purple)}
.kc-spot__dot{width:12px;height:12px;border-radius:50%;background:var(--kc-gold-lt);box-shadow:0 0 0 3px rgba(243,210,122,.35)}
@media (max-width:899px){.kc-campus__spots{display:none}}
.kc-campus__hint{margin:10px 0 0;text-align:center;color:#f1eaff;font-size:16px}
.kc-welcome__go{margin:4px 0 12px}
@media (max-width:640px){.kc-welcome__go{justify-content:center}}
/* Phones: no hotspots, so the cards come first and the picture follows. */
.kc-home{display:flex;flex-direction:column}
.kc-areas:focus{outline:none}
@media (max-width:899px){
	.kc-campus__hint{display:none}
	.kc-welcome{order:1}.kc-areas{order:2}.kc-challenge{order:3}.kc-featured{order:4}.kc-campus{order:5;margin-top:26px}.kc-grownup-callout{order:6}
	.kc-welcome__flick{width:120px}
}
.kc-challenge{margin-top:26px;background:var(--kc-cream);border:3px solid var(--kc-gold);border-radius:18px;padding:16px 18px;box-shadow:0 5px 0 var(--kc-night2)}
.kc-page .kc-challenge{box-shadow:none;margin:0 0 20px;background:var(--kc-paper)}
.kc-challenge__steps{margin:0 0 12px;padding-left:1.4em}
.kc-challenge__steps li{margin:4px 0}
.kc-challenge .kc-small{margin:8px 0 0}
.kc-areas{margin-top:26px}
.kc-areas .kc-h2,.kc-featured .kc-h2{color:var(--kc-gold-lt)}
.kc-cards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.kc-cards > li{flex:0 1 158px}
@media (max-width:420px){.kc-cards > li{flex-basis:calc(50% - 7px)}}
.kc-card__link{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding:12px 10px 14px;background:var(--kc-cream);border:3px solid var(--kc-gold);border-radius:18px;text-decoration:none;color:var(--kc-ink)!important;box-shadow:0 5px 0 var(--kc-night2);transition:transform .12s}
.kc-card__link:hover{transform:translateY(-3px)}
.kc-card__img{width:120px;height:120px;object-fit:contain}
.kc-card__title{font:800 19px/1.2 var(--kc-font);color:var(--kc-purple);margin-top:6px}
.kc-card__text{font-size:15px;margin-top:4px}
.kc-cards--small > li{flex-basis:150px}
/* Clubhouse: 7 places, never a lone last card. Under 560px: 2 across and the
   7th card runs full width (picture beside text). 560px up (sideways phones,
   tablets): 4 + 3. 1100px up: one row. */
@media (max-width:559px){
	.kc-cards--areas{display:grid;grid-template-columns:1fr 1fr;gap:14px}
	.kc-cards--areas > li:last-child{grid-column:1 / -1}
	.kc-cards--areas > li:last-child .kc-card__link{display:grid;grid-template-columns:96px 1fr;column-gap:14px;align-items:center;text-align:left;padding:10px 16px}
	.kc-cards--areas > li:last-child .kc-card__img{grid-row:1 / 3;width:96px;height:96px}
	.kc-cards--areas > li:last-child .kc-card__title{align-self:end;margin-top:0}
	.kc-cards--areas > li:last-child .kc-card__text{align-self:start}
}
@media (min-width:560px){.kc-cards--areas > li{flex:0 0 calc((100% - 42px) / 4)}}
@media (min-width:560px) and (max-width:699px){
	.kc-cards--areas .kc-card__link{padding:10px 6px 12px}
	.kc-cards--areas .kc-card__img{width:100%;max-width:110px;height:auto;aspect-ratio:1}
	.kc-cards--areas .kc-card__title{font-size:16px}
	.kc-cards--areas .kc-card__text{font-size:14px}
}
@media (min-width:1100px){
	.kc-cards--areas{flex-wrap:nowrap}
	.kc-cards--areas > li{flex:1 1 0;min-width:0}
	.kc-cards--areas .kc-card__link{padding:12px 8px 14px}
	.kc-cards--areas .kc-card__img{width:100%;max-width:120px;height:auto;aspect-ratio:1}
	.kc-cards--areas .kc-card__title{font-size:17px}
}
.kc-featured{margin-top:28px}
.kc-featured > p{margin-top:14px}
.kc-featured .kc-btn--ghost,.kc-areas .kc-btn--ghost{color:var(--kc-gold-lt)!important;border-color:var(--kc-gold)}
.kc-featured .kc-btn--ghost:hover{background:rgba(255,255,255,.08)}
.kc-grownup-callout{display:flex;align-items:center;gap:16px;margin-top:28px;padding:16px 18px;background:var(--kc-cream);border-radius:18px;border:3px dashed var(--kc-gold)}
.kc-grownup-callout__img{width:90px}

/* Coloring */
.kc-sheets{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.kc-sheet{background:var(--kc-paper);border:2px solid var(--kc-lav2);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px}
.kc-sheet > a{text-decoration:none;color:var(--kc-ink)!important;display:flex;flex-direction:column;gap:6px}
.kc-sheet img{border:1px solid #ddd;border-radius:6px;background:#fff;aspect-ratio:480/643}
.kc-sheet__title{font-weight:800;color:var(--kc-purple);line-height:1.25}
.kc-sheet__dl{display:flex;gap:12px;font-weight:700}
.kc-sheet__dl a{display:inline-flex;align-items:center;min-height:44px}
.kc-sheet[hidden]{display:none}
.kc-sheet .kc-btn{margin-top:4px}
.kc-filter{margin:8px 0}
.kc-key{background:var(--kc-paper);border:2px dashed var(--kc-gold);border-radius:14px;padding:12px 16px;margin:12px 0}
.kc-key__title{margin:0 0 6px;font:800 17px var(--kc-font);color:var(--kc-purple)}
.kc-key__list{margin:0;display:grid;gap:6px 18px}
@media (min-width:760px){.kc-key__list{grid-template-columns:1fr 1fr}}
.kc-key__list div{display:flex;align-items:center;gap:10px}
.kc-key__list dt{flex:0 0 88px}
.kc-key__list dd{margin:0;font-size:15.5px}
.kc-sheetview{display:grid;gap:24px}
@media (min-width:800px){.kc-sheetview{grid-template-columns:minmax(260px,420px) 1fr}}
.kc-sheetview__art img{border:1px solid #ccc;border-radius:8px;background:#fff}
.kc-seasons{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.kc-season{display:flex;gap:14px;align-items:flex-start;background:var(--kc-paper);border:2px solid var(--kc-lav2);border-radius:14px;padding:12px}
.kc-season.is-now{border-color:var(--kc-gold);box-shadow:0 0 0 3px var(--kc-gold-lt)}
.kc-season__flick{width:96px;height:96px;flex:0 0 auto}

/* Projection booth */
.kc-proj{--day:.85;margin-top:12px}
.kc-proj__stage{position:relative;border-radius:16px;overflow:hidden;border:4px solid var(--kc-night2);aspect-ratio:16/10;background:var(--kc-night)}
.kc-proj__sky{position:absolute;inset:0;background:linear-gradient(180deg,#8fd0ff,#dff3ff 70%);opacity:var(--day);transition:opacity .3s}
.kc-proj__stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0e0724,#2a1150 70%)}
.kc-proj__screen{position:absolute;left:12%;right:12%;top:10%;bottom:24%;border:6px solid #3a2a55;background:#fff;overflow:hidden;z-index:1}
.kc-proj__movie{width:100%;height:100%;object-fit:cover;display:block}
.kc-proj__wash{position:absolute;inset:0;background:#fffbe8;opacity:calc(var(--day) * .78);transition:opacity .3s}
.kc-proj__lawn{position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(180deg,#2f7a3a,#1f5327);z-index:1;filter:brightness(calc(.45 + var(--day) * .55))}
.kc-proj__controls{margin-top:14px}
.kc-proj__buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.kc-equip{display:grid;gap:10px}
@media (min-width:760px){.kc-equip{grid-template-columns:1fr 1fr}}
.kc-equip__item,.kc-ticket-fact{background:var(--kc-cream);border:2px solid var(--kc-lav2);border-radius:12px;padding:4px 14px}
.kc-equip__item summary,.kc-ticket-fact summary{min-height:48px;display:flex;align-items:center;gap:10px;font-weight:800;color:var(--kc-purple);cursor:pointer}

/* Animation */
.kc-anim__viewer{margin:10px 0;background:var(--kc-paper);border:4px solid var(--kc-night2);border-radius:14px;padding:10px;max-width:640px}
.kc-anim__frame svg{display:block;width:100%;height:auto;border-radius:8px}
.kc-anim__controls{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.kc-anim__speed{max-width:520px;margin:12px 0}
.kc-strip{list-style:none;padding:8px;margin:12px 0;display:flex;gap:8px;overflow-x:auto;background:#2a1150;border-radius:10px}
.kc-strip__frame{display:block;width:108px;padding:4px;border:3px solid transparent;border-radius:8px;background:#fff;cursor:pointer}
.kc-strip__frame svg{display:block;width:100%;height:auto}
.kc-strip__frame.is-current{border-color:var(--kc-gold)}

/* Sound */
.kc-soundbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:var(--kc-night2);color:#fff;border-radius:14px;padding:12px 14px;margin:10px 0}
.kc-soundbar .kc-small{color:#e6dcff;margin:0;flex-basis:100%}
@media (max-width:600px){.kc-soundbar{flex-wrap:nowrap;gap:6px;padding:8px}.kc-soundbar .kc-btn{padding:8px 10px;font-size:15px;min-height:44px}.kc-soundbar__vol span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.kc-soundbar__vol input{width:80px}}
.kc-soundbar__toggle[aria-pressed="false"]{background:#eee;border-color:#555;color:#333!important}
.kc-soundbar__vol{display:flex;align-items:center;gap:8px;font-weight:700}
.kc-soundbar__vol input{height:44px;accent-color:var(--kc-gold)}
.kc-scene{position:relative;border-radius:14px;overflow:hidden;border:4px solid var(--kc-night2)}
.kc-scene__img{display:block;width:100%}
.kc-scene__mark{position:absolute;transform:translate(-50%,-50%);padding:6px 12px;border-radius:999px;background:var(--kc-gold-lt);color:var(--kc-ink);font-weight:800;font-size:15px;border:3px solid var(--kc-night2);opacity:0;transition:opacity .2s;white-space:nowrap}
.kc-scene__mark.is-on{opacity:1}
.kc-scene__rain{position:absolute;inset:0;opacity:0;transition:opacity .4s;background:repeating-linear-gradient(105deg,transparent 0 14px,rgba(210,230,255,.55) 14px 15px);pointer-events:none}
.kc-scene.is-rain .kc-scene__rain{opacity:1}
.kc-caption{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);margin:0;max-width:92%;background:rgba(0,0,0,.82);color:#fff;font-weight:700;padding:8px 14px;border-radius:8px;text-align:center}
.kc-soundgrid{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:700px){.kc-soundgrid{grid-template-columns:repeat(4,1fr)}}
.kc-soundbtn{width:100%;min-height:72px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;border:2px solid var(--kc-purple);background:var(--kc-paper);box-shadow:var(--kc-shadow);cursor:pointer;text-align:left;font-family:var(--kc-font)}
.kc-soundbtn__label{font-weight:800;font-size:18px;color:var(--kc-purple)}
.kc-soundbtn__feel{font-size:14px;color:#4a3d63}
.kc-soundbtn[aria-pressed="true"]{background:var(--kc-gold-lt)}
.kc-match{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.kc-match__item img{max-width:100%}
.kc-match__item{background:var(--kc-cream);border:2px solid var(--kc-lav2);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.kc-match__item img{width:120px;height:120px;border-radius:10px;background:#fff}
.kc-match__name{font-weight:800;margin:0}
.kc-match__item select{min-height:44px;font:600 16px var(--kc-font);border:2px solid var(--kc-violet);border-radius:10px;padding:6px 10px;max-width:100%}
.kc-match__result{margin:0;font-weight:700}
.kc-match__result.is-right{color:var(--kc-green)}
.kc-match__result.is-wrong{color:var(--kc-red)}

/* Director */
.kc-dir__size{border:0;padding:0;margin:0 0 12px;display:flex;gap:16px;flex-wrap:wrap}
.kc-dir__size label{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:600}
.kc-dir__size input{width:22px;height:22px;accent-color:var(--kc-purple)}
.kc-tray{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:700px){.kc-tray{grid-template-columns:repeat(4,1fr)}}
.kc-tray__card{width:100%;padding:6px;border:3px solid var(--kc-lav2);border-radius:12px;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;font:700 15px var(--kc-font);color:var(--kc-purple)}
.kc-tray__card img{border-radius:8px}
.kc-tray__card[aria-pressed="true"]{border-color:var(--kc-gold);box-shadow:0 0 0 4px var(--kc-gold-lt)}
.kc-slots{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media (min-width:900px){.kc-slots{grid-template-columns:repeat(var(--slots,3),1fr)}}
.kc-slot{background:#fff;border:3px dashed var(--kc-violet);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px}
.kc-slot__name{font:800 18px var(--kc-font);color:var(--kc-purple);margin:0}
.kc-slot__img{aspect-ratio:4/3;border-radius:8px;background:var(--kc-lav);display:flex;align-items:center;justify-content:center;text-align:center;color:#5a4a77;font-size:15px;padding:8px;overflow:hidden}
.kc-slot__img img{width:100%;height:100%;object-fit:cover}
.kc-slot{min-width:0}
.kc-slot textarea,.kc-dir input[type=text]{width:100%;font:500 17px var(--kc-font);border:2px solid var(--kc-lav2);border-radius:10px;padding:8px 10px;min-height:44px}
.kc-slot__tools{display:flex;flex-wrap:wrap;gap:6px}
.kc-dir__theater{margin-top:18px;background:var(--kc-night);color:#fff;border-radius:16px;padding:16px}
.kc-dir__theater .kc-h3{color:var(--kc-gold-lt)}
.kc-dir__screen{background:#000;border-radius:10px;padding:10px;text-align:center}
.kc-dir__screen img{max-height:60vh;width:auto;border-radius:6px}
.kc-dir__screen p{font-size:20px;margin:10px 0 0;overflow-wrap:anywhere}
.kc-printonly{display:none}

/* Behind */
.kc-journey__list{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.kc-journey__step{background:#fff;border:2px solid var(--kc-lav2);border-radius:14px;overflow:hidden}
.kc-journey__img{display:block;width:100%}
.kc-journey__copy{padding:14px 16px}
.kc-journey__num{display:inline-block;background:var(--kc-gold-lt);color:#3b2a00;border-radius:999px;padding:2px 10px;font-size:15px;margin-right:6px}
.kc-js .kc-journey.is-stepping .kc-journey__step{display:none}
.kc-js .kc-journey.is-stepping .kc-journey__step.is-current{display:block}
.kc-journey__nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.kc-quiz{margin-top:10px;padding:10px 12px;background:var(--kc-cream);border-radius:10px}
.kc-quiz__q{margin:0 0 8px}
.kc-quiz__result{font-weight:700;margin:6px 0 0}
.kc-order{list-style:none;padding:0;margin:0;display:grid;gap:8px;counter-reset:ord}
.kc-order li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--kc-cream);border:2px solid var(--kc-lav2);border-radius:12px;padding:8px 10px;counter-increment:ord}
.kc-order li::before{content:counter(ord);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--kc-purple);color:#fff;font-weight:800}
.kc-order__label{font-weight:700;margin-right:auto}
@media (max-width:600px){.kc-order__label{flex:1 1 calc(100% - 44px)}.kc-order li .kc-btn{flex:1 1 40%}}

/* Discoveries */
.kc-tickets{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media (min-width:760px){.kc-tickets{grid-template-columns:1fr 1fr}}
.kc-ticketicon{display:inline-block;width:34px;height:22px;border-radius:4px;background:linear-gradient(135deg,var(--kc-gold-lt),var(--kc-gold));-webkit-mask:radial-gradient(circle at 0 50%,transparent 5px,#000 5.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 5px,#000 5.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 50%,transparent 5px,#000 5.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 5px,#000 5.5px) right/51% 100% no-repeat}
.kc-hidden-ticket{position:absolute;right:14px;top:14px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;cursor:pointer}
.kc-main{position:relative}
.kc-hidden-ticket:hover{background:rgba(201,168,76,.15)}
.kc-celebrate{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;max-width:min(560px,92vw);background:var(--kc-cream);border:3px solid var(--kc-gold);border-radius:16px;padding:14px 16px;box-shadow:0 8px 0 var(--kc-night2);display:flex;gap:12px;align-items:center}
.kc-celebrate[hidden]{display:none}
.kc-celebrate__msg{margin:0;font-weight:700}
.kc-celebrate--still::before{content:"";flex:0 0 48px;height:48px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 3l6 14 15 2-11 10 3 15-13-7-13 7 3-15L3 19l15-2z' fill='%23f3d27a' stroke='%234b0082' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.kc-kernel{position:fixed;top:-50px;z-index:40;pointer-events:none;width:26px;height:26px;animation:kc-fall linear forwards}
@keyframes kc-fall{to{transform:translateY(110vh) rotate(540deg)}}

/* Contests / grown-ups / misc */
.kc-contests{list-style:none;padding:0;display:grid;gap:12px}
.kc-contest{background:#fff;border:2px solid var(--kc-lav2);border-radius:14px;padding:14px}
.kc-rules dl{display:grid;gap:4px 18px;margin:0}
@media (min-width:760px){.kc-rules dl{grid-template-columns:200px 1fr}}
.kc-rules dt{font-weight:800;color:var(--kc-purple)}
.kc-rules dd{margin:0 0 8px}
.kc-guides{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media (min-width:760px){.kc-guides{grid-template-columns:1fr 1fr}}
.kc-guide-card{background:var(--kc-cream);border:2px solid var(--kc-lav2);border-radius:14px;padding:14px}
.kc-tablewrap{overflow-x:auto}
.kc-table{width:100%;border-collapse:collapse;font-size:16px}
.kc-table th,.kc-table td{border-bottom:1px solid var(--kc-lav2);padding:10px 8px;text-align:left;vertical-align:top}
.kc-facts{display:grid;gap:8px;margin:10px 0}
@media (min-width:760px){.kc-facts{grid-template-columns:2fr 1fr 1fr 1.5fr}}
.kc-facts div{background:#fff;border:2px solid var(--kc-lav2);border-radius:12px;padding:8px 12px}
.kc-facts dt{font-weight:800;color:var(--kc-purple);font-size:15px}
.kc-facts dd{margin:0}
.kc-cols{display:grid;gap:14px}
@media (min-width:900px){.kc-cols{grid-template-columns:repeat(3,1fr)}}
.kc-leaving{text-align:center}
.kc-leaving__flick{width:150px}
.kc-leaving__list{text-align:left;max-width:640px;margin:14px auto}
.kc-leaving__actions{justify-content:center}
.kc-404{text-align:center}
.kc-404__flick{width:220px}
.kc-404__links{justify-content:center}

/* Footer */
.kc-footer{background:var(--kc-night);color:#e6dcff;border-top:4px solid var(--kc-gold)}
.kc-footer__inner{max-width:1180px;margin:0 auto;padding:22px 16px 30px}
.kc-footer a{color:var(--kc-gold-lt)}
.kc-footer__guide{font-weight:700;color:#fff}
.kc-footer__links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.kc-footer__links a{display:inline-flex;min-height:44px;align-items:center}
.kc-footer__small{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15px}
.kc-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Motion preferences: no entrance or celebration movement. */
@media (prefers-reduced-motion:reduce){
	.kc *,.kc *::before,.kc *::after{animation:none!important;transition:none!important}
	.kc-kernel{display:none}
}

/* Print: the club chrome never prints; activities print their own layout. */
@media print{
	body.kc{background:#fff;color:#000;font-size:12pt}
	.kc-header,.kc-footer,.kc-skip,.kc-staffbar,.kc-hidden-ticket,.kc-celebrate,.kc-soundbar,.kc-back,.kc-actions,.kc-nav{display:none!important}
	.kc-page{border:0;box-shadow:none;padding:0;background:#fff}
	.kc-main{padding:0;max-width:none}
	.kc-panel{border:1px solid #999;break-inside:avoid}
	body.kc-printing-story .kc-main > *:not(.kc-page),body.kc-printing-story .kc-page > *:not(.kc-printonly){display:none!important}
	body.kc-printing-story .kc-printonly{display:block}
	.kc-printonly h1{font:400 30pt/1 var(--kc-display);margin:0 0 6pt}
	.kc-printonly .kc-psb{display:grid;grid-template-columns:repeat(var(--slots,3),minmax(0,1fr));gap:10pt}
	.kc-printonly .kc-psb p{overflow-wrap:anywhere;word-break:break-word}
	.kc-printonly .kc-psb div{border:1.5pt solid #000;padding:6pt;break-inside:avoid}
	.kc-printonly .kc-psb img{width:100%;height:auto;filter:grayscale(1)}
	.kc-printonly .kc-psb p{min-height:50pt;border-top:1pt dashed #666;padding-top:4pt;margin:6pt 0 0;font-size:12pt}
	.kc-printonly .kc-psb .kc-psb__lines{height:70pt;background:repeating-linear-gradient(#fff 0 22pt,#999 22pt 23pt);-webkit-print-color-adjust:exact;print-color-adjust:exact}
	@page{size:letter;margin:0.5in}
}
