*{box-sizing:border-box}
:root{--ink:#332128;--wine:#431d2b;--cream:#f7f0e0;--paper:#fff9ee;--line:#c8ad98;--muted:#654f55;color:var(--ink);background:var(--cream);font-family:"Segoe UI",sans-serif}
[hidden]{display:none!important}
body,h1,h2,h3,p{margin:0}body{line-height:1.45}
.wrap{width:min(1110px,calc(100% - 34px));margin-inline:auto}
header{background:var(--wine);color:#fff2d8;border-bottom:5px double #d9a973}
.top,.title,.heading{display:flex;justify-content:space-between;align-items:center;gap:14px}
.top{min-height:60px;border-bottom:1px solid #8c5f69}
a{color:inherit;text-underline-offset:4px}
.brand{font-weight:750;text-decoration:none;letter-spacing:.02em}.brand span{color:#f7b786;margin-right:6px}
.title{padding:27px 0 25px;align-items:end;flex-wrap:wrap}
h1,h2,h3{font-family:"Segoe UI",sans-serif;line-height:1.05}
h1{font-size:clamp(45px,7.8vw,105px);letter-spacing:-.045em;font-weight:850}
.title p{margin-top:10px;color:#ffe0c4}
h2{font-size:31px;letter-spacing:-.04em}h3{font-size:23px}
.modes,.actions{display:flex;gap:8px;flex-wrap:wrap}
button{font:inherit;font-weight:650;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:7px 12px;cursor:pointer}
button:hover:not(:disabled){box-shadow:inset 0 0 0 1px currentColor}
button:disabled{opacity:.52;cursor:default}
button:focus-visible,a:focus-visible{outline:3px solid #347883;outline-offset:3px}
.modes button{background:transparent;color:#fff2d8;border-color:#bc9290}
.modes button[aria-pressed=true],#check{background:#e8b075;color:#311c25;border-color:#e8b075}
.layout{display:grid;gap:22px;padding:24px 0 20px}
.schedule,aside{background:var(--paper);border:1px solid var(--line);padding:16px;min-width:0}
.heading{margin-bottom:13px}.heading p,.heading>span,.muted{color:var(--muted);font-size:14px;margin-top:5px}
.board{display:grid;grid-template-columns:52px repeat(2,minmax(0,1fr));gap:5px;align-items:stretch}
.column,.time{font-size:13px;font-weight:750;color:#65404b}
.column{text-align:center}.time{align-self:center;font-variant-numeric:tabular-nums}
.slot{background:#f4e9d8;border-style:dashed;min-height:61px;min-width:0;color:#6a4c56}
.slot[data-film]:not([data-film=""]),.film{border-style:solid;background:var(--film,#eedeca);color:var(--ink)}
[data-film="0"]{--film:#f1d3bf}[data-film="1"]{--film:#eddfab}[data-film="2"]{--film:#d8e6d2}
[data-film="3"]{--film:#e8d5e7}[data-film="4"]{--film:#d3e1e8}[data-film="5"]{--film:#e9d7c1}
.film,.slot[data-film]:not([data-film=""]){display:flex;align-items:center;gap:7px;text-align:left;line-height:1.22;overflow-wrap:anywhere}
.symbol{font-size:18px;min-width:19px;text-align:center}
.slot[aria-pressed=true],.film[aria-pressed=true]{box-shadow:inset 0 0 0 2px #542038;border-color:#542038}
.actions{margin-top:12px}
#status{color:#6b263e;font-weight:650;min-height:2.4em;padding:6px 0}
.films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.film small{display:block;font-size:11px;color:#59464c;font-weight:500;margin-top:2px}
aside ol{padding-left:24px;margin:12px 0}aside li{padding-left:2px;margin-bottom:6px}
aside li button{width:100%;text-align:left;font-size:14px;font-weight:550;background:#fcf3e7}
aside li button[aria-pressed=true]{text-decoration:line-through}
aside li button[data-result=pass]{border-left:4px solid #39724e}
aside li button[data-result=fail]{border-left:4px solid #983746}
aside li button[data-result=pass]::after{content:" ✓"}
aside li button[data-result=fail]::after{content:" ×"}
#rules{max-width:74ch;padding-block:12px 30px}#rules p{margin-top:8px}
footer{border-top:1px solid var(--line);padding:15px 0 25px;color:var(--muted);font-size:13px}
@media(min-width:870px){.layout{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start}.schedule,aside{padding:20px}.films{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.top{min-height:52px}.title{padding:20px 0}.layout{padding-top:15px;gap:12px}.schedule,aside{padding:11px}.board{grid-template-columns:46px repeat(2,minmax(0,1fr))}.slot,.film{font-size:13px;padding:6px}.slot{min-height:54px}.actions button{padding-inline:7px;font-size:13px}.symbol{min-width:15px}}
