@font-face{font-family:Pangolin;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pangolin-latin-400-normal-Cx-z2UDT.woff2)format("woff2"),url(/assets/pangolin-latin-400-normal-R5QT9dzq.woff)format("woff")}@font-face{font-family:Pangolin;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pangolin-vietnamese-400-normal-BOKlOuY0.woff2)format("woff2"),url(/assets/pangolin-vietnamese-400-normal-CLuIVUz7.woff)format("woff")}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-latin-400-normal-BV_iYGc9.woff2)format("woff2"),url(/assets/noto-serif-latin-400-normal-DT0cwSa_.woff)format("woff")}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-vietnamese-400-normal-B2Tmka3c.woff2)format("woff2"),url(/assets/noto-serif-vietnamese-400-normal-I93X-UPO.woff)format("woff")}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-latin-700-normal-CIw17UNa.woff2)format("woff2"),url(/assets/noto-serif-latin-700-normal-mX-AlFMT.woff)format("woff")}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-vietnamese-700-normal-DmLHmu9q.woff2)format("woff2"),url(/assets/noto-serif-vietnamese-700-normal-BVYKy-KI.woff)format("woff")}:root{--paper:#ede3cf;--ink:#2b2723;--son:#b5452f;--hoe:#d9a62e;--la:#5e8c6a;--hong:#d08a7e;--skin:#ead7b4;--paper-shade:#e2d5bb;--page-bg:#e2d5bb;--vh:1vh;--stage-w:min(100vw, calc(var(--vh) * 100 * 9 / 16));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (height:100dvh){:root{--vh:1dvh}}@media (prefers-color-scheme:dark){:root{--page-bg:#1c1915}}html,body{background:var(--page-bg);height:100%;margin:0}body{min-height:calc(var(--vh) * 100);place-items:center;font-family:Noto Serif,Times New Roman,serif;display:grid;overflow:hidden}#app{display:contents}.stage{width:var(--stage-w);aspect-ratio:9/16;background:var(--paper);color:var(--ink);font-size:calc(var(--stage-w) / 360 * 16);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:relative;overflow:hidden}.screen{box-sizing:border-box;flex-direction:column;gap:.75em;padding:1.25em 1em 1.5em;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.screen h1,.screen h2,.screen h3{margin:0;font-family:Pangolin,Comic Sans MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.2}.screen h1{color:var(--son);font-size:1.75em}.screen h2{font-size:1.25em}.screen p{margin:0;line-height:1.5}:focus-visible{outline:3px solid var(--son);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.btn{box-sizing:border-box;border:2px solid var(--ink);background:var(--hoe);min-width:44px;min-height:44px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);font:inherit;cursor:pointer;border-radius:.25em;justify-content:center;align-items:center;padding:.5em 1.25em;font-family:Pangolin,Comic Sans MS,system-ui,sans-serif;font-size:1.1em;text-decoration:none;display:inline-flex}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn-danger{background:var(--paper);border-color:var(--son);box-shadow:3px 3px 0 var(--son)}.back,.link{min-height:44px;color:var(--ink);align-self:flex-start;align-items:center;display:inline-flex}.frame{border:4px double var(--ink);box-shadow:6px 5px 0 var(--son);background:var(--paper)}.screen-title{text-align:center;justify-content:center;align-items:center}.screen-title h1{margin-bottom:1em;font-size:2.5em}.menu{flex-direction:column;gap:1em;width:70%;display:flex}.screen-title .link{align-self:center}.gallery,.cards,.card-detail ul{margin:0;padding:0;list-style:none}.gallery{grid-template-columns:repeat(2,1fr);gap:1em .75em;display:grid}.painting{min-height:44px;color:var(--ink);flex-direction:column;gap:.25em;text-decoration:none;display:flex}.painting-title{font-family:Pangolin,Comic Sans MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.1em}.painting-meta{font-size:.85em}.painting-soon .cover{opacity:.55}.cover{aspect-ratio:5/7;border:4px double var(--ink);background:var(--paper);filter:grayscale(calc(1 - var(--restore,0)));display:block;position:relative;overflow:hidden}.cover>span,.cover>.cover-layer{display:block;position:absolute}.cover>.cover-layer{object-fit:contain;width:100%;height:100%;top:0;bottom:0;left:0;right:0}.cover-son{background:var(--son);border-radius:50%;top:12%;bottom:60%;left:15%;right:55%}.cover-hoe{background:var(--hoe);top:45%;bottom:25%;left:20%;right:20%}.cover-la{background:var(--la);top:75%;bottom:8%;left:10%;right:10%}.tabs{flex-wrap:wrap;gap:.5em;display:flex}.tabs a{min-height:44px;color:var(--ink);align-items:center;padding:0 .5em;display:inline-flex}.tabs a[aria-current=page]{font-weight:700;text-decoration-thickness:3px}.cards{grid-template-columns:repeat(2,1fr);gap:.75em;display:grid}.card{box-sizing:border-box;border:4px double var(--ink);background:var(--paper);width:100%;min-height:5em;color:var(--ink);box-shadow:4px 3px 0 var(--son);font:inherit;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;gap:.25em;padding:.5em;display:flex}.card-locked{background:var(--paper-shade);box-shadow:none;cursor:default;border-style:dashed;border-width:2px;font-size:.85em}.card-title{font-weight:700}.card-detail{flex-direction:column;gap:.75em;padding:1em;display:flex}.card-detail footer{font-size:.85em}.card-detail a{color:var(--ink)}.toggle{align-items:center;gap:.75em;min-height:44px;display:flex}.toggle input{width:1.5em;height:1.5em;accent-color:var(--son);margin:0}.choices{border:2px solid var(--ink);margin:0;padding:.5em 1em}.note{font-size:.85em}.loading{flex-direction:column;align-items:center;gap:.5em;margin-top:2em;display:flex}.loading-bar{border:2px solid var(--ink);background:var(--paper);width:60%;height:.75em;display:block;overflow:hidden}.loading-bar>span{background:var(--son);width:30%;height:100%;animation:1.2s steps(6,end) infinite loading-steps;display:block}@keyframes loading-steps{0%{transform:translate(-100%)}to{transform:translate(340%)}}[data-motion=reduce] .loading-bar>span{width:100%;animation:none}[data-motion=reduce] .btn:active{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.play{position:absolute;top:0;bottom:0;left:0;right:0}.play-canvas{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}.play-canvas.is-playing{cursor:ew-resize}.pause-btn{top:11.25%;left:6.66667%}.mute-btn{top:11.25%;right:6.66667%}.pause-btn,.mute-btn{border:2px solid var(--ink);background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;font-size:1em;display:inline-flex;position:absolute}.overlay{box-sizing:border-box;justify-content:center;align-items:center;padding:1.25em 1em;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.overlay-story{pointer-events:none;align-items:flex-end;padding-bottom:1.75em}.overlay-story .sheet{pointer-events:auto}.sheet{box-sizing:border-box;border:3px solid var(--ink);outline:1.5px solid var(--ink);outline-offset:4px;width:100%;max-height:100%;box-shadow:6px 5px 0 var(--son);background:var(--paper);color:var(--ink);padding:1.25em 1.1em 1.1em;overflow-y:auto}.sheet h2{margin:0 0 .25em;font-family:Pangolin,Comic Sans MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:2em;font-weight:400;line-height:1.1}.sheet p{margin:0 0 .6em;line-height:1.55}.story-sheet p{min-height:6.4em;font-size:1.05em}.story-row{justify-content:space-between;align-items:center;gap:.6em;display:flex}.dots{gap:6px;display:flex}.dots i{border:1.5px solid var(--ink);width:9px;height:9px;display:block}.dots i.on{background:var(--son)}.story-actions{align-items:center;gap:.25em;display:flex}.skip{min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.9em;text-decoration:underline}.pause-sheet{text-align:center;flex-direction:column;align-items:center;gap:.75em;display:flex}.result-score{color:var(--son);font-family:Pangolin,Comic Sans MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:2.6em;line-height:1}.badge{border:1.5px solid var(--son);color:var(--son);margin:0 0 .5em;padding:.1em .5em;font-size:.85em;display:inline-block}.result-painting{width:30%;margin:0 0 .6em}.result-cards{margin:.75em 0 1em;padding:0;list-style:none}.result-cards li{border-top:1.5px dashed var(--ink);padding:.6em 0;font-size:.95em}.result-cards b{color:var(--son);margin-right:.5em;font-family:Pangolin,Comic Sans MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.2em;font-weight:400;display:inline-block}.result-cards p{margin:.15em 0 0}.result-cards .locked b{color:var(--ink)}.result-cards .badge{margin:0}.result-actions{flex-wrap:wrap;align-items:center;gap:.75em;display:flex}.btn-secondary{background:var(--paper)}.research-form{flex-direction:column;gap:.75em;display:flex}.code-input{border:2px solid var(--ink);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;letter-spacing:.2em;text-transform:uppercase;padding:.25em .5em;font-size:1.5em}.form-error{color:var(--son)}.options legend,.likert legend{margin-bottom:.5em;font-size:1.1em;line-height:1.45}.option{border-top:1.5px dashed var(--ink);align-items:center;gap:.75em;min-height:44px;padding:.25em 0;display:flex}.option input,.likert-point input{width:1.4em;height:1.4em;accent-color:var(--son);margin:0}.likert-scale{justify-content:space-between;display:flex}.likert-point{flex-direction:column;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.likert-anchors{justify-content:space-between;gap:1em;font-size:.85em;display:flex}.markdown h2,.markdown h3{margin:.5em 0 .25em}.markdown p,.markdown ul{margin:0 0 .6em;line-height:1.55}.markdown a{color:var(--ink)}.offline-banner{z-index:2;background:var(--ink);color:var(--paper);margin:0;padding:.5em 1em;font-size:.85em;position:absolute;bottom:0;left:0;right:0}button:disabled{cursor:not-allowed;opacity:.55}.admin-page{width:100%;min-height:calc(var(--vh) * 100);background:var(--paper);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;align-self:stretch;overflow-y:auto}.admin-page .screen{max-width:760px;margin:0 auto;font-size:16px;position:static}body:has(.admin-page){place-items:start stretch;overflow:auto}.text-input{box-sizing:border-box;border:2px solid var(--ink);background:var(--paper);width:100%;min-height:44px;color:var(--ink);font:inherit;margin-top:.25em;padding:.25em .5em;display:block}.admin-form label{display:block}.link-button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.admin-facts{grid-template-columns:auto 1fr;gap:.5em 1em;margin:0;display:grid}.admin-facts dd{margin:0}.mono{word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:1.05em}.progress-table{border-collapse:collapse;width:100%}.stats-table th[scope=row]{font-size:.85em;font-weight:400}.progress-table th,.progress-table td{border-bottom:1.5px dashed var(--ink);text-align:left;padding:.35em .5em}.progress-table td{text-align:right;font-variant-numeric:tabular-nums}.update-banner{z-index:3;position:absolute;bottom:1em;left:50%;transform:translate(-50%)}.qr{width:min(240px,100%);height:auto;margin:.5em 0 1em;display:block}.qr-print-only{display:none}@media print{@page{size:A4 portrait;margin:15mm}body:has(.qr-card){background:#fff}.qr-card>:not(.qr-sheet){display:none}.admin-page:has(.qr-card) .screen>:not(.qr-card){display:none}.qr-sheet{color:#000;text-align:center;flex-direction:column;align-items:center;gap:6mm;display:flex}.qr-print-only{margin:0;display:block}.qr-scan{font-size:26pt}.qr-sheet .qr{width:150mm;margin:0}.qr-code{letter-spacing:.15em;font-size:40pt}}.admin-page .screen:has(.dev-assets){max-width:980px}.dev-assets{flex-wrap:wrap;align-items:flex-start;gap:1.5em;display:flex}.dev-stage{aspect-ratio:9/16;border:2px solid var(--ink);flex:none;width:min(360px,100%);position:relative}.dev-controls{flex-direction:column;flex:280px;gap:.75em;display:flex}.dev-result{border:1px solid var(--ink);max-height:16em;padding:.5em;font-size:.85em;overflow:auto}
