.light-entry{color:var(--room-accent);border-bottom:1px solid #b9ac8555;align-items:center;gap:9px;margin-top:10px;padding-block:5px;font-size:.875rem;display:inline-flex}.face-lighting{background:radial-gradient(at 30% 42%,#26323a55,#0000 68%);border-top:1px solid #ffffff14;padding:60px 7vw 80px;scroll-margin-top:20px}.light-heading{margin-bottom:35px}.light-heading>span,.light-kicker{letter-spacing:.16em;color:var(--room-accent);font:.75rem/1.7 monospace}.light-heading h2{font:400 clamp(2rem, 3.5vw, 3.5rem)/1.5 var(--room-serif);letter-spacing:.1em;margin:10px 0}.light-heading p{color:#b3aea9;margin:0;font-size:1rem}.light-workspace{background:#080b0db3;border:1px solid #c4b49530;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);max-width:1370px;margin:auto;display:grid}.light-frame{isolation:isolate;background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb,var(--room-light) 21%, #080b10), #080b10 78%);min-width:0;min-height:600px;position:relative;overflow:hidden}.light-canvas{cursor:ew-resize;touch-action:pan-y;z-index:1;opacity:0;position:absolute;inset:0}.light-canvas canvas{width:100%;height:100%;display:block}[data-status=ready] .light-canvas{opacity:1}.light-fallback{width:auto;max-width:none;height:205.128%;left:50%;top:calc(50% - 205.128% * var(--face-y));transform:translateX(calc(-1 * var(--face-x)));object-fit:contain;position:absolute}[data-status=ready] .light-fallback{opacity:0}.light-frame-label{z-index:2;pointer-events:none;letter-spacing:.18em;color:#dfd4c8;font:.875rem/1.8 Georgia,serif;position:absolute;top:25px;left:25px}.light-frame-label small{letter-spacing:.09em;color:#bcb4aa;font:.75rem/2 monospace;display:block}.light-angle{z-index:2;pointer-events:none;text-align:right;position:absolute;bottom:65px;right:25px}.light-angle b{color:var(--room-accent);font:italic clamp(2.5rem,5vw,4.5rem)/1 Georgia,serif}.light-angle sup{font-size:1.5rem}.light-angle>span{letter-spacing:.1em;color:#c7bbaa;margin-top:10px;font:.75rem/1.6 monospace;display:block}.light-frame-help{z-index:2;color:#beb6aa;pointer-events:none;background:#080a0bbd;border-top:1px solid #bfb08b26;margin:0;padding:16px 25px;font-size:.875rem;position:absolute;bottom:0;left:0;right:0}.light-orbit-map{z-index:2;pointer-events:none;background:#080a10c9;border:1px solid #d4c8ad55;border-radius:50%;width:144px;height:100px;position:absolute;bottom:76px;left:24px}.light-orbit-map i{background:#0a1016;padding:3px;font:.875rem/1.2 monospace;position:absolute;transform:translate(-50%,-50%)}.orbit-person{color:#bab3a4;white-space:nowrap;font-size:.75rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.light-controls{border-left:1px solid #c4b49526;padding:38px clamp(24px,3vw,52px)}.light-controls h3{font:400 clamp(1.2rem,1.8vw,1.7rem)/1.7 var(--room-serif);color:#e3d8ca;margin:10px 0 24px}.light-views{border:1px solid #c4b49540;grid-template-columns:repeat(4,1fr);margin-bottom:20px;display:grid}.light-views button{color:#b9b1a7;background:0 0;border:0;padding:11px 4px;font-size:.875rem}.light-views button[aria-pressed=true]{color:#101214;background:var(--room-accent)}.light-controls button:disabled{opacity:.4;cursor:default}.light-orbit-actions{gap:9px;margin:0 0 27px;display:flex}.light-orbit-actions button{color:#e0cfb6;background:0 0;border:1px solid #c4b49540;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:10px 13px;font-size:.875rem;display:flex}.light-orbit-actions button:first-child{flex:1}.light-orbit-actions button[aria-pressed=true]{border-color:var(--room-accent);background:#c4b49513}.light-range{margin-bottom:26px}.light-range label{color:#d5cfc5;align-items:center;gap:10px;margin-bottom:14px;font-size:.875rem;line-height:1.5;display:flex}.light-range label small{color:#9c9690;font:.75rem/1.5 monospace}.light-range label>span{color:var(--room-accent);margin-left:auto;font:.875rem/1.5 monospace}.light-range label>span:first-child:not(:last-child){color:#d5cfc5;font:inherit;margin-left:0}.light-lamp-toggle{color:var(--room-accent);background:0 0;border:1px solid #c4b49540;min-width:32px;min-height:28px;font-size:.75rem}.light-lamp-toggle[aria-pressed=false]{color:#9c9690}.light-range [data-slot=slider-track]{background:#c4b49524;height:3px}.light-range [data-slot=slider-range]{background:var(--room-accent)}.light-range [data-slot=slider-thumb]{border:2px solid var(--room-accent);background:#141b1e;width:15px;height:15px}.light-note{color:#a89f94;border-top:1px solid #c4b49526;margin:2px 0 0;padding-top:17px;font-size:.875rem;line-height:1.8}@media (max-width:900px){.face-lighting{padding-inline:6vw}.light-workspace{grid-template-columns:minmax(0,1.1fr) minmax(285px,1fr)}.light-controls{padding:27px 22px}.light-range label small{display:none}}@media (max-width:680px){.light-entry{margin:0;font-size:.75rem;position:absolute;top:61px;left:0}.room-portrait,[data-theme=open] .room-portrait{margin-top:274px}.face-lighting{padding:40px 6% 50px}.light-heading{margin-bottom:24px}.light-workspace{grid-template-columns:minmax(0,1fr)}.light-frame{height:clamp(400px,120vw,640px);min-height:0}.light-controls{border-top:1px solid #c4b49526;border-left:0;padding:25px 22px}.light-frame-label{top:17px;left:17px}.light-orbit-map{width:108px;height:78px;bottom:70px;left:18px}.light-angle{bottom:70px;right:18px}.light-range label small{display:inline}}.character-home{--room-accent:#c8ac7b;--room-light:#a1b8c4;--room-ink:#0a0d10;--room-serif:"Noto Serif SC", "STSong", "SimSun", serif;background:var(--room-ink);color:#f2ece2;position:relative;overflow-x:clip}.character-home[data-theme=open]{--room-ink:#0a1213}.character-home[data-theme=spotlight]{--room-ink:#130b12}.character-home :focus-visible{outline:2px solid var(--room-accent);outline-offset:6px}.character-home button{cursor:pointer}.room-skip{z-index:100;color:#151213;background:#f2ece2;padding:12px;position:fixed;top:-80px;left:20px}.room-skip:focus{top:20px}.room-header{z-index:20;border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;min-height:88px;padding:18px 5vw;display:grid;position:absolute;top:0;left:0;right:0}.room-return{color:#d3c6b8;align-items:center;gap:12px;width:fit-content;font-size:.875rem;display:inline-flex}.room-return svg{transition:transform .4s}.room-return:hover svg{transform:translate(-4px)}.room-header nav{gap:34px;font-size:.875rem;display:flex}.room-header nav a{color:#a69c97;padding:12px 0;transition:color .3s;position:relative}.room-header nav a[aria-current=page],.room-header nav a:hover{color:var(--room-accent)}.room-header nav a[aria-current=page]:after{content:"";background:var(--room-accent);height:1px;position:absolute;bottom:0;left:0;right:0}.room-motion{color:#c8bbb0;background:#0a090944;border:1px solid #ffffff26;justify-self:end;padding:8px 12px;font-size:.875rem}.room-motion[aria-pressed=true]{color:var(--room-accent);border-color:color-mix(in srgb, var(--room-accent) 32%, transparent)}.room-hero{isolation:isolate;background:var(--room-ink);min-height:max(850px,100svh);display:flow-root;position:relative;overflow:clip}.room-static-light,.room-canvas,.room-vignette{pointer-events:none;position:absolute;inset:0}.room-static-light{z-index:-4;background:radial-gradient(at 77% 27%,#334651 0%,#11191f 36%,#0000 70%)}[data-theme=open] .room-static-light{background:radial-gradient(at 80% 33%,#31544c 0%,#11262b 35%,#0000 70%)}[data-theme=spotlight] .room-static-light{background:radial-gradient(at 78% 23%,#6e2f4d 0%,#301624 36%,#0000 73%)}.room-canvas{z-index:-3;opacity:1;transition:opacity .8s}.room-canvas canvas{width:100%;height:100%;display:block}.room-vignette{z-index:-1;background:linear-gradient(90deg, var(--room-ink), transparent 52%), linear-gradient(0deg, var(--room-ink), transparent 28%), linear-gradient(180deg, #0005, transparent 24%)}.room-chapter{z-index:4;letter-spacing:.17em;color:var(--room-accent);margin:0;font:.75rem/1.6 monospace;position:absolute;top:130px;left:6vw}.room-chapter:before{content:"";vertical-align:middle;opacity:.65;background:currentColor;width:37px;height:1px;margin-right:16px;display:inline-block}.room-title-art{z-index:-2;font:400 clamp(12rem, 24vw, 30rem)/1 var(--room-serif);letter-spacing:-.08em;writing-mode:vertical-rl;color:#0000;-webkit-text-stroke:1px color-mix(in srgb, var(--room-accent) 17%, transparent);pointer-events:none;transform:translate3d(calc(var(--look-x,0px) * -1.5), 0, 0);position:absolute;top:17%;right:-1%}.room-portrait{z-index:1;pointer-events:none;max-width:1100px;transform:translate3d(var(--look-x,0px), var(--look-y,0px), 0);position:absolute;inset:14% -2% 9% 43%;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 79%,#0000);mask-image:linear-gradient(#000 0% 79%,#0000)}.room-portrait img{object-fit:cover;object-position:50% 0;filter:drop-shadow(-20px 12px 25px #0004);width:100%;height:310%;max-height:none;display:block}.room-original{opacity:1;transition:opacity 1.3s}.room-lens{opacity:0;-webkit-mask-image:radial-gradient(circle var(--lens-radius,140px) at var(--lens-x,50%) var(--lens-y,29%), #000 58%, #000c 77%, transparent 100%);mask-image:radial-gradient(circle var(--lens-radius,140px) at var(--lens-x,50%) var(--lens-y,29%), #000 58%, #000c 77%, transparent 100%);transition:opacity 1s;position:absolute;inset:0}.presence-lens-ring{width:calc(var(--lens-radius,140px) * 2);height:calc(var(--lens-radius,140px) * 2);left:var(--lens-x,50%);top:var(--lens-y,29%);border:1px solid color-mix(in srgb, var(--room-accent) 36%, transparent);opacity:0;border-radius:50%;transition:opacity .8s;position:absolute;transform:translate(-50%,-50%)}.presence-lens-ring:after{content:"";border:1px solid color-mix(in srgb, var(--room-accent) 15%, transparent);clip-path:polygon(0 0,52% 0,52% 100%,100% 100%,100% 52%,0 52%);border-radius:50%;position:absolute;inset:-9px}.presence-lens-ring span{letter-spacing:.16em;color:var(--room-accent);white-space:nowrap;font:.75rem/1.6 monospace;position:absolute;bottom:-26px;right:8%}[data-witness=true] .room-hero[data-portrait=ready] .room-original{opacity:.18}[data-witness=true] .room-hero[data-portrait=ready] :is(.room-lens,.presence-lens-ring){opacity:1}.presence-control{z-index:9;text-align:right;width:216px;position:absolute;top:132px;right:5vw}.presence-index{letter-spacing:.18em;color:var(--room-accent);margin-bottom:14px;font:.75rem/1.7 monospace;display:block}.presence-switch{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090d12a6;border:1px solid #d8c7ad36;padding:4px;display:inline-flex}.presence-switch button{color:#b6aca2;letter-spacing:.18em;background:0 0;border:0;min-width:70px;min-height:36px;font-size:.875rem;transition:color .4s,background .4s;position:relative}.presence-switch button[aria-pressed=true]{background:var(--room-accent);color:#151514}.presence-control p{color:#b9ad9e;margin-top:12px;font-size:.75rem;line-height:1.8}[data-theme=open] .room-portrait{left:41%}[data-theme=open] .room-portrait img{object-position:48% 0;height:316%}[data-theme=spotlight] .room-portrait img{object-position:52% 0;height:315%}.room-introduction{z-index:5;width:min(38%,520px);margin-left:9vw;padding-top:clamp(220px,26vh,300px);padding-bottom:120px;position:relative}.room-roman{letter-spacing:.38em;color:var(--room-accent);margin:0 0 12px;font:.875rem/1.5 Georgia,serif}.room-introduction h1{font:400 clamp(5rem, 7.6vw, 9rem)/1.25 var(--room-serif);letter-spacing:.14em;margin:0 0 20px}[data-theme=open] .room-introduction h1{letter-spacing:.035em;font-family:Microsoft YaHei,sans-serif;font-style:italic;font-weight:650}[data-theme=spotlight] .room-introduction h1{letter-spacing:.23em}.room-role{color:#c7b4a6;letter-spacing:.11em;margin:0 0 42px;font-size:.875rem;line-height:1.7}.room-invitation{font:400 clamp(1.2rem, 1.6vw, 1.65rem)/1.8 var(--room-serif);color:color-mix(in srgb, var(--room-accent) 36%, #fff2e4);margin:0 0 20px}.room-description{color:#bfb8b1;max-width:345px;margin:0 0 29px;font-size:1rem;line-height:2}.room-reveal{border:1px solid color-mix(in srgb, var(--room-accent) 50%, transparent);background:color-mix(in srgb, var(--room-ink) 85%, transparent);width:min(300px,100%);min-height:57px;color:var(--room-accent);letter-spacing:.12em;align-items:center;gap:16px;padding:12px 18px;font-size:.875rem;transition:background .6s,box-shadow .6s;display:flex}.room-reveal:hover{background:color-mix(in srgb, var(--room-accent) 10%, var(--room-ink));box-shadow:0 0 32px color-mix(in srgb, var(--room-accent) 9%, transparent)}.room-reveal svg{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.room-reveal[aria-expanded=true] svg{transform:rotate(150deg)}.reveal-mark{margin-left:auto;font-size:1.2rem}.room-quote{max-width:360px;min-height:92px;padding-top:22px}.room-quote blockquote{color:#e8d8c8;font:1.05rem/1.9 var(--room-serif);margin:0;animation:.8s both room-develop}.room-hero-foot{z-index:8;color:#ac9e94;border-top:1px solid #ffffff1c;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;font-size:.875rem;line-height:1.7;display:flex;position:absolute;bottom:26px;left:6vw;right:6vw}.room-hero-foot a{color:#d6c3b1;align-items:center;gap:16px;display:inline-flex}.room-fragments{grid-template-columns:1fr 1.65fr;gap:9vw;padding:90px 9vw 110px;scroll-margin-top:30px;display:grid;position:relative}.fragment-heading>span{color:var(--room-accent);letter-spacing:.16em;margin-bottom:24px;font:.75rem/1.5 monospace;display:block}.fragment-heading h2{font:400 clamp(2rem, 3.2vw, 3.5rem)/1.5 var(--room-serif);letter-spacing:.1em;margin:0 0 18px}.fragment-heading p{color:#aa9e93;margin:0;font-size:.875rem;line-height:1.8}.fragment-list{perspective:1100px;padding-top:14px}.fragment{background:linear-gradient(125deg, color-mix(in srgb, var(--room-light) 11%, var(--room-ink)), var(--room-ink));transform-origin:0;border:1px solid #c9b18e35;min-height:142px;margin:0 0 24px;padding:0 25px;transition:transform .75s cubic-bezier(.16,1,.3,1),border-color .5s,background .5s;position:relative;transform:rotateY(-5deg)rotate(-1.3deg);box-shadow:-9px 11px 0 -4px #050808,-10px 12px 0 -4px #8b7b6245,0 18px 35px #0003}.fragment:nth-child(2){transform:rotateY(-5deg)rotate(1.2deg)translate(14px)}.fragment:nth-child(3){transform:rotateY(-5deg)rotate(-.6deg)translate(4px)}.fragment:hover,.fragment.is-open{z-index:2;transform:rotateY(0)rotate(0)translate(-8px)}.fragment .fragment-serial{z-index:0;color:color-mix(in srgb, var(--room-accent) 8%, transparent);pointer-events:none;font:italic 6rem/1 Georgia,serif;position:absolute;bottom:3px;right:28px}.fragment>*{z-index:1;position:relative}.fragment:last-child{border-bottom:1px solid #ffffff24}.fragment:hover,.fragment.is-open{border-color:color-mix(in srgb, var(--room-accent) 50%, transparent)}.fragment button{color:#ddd0c3;text-align:left;background:0 0;border:none;align-items:center;gap:22px;width:100%;padding:25px 0 18px;font-size:1rem;display:flex}.fragment-number{color:var(--room-accent);font:.75rem/1.5 monospace}.fragment button svg{color:var(--room-accent);margin-left:auto}.fragment-body{padding:0 28px 26px 40px}.fragment-body p{color:#bdb3aa;margin:0;font-size:1rem;line-height:2;animation:.6s both room-develop}.fragment-redaction{background:linear-gradient(90deg,#82766826 0 39%,#0000 39% 42%,#8276681c 42% 73%,#0000 73% 76%,#82766813 76%);height:8px;margin:0 10% 28px 40px;display:block}.room-footer{border-top:1px solid #ffffff1b;justify-content:space-between;align-items:center;gap:30px;padding:38px 9vw 48px;display:flex}.room-brand{font:1.1rem/1.7 var(--room-serif);letter-spacing:.1em;color:#bcb0a3}.room-brand small{letter-spacing:.13em;margin-top:8px;font:.75rem/1.5 Georgia,serif;display:block}.next-presence{color:#a7988b;align-items:center;gap:26px;font-size:.875rem;display:flex}.next-presence em{font:normal 1.8rem/1.4 var(--room-serif);color:#e4d4c3;margin-top:8px;display:block}.next-presence img{object-fit:cover;object-position:top;filter:saturate(.75);width:65px;height:82px}.next-presence svg{transition:transform .4s}.next-presence:hover svg{transform:translate(4px,-4px)}@keyframes room-develop{0%{opacity:0;filter:blur(5px);transform:translateY(7px)}to{opacity:1;filter:none;transform:none}}.character-home[data-effects=off] *,.character-home[data-effects=off] :before,.character-home[data-effects=off] :after{transition:none!important;animation:none!important}.character-home[data-effects=off] :is(.room-portrait,.room-title-art){transform:none}@media (min-width:1800px){.room-portrait{left:44%}.room-introduction{margin-left:12vw}}@media (max-width:1000px){.room-introduction{width:41%;margin-left:6vw}.room-portrait{left:39%;right:-9%}.room-introduction h1{font-size:5rem}.room-fragments{gap:6vw;padding-inline:6vw}}@media (max-width:680px){.room-header{grid-template-columns:1fr auto;gap:10px;min-height:74px;padding:12px 6%}.room-header nav{grid-area:2/1/auto/3;justify-content:center;gap:36px}.room-header nav a{padding-block:8px}.room-return{gap:8px;font-size:.875rem}.room-motion{padding:5px 9px;font-size:.875rem}.room-hero{min-height:0;padding-bottom:85px}.room-chapter{letter-spacing:.1em;font-size:.75rem;top:132px;left:7%}.room-chapter:before{width:20px;margin-right:10px}.room-title-art{font-size:42vw;top:180px;right:-2%}.room-portrait,[data-theme=open] .room-portrait{width:100%;height:clamp(380px,116vw,630px);margin:274px 0 0;position:relative;inset:auto;-webkit-mask-image:linear-gradient(#000 75%,#0000);mask-image:linear-gradient(#000 75%,#0000)}.presence-control{text-align:left;justify-content:space-between;align-items:center;gap:18px;width:auto;display:flex;top:174px;left:7%;right:7%}.presence-index{display:none}.presence-control p{max-width:125px;margin:0}.presence-switch button{min-width:60px;min-height:38px}.presence-lens-ring span{letter-spacing:.1em;font-size:.75rem}.room-portrait img{height:310%}.room-introduction{width:auto;margin:-4px 7% 0;padding:0 0 10px}.room-roman{letter-spacing:.27em;font-size:.875rem}.room-introduction h1{margin-bottom:10px;font-size:clamp(3.6rem,15vw,5rem)}.room-role{margin-bottom:26px}.room-invitation{margin-bottom:14px;font-size:1.25rem}.room-description{max-width:100%}.room-reveal{width:100%}.room-quote{max-width:100%;min-height:90px}.room-hero-foot{gap:15px;font-size:.75rem;bottom:20px;left:7%;right:7%}.room-hero-foot a{gap:8px;font-size:.875rem}.room-fragments{grid-template-columns:1fr;gap:34px;padding:55px 7% 65px}.fragment-heading>span{margin-bottom:12px}.fragment-heading h2{margin-bottom:9px}.fragment-body{padding-left:0;padding-right:0}.fragment,.fragment:nth-child(2),.fragment:nth-child(3){padding-inline:19px;transform:rotate(-.8deg)}.fragment:nth-child(2){transform:rotate(.8deg)}.fragment.is-open,.fragment:hover{transform:none}.fragment-redaction{margin-left:0}.room-footer{flex-wrap:wrap;align-items:start;gap:24px;padding:30px 7% 40px}.room-brand{font-size:1rem}.next-presence{gap:15px}.next-presence img{width:47px;height:60px}}
