[hidden]{display:none!important}
@font-face{font-family:Paperlogy;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Paperlogy;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Paperlogy;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Paperlogy,system-ui,sans-serif;color:#24392e;background:#faf9f5;font-synthesis:none;--green:#315a45;--line:#dce5dc;--muted:#586c60;--paper:#fffefa;--gold:#cb9b48}
html[lang=ja]{font-family:'Noto Sans JP',sans-serif}html[lang=zh-CN]{font-family:'Noto Sans SC',sans-serif}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cd9949;outline-offset:4px}button{border:1px solid #b5c7b9;background:var(--paper);color:var(--green);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600}button:hover{background:#edf3eb}button:disabled{cursor:default;opacity:.6}
.site-header{max-width:1060px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;gap:10px;align-items:center;white-space:nowrap}.brand strong{font-size:20px;letter-spacing:-.035em}.brand small{font-size:10.5px;letter-spacing:.16em;color:#718477}.header-tools{display:flex;align-items:center;gap:16px}.home-link{font-size:12px;text-decoration:none}.locale{max-width:108px;min-height:36px;background:var(--paper);color:inherit;border:1px solid #d0dbd1;padding:7px;border-radius:8px;font-size:12px}
main{max-width:1060px;margin:auto;padding:46px 30px 70px}.article{max-width:800px;margin:auto}.eyebrow{display:block;font-size:11px;line-height:1.7;letter-spacing:.12em;font-weight:600;color:#718578}h1{font-size:clamp(30px,4.1vw,46px);line-height:1.38;letter-spacing:-.045em;margin:15px 0 22px;text-wrap:balance}h2{font-size:clamp(22px,2.6vw,28px);line-height:1.5;letter-spacing:-.025em;margin:0 0 18px}h3{font-size:18px;line-height:1.5;margin:14px 0}p{font-size:15px;line-height:2;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere;margin:13px 0}.lead{font-size:17px;line-height:1.95;max-width:760px;margin-bottom:32px}.cover{margin:34px 0 42px}.cover img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:10px;background:#eceee7}.cover figcaption{font-size:11px;color:#718477;line-height:1.7;margin:10px 0}.prose-section{margin:44px 0 0}.feature{margin:46px 0;background:#f0f4ed;border-radius:14px;padding:28px;border:1px solid #dde7da}.feature h2{font-size:24px}.feature>.description{font-size:13px;line-height:1.9;margin-bottom:24px}.feature svg{display:block;width:100%;height:auto;max-height:430px;overflow:visible}.feature svg text{font-family:inherit;font-size:13px;fill:#345442}.feature svg .label{font-size:11px;fill:#5b7064}.feature svg .ray{stroke:#ca9742;stroke-width:3;fill:none;stroke-linecap:round}.feature svg .source{fill:#f6d99b;stroke:#bc8c3b;stroke-width:2}.feature svg .person{fill:#e8bfa4;stroke:#9d7763;stroke-width:1.4}.feature svg .camera{fill:#315344}.controls{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0}.field{display:flex;flex-direction:column;gap:10px;flex:1;min-width:190px;font-size:13px;color:#35513f}.field input,.field select{width:100%;max-width:100%;border:1px solid #c8d6c7;border-radius:7px;background:var(--paper);padding:10px;color:#294b37;min-height:42px}.field input[type=range]{padding:0;min-height:26px;accent-color:var(--green)}.field output{font-variant-numeric:tabular-nums;font-size:13px;min-height:18px}.readout{display:block;border-top:1px solid #cddcc9;padding:18px 0 0;font-size:14px;line-height:1.9;color:#294c38;min-height:56px;font-variant-numeric:tabular-nums}.readout strong{font-size:22px;margin:0 5px}.scope{font-size:12px!important;line-height:1.9!important;color:#66796c!important}.atlas{display:grid;grid-template-columns:1fr 1fr;gap:24px}.atlas figure{margin:0;background:#fffdf7;border-radius:12px;padding:15px}.atlas figcaption{font-size:13px;line-height:1.8}.atlas figcaption strong{display:block;font-size:16px;margin:8px 0}.atlas svg{max-height:240px}.fill-questions details{padding:20px 0;border-bottom:1px solid #cbdac8}.fill-questions details:last-child{border:0}.fill-questions summary{font-size:15px;font-weight:600;line-height:1.7;padding-right:12px}.fill-questions p{font-size:14px;padding:0 15px}.patch-stage{display:flex;gap:28px;align-items:center;padding:22px;border-radius:10px;background:#26382f;color:white}.patch{width:130px;height:130px;border-radius:5px;background:rgb(150,150,150);flex-shrink:0;border:1px solid #ffffff44}.patch-stage output{color:#fff;font-size:15px;line-height:1.8}.ray-scene[hidden]{display:none}.feature button{margin-top:15px}.zone-legend{display:grid;gap:12px;list-style:none;padding:0;margin:25px 0 0}.zone-legend li{font-size:14px;line-height:1.7;display:flex;gap:10px;align-items:center}.zone-legend b{display:grid;place-items:center;width:28px;height:28px;background:#315a45;color:white;border-radius:50%;flex-shrink:0}.group-meter{height:18px;background:#d5dfcf;border-radius:20px;overflow:hidden;margin:20px 0}.group-meter>span{display:block;height:100%;background:#5b835e;width:44%;transition:width .2s}.time-cursor{stroke:#c47b41;stroke-width:2}.flash-active{fill:#f4ce71}.flicker-view{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.flicker-view canvas{width:100%;height:auto;display:block;border-radius:9px;border:1px solid #aabbab;background:#888}.flicker-key{font-size:13px;color:#536d5a;line-height:1.9}.window-route ol{counter-reset:route;list-style:none;padding:0;margin:24px 0 0}.window-route li{counter-increment:route;display:grid;grid-template-columns:35px 1fr;gap:12px;padding:18px 0;border-top:1px solid #cbdac8}.window-route li:before{content:counter(route,decimal-leading-zero);font-size:21px;font-weight:600;color:#7e9781}.window-route li strong{font-size:16px}.window-route li p{font-size:14px;margin:6px 0 0}.sources{margin:50px 0 34px;padding-top:22px;border-top:1px solid var(--line)}.sources h2{font-size:16px}.sources a{font-size:13px;line-height:1.9;display:block;overflow-wrap:anywhere}.article-nav{display:flex;justify-content:space-between;gap:24px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.article-nav a{font-size:13px;line-height:1.8;max-width:60%;text-decoration:none}.article-nav span{display:block;font-size:11px;color:#718578;margin-bottom:5px}.catalogue-intro{max-width:780px;margin:0 0 44px}.catalogue-note{font-size:13px;line-height:1.9;border-left:2px solid #9bb19b;padding-left:16px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px}.card{min-width:0;color:inherit;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:22px}.card img{width:100%;height:250px;object-fit:contain;display:block;background:#eceee6;border-radius:10px;margin-bottom:17px}.card .tag{display:block;font-size:11px;letter-spacing:.04em;color:#748879;margin-bottom:10px}.card h2{font-size:23px;line-height:1.5;margin:0 0 10px}.card p{font-size:14px;line-height:1.95}.card .feature-name{display:block;font-size:12px;line-height:1.7;color:#456e4e;margin:15px 0}.card:hover h2{text-decoration:underline;text-underline-offset:5px}.edition-footer{margin:55px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:#6e8374;line-height:1.9}.skip-link{position:absolute;top:-60px;left:20px;background:#fff;padding:12px;z-index:10}.skip-link:focus{top:10px}
@media(max-width:650px){.site-header{padding:17px 15px;gap:10px;flex-wrap:wrap}.brand{flex-direction:column;gap:3px;align-items:flex-start}.brand strong{font-size:19px}.brand small{font-size:10.5px;letter-spacing:.12em}.header-tools{gap:10px;margin-left:auto}.home-link{font-size:10.5px}.locale{font-size:11px;max-width:93px}main{padding:30px 19px 50px}.lead{font-size:16px}.feature{padding:23px 17px;margin:35px -2px}.feature h2{font-size:22px}.controls{gap:16px}.field{min-width:150px}.atlas{gap:12px}.atlas figure{padding:10px}.atlas figcaption strong{font-size:14px}.atlas figcaption{font-size:12px}.patch-stage{gap:18px;padding:18px}.patch{width:95px;height:95px}.flicker-view{grid-template-columns:1fr}.cards{grid-template-columns:1fr;gap:28px}.card img{height:240px}.article-nav a{font-size:12px}.feature svg text{font-size:25px}.feature svg .label{font-size:24px}.cover{margin:26px 0 34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.card img{height:auto!important;aspect-ratio:3/2;object-fit:contain}.photo-atlas img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:8px}.photo-atlas a{display:block}.lens-checks{border:0;padding:0;margin:0}.lens-checks legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lens-checks label{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.9;padding:14px 0;border-bottom:1px solid #d3dfce}.lens-checks input{width:18px;height:18px;flex-shrink:0;margin-top:5px;accent-color:#315a45}.time-chart{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:16px;margin:30px 0}.time-labels,.time-tracks{display:grid;grid-template-rows:repeat(3,34px);gap:20px}.time-labels{font-size:13px;line-height:1.7;align-items:center}.time-tracks{position:relative;padding:0}.track{height:18px;border-radius:4px;align-self:center}.shutter-track{background:#709882}.ambient-track{background:#b4c5ab}.pulse-track{background:#e1e8db;position:relative}.pulse-track i{position:absolute;left:31%;width:4%;height:30px;background:#d4a448;bottom:0;border-radius:2px}.time-marker{position:absolute;left:0;top:0;bottom:0;border-left:2px solid #b57444}.cover img{aspect-ratio:3/2}@media(max-width:650px){.photo-atlas{grid-template-columns:1fr}.photo-atlas figure{padding:12px}.time-chart{grid-template-columns:100px 1fr;gap:10px}}
