:root{font-family:Arial,"Noto Sans",sans-serif;color:#293b35;background:#f3f1eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible,#viewer:focus-visible{outline:2px solid #638971;outline-offset:4px}#viewer{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;left:40px;top:max(30px,env(safe-area-inset-top));pointer-events:none}.brand{font-size:10px;letter-spacing:2px;text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px;pointer-events:auto}.mark{display:grid;place-items:center;border:1px solid #8e9c91;width:30px;height:30px;font-size:23px;line-height:1}.edition{color:#90988e;border-left:1px solid #bfc5ba;padding-left:12px}.title{margin-top:38px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#788477;margin-bottom:12px}h1{font-family:Georgia,"Songti TC",serif;font-size:35px;letter-spacing:3px;font-weight:400;margin:0}h1 span{font-size:27px;letter-spacing:0;margin-left:12px;color:#7b8273}.subtitle{font-family:Georgia,serif;font-style:italic;font-size:14px;color:#7d8379;margin-top:12px}.project-note{position:absolute;right:40px;top:37px;font-size:9px;letter-spacing:1.5px;line-height:2.4;text-align:right}.project-note>span:last-child{font-size:10px;letter-spacing:.3px;color:#8a8e83}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#6e8a68;margin-right:7px}.view-switch{position:absolute;top:115px;right:40px;border:1px solid #d8ddd2;background:#f8f8f3cc;padding:4px;border-radius:8px;display:flex;gap:3px}.view-switch button{padding:10px 15px;border-radius:5px;font-size:12px;background:transparent;color:#7a8477}.view-switch button.active{background:#30483c;color:#fff;box-shadow:0 2px 5px #233a3220}.tools{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;border:1px solid #d7dcd2;padding:7px;border-radius:13px;background:#fafbf7ed;box-shadow:0 10px 40px #303e2e12;backdrop-filter:blur(12px)}.tools button{min-width:49px;height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border-radius:8px}.tools button span{font-size:24px;line-height:25px;font-weight:400}.tools button small{font-size:9px}.tools button.active{background:#e3eadf;color:#304e3b}.tools button:hover{background:#e3eadf}.tools i{height:26px;width:1px;background:#dce1d7;margin:0 5px}footer{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:0;width:100%;text-align:center;pointer-events:none}.gesture{font-size:11px;color:#7c867a;letter-spacing:.2px}.gesture b{font-weight:400;margin:0 8px;color:#a9b09f}.disclaimer{font-size:9px;color:#a0a598;letter-spacing:.4px}.touch{display:none}#loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:italic 18px Georgia,serif;padding:20px 25px;border-radius:12px;background:#f8f8f0ee}#loading span{display:block;width:40px;height:2px;background:#6d8c76;margin:15px auto 0;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.2;transform:scaleX(.3)}}[hidden]{display:none!important}#error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90%,400px);background:#fff;padding:24px;border-radius:12px;box-shadow:0 5px 40px #0002;text-align:center}#error p{line-height:1.5;font-size:14px}#error button{background:#30483c;color:white;padding:12px 20px;border-radius:6px}@media(pointer:coarse){.desktop{display:none}.touch{display:block}}@media(max-width:600px){header{left:20px;top:max(20px,env(safe-area-inset-top))}.brand{font-size:9px}.title{margin-top:24px}h1{font-size:29px}h1 span{font-size:24px}.subtitle{font-size:12px}.project-note{display:none}.view-switch{right:16px;top:max(23px,env(safe-area-inset-top))}.view-switch button{font-size:16px;padding:8px 10px}.view-switch button span{display:none}.tools{bottom:calc(85px + env(safe-area-inset-bottom));gap:1px;padding:5px}.tools button{min-width:42px;height:45px}.tools i{margin:0 3px}.gesture{font-size:10px}.gesture b{margin:0 4px}.disclaimer{font-size:8px}footer{bottom:calc(12px + env(safe-area-inset-bottom))}}
