/* SI Internal — shared intranet stylesheet (rev. 14, do not edit, nobody knows who owns this) */
:root{
  --bar:#1f4e79; --bar2:#2b65a0; --chrome:#d4d0c8; --pane:#ffffff; --bg:#e6e9ee;
  --ink:#222; --muted:#6b6b6b; --line:#a7b2c1; --link:#0645ad; --link-v:#551a8b;
  --font: Tahoma, "Segoe UI", Verdana, Geneva, "DejaVu Sans", sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:13px/1.45 var(--font);color:var(--ink);background:var(--bg);min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}
a{color:var(--link)} a:visited{color:var(--link-v)}
.portal{background:linear-gradient(#2f6aa8,var(--bar));color:#fff;padding:6px 12px;display:flex;align-items:baseline;gap:10px;border-bottom:1px solid #0e2f4f;font-size:12px}
.portal b{letter-spacing:.02em}
.portal .crumbs{opacity:.85}
.portal .crumbs span{opacity:.7}
.portal .who{margin-left:auto;opacity:.75;white-space:nowrap}
main{flex:1;width:100%;max-width:880px;margin:18px auto;padding:0 12px}
h1.title{font-size:20px;font-weight:normal;margin:0 0 2px;color:#1f3b5c}
.si{font-size:11px;color:var(--muted);margin:0 0 14px;font-style:italic}
.si abbr{text-decoration:none;border-bottom:1px dotted var(--muted);cursor:help}
.window{background:var(--pane);border:1px solid var(--line);box-shadow:1px 1px 0 #fff inset,2px 2px 0 rgba(0,0,0,.08)}
.window .titlebar{background:linear-gradient(#f3f5f8,#d9dfe7);border-bottom:1px solid var(--line);padding:4px 8px;font-size:12px;color:#333;display:flex;justify-content:space-between}
.btn{font:12px var(--font);padding:4px 12px;background:linear-gradient(#fdfdfd,#dcdcdc);border:1px solid #8a8a8a;border-radius:3px;color:#111;cursor:pointer}
.btn:hover{background:linear-gradient(#fff,#e8eef6);border-color:#3c7fb1}
.btn:active{background:#d0d6de}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px dotted #1f4e79;outline-offset:2px}
.toast{display:inline-block;margin-left:8px;font-size:11px;color:#2a6b2a;min-height:1em}
footer.si-foot{border-top:1px solid var(--line);background:#f2f3f5;color:var(--muted);font-size:11px;padding:10px 12px;text-align:center}
footer.si-foot .si-stamp{font-weight:bold;color:#8b1a1a;letter-spacing:.04em;text-transform:none}
footer.si-foot nav{margin-top:4px}
footer.si-foot nav a{margin:0 6px}
footer.si-foot nav a[aria-current]{color:var(--muted);text-decoration:none;font-weight:bold}
@media (max-width:600px){ .portal .who{display:none} main{margin-top:12px} }

/* ---- shell: header bits, announcement strip, handoff bar ---- */
.linkish{font:inherit;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
.portal b{cursor:default;user-select:none}
.si-notice{background:#fff8c4;border-bottom:1px solid #e0d27a;color:#5a4d00;font-size:11px;padding:3px 12px;display:flex;gap:10px;align-items:center}
.si-notice span{flex:1;min-width:0}
.si-notice .linkish{color:#5a4d00;font-size:11px}
.si-handoff{background:#e8f1fb;border-bottom:1px solid #9cbbe0;color:#163a63;font-size:12px;padding:6px 12px;display:flex;gap:6px;align-items:baseline;animation:si-drop .3s ease-out}
.si-handoff b{white-space:nowrap}
.si-handoff .linkish{margin-left:auto;font-size:15px;line-height:1;text-decoration:none;color:#163a63;padding:0 4px}
@keyframes si-drop{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
.si-lore{margin-top:6px;font-size:10px;color:#8a8f96}

/* ---- toast (status bar) ---- */
.si-toast{position:fixed;left:50%;bottom:14px;transform:translate(-50%,20px);max-width:min(92vw,520px);background:#fffff0;color:#222;border:1px solid #888;box-shadow:2px 2px 0 rgba(0,0,0,.15);font-size:12px;padding:6px 12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60;text-align:center}
.si-toast.on{opacity:1;transform:translate(-50%,0)}

/* ---- cookie banner: in-flow bar under the header; never overlays content or footer ---- */
.si-cookie{background:#eef0f3;color:#222;border-bottom:1px solid #b9c1cc;padding:5px 12px;font-size:11.5px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.si-cookie p{margin:0;flex:1 1 260px}
.si-cookie .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.si-cookie .btn{padding:2px 9px;font-size:11px}
.si-cookie .linkish{color:var(--link);font-size:11px}

/* ---- easter egg: the helpful paperclip ---- */
.si-assistant{position:fixed;right:14px;bottom:14px;z-index:70;display:flex;align-items:flex-end;gap:6px;animation:si-pop .35s cubic-bezier(.2,.9,.3,1.3)}
.si-assistant .bubble{background:#ffffe1;color:#222;border:1px solid #333;border-radius:8px;padding:10px 12px;max-width:240px;font-size:12px;box-shadow:2px 2px 0 rgba(0,0,0,.2)}
.si-assistant .bubble p{margin:0 0 8px}
.si-assistant .bubble .btn{display:inline-block;margin:2px 0;text-decoration:none;color:#111}
.si-assistant .clip{animation:si-wiggle 1.6s ease-in-out infinite;transform-origin:50% 90%}
@keyframes si-pop{from{transform:translateY(30px) scale(.8);opacity:0}to{transform:none;opacity:1}}
@keyframes si-wiggle{0%,100%{transform:rotate(0)}40%{transform:rotate(-6deg)}60%{transform:rotate(5deg)}}

/* ---- 404 ---- */
main.e404{max-width:560px;margin-top:48px}
.e404-body{padding:22px 24px 18px;text-align:center}
.e404-code{font:900 72px/1 Impact,"Arial Black",Arial,sans-serif;color:#c3cad4;letter-spacing:.04em}
.e404-body h1{font-size:18px;font-weight:normal;color:#1f3b5c;margin:8px 0}
.e404-body p{margin:6px 0;color:#444}
body.dark{background:#111418;color:#c9d1d9}
body.dark .portal{background:linear-gradient(#2a2f36,#1b1f24)}
body.dark .window{background:#161b22;border-color:#30363d;box-shadow:none}
body.dark .window .titlebar{background:#1b1f24;border-color:#30363d;color:#8b949e}
body.dark .e404-body h1{color:#f85149} body.dark .e404-body p{color:#8b949e} body.dark .e404-code{color:#30363d}
body.dark a{color:#58a6ff}
body.dark footer.si-foot{background:#0d1117;border-top-color:#30363d;color:#6e7681}
body.dark footer.si-foot .si-stamp{color:#f85149}

@media (prefers-reduced-motion:reduce){.si-handoff,.si-assistant,.si-assistant .clip{animation:none}.si-toast{transition:none}}
@media (max-width:600px){.si-assistant{right:8px;left:8px;justify-content:flex-end}}
body.dark .si-notice{background:#2a2410;border-bottom-color:#4d4416;color:#d29922}
body.dark .si-notice .linkish{color:#d29922}
body.dark .si-handoff{background:#0f2238;border-bottom-color:#1f4e79;color:#9ecbff}
body.dark .si-handoff .linkish{color:#9ecbff}
body.dark .si-cookie{background:#161b22;color:#c9d1d9;border-bottom-color:#30363d}
body.dark .si-cookie .linkish{color:#58a6ff}
body.dark .si-toast{background:#1b1f24;color:#c9d1d9;border-color:#30363d}

/* =====================================================================
   NOW IN CINEMAS — shared cinematic layer
   ===================================================================== */
.portal{flex-wrap:wrap;row-gap:2px}
.portal .ctl{margin-left:auto;display:flex;gap:10px;font-size:11px;opacity:.9}
.portal .ctl .linkish{text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.6)}
.portal .ctl + .who{margin-left:12px}
@media (max-width:600px){.portal .crumbs span:first-child,.portal .crumbs{font-size:11px}.portal .ctl{gap:8px}}

/* title cards (cold open / meanwhile / recap) */
.si-cine{position:fixed;inset:0;z-index:90;background:#000;color:#eee;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;
  animation:si-cine-in .35s ease-out both}
.si-cine::before,.si-cine::after{content:"";position:absolute;left:0;right:0;height:11vh;background:#000;z-index:2}
.si-cine::before{top:0}.si-cine::after{bottom:0}
.si-cine.out{animation:si-cine-out .45s ease-in both}
.si-cine-in{position:relative;z-index:3;padding:0 6vw;max-width:1100px}
.si-cine .l{opacity:0;animation:si-line 1s cubic-bezier(.2,.7,.2,1) both;margin:.25em 0}
.si-cine .k{font:600 11px/1.4 Georgia,"Times New Roman",serif;letter-spacing:.42em;text-transform:uppercase;color:#9a9a9a;margin-bottom:1.6em}
.si-cine .v{font:700 clamp(20px,4.2vw,46px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:.14em;text-transform:uppercase;color:#f1e7c8;text-shadow:0 0 24px rgba(255,220,150,.25)}
.si-cine .big{font:900 clamp(38px,9vw,120px)/1 Impact,"Arial Black",Arial,sans-serif;letter-spacing:.03em;margin-top:.35em;animation-name:si-big}
.si-cine .big.serif{font:italic 400 clamp(34px,7vw,96px)/1.05 Georgia,"Times New Roman",serif;letter-spacing:0;color:#e8d9b0}
.si-cine .big.red{color:#e0283f;text-shadow:0 0 40px rgba(224,40,63,.45)}
.si-cine .big.green{color:#3fb950;text-shadow:0 0 40px rgba(63,185,80,.45)}
.si-cine .s{font:italic 14px Georgia,serif;color:#9a8f78;margin-top:1em}
.si-cine.meanwhile{background:#050505}
.si-cine .mw{font:italic 400 clamp(22px,4vw,44px)/1.2 Georgia,"Times New Roman",serif;color:#e9e2cf;letter-spacing:.02em}
.si-cine-skip{position:absolute;right:16px;bottom:calc(11vh + 12px);z-index:4;font:11px var(--font);letter-spacing:.12em;text-transform:uppercase;color:#bbb;background:rgba(255,255,255,.06);border:1px solid #444;border-radius:3px;padding:5px 10px;cursor:pointer}
.si-cine-skip:hover{color:#fff;border-color:#888}
.si-cine .grainy,.si-cine::selection{background:none}
@keyframes si-cine-in{from{opacity:0}to{opacity:1}}
@keyframes si-cine-out{to{opacity:0}}
@keyframes si-line{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes si-big{0%{opacity:0;transform:scale(1.35);filter:blur(10px)}60%{opacity:1;filter:none}100%{opacity:1;transform:scale(1)}}

/* letterbox bars during big moments */
html::before,html::after{content:"";position:fixed;left:0;right:0;height:0;background:#000;z-index:80;transition:height .6s cubic-bezier(.6,0,.2,1);pointer-events:none}
html::before{top:0}html::after{bottom:0}
html.si-lb::before,html.si-lb::after{height:9vh}

/* leaving: fade to black */
body::after{content:"";position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .35s ease-in;z-index:95}
html.si-fadeout body::after{opacity:1}

/* film grain overlay (toggle) */
html.si-grain body::before{content:"";position:fixed;inset:-50%;z-index:85;pointer-events:none;opacity:.13;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 -0.2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:si-grain .5s steps(5) infinite}
body.dark.si-grain::before,html.si-grain body.dark::before{mix-blend-mode:screen;opacity:.09}
@keyframes si-grain{0%{transform:translate(0,0)}20%{transform:translate(-7%,4%)}40%{transform:translate(5%,-6%)}60%{transform:translate(-3%,8%)}80%{transform:translate(8%,2%)}100%{transform:translate(0,0)}}

/* camera shake */
.si-shake{animation:si-shake .45s cubic-bezier(.36,.07,.19,.97) both}
.si-shake-big{animation:si-shake-big .7s cubic-bezier(.36,.07,.19,.97) both}
@keyframes si-shake{10%,90%{transform:translate(-1px,1px)}20%,80%{transform:translate(3px,-2px)}30%,50%,70%{transform:translate(-5px,3px) rotate(-.3deg)}40%,60%{transform:translate(5px,-3px) rotate(.3deg)}}
@keyframes si-shake-big{10%,90%{transform:translate(-3px,2px)}20%,80%{transform:translate(8px,-5px) rotate(.6deg)}30%,50%,70%{transform:translate(-12px,7px) rotate(-.8deg)}40%,60%{transform:translate(12px,-6px) rotate(.8deg)}}

/* fx canvas (dust etc.) */
.si-fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:75}

@media (prefers-reduced-motion:reduce){
  .si-cine,.si-cine.out,.si-cine .l{animation:none;opacity:1}
  html::before,html::after{transition:none}
  html.si-grain body::before{animation:none}
  body::after{transition:none}
}
