@font-face{font-family:Deck;src:url('assets/DejaVuSans.woff')}@font-face{font-family:Deck;src:url('assets/DejaVuSans-Bold.woff');font-weight:700}*{box-sizing:border-box}body{margin:0;background:#eae7df;color:#302f2b;font-family:Deck,Arial,sans-serif}header,footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 25px;background:#faf8f3}header{height:68px;border-bottom:1px solid #dcd6cc}a{color:inherit}button{font:inherit;font-size:13px;background:transparent;border:1px solid #d6d0c5;border-radius:7px;padding:10px 13px;color:inherit;cursor:pointer}button:hover,button[aria-pressed=true]{background:#e8dfd2}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #a24937;outline-offset:3px}.brand{text-decoration:none;font-weight:700;font-size:23px;letter-spacing:-1px}.brand span{font-size:12px;font-weight:400;letter-spacing:0;color:#756d61}nav{display:flex;gap:6px}#stage{height:calc(100dvh - 130px);display:flex;align-items:center;justify-content:center;padding:24px}#frame{position:relative;flex-shrink:0;box-shadow:0 12px 45px #302f2b18}#slide{width:1280px;height:720px;position:absolute;transform-origin:top left;overflow:hidden}.object{position:absolute}.text p{margin:0;line-height:1.18;white-space:pre-wrap;overflow-wrap:normal}.text a{text-decoration:underline;text-underline-offset:5px}footer{height:62px;font-size:12px}footer>div{display:flex;align-items:center;gap:15px}.hint{font-size:10px;color:#746c62}#progress{position:fixed;bottom:0;left:0;height:3px;background:#a24937;transition:width .2s}aside{position:fixed;z-index:5;top:68px;bottom:62px;left:0;width:min(390px,100vw);background:#faf8f3;box-shadow:8px 0 30px #0002;padding:22px;overflow:auto}.sidehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}input{width:100%;padding:12px;border:1px solid #ccc3b5;border-radius:6px;font:inherit;font-size:13px}#list h3{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#a24937;margin-top:25px}#list button{display:block;text-align:left;width:100%;margin:5px 0;border:0;line-height:1.5}#list button.active{background:#eee4d6;font-weight:bold}#notespanel{position:fixed;right:20px;bottom:76px;max-height:55vh;overflow:auto;width:min(520px,calc(100vw - 40px));background:#fffdf8;padding:24px;box-shadow:0 5px 35px #0003;z-index:4;border-radius:10px}pre{white-space:pre-wrap;font:14px/1.7 Deck,sans-serif}#reading{max-width:950px;margin:0 auto;padding:35px 24px 100px}#reading section{padding:35px 0;border-bottom:1px solid #cdc3b6}#reading h2{font-size:30px;line-height:1.25}#reading p{white-space:pre-wrap;font-size:17px;line-height:1.8}#reading small{color:#a24937}#reading img{max-width:100%;max-height:300px;object-fit:contain}#reading details{margin-top:20px;font-size:14px}body.reading footer{position:fixed;bottom:0;width:100%}#notice{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#302f2b;color:white;padding:12px;border-radius:8px;display:none;z-index:8}body:fullscreen header{height:54px}body:fullscreen #stage{height:calc(100dvh - 116px)}[hidden]{display:none!important}@media(max-width:750px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:10px 14px}.brand span{display:inline}nav{width:100%;justify-content:space-between}nav button{font-size:11px;padding:8px}#stage{height:calc(100dvh - 162px);padding:8px}.hint{display:none}footer{padding:10px 15px}aside{top:100px}#section{max-width:130px}}@media print{header,footer,aside,#stage,#progress,#notespanel{display:none!important}#reading{display:block!important;padding:0}#reading section{break-inside:avoid}button,details{display:none!important}}

/* Fit the actual viewport, including mobile browser chrome. */
body:not(.reading){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body:not(.reading) header,body:not(.reading) footer{flex-shrink:0}
body:not(.reading) #stage{flex:1;min-height:0;height:auto;padding:8px}
body.presenting header{display:none}
body.presenting #stage{height:auto;padding:4px}
body.presenting footer{height:48px;padding:4px 12px;padding-bottom:max(4px,env(safe-area-inset-bottom));background:#faf8f3}
body.presenting footer .hint,body.presenting #section{display:none}
body.presenting footer{justify-content:center}
#exitPresent{position:fixed;z-index:10;right:max(8px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom));min-height:38px;background:#faf8f3;color:#302f2b}
@media(max-height:500px) and (orientation:landscape){header{height:48px!important;min-height:0!important;flex-wrap:nowrap!important;padding:5px 12px!important}.brand{font-size:17px}.brand span{display:none}nav{width:auto!important}footer{height:46px}.hint{display:none}body.presenting footer{height:44px}}
