@font-face{font-family:PaperHand;src:url('assets/paper-hand-v24.woff') format('woff');font-display:block}
@font-face{font-family:Veil;src:url('assets/veil-v23.woff') format('woff');font-display:block}
@font-face{font-family:TitleVeil;src:url('assets/title-veil-v23.woff') format('woff');font-display:block}
@font-face{font-family:HauntedTitle;src:url('assets/paper-hand-v15.woff') format('woff');font-display:swap}
:root{color-scheme:light;--ink:#2e281f;--line:#b3a48c;--view-height:100dvh}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}
body{background:#171611 url('assets/haunted-wallpaper-v15.jpg') center/cover no-repeat fixed;color:#dfd2bc;font-family:PaperHand,serif}
button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button,a{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.veil:focus-visible{outline:2px solid #bd9c6c;outline-offset:3px}
button:disabled{cursor:wait;opacity:.65}
.page{width:min(840px,100%);height:var(--view-height);margin:auto;padding:20px 26px 16px;display:flex;flex-direction:column;gap:14px;min-height:0}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding-bottom:12px;border-bottom:1px solid #9a8f6745}
h1{margin:0;font:400 34px/1.25 HauntedTitle,serif;letter-spacing:.16em;color:#eee1c8;text-shadow:0 2px 10px #0009}
h1.title-veil.veil{font-family:TitleVeil,serif;letter-spacing:.16em}
.settings-trigger{display:flex;align-items:center;gap:7px;background:#17161199;border:1px solid #9a8f6769;border-radius:3px;color:#eee1c8;font-size:15px;padding:9px 12px;min-height:42px}.settings-trigger svg{width:20px;height:20px;flex:none}
.desk{width:min(700px,100%);align-self:center;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}
.page-tabs{display:flex;justify-content:flex-end;gap:5px;flex:none}
.page-tab{border:1px solid #8e795b9c;border-radius:3px 3px 0 0;background:#1d201bbf;color:#dac8a9;padding:8px 15px;min-height:40px;font-size:16px;line-height:1.4}
.page-tab[aria-selected="true"]{background:#d7be91;color:#332a1e;border-color:#c7ab7c;box-shadow:0 2px 0 #d7be91}
.paper-stage{position:relative;flex:1;max-height:620px;min-height:0;min-width:0;perspective:1600px}
.sheet{position:absolute;inset:0;border:1px solid #b89c7075;border-radius:3px;box-shadow:3px 12px 30px #0007;visibility:hidden;opacity:0;transform:translateX(-8px) rotateY(-9deg);transform-origin:left center;transition:opacity .22s ease,transform .3s ease,visibility .3s;pointer-events:none;backface-visibility:hidden}
.sheet.is-visible{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.old-paper{display:flex;align-items:center;padding:30px 30px;background:#e9ce9f url('assets/old-paper-v17.jpg') center/100% 100% no-repeat;color:var(--ink)}
.paper-text{position:relative;width:100%;font-size:30px;line-height:1.65;letter-spacing:0;visibility:hidden}.paper-text p{margin:0 0 18px}.paper-text p:last-child{margin:0}.paper-rule{height:1px;background:#846a4538;margin:20px 0}
.phrase{display:inline-block;white-space:nowrap}
.veil{font-family:Veil,serif;font-weight:400;letter-spacing:0}.selectable,.paper-text,.veil{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;cursor:text}.fonts-ready .paper-text{visibility:visible}::selection{background:#b2c4be;color:#283d36}
.answer-panel{display:grid;align-content:center;padding:30px 24px;background:#101511e8;border-color:#6e68508a}
#answer-form{width:min(360px,100%);margin:auto;text-align:center}#answer-form label{display:block;margin-bottom:24px}#answer-label{font-size:32px;line-height:1.6}#answer-entry{width:100%;height:54px;padding:8px 12px;background:#e7dcc6;color:var(--ink);border:1px solid #a29276;border-radius:3px;font-size:24px;text-align:center}
.submit-button{display:inline-block;min-height:45px;margin-top:18px;padding:10px 32px;border:1px solid #a38c65;border-radius:3px;background:#594a33;color:#f0e3cb;font-size:18px;text-decoration:none}.answer-status{min-height:32px;margin:18px 0 0;font-size:22px;color:#e4b9a4;line-height:1.6}.is-wrong{animation:shake .25s ease}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.memo-card{display:flex;flex-direction:column;min-height:0;min-width:0;background:#dfd7c5;color:var(--ink);padding:20px 26px 12px;border-color:var(--line)}.memo-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;flex:none}.memo-header h2{margin:0;font-size:24px;font-weight:400;white-space:nowrap}.quiet-button{border:0;background:none;padding:7px 3px;font-size:18px;color:#574d3d;text-decoration:underline;text-underline-offset:4px}
#memo-entry{display:block;flex:1;width:100%;min-height:0;resize:none;padding:0;border:0;border-radius:0;background-color:transparent;background-image:repeating-linear-gradient(transparent 0,transparent 35px,#b7aa9257 35px,#b7aa9257 36px);font-family:PaperHand,serif;font-size:22px;line-height:36px;color:#2e281f;overflow:auto;overscroll-behavior:contain;touch-action:manipulation}.small-status{min-height:18px;font-size:12px;margin:5px 0 0;line-height:1.4;flex:none}.load-status{font-size:12px;margin:0;flex:none;line-height:1.4}.load-status:empty{display:none}
dialog{width:min(92vw,440px);max-height:calc(var(--view-height) - 24px);padding:24px;border:1px solid #857457;border-radius:5px;background:#20251f;color:#dfd2bc;text-align:center;box-shadow:0 18px 60px #0008;overflow:auto}dialog::backdrop{background:#090d0bdd}dialog h2{font-size:27px;font-weight:400;margin:0}dialog p{font-size:18px;line-height:1.8}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;text-align:left}.dialog-close{background:none;border:0;color:#d9ccb2;font:400 28px/1.2 serif;padding:2px 8px;min-width:34px;min-height:36px}.dialog-eyebrow{font-family:HauntedTitle,serif;color:#d9c7a6;margin:0}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;margin-bottom:10px;font-size:16px}#volume{width:100%;accent-color:#c3a97c;margin:4px 0 18px;min-height:30px}
.small-button{padding:7px 16px;background:#393c30;border:1px solid #8e8065;border-radius:3px;color:#e6dac5;font-size:15px;min-height:38px}.small-button[aria-pressed="true"]{background:#c9b287;color:#29271e}
.settings-links{display:grid;grid-template-columns:1fr 1.65fr;gap:14px;border-top:1px solid #85745770;padding-top:18px;text-align:left}.settings-links a{color:#e9dbc2;text-decoration:none;font-size:16px;line-height:1.6}.settings-links a:hover{text-decoration:underline}.settings-links small{display:block;font-size:11px;line-height:1.8;color:#c7baa2;margin-top:6px}
dialog .settings-note{font-size:11px;color:#b8ac95;line-height:1.8;margin:16px 0 0}.record-grid{margin:0}.record-grid div{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #85745760;padding:12px 0}.record-grid dt{font-size:16px}.record-grid dd{margin:0;font-size:23px}.record-grid + p{min-height:22px}#record-retry{margin-top:12px}#success .quiet-button{display:block;margin:16px auto 0;color:#c7baa2}#success h2{margin:5px 0 18px;font-size:36px;line-height:1.5}
@media(max-width:740px){.page{padding:14px 16px 12px;gap:12px}.page-header{padding-bottom:9px}h1{font-size:29px;letter-spacing:.12em}.settings-trigger{min-height:38px;padding:7px 9px;font-size:13px}.page-tab{font-size:16px;padding:8px 12px;min-height:40px}.old-paper{padding:24px 16px}.paper-text{font-size:24px;line-height:1.6}.paper-text p{margin-bottom:16px}.paper-rule{margin:16px 0}.memo-card{padding:16px 18px 10px}.memo-header h2{font-size:23px}.memo-header{margin-bottom:12px}#memo-entry{font-size:22px}#success h2{font-size:33px}}
@media(max-height:680px){.page{padding-top:10px;padding-bottom:8px;gap:10px}.page-header{padding-bottom:7px}h1{font-size:28px}.paper-text{font-size:26px;line-height:1.55}.paper-text p{margin-bottom:12px}.paper-rule{margin:14px 0}.old-paper{padding-block:22px}}
@media(max-width:740px) and (max-height:680px){.paper-text{font-size:22px}.page-tab{min-height:36px;padding:6px 12px}}
@media(max-width:360px){.page{padding-inline:12px}.old-paper{padding-inline:12px}.paper-text{font-size:20px;line-height:1.5}.paper-text p{margin-bottom:10px}.paper-rule{margin:10px 0}.memo-header h2{font-size:21px}.page-tab{font-size:15px;padding-inline:11px}.memo-card{padding-inline:14px}}
@media(orientation:landscape) and (max-height:500px){.page-header{padding-bottom:4px}h1{font-size:25px}.page{gap:7px;padding-block:8px}.desk{gap:6px}.page-tab{font-size:14px;min-height:31px;padding:5px 13px}.old-paper{padding:14px 24px}.paper-text{font-size:18px;line-height:1.4}.paper-text p{margin-bottom:8px}.paper-rule{margin:10px 0}.answer-panel{padding:15px 24px}#answer-form label{margin-bottom:8px}#answer-entry{height:42px}.submit-button{margin-top:9px;min-height:36px;padding:6px 25px}.answer-status{margin-top:10px}.memo-header h2{font-size:20px}.memo-header{margin-bottom:8px}.memo-card{padding-block:10px}#memo-entry{font-size:18px}}
@media(max-width:740px){h1.title-veil.veil{letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
#record-status:empty{display:none}
#play-notice{font-family:serif}#play-notice-message{text-align:left}#play-notice-message p{font-size:16px;line-height:1.9;overflow-wrap:anywhere}#play-notice .small-button{margin-top:8px}
