@font-face{font-family:Manrope;src:url(/assets/manrope.ttf) format("truetype");font-weight:400 700;font-display:swap}@font-face{font-family:Editorial;src:url(/assets/editorial-italic.ttf) format("truetype");font-style:italic;font-display:swap}:root{font-family:Manrope,PingFang SC,Noto Sans SC,sans-serif;color:#efeee9;background:#0b0b0c;font-synthesis:none;font-weight:400;--muted: #8d8d93;--line: #ffffff1b;--paper: #eeece5}*{box-sizing:border-box}body{margin:0}button,input,textarea,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}button:disabled{opacity:.25;cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b8c8ff;outline-offset:6px}svg{flex-shrink:0}button,a{transition:color .2s,background .2s,opacity .2s,transform .2s}button:hover:not(:disabled),a:hover{color:#fff}.app{position:relative;isolation:isolate;width:100%;height:100svh;min-height:630px;overflow:hidden;background:#0b0b0c}.scene-shell,.desk-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.desk-canvas{touch-action:pan-y}.desk-canvas canvas{width:100%;height:100%;display:block}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 51% 55%,transparent 32%,#04040524 70%,#04040575 100%);z-index:1}.site-header{position:absolute;z-index:5;left:4.2%;right:4.2%;top:36px;display:flex;justify-content:space-between;align-items:center}.wordmark{display:flex;align-items:center;gap:11px;text-align:left}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #b6b6b955;border-radius:50%;transform:rotate(-12deg)}.wordmark>span:last-child{font-size:24px;font-weight:600;letter-spacing:-1px;line-height:1.1}.wordmark small{display:block;margin-top:6px;color:#949499;font-size:8px;letter-spacing:2.1px;font-weight:400}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px}.nav-link{color:#c5c5c9;display:flex;align-items:center;gap:9px}.nav-link span{font-size:8px;color:#77777e;align-self:flex-start;margin-top:-4px}.contact-button{background:#e9e8e3;color:#1a1a1c;padding:11px 17px;display:flex;align-items:center;gap:18px;border-radius:3px;font-size:11px}.contact-button:hover{background:#fff;color:#000!important}.language{font-size:10px;color:#b9b9bd;border-left:1px solid #ffffff25;padding-left:23px;height:18px}.intro{position:absolute;z-index:2;top:18.5%;left:7%;transition:opacity .55s,transform .7s;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;color:#96969b;display:flex;gap:10px;align-items:center}.tiny-star{font-size:17px;color:#e6e4dc}.intro h1{font-size:clamp(29px,3.35vw,54px);letter-spacing:-1.5px;font-weight:500;line-height:1.3;margin-top:22px}.intro h1 span{color:#e0dfdd}.intro-copy{font-size:11px;color:#89898f;margin-top:19px;letter-spacing:1px}.is-open .intro{opacity:0;transform:translateY(-20px)}.edition{position:absolute;top:24%;right:5.4%;z-index:2;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#84848b}.edition i{height:50px;width:1px;background:#fff2}.desk-caption{position:absolute;bottom:18%;right:8.2%;z-index:2;display:flex;flex-direction:column;gap:7px;color:#88888e;pointer-events:none;font-size:8px;letter-spacing:1.5px}.desk-caption span:last-child{font-size:7px;color:#55555c}.open-prompt{position:absolute;z-index:4;left:50%;top:75%;transform:translate(-50%);display:flex;align-items:center;gap:22px;font-size:12px;letter-spacing:2px;padding:12px 0;border-bottom:1px solid #a8a8aa6b;animation:appear .7s both}.open-prompt:hover{gap:30px}.bottom-bar{position:absolute;bottom:30px;left:4.2%;right:4.2%;height:35px;z-index:5;display:flex;align-items:center;justify-content:space-between}.bottom-left{display:flex;align-items:center;gap:19px}.bottom-note{font-size:8px;color:#73737b;letter-spacing:1.4px}.sound-control{display:grid;place-items:center;width:32px;height:32px;color:#99999f;border:1px solid #ffffff19;border-radius:50%}.index-trigger{display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:2px;color:#bdbdc0}.cover-count{position:absolute;left:50%;transform:translate(-50%);font-size:10px;color:#97979e;letter-spacing:2px}.cover-count i{font-style:normal;color:#46464f;margin:0 8px}.book-pagination{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:18px;align-items:center}.book-pagination button{padding:8px;color:#a4a4ab}.book-pagination>span{font-size:10px;color:#777780;letter-spacing:1px}.book-pagination b{font-weight:400;color:#eee}.book-pagination i{font-style:normal;color:#45454c;margin:0 13px}.project-caption{position:absolute;left:50%;bottom:118px;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:40px;animation:appear .5s both;min-width:510px}.project-caption>div{display:flex;gap:19px;align-items:center;flex:1}.project-number{font-size:10px;color:#606068}.project-caption h2{font-size:15px;letter-spacing:-.3px;font-weight:500}.project-caption p{font-size:8px;letter-spacing:1.2px;color:#7c7c85;margin-top:6px}.project-caption>button:not(.close-book){display:flex;align-items:center;gap:17px;font-size:10px;border-bottom:1px solid #ffffff45;padding:10px 0;white-space:nowrap}.close-book{border:1px solid #ffffff25;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#777782}.loading{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:2px;color:#aaa;z-index:3}.loading>span{width:20px;height:20px;border:1px solid #ffffff25;border-top-color:#ddd;border-radius:50%;animation:spin 1s linear infinite}.fallback{position:absolute;z-index:4;top:45%;left:50%;transform:translate(-50%);max-width:500px;text-align:center}.fallback>svg{margin-bottom:22px}.fallback p{font-size:14px;color:#aaa;line-height:1.8;margin-bottom:25px}.light-button{background:var(--paper);color:#161619;display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:14px 22px;border-radius:3px;font-size:12px}.light-button:hover{color:#000!important;background:#fff}.toast{position:fixed;z-index:50;bottom:30px;left:50%;transform:translate(-50%);background:#eae8e0;color:#1f2023;border-radius:4px;padding:15px 20px;font-size:12px;display:flex;gap:10px;align-items:center}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;background:#020204ad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:28px}.dialog{width:min(760px,100%);max-height:90svh;overflow:auto;background:#161619;border:1px solid #ffffff1c;padding:26px 45px 38px;box-shadow:0 35px 120px #0009;animation:dialog-in .3s both;outline:none}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px;font-size:8px;color:#77777f;letter-spacing:2px}.dialog-top button{width:30px;height:30px;display:grid;place-items:center;color:#ccc}.dialog h2{font-size:40px;font-weight:500;letter-spacing:-1.4px;line-height:1.3;margin:18px 0 30px}.serif{font-family:Editorial,serif;font-style:italic;font-size:1.12em;color:#b0afa8;font-weight:400;letter-spacing:-1.5px}html:lang(zh-CN) .serif{font-family:Songti SC,serif;font-style:normal;font-size:.95em;letter-spacing:0}.project-list{border-top:1px solid var(--line)}.project-list>button{display:flex;align-items:center;width:100%;padding:28px 0;border-bottom:1px solid var(--line);gap:27px;text-align:left}.project-list>button:hover{padding-left:10px;background:#ffffff03}.project-list>button>svg{margin-left:auto;color:#8a8a94}.list-number{font-size:10px;color:#6c6c75}.project-list h3{font-size:21px;letter-spacing:-.4px;font-weight:400}.project-list p{font-size:9px;letter-spacing:1px;color:#797982;margin-top:8px}.dialog-note{color:#73737c;font-size:11px;line-height:1.9;margin-top:28px}.about-intro{font-size:16px;line-height:1.9;color:#b7b7bf;max-width:530px}.about-rule{display:flex;gap:17px;align-items:center;margin:35px 0 40px;font-size:10px;letter-spacing:1.5px;color:#767680}.edit-profile{display:flex;align-items:center;gap:8px;color:#85858e;font-size:10px;margin-top:30px}.contact-empty{padding:32px 0 40px;border-bottom:1px solid var(--line);color:#777781}.contact-empty p{color:#c7c7ce;margin:16px 0 8px;font-size:17px}.contact-empty span{font-size:12px}.email-link{display:flex;gap:24px;align-items:center;font-size:clamp(20px,3vw,34px);padding:26px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.website-link{display:flex;align-items:center;gap:12px;font-size:13px;margin-top:26px;color:#b4b4be}form{display:grid;gap:21px}form label{display:grid;gap:10px;font-size:11px;color:#aaaab4}input,textarea{font:inherit;font-size:14px;color:#eee;background:#0f0f12;border:1px solid #ffffff20;padding:13px 14px;min-width:0;border-radius:2px;width:100%}textarea{resize:vertical;min-height:85px;line-height:1.7}form .light-button{justify-self:start;margin-top:10px}.project-dialog{width:min(1050px,100%)}.project-subtitle{font-size:18px;line-height:1.6;color:#aaaab4;margin-top:-13px;margin-bottom:30px}.project-art{height:360px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#070b1b}.project-art img{width:100%;height:100%;object-fit:contain;background:#eee8d6}.project-art>span{position:absolute;z-index:2;left:35px;top:36px;font-size:36px;letter-spacing:-1px}.project-art>small{position:absolute;z-index:2;left:35px;bottom:30px;font-size:9px;letter-spacing:2px;color:#afbddc}.art-orb{width:320px;height:320px;border-radius:50%;background:repeating-radial-gradient(ellipse at 35% 33%,#597dfc,#0b1744 3px,#020510 7px);box-shadow:0 0 70px #1a45ff30;transform:translate(140px,70px)}.terrain{background:#d8dfca;color:#283120}.terrain .art-orb{width:650px;height:650px;background:repeating-radial-gradient(ellipse at 30% 40%,#d8dfca 0,#d8dfca 6px,#8c9e7b,#8c9e7b,#d8dfca 9px,#d8dfca 16px);transform:rotate(-25deg) translate(170px,20px);box-shadow:none}.terrain>small{color:#414e36}.detail-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;margin:30px 0}.detail-columns p{font-size:14px;line-height:1.9;color:#b0b0ba}.detail-columns ul{margin:0;padding-left:18px;color:#90909b;font-size:12px;line-height:2.4}.detail-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.tags{display:flex;gap:9px;flex-wrap:wrap}.tags span{font-size:9px;padding:8px 10px;border:1px solid #ffffff20;color:#9898a3}.second-image{width:100%;margin-top:35px}.is-ready .intro{animation:appear .9s both}.is-ready.is-open .intro{animation:none;opacity:0}.dialog::-webkit-scrollbar{width:5px}.dialog::-webkit-scrollbar-thumb{background:#44444b}@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.intro{top:20%}.project-caption{bottom:16%}}@media(max-width:900px){.site-header nav{gap:22px}.intro{left:6%;top:19%}.bottom-note{max-width:200px;font-size:7px;line-height:1.8}.desk-caption{right:6%;bottom:20%;font-size:7px}.project-caption{bottom:130px}.edition{right:4%;font-size:7px}}@media(max-width:699px){.app{min-height:650px}.site-header{top:26px;left:24px;right:24px}.wordmark>span:last-child{font-size:23px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.wordmark small{font-size:6px;letter-spacing:1.3px}.brand-mark{width:30px;height:30px}.site-header nav{gap:16px}.nav-link{display:none}.contact-button{padding:10px 12px;font-size:10px;gap:12px}.language{font-size:9px;padding-left:12px}.intro{top:19%;left:8%}.intro h1{font-size:38px;line-height:1.27;margin-top:17px;letter-spacing:-1.4px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro-copy{font-size:10px;margin-top:16px;letter-spacing:0}.edition{display:none}.open-prompt{top:69%;font-size:11px;letter-spacing:1px}.desk-caption{bottom:20%;right:8%;font-size:6px;gap:5px}.desk-caption span:last-child{font-size:5px}.bottom-bar{left:24px;right:24px;bottom:26px}.bottom-note{display:none}.index-trigger{font-size:8px;gap:9px}.project-caption{bottom:140px;left:8%;right:8%;transform:none;min-width:0;gap:18px}.project-caption h2{font-size:14px}.project-caption p{font-size:7px;line-height:1.5;max-width:160px}.project-caption>div{gap:12px}.project-caption>button:not(.close-book){font-size:9px;gap:8px}.project-caption .close-book{position:absolute;right:0;top:-50px;width:28px;height:28px}.is-open .desk-caption{display:none}.modal-backdrop{padding:12px}.dialog{padding:20px 24px 30px;max-height:94svh}.dialog-top{margin-bottom:35px;font-size:7px}.dialog h2{font-size:31px;margin-bottom:24px}.dialog .eyebrow{font-size:7px;line-height:1.6;letter-spacing:1.5px}.project-list>button{padding:25px 0;gap:18px}.project-list h3{font-size:18px}.project-list p{font-size:8px}.about-intro{font-size:14px}.about-rule{gap:12px;font-size:8px;letter-spacing:0}.project-art{height:240px}.project-art>span{font-size:26px;left:20px;top:25px}.project-art>small{left:20px;font-size:7px}.detail-columns{grid-template-columns:1fr;gap:22px}.detail-bottom{flex-wrap:wrap}.project-subtitle{font-size:15px}.dialog-note{font-size:10px}.toast{max-width:90%;font-size:10px;white-space:nowrap}.fallback{width:80%;top:47%}.fallback p{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.wechat-contact{display:flex;align-items:center;gap:20px;padding:35px 0 40px;border-bottom:1px solid var(--line)}.wechat-icon{width:72px;height:72px;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:18px;background:#ffffff05;color:#d5e9cd}.wechat-contact>div:nth-child(2){display:flex;flex-direction:column;gap:9px}.wechat-contact strong{font-size:35px;font-weight:400;letter-spacing:-1px}.wechat-contact>div>span{font-size:9px;letter-spacing:1.7px;color:#94949e}.wechat-contact>button{margin-left:auto;display:flex;gap:9px;align-items:center;color:#aaaab5;font-size:10px;border:1px solid #ffffff24;padding:12px 15px;border-radius:3px}.wechat-contact>button:hover{background:#ffffff10}.is-open .edition{top:21%}@media(max-width:699px){.wechat-contact{gap:15px;flex-wrap:wrap}.wechat-icon{width:56px;height:56px;border-radius:14px}.wechat-contact strong{font-size:29px}.wechat-contact>button{margin-left:71px}.wordmark>span:last-child{font-size:20px;max-width:132px}.site-header nav{gap:12px}.contact-button{font-size:9px;gap:10px}}.popup-controls{position:absolute;z-index:6;left:50%;bottom:78px;transform:translate(-50%);display:flex;align-items:center;gap:18px;white-space:nowrap}.popup-controls button{display:flex;gap:9px;align-items:center;font-size:10px;color:#cbd7c8;border:1px solid #cbd7c839;border-radius:20px;padding:8px 13px;background:#171b1bd6}.popup-controls button[aria-pressed=true]{background:#d1dfca;color:#18211b}.popup-controls button[aria-pressed=true] svg{transform:rotate(45deg)}.popup-controls>span{font-size:9px;color:#91969b;letter-spacing:.5px}.gaze-toggle{position:absolute;z-index:8;right:45px;top:116px;display:flex;align-items:center;gap:9px;border:1px solid #ffffff20;background:#171b20a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:30px;padding:10px 14px;font-size:10px;color:#aeb2ba}.gaze-toggle.enabled{border-color:#c5e4be66;color:#c5e4be}.gaze-zone{position:absolute;z-index:6;top:44%;width:102px;padding:18px 5px;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:60px;color:#9ba1ad;transition:color .2s,background .2s}.gaze-zone.left{left:32px}.gaze-zone.right{right:32px}.gaze-zone:hover,.gaze-zone.dwelling{background:#ffffff07;color:#e1ebdb}.gaze-zone:disabled{opacity:.25;cursor:default}.gaze-zone>span:not(.gaze-ring){font-size:10px;letter-spacing:1px}.gaze-zone strong{display:flex;gap:6px;align-items:center;font-size:10px;font-weight:400}.gaze-zone small{font-size:8px;color:#747d88}.gaze-ring{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#c8e8bd calc(var(--dwell) * 360deg),#ffffff16 0)}.gaze-ring:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:#202327}.gaze-ring svg{z-index:1}.gaze-zone.tracking .gaze-ring{color:#c8e8bd}@media(max-width:1000px){.gaze-zone.left{left:10px}.gaze-zone.right{right:10px}.gaze-zone{width:82px}.gaze-toggle{right:30px}}@media(max-width:699px){.popup-controls{bottom:88px;flex-direction:column;gap:7px}.popup-controls>span{font-size:8px}.popup-controls button{font-size:9px;padding:7px 12px}.gaze-toggle{top:93px;right:24px;padding:8px 10px;font-size:9px}.gaze-toggle svg{width:14px}.gaze-zone{top:48%;width:48px;padding:8px 0;gap:6px}.gaze-zone.left{left:5px}.gaze-zone.right{right:5px}.gaze-ring{width:32px;height:32px}.gaze-ring svg{width:15px}.gaze-zone>span:not(.gaze-ring),.gaze-zone strong{font-size:8px;letter-spacing:0}.gaze-zone small{display:none}.gaze-zone strong svg{display:none}}.gaze-cursor{position:fixed;z-index:100;width:56px;height:56px;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%;background:#dcefe408;transition:left 75ms linear,top 75ms linear,opacity .15s;filter:drop-shadow(0 1px 5px #0008)}.gaze-cursor svg{width:56px;height:56px;overflow:visible;transform:rotate(-90deg)}.gaze-cursor circle{fill:none;stroke-width:1.5}.gaze-cursor .cursor-track{stroke:#efffffb3}.gaze-cursor .cursor-charge{stroke:#ccf5b9;stroke-width:3;transition:stroke-dashoffset 75ms linear}.gaze-cursor i{position:absolute;width:4px;height:4px;border-radius:50%;background:#eefffeb3;left:26px;top:26px}.gaze-cursor.is-charging{background:#c9f5b80d}.gaze-cursor.is-lost{opacity:.25}.gaze-cursor.is-lost .cursor-track{stroke-dasharray:3 4}.gaze-cursor>span{position:absolute;top:60px;left:50%;transform:translate(-50%);font-size:10px;color:#d9f4ca;background:#19251fdf;border:1px solid #caeabc40;padding:3px 7px;border-radius:12px}button[data-gaze-target=true]{outline:1px solid #cce7ba!important;outline-offset:5px;box-shadow:0 0 20px #c9eeab26;background-image:linear-gradient(90deg,#c9eeab30 calc(var(--gaze-charge) * 100%),#c9eeab08 0)!important}.gaze-source{position:fixed;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}.gaze-hint{position:absolute;z-index:8;right:45px;top:163px;max-width:245px;color:#8d9b94;font-size:9px;line-height:1.7;text-align:right;pointer-events:none}.gaze-cursor.is-magnetic{filter:drop-shadow(0 0 9px #c3e8af66)}.gaze-cursor.is-magnetic .cursor-track{stroke:#d3efc3;stroke-width:2}@media(max-width:1000px){.gaze-hint{right:30px}}@media(max-width:699px){.gaze-hint{right:24px;top:133px;max-width:205px;font-size:8px}}@media(max-width:699px){.app{min-height:0;height:100svh}.site-header{top:max(16px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}.site-header nav{gap:4px}.wordmark,.contact-button,.language{min-height:44px}.language{min-width:44px;padding:0 6px}.contact-button{padding:10px 12px}.wordmark{gap:8px}.gaze-toggle{top:calc(76px + env(safe-area-inset-top));right:18px;min-height:44px;font-size:10px}.gaze-hint{top:calc(124px + env(safe-area-inset-top));right:18px;font-size:9px;max-width:270px}.project-caption{bottom:calc(171px + env(safe-area-inset-bottom));left:22px;right:22px;gap:12px}.project-caption>button:not(.close-book){min-height:44px;font-size:10px}.project-caption .close-book{width:44px;height:44px;top:-49px}.popup-controls{bottom:calc(82px + env(safe-area-inset-bottom));gap:8px}.popup-controls button{min-height:44px;padding:11px 20px;font-size:11px}.popup-controls>span{font-size:9px}.bottom-bar{bottom:max(14px,env(safe-area-inset-bottom));left:18px;right:18px;min-height:44px}.sound-control,.book-pagination button{min-width:44px;min-height:44px}.index-trigger{min-height:44px;font-size:10px;padding:6px}.book-pagination{gap:4px}.book-pagination i{margin:0 8px}.gaze-zone{width:48px;min-height:75px}.open-prompt{min-height:44px;padding:10px 14px}.dialog-top button{min-width:44px;min-height:44px}.dialog{max-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.modal-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.dialog input,.dialog textarea{font-size:16px}}@media(max-width:699px)and (max-height:740px){.intro{top:22%}.intro h1{font-size:30px;margin-top:12px}.intro-copy{font-size:9px;margin-top:10px}.intro .eyebrow{font-size:6px}.open-prompt{top:68%}.desk-caption{display:none}}@media(max-height:500px)and (max-width:1000px){.app{height:100svh;min-height:0}.site-header{top:max(10px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}.site-header .nav-link{display:none}.site-header nav{gap:8px}.wordmark,.contact-button,.language{min-height:44px}.language{min-width:44px;padding:0 8px}.wordmark>span:last-child{font-size:20px}.wordmark small{font-size:6px}.brand-mark{width:30px;height:30px}.intro{left:max(24px,env(safe-area-inset-left));top:27%}.intro h1{font-size:27px;line-height:1.2;margin-top:10px}.intro-copy{display:none}.intro .eyebrow{font-size:6px;max-width:180px;letter-spacing:.7px}.edition,.desk-caption{display:none}.gaze-toggle{top:62px;right:24px;min-height:36px;padding:7px 10px;font-size:9px}.gaze-hint{right:24px;top:102px;font-size:8px;max-width:250px}.project-caption{left:auto;right:76px;top:42%;bottom:auto;width:185px;min-width:0;transform:none;flex-wrap:wrap;gap:8px}.project-caption>div{gap:8px}.project-caption h2{font-size:13px}.project-caption p{font-size:8px}.project-caption>button:not(.close-book){font-size:10px;min-height:36px;padding:5px 0}.project-caption .close-book{position:absolute;right:0;top:-40px;width:36px;height:36px}.popup-controls{left:auto;right:76px;top:65%;bottom:auto;width:185px;transform:none;flex-direction:column;gap:6px}.popup-controls button{min-height:36px;font-size:10px;padding:8px 14px}.popup-controls>span{font-size:8px;white-space:normal;text-align:center}.bottom-bar{bottom:max(8px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));min-height:40px}.bottom-note{display:none}.book-pagination button,.sound-control{min-height:40px;min-width:40px}.index-trigger{min-height:40px;font-size:9px}.gaze-zone{top:41%;width:48px;padding:10px 0;gap:6px}.gaze-zone.left{left:max(7px,env(safe-area-inset-left))}.gaze-zone.right{right:max(7px,env(safe-area-inset-right))}.gaze-zone small{display:none}.gaze-zone>span:not(.gaze-ring),.gaze-zone strong{font-size:8px}.gaze-ring{width:32px;height:32px}.gaze-ring svg{width:15px}.gaze-zone strong svg{display:none}.open-prompt{top:auto;left:40%;bottom:54px;min-height:40px;font-size:10px;padding:8px 12px}.modal-backdrop{padding:10px}.dialog{max-height:calc(100svh - 20px);padding:18px 24px}.dialog h2{font-size:26px;margin-bottom:16px}.dialog-top{margin-bottom:20px}}@keyframes mobile-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:699px),(max-height:500px)and (max-width:1000px){.dialog{animation-name:mobile-dialog-in}.dialog-top button{min-width:44px;min-height:44px}}.gaze-spotlight{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;isolation:isolate}.spotlight-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.spotlight-halo{position:absolute;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#e0edd411,transparent 70%);box-shadow:0 0 65px 16px #d9e4c80a;pointer-events:none}[data-spotlight-target=true]{border-color:#dce8cbaa;color:#f3f6ec;box-shadow:0 0 30px #d2e2b922,inset 0 0 20px #d2e2b910;transition:box-shadow .9s ease,border-color .9s ease,color .9s ease}.spotlight-caption{position:absolute;left:50%;top:22%;width:min(520px,calc(100% - 40px));transform:translate(-50%);text-align:center;color:#bdc9b3;pointer-events:none;animation:spotlight-copy-in .9s ease both}.spotlight-kicker{font-size:9px;letter-spacing:2.5px;color:#becab1}.spotlight-caption h2{font-size:clamp(18px,1.7vw,24px);font-weight:400;letter-spacing:1px;margin:20px 0 12px}.spotlight-caption p{font-size:11px;line-height:1.8;color:#abb3a6}.spotlight-progress{width:84px;height:2px;margin:24px auto 0;background:#dce8cb20;overflow:hidden}.spotlight-progress i{display:block;width:100%;height:100%;background:#e0eccb;transform-origin:left}.spotlight-skip{position:absolute;top:max(28px,env(safe-area-inset-top));right:max(28px,env(safe-area-inset-right));display:flex;align-items:center;gap:16px;min-height:44px;padding:0 18px;border:1px solid #dce8cb35;border-radius:24px;background:#151a16b3;color:#d0d8c8;font-size:11px}.spotlight-skip:focus-visible{outline:1px solid #8e9b7e;outline-offset:4px}@keyframes spotlight-copy-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(max-width:699px){.spotlight-caption{top:23%}.spotlight-caption h2{font-size:20px;margin-top:16px}.spotlight-caption p{font-size:10px}.spotlight-skip{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}}@media(max-height:500px){.spotlight-caption{top:18%}.spotlight-caption h2{font-size:19px;margin:12px 0 6px}.spotlight-progress{margin-top:12px}}.app.gaze-guiding .intro{animation:none;opacity:0}.spotlight-caption.is-fading{animation:spotlight-copy-out .55s ease both}@keyframes spotlight-copy-out{0%{opacity:1;translate:0 0}to{opacity:0;translate:0 -6px}}.tilt-controls{position:absolute;z-index:8;top:max(82px,calc(env(safe-area-inset-top) + 64px));right:max(18px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:calc(100% - 36px)}.tilt-actions{display:flex;gap:6px}.tilt-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #ffffff25;background:#171c1cdb;color:#c5c9c2;border-radius:24px;font-size:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tilt-actions button.is-enabled{border-color:#a8be9270;color:#d9e8ce}.tilt-actions button:disabled{opacity:.6}.tilt-actions .tilt-recenter{width:44px;padding:0}.tilt-actions svg{transition:transform .15s ease-out}.tilt-hint{max-width:240px;text-align:right;font-size:8px;line-height:1.5;color:#949d90}@media(max-height:500px)and (max-width:1000px){.tilt-controls{top:68px;right:20px}.tilt-actions button{min-height:36px}}
