/* Operation Tanuki — a Japanese skin over the Nightjar room.
   Loaded after room.css and opening.css. It only restyles: washi paper, sumi
   ink, vermilion and gold; a black-lacquer terminal that opens like a pair of
   sliding paper doors; an indigo night with a torii for the opening. Every
   class the scripts rely on keeps its name. */
@font-face{font-family:"Playfair";src:url(fonts/playfair.woff) format("woff");font-weight:400 900;font-display:swap}
@font-face{font-family:"Playfair";src:url(fonts/playfair-italic.woff) format("woff");font-style:italic;font-weight:400 900;font-display:swap}

:root{
  --bg:#efe6d3;--ink:#1d1814;--ink-soft:#3b3129;--muted:#6b5d4f;--muted-2:#8a7b69;
  --line:rgba(70,45,20,.14);--line-strong:rgba(70,45,20,.26);--soft:#f6efe0;--soft-2:#f2e9d6;
  --accent:#c8372d;--accent-hover:#9e2a22;--accent-soft:#f7e2da;--accent-ring:rgba(200,55,45,.18);--accent-dark:#ef7a63;
  --good:#3d6b2f;--good-soft:#e7efdc;
  --dark:#140f0c;--dark-2:#1f1712;--dark-line:rgba(201,162,75,.3);--dark-text:#f3e6c8;--dark-muted:#bfa978;
  --glass:linear-gradient(145deg,rgba(252,247,236,.97),rgba(246,238,222,.92));
  --glass-border:rgba(255,251,240,.95);
  --glass-shadow:0 24px 60px rgba(60,35,15,.12),inset 0 1px 0 rgba(255,255,255,.9);
  --lift-shadow:0 30px 70px rgba(60,35,15,.2);
  --board-paper:linear-gradient(180deg,#fbf6ea,#f2e8d4);
  --board-dots:radial-gradient(circle at 50% 100%,transparent 9px,rgba(150,110,60,.13) 9.5px,transparent 10.5px,transparent 13px,rgba(150,110,60,.1) 13.5px,transparent 14.5px) 0 0/30px 15px;
  --gold:#c9a24b;--display:"Playfair",Georgia,serif;
}
body{background:
  radial-gradient(circle at 96% -8%,rgba(200,55,45,.16),rgba(200,55,45,0) 38%),
  radial-gradient(circle at -6% 108%,rgba(31,58,99,.16),rgba(31,58,99,0) 46%),
  radial-gradient(circle at 50% 100%,transparent 18px,rgba(150,110,60,.07) 19px,transparent 20px,transparent 26px,rgba(150,110,60,.05) 27px,transparent 28px) 0 0/60px 30px,
  var(--bg);background-attachment:fixed}

/* Brush-like display type for the names and titles. */
.chapter-title,.dossier-title,.paper-title,.report-title,.board-plaque,.brand-wordmark,.outro-case,.op-word-big{font-family:var(--display)!important}
.chapter-title,.dossier-title{letter-spacing:-.01em}
.op-word-big{letter-spacing:.02em;font-weight:900}

/* ------------------------------------------------ the lacquer terminal */
.terminal-panel{border:2px solid var(--gold);background:#120d0a;box-shadow:inset 0 0 0 3px #120d0a,inset 0 0 0 4px rgba(201,162,75,.45),0 24px 60px rgba(60,30,10,.28)}
.terminal-open{background:#120d0a}
.terminal-open:before{background:
  radial-gradient(ellipse 120% 45% at 25% 0%,rgba(255,236,190,.09),transparent 70%),
  radial-gradient(circle at 50% 100%,transparent 18px,rgba(201,162,75,.06) 19px,transparent 20px,transparent 26px,rgba(201,162,75,.045) 27px,transparent 28px) 0 0/60px 30px;
  box-shadow:inset 0 0 26px rgba(0,0,0,.55)}
.terminal-open:after,.terminal-panel:after{display:none}
.terminal-mast{background:#1b1310;border-bottom:1px solid rgba(201,162,75,.35);color:var(--gold)}
.terminal-mast button{color:var(--gold)}
.terminal-mast button:hover{background:rgba(200,55,45,.2);color:#fff;box-shadow:0 0 0 4px rgba(200,55,45,.16)}
.terminal-theme{background:#1b1310;border-color:rgba(201,162,75,.35);color:var(--gold)}
.terminal-panel[data-terminal-theme="lacquer"] .term,.terminal-panel[data-terminal-theme="lacquer"] .term-body{color:#e8d4a6}
.terminal-panel[data-terminal-theme="lacquer"] .term{background:transparent}
.terminal-panel[data-terminal-theme="lacquer"] .term-echo,.terminal-panel[data-terminal-theme="lacquer"] .term-complete,.terminal-panel[data-terminal-theme="lacquer"] .term-entry input{color:#f6e9c9;caret-color:#ef7a63}
.terminal-panel[data-terminal-theme="lacquer"] .ps1{color:#ef7a63;text-shadow:none}
.terminal-panel[data-terminal-theme="lacquer"] .term-screen{text-shadow:none;scrollbar-color:#5a4426 #120d0a}
.terminal-panel[data-terminal-theme="lacquer"] .term-paths a{color:#f2c46b;text-decoration-color:rgba(239,122,99,.7)}
.terminal-panel[data-terminal-theme="lacquer"] .term-note,.terminal-panel[data-terminal-theme="lacquer"] .term-run[data-restored] .term-body{color:#bfa978}
.term-foot{background:#1b1310;border-top-color:rgba(201,162,75,.3);color:#a08a5c}
.term-foot kbd,.term-foot #term-count{color:#c9a24b;border-color:rgba(201,162,75,.3)}

/* Folded: a lacquer rail with a gold rim and a vermilion seal for the power. */
.room.terminal-collapsed .terminal-rail{background:linear-gradient(180deg,#1f1612,#120d0a)}
.terminal-rail:before{box-shadow:inset 0 0 0 1px rgba(201,162,75,.5),inset 0 0 16px rgba(201,162,75,.12)}
.terminal-rail:hover:before,.terminal-rail:focus-visible:before{box-shadow:inset 0 0 0 1px rgba(201,162,75,.85),inset 0 0 18px rgba(201,162,75,.2)}
.rail-edge:before,.rail-edge:after{background:linear-gradient(180deg,rgba(201,162,75,0) 40%,#f7dfa2 46%,rgba(201,162,75,0) 52%) 0 0/100% 260% no-repeat}
.rail-label{color:var(--gold)}
.rail-power{border-color:rgba(239,122,99,.6);background:#c8372d;color:#fff}

/* Switching on: two paper doors over the screen slide apart. Off: they close. */
.tv-glow{top:0;bottom:0;height:auto}
.tv-glow:before,.tv-glow:after{content:"";position:absolute;top:0;bottom:0;width:50.5%;height:auto;margin:0;border-radius:0;box-shadow:none;opacity:0;
  background:repeating-linear-gradient(90deg,transparent 0 37px,#3b2a1e 37px 39px),repeating-linear-gradient(0deg,transparent 0 47px,#3b2a1e 47px 49px),#efe4cf;
  border:3px solid #3b2a1e}
.tv-glow:before{left:0;right:auto}
.tv-glow:after{left:auto;right:0}
.terminal-panel.tv-on .terminal-open,.terminal-panel.tv-off .terminal-open{animation:none}
.terminal-panel.tv-on .tv-glow:before{animation:shoji-open-l .9s cubic-bezier(.6,.05,.3,1) both}
.terminal-panel.tv-on .tv-glow:after{animation:shoji-open-r .9s cubic-bezier(.6,.05,.3,1) both}
.terminal-panel.tv-off .tv-glow:before{animation:shoji-close-l .55s cubic-bezier(.6,.05,.3,1) forwards}
.terminal-panel.tv-off .tv-glow:after{animation:shoji-close-r .55s cubic-bezier(.6,.05,.3,1) forwards}
@keyframes shoji-open-l{0%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(-104%)}}
@keyframes shoji-open-r{0%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(104%)}}
@keyframes shoji-close-l{0%{opacity:1;transform:translateX(-104%)}100%{opacity:1;transform:translateX(0)}}
@keyframes shoji-close-r{0%{opacity:1;transform:translateX(104%)}100%{opacity:1;transform:translateX(0)}}

/* ------------------------------------------- the report's hanko seal */
.report-stage.is-approved .report-stamp{width:150px;height:150px;margin:24px auto 0;padding:0;display:grid;place-items:center;border:5px solid #ef7a63;border-radius:50%;color:#ef7a63;font-family:var(--display);font-size:18px;line-height:1.1;letter-spacing:.06em}

/* ------------------------------------------------ the opening's night */
.op{--op-cream:#f3e6c8;--op-accent:#ef7a63;--op-red:#c8372d;--op-alarm:#e0533f;--op-dim:#b8a888}
.op-sky{background:radial-gradient(ellipse 50% 44% at 76% 20%,rgba(201,162,75,.22) 0,rgba(201,162,75,0) 70%),linear-gradient(180deg,#0c1230 0%,#131b40 52%,#1a2349 80%,#0b1027 100%)}
.op-moon{box-shadow:0 0 36px 4px rgba(255,240,205,.3),0 0 110px 26px rgba(255,240,205,.1),0 0 220px 80px rgba(201,162,75,.14)}
.op-hills-far{fill:#121836}
.op-hills-near{fill:#080b1d}
.op-torii{fill:#c8372d}
.op-word-small{color:#c9a24b}
.op-bird image,.outro-bird image{filter:drop-shadow(0 -1px 0 rgba(255,240,205,.35))}

/* --------------------------------------------- the closing in vermilion */
.cine{--c-red:#c8372d;--c-hot:#ef7a63}
.cine-string path{filter:drop-shadow(0 0 5px rgba(200,55,45,.85))}
.map-hill{fill:none;stroke:rgba(201,162,75,.16);stroke-width:2}
.map-rail{fill:none;stroke:rgba(255,255,255,.32);stroke-width:3;stroke-dasharray:14 10}
.map-torii-under{fill:none;stroke:rgba(200,55,45,.28);stroke-width:24;stroke-linecap:round;stroke-linejoin:round}
.map-torii{fill:none;stroke:#e0533f;stroke-width:10;stroke-dasharray:3 4;stroke-linejoin:round}
.map-gate{fill:#c8372d;stroke:#ef7a63;stroke-width:1.5}
