:root{--paper:#e9eee8;--paper-2:#f3f5ef;--dark:#1d332a;--deep:#12281f;--ink:#1a3429;--muted:#64786b;--line:#c8d2c6;--orange:#f29e6e;--lime:#d4e795;--serif:'Noto Serif JP',serif;--sans:'DM Sans','Noto Sans JP',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.75 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button,a,input,select{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #d9824c;outline-offset:4px}h1,h2,h3,p{margin:0}::selection{background:#cce5ae;color:#173727}
.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}
.site-header{height:88px;max-width:1500px;padding:0 5.5%;margin:0 auto;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:17px;font-weight:500;line-height:1.12;letter-spacing:-.065em;white-space:nowrap}.brand-dot,.footer-logo span{color:#d37b55}.brand small{font-size:8px;font-weight:400;letter-spacing:.13em;display:block;margin-top:5px;color:var(--muted)}.brand-icon{width:33px;height:35px;display:flex;align-items:end;gap:3px;transform:rotate(-13deg)}.brand-icon i{width:8px;border:2px solid var(--ink);border-radius:5px 5px 1px 1px;background:#d5e4d2}.brand-icon i:first-child{height:23px}.brand-icon i:nth-child(2){height:29px;background:#e6ba9d}.brand-icon i:last-child{height:17px}.site-header nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:11px;font-weight:600}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:#ad684a}.site-header nav a span{margin-left:4px}.motion-toggle{display:flex;align-items:center;gap:9px;margin-left:20px;background:#dce7da;border:1px solid #b7c9b6;border-radius:100px;padding:8px 14px;white-space:nowrap;font-size:10px;color:var(--ink);transition:background .2s}.motion-toggle:hover{background:#d1dfcb}.toggle-icon{width:22px;height:22px;border-radius:50%;background:#c4d7bd;display:grid;place-items:center;font-size:11px;line-height:1}
.hero{max-width:1500px;padding:78px 5.5% 78px;margin:auto;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:6%;align-items:center;min-height:640px}.hero-copy{padding:14px 0 0}.eyebrow,.section-number{font-family:var(--mono);font-size:10px;letter-spacing:.13em;font-weight:500}.eyebrow{display:flex;gap:10px;align-items:center;color:#456353}.eyebrow-index{color:#809487;margin-left:11px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#67934b;box-shadow:0 0 0 5px #7ba86424;animation:livePulse 2.4s infinite}.hero-kicker{font-family:var(--serif);font-size:17px;letter-spacing:.15em;margin:42px 0 4px}.hero h1{font-family:var(--serif);font-size:clamp(56px,5.3vw,85px);letter-spacing:-.055em;line-height:1.43;font-weight:700}.hero h1 em{font-style:normal;color:#567c62}.hero h1 em span{color:#d7845b}.hero-lead{font-size:12px;line-height:2.55;color:#506d5c;margin-top:29px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:31px}.primary-button{display:flex;align-items:center;gap:52px;background:var(--dark);color:#eff7e9;padding:16px 21px 16px 23px;font-size:12px;letter-spacing:.06em;transition:background .2s,transform .2s;border:1px solid var(--dark)}.primary-button span{font-size:19px;font-weight:300}.primary-button:hover{background:#355845;transform:translateY(-2px)}.hero-hint{font-size:9px;color:#7c9083}.hint-spark{color:#c67655;font-size:17px;vertical-align:-2px;margin-right:6px}.hero-counts{display:flex;gap:32px;margin-top:56px;padding-top:20px;border-top:1px solid var(--line)}.hero-counts>div{display:flex;flex-direction:column;gap:4px;min-width:120px}.hero-counts strong{font-family:var(--mono);font-size:28px;font-weight:500;letter-spacing:-.06em}.hero-counts span{font-size:9px;color:#758a7b}
.hero-visual{height:495px;position:relative;border:1px solid #aebfb1;overflow:hidden;background:#dfe9db;border-radius:2px;background-image:radial-gradient(ellipse at 45% 36%,#edf2e9 0%,#dbe6d9 71%,#d3ded1 100%)}.hero-visual:before,.hero-visual:after{content:'';position:absolute;pointer-events:none}.hero-visual:before{inset:20px;border:1px solid #b9cbb953}.hero-visual:after{width:80px;height:80px;background:#e6b890;top:9%;right:9%;border-radius:50%;filter:blur(50px);opacity:.35}.hero-visual-meta{position:absolute;top:28px;left:31px;right:31px;display:flex;justify-content:space-between;font-size:8px;font-family:var(--mono);letter-spacing:.09em;color:#6c8774;z-index:1}.hero-visual-meta b{width:5px;height:5px;vertical-align:1px;box-shadow:none}.hero-orbit{position:absolute;border:1px solid #789a8261;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.orbit-a{width:380px;height:380px}.orbit-b{width:280px;height:280px;border-style:dashed;animation:orbitSpin 35s linear infinite}.hero-book-scene{position:absolute;left:50%;top:48%;width:270px;height:208px;transform:translate(-50%,-50%);perspective:1100px}.hero-book{height:100%;width:100%;filter:drop-shadow(10px 25px 13px #3f59442b);transform:rotate(-6deg);transform-style:preserve-3d}.hero-book-back,.hero-book-leaf,.hero-book-cover{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px 10px 10px 4px;transform-origin:left center;backface-visibility:hidden}.hero-book-back{background:#f7f4e9;border:1px solid #8d9a83;padding:22px;display:flex;flex-direction:column}.hero-book-back span{font-size:9px;font-family:var(--mono);color:#84967e}.hero-book-back b{font-family:var(--serif);font-size:25px;line-height:1.7;margin:auto 0;color:#2a503e}.hero-book-back i{font:8px var(--mono);letter-spacing:.1em;color:#84967e}.hero-book-leaf{background:#e9e6d8;border:1px solid #aab5a5;animation:heroLeaf 5.5s cubic-bezier(.22,.77,.3,1) infinite both}.hero-book-cover{border:1px solid #395948;background:#234b37;color:#f0efdc;padding:20px 24px;display:flex;flex-direction:column;box-shadow:inset 6px 0 0 #ffffff1a;animation:heroCover 5.5s cubic-bezier(.22,.77,.3,1) infinite both}.hero-book-cover span,.hero-book-cover i{font:9px var(--mono);letter-spacing:.13em;white-space:nowrap}.hero-book-cover b{font:600 35px/1.58 var(--serif);margin:auto;text-align:center;letter-spacing:.08em}.hero-book-cover i{font-size:8px}.hero-replay .hero-book-cover{animation-name:heroCoverAlt}.hero-replay .hero-book-leaf{animation-name:heroLeafAlt}.hero-visual-bottom{position:absolute;bottom:28px;left:29px;right:29px;display:flex;align-items:center;justify-content:space-between;color:#7c957f;font:9px var(--mono);letter-spacing:.03em}.hero-visual-bottom button{font:10px var(--sans);color:var(--ink);border:1px solid #9fb7a3;background:#e7eee5;padding:9px 13px;border-radius:40px;transition:transform .2s}.hero-visual-bottom button:hover{transform:translateY(-2px)}
.context-strip{background:#dbe5d9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:2.3vw;padding:26px 5%;font-size:11px}.context-label{font:9px var(--mono);letter-spacing:.13em;color:#65816b;margin-right:auto}.context-label span{color:#b87353}.context-version{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#496650}.context-version b{font:500 21px var(--mono);color:#2f5a3e}.context-arrow{font-size:19px;color:#8eab92}
.catalog-section{max-width:1500px;padding:90px 5.5% 94px;margin:auto}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid #b6c7b5;padding-bottom:31px;margin-bottom:29px}.section-number{display:inline-block;color:#a47754}.catalog-head h2,.method-left h2,.sources-section h2{font-family:var(--serif);font-size:clamp(30px,3vw,45px);font-weight:600;letter-spacing:-.03em;margin-top:14px;line-height:1.55}.catalog-head h2 span{font-family:var(--sans);font-size:28px;color:#bb7755;margin-left:15px;font-weight:400}.catalog-head p{color:#6f8274;font-size:11px;margin-top:10px}.catalog-count{display:flex;align-items:baseline;gap:11px;font-family:var(--mono)}.catalog-count strong{font-size:46px;font-weight:500;line-height:1;letter-spacing:-.08em}.catalog-count span{font-size:10px;color:#728a75;white-space:nowrap}.catalog-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:38px}.sidebar{position:sticky;align-self:start;top:28px}.sidebar-label{font:9px var(--mono);color:#7b947d;letter-spacing:.15em;margin:13px 0 17px}.filters{display:flex;flex-direction:column}.filter-button{position:relative;text-align:left;background:none;border:0;border-bottom:1px solid #cfdbce;display:flex;align-items:center;padding:17px 9px 15px;gap:14px;color:#53705b;min-height:65px;transition:background .2s}.filter-button:hover{background:#dfe9dc}.filter-button.active{background:#d4e3d1;color:var(--dark);box-shadow:inset 3px 0 0 #315f43}.filter-symbol{font-size:20px;font-weight:400;width:22px;text-align:center;line-height:1}.filter-button>span:nth-child(2){font-size:11px;font-weight:600}.filter-button small{display:block;color:#93a496;font:8px var(--mono);letter-spacing:.04em;margin-top:4px}.filter-button b{margin-left:auto;font:11px var(--mono);color:#819b84}.sidebar-divider{height:1px;background:#b6c7b5;margin:28px 0}.sidebar-note{padding:19px;background:#e0e9dd;border:1px solid #c5d3c4}.asterisk{font-size:25px;color:#bc845e;line-height:1}.sidebar-note strong{display:block;font-size:11px;margin:10px 0}.sidebar-note p{font-size:10px;color:#66806d;line-height:2.1}.sidebar-note-foot{display:block;font:7px var(--mono);color:#819a82;letter-spacing:.03em;margin-top:22px}
.toolbar{display:flex;gap:14px}.search-wrap{display:flex;align-items:center;gap:11px;background:#f5f7f1;border:1px solid #c3d2c0;padding:0 15px;height:48px;flex:1;min-width:0;transition:border-color .2s,box-shadow .2s}.search-wrap:focus-within{border-color:#648966;box-shadow:0 3px 0 #cedecb}.search-wrap svg{color:#5c7966;flex-shrink:0}.search-wrap input{border:0;outline:0!important;background:none;color:var(--ink);font-size:11px;width:100%;min-width:0}.search-wrap input::placeholder{color:#8aa18c}.search-wrap kbd{font:10px var(--mono);color:#799680;border:1px solid #c1d1bf;padding:1px 5px}.toolbar select{appearance:none;min-width:150px;padding:0 35px 0 15px;border:1px solid #c3d2c0;background:#f5f7f1 url("data:image/svg+xml,%3Csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 5 4 4 4-4' stroke='%23587261' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;font-size:10px;color:var(--ink)}.active-filters{font-size:9px;color:#839687;margin:16px 0 21px;letter-spacing:.03em}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.motion-card{border:1px solid #bdcebd;background:#f3f6f0;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,box-shadow .2s}.motion-card:hover{border-color:#80a182;box-shadow:0 8px 22px #22493511}.card-topline{padding:15px 17px 13px;display:flex;gap:12px;align-items:center;color:#68836d;font:9px var(--mono);letter-spacing:.035em}.card-id{color:#3b5f46}.card-category{margin-left:auto;font:9px var(--sans)}.version-badge{background:#e3e5d5;border:1px solid #c6d2c3;color:#59715b;padding:3px 5px;font-size:8px}.demo-stage{height:196px;margin:0 12px;position:relative;overflow:hidden;background:#224637;border:1px solid #1f4d39;isolation:isolate;cursor:pointer}.demo-back-grid{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(#67836b24 1px,transparent 1px),linear-gradient(90deg,#67836b24 1px,transparent 1px);background-size:23px 23px;mask-image:linear-gradient(#000,transparent 95%)}.demo-content{height:100%;width:100%;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;perspective:850px}.demo-hint{position:absolute;right:10px;bottom:9px;z-index:10;color:#d3e5d3aa;letter-spacing:.08em;font:7px var(--mono);pointer-events:none}.demo-stage:focus-visible{outline:2px solid #d1eaaa;outline-offset:2px}.card-content{padding:17px 18px 12px;flex:1}.card-index-line{display:flex;align-items:center;gap:7px;justify-content:space-between;font:9px var(--mono);letter-spacing:.025em;color:#7b9b80;min-height:18px}.card-index-line span:first-child{color:#b07956;overflow-wrap:anywhere}.card-index-line span:last-child{white-space:nowrap;font-size:8px}.card-content h3{font:600 19px/1.6 var(--serif);letter-spacing:.02em;margin:8px 0}.card-content p{font-size:10px;color:#63806c;line-height:2;min-height:57px}.card-meta{border-top:1px dashed #cbd6c8;margin-top:16px;padding-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#809785;font-size:9px}.card-meta-dot{color:#a8b9a6}.card-bottom{display:flex;align-items:center;gap:6px;padding:0 18px 15px}.replay-button{background:none;border:1px solid #cbd8c8;color:#5c7b63;padding:9px 12px;font-size:9px;transition:background .2s}.replay-button:hover{background:#e2ece0}.replay-button span{font-size:15px;margin-right:5px}.detail-button{border:1px solid #31553e;background:#31553e;color:#eef6e9;padding:10px 12px;display:flex;align-items:center;gap:10px;margin-left:auto;font-size:10px;transition:background .2s}.detail-button span{font-size:14px}.detail-button:hover{background:#193b29}.no-results{text-align:center;border:1px dashed #bdcfbb;padding:70px 20px;color:#6c8372}.no-results>span{font-size:45px}.no-results h3{font:600 22px var(--serif);margin:12px 0}.no-results p{font-size:11px}.no-results button{margin-top:22px;border:1px solid #78987b;padding:11px 18px;background:#e2eada;color:#3e6148;font-size:12px}
.method-section{padding:86px 7%;background:var(--dark);color:#e8f2e8;display:grid;grid-template-columns:1fr 1.5fr;gap:9%;align-items:start}.method-left{max-width:410px}.method-left h2{font-size:40px;letter-spacing:.02em}.method-left p{color:#b1c4b4;font-size:11px;line-height:2.3;margin-top:22px}.method-steps{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px}.method-steps>div{border-top:1px solid #587461;padding-top:16px}.method-steps b{display:block;font:26px var(--mono);color:#b6d995;margin-bottom:15px}.method-steps strong{display:block;font:600 14px var(--sans);letter-spacing:.02em}.method-steps p{color:#b1c4b4;font-size:10px;line-height:2.2;margin-top:10px}.method-steps code{background:#385743;color:#e0ebd7;padding:2px 4px;font:10px var(--mono)}
.clarification{display:flex;align-items:flex-start;gap:24px;padding:39px 7%;max-width:1300px;margin:20px auto 20px}.clarification-mark{width:33px;height:33px;border:1px solid #c68e65;border-radius:50%;color:#bd845a;display:grid;place-items:center;font-size:19px;font-family:var(--serif);flex-shrink:0}.clarification strong{font-size:13px}.clarification p{font-size:10px;line-height:2.2;color:#6d8170;margin-top:10px;max-width:960px}.sources-section{max-width:1500px;padding:72px 5.5% 100px;margin:auto;display:grid;grid-template-columns:.65fr 1fr;gap:9%;border-top:1px solid var(--line)}.sources-section h2{font-size:33px}.source-links{display:flex;flex-direction:column}.source-links a{display:grid;grid-template-columns:1fr auto;gap:5px 20px;border-bottom:1px solid #cbd7c8;padding:16px 0;transition:padding-left .2s,color .2s}.source-links a:first-child{border-top:1px solid #cbd7c8}.source-links a:hover{padding-left:9px;color:#a97554}.source-links a span:first-child{font:8px var(--mono);color:#8ba18e;letter-spacing:.05em;grid-column:1 / -1}.source-links a strong{font:600 15px var(--sans)}.source-links a span:last-child{font-size:9px;color:#789180;align-self:center;text-align:right}
footer{border-top:1px solid #4f6e59;background:#1d3628;color:#dce9d9;padding:32px 6%;display:flex;gap:50px;align-items:center}footer .footer-logo{font:500 22px var(--mono);letter-spacing:-.06em}footer p{font:9px/2 var(--mono);letter-spacing:.05em;color:#a9bfae}footer small{font-size:8px}footer>a:last-child{margin-left:auto;font:10px var(--mono);white-space:nowrap;border-bottom:1px solid #688771;padding:8px 0}
.detail-dialog{background:#ecf2e9;border:1px solid #809d82;padding:0;max-height:90vh;width:min(800px,94vw);max-width:none;color:var(--ink);box-shadow:0 30px 90px #061c1399}.detail-dialog::backdrop{background:#102f22a9;backdrop-filter:blur(5px)}.detail-content{padding:0 32px 36px}.detail-top{height:62px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:.13em;color:#76907b}.detail-top button{border:1px solid #b7cab6;background:none;width:33px;height:33px;border-radius:50%;font-size:22px;line-height:1;color:var(--ink)}.detail-heading{padding:27px 0 22px}.detail-number{color:#b07753;font:10px var(--mono)}.detail-heading h2{font:600 30px/1.5 var(--serif);margin:6px 0}.detail-heading p{font:11px var(--mono);color:#87a08a}.detail-specimen{height:225px;margin:0;cursor:pointer}.detail-description{font:13px/2.1 var(--sans);margin:24px 0}.detail-facts{border-top:1px solid #c3d1c1;border-bottom:1px solid #c3d1c1;display:grid;grid-template-columns:1fr 1fr;gap:0}.detail-facts>div{padding:15px 12px;border-bottom:1px solid #d3ded0;display:flex;flex-direction:column;gap:4px}.detail-facts>div:nth-child(n+3){border-bottom:0}.detail-facts span{font:8px var(--mono);color:#92a893}.detail-facts strong{font-size:11px;font-weight:600;line-height:1.8}.detail-explain{padding:12px 0 22px}.detail-explain h3{font:600 14px var(--serif);margin:20px 0 8px}.detail-explain p{font-size:11px;color:#67816d;line-height:2.2}.code-head{background:#274335;color:#d2e3d1;display:flex;justify-content:space-between;align-items:center;padding:11px 14px;gap:14px;font:8px var(--mono)}.code-head button{border:0;background:none;color:#d5edae;font:9px var(--sans);white-space:nowrap}.source-code{background:#172e24;color:#d5eeb6;margin:0;padding:19px;overflow:auto;font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.source-evidence{display:flex;gap:9px;flex-direction:column;border:1px solid #c7d5c3;margin-top:18px;padding:16px;background:#e4ebe0}.source-evidence span{font:9px var(--mono);color:#849986}.source-evidence strong{font:600 11px var(--sans)}.source-evidence code{font:9px/1.7 var(--mono);color:#62806a;overflow-wrap:anywhere}
@keyframes livePulse{50%{box-shadow:0 0 0 9px #7ba8640c}}@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes heroCover{0%,12%{transform:rotateY(0)}37%,70%{transform:rotateY(-175deg)}90%,100%{transform:rotateY(0)}}
@keyframes heroLeaf{0%,22%{transform:rotateY(0)}47%,70%{transform:rotateY(-168deg)}90%,100%{transform:rotateY(0)}}
@keyframes heroCoverAlt{0%,12%{transform:rotateY(0)}37%,70%{transform:rotateY(-175deg)}90%,100%{transform:rotateY(0)}}
@keyframes heroLeafAlt{0%,22%{transform:rotateY(0)}47%,70%{transform:rotateY(-168deg)}90%,100%{transform:rotateY(0)}}

/* The miniature demonstrations reinterpret the exact behavior found in the source. */
.mini-book{position:relative;width:136px;height:116px;transform-style:preserve-3d;perspective:600px;filter:drop-shadow(8px 12px 7px #0c1e15a0)}.mini-book-inner,.mini-cover,.mini-leaf{position:absolute;inset:0;border-radius:3px 8px 8px 3px;transform-origin:left center}.mini-book-inner{background:#f5f1db;padding:13px 15px;color:#365e44;border:1px solid #a9baa2;display:flex;flex-direction:column;gap:16px}.mini-book-inner span{font:7px var(--mono)}.mini-book-inner b{font:600 14px/1.7 var(--serif)}.mini-cover{background:#9dc29b;color:#1d3c29;padding:13px 17px;display:flex;flex-direction:column;border:1px solid #bde0b5;backface-visibility:hidden;animation:demoCover 4.8s cubic-bezier(.2,.7,.3,1) infinite both}.mini-cover span{font:7px var(--mono)}.mini-cover b{font:600 23px/1.5 var(--serif);margin:auto}.leaf-demo .mini-leaf{background:linear-gradient(90deg,#cbd4b6,#f8f3db);border:1px solid #c8d1bc;animation:demoLeaf 4.8s cubic-bezier(.2,.7,.3,1) infinite both}.settle-object{background:#d7e2b8;color:#294b36;width:132px;height:119px;border:1px solid #b8d29e;box-shadow:10px 15px 0 #142f235d;display:flex;flex-direction:column;justify-content:space-between;padding:13px;animation:demoSettle 4.6s cubic-bezier(.22,.7,.25,1) infinite both}.settle-object span{font:7px var(--mono)}.settle-object b{font:600 28px/.99 var(--serif);letter-spacing:-.06em}
.demo-lines{width:min(260px,85%);display:flex;flex-direction:column;gap:0;color:#ecf5e6}.demo-lines>div{padding:12px 9px;border-bottom:1px solid #73947a70;font-size:10px;letter-spacing:.04em;animation:demoIntroRow 4s ease infinite both}.intro-lines>div:first-child{animation-delay:0s}.intro-lines>div:nth-child(2){animation-delay:.16s}.intro-lines>div:nth-child(3){animation-delay:.32s}.intro-lines span{margin-left:10px;margin-right:32px;color:#e0e9c6}.caption-object{display:flex;flex-direction:column;align-items:center;gap:11px;color:#e6f0dc;text-align:center;animation:demoCaption 4s ease infinite both}.caption-object small,.caption-object span{font:8px var(--mono);letter-spacing:.14em;color:#a3c7ac}.caption-object b{font:600 22px var(--serif)}.dissolve-scene{height:124px;width:230px;position:relative;border:1px solid #76907a;background:#dfedd9;color:#264c36}.behind-layer,.dissolve-overlay{position:absolute;inset:0;padding:27px 23px;font:9px var(--mono)}.behind-layer strong,.dissolve-overlay strong{display:block;font:600 23px var(--serif);margin-top:12px}.dissolve-overlay{background:#557861;color:#f2f1e1;animation:demoDissolve 4.6s ease infinite both}
.fan-stack{width:180px;height:125px;position:relative;transform:rotate(4deg);margin-top:8px}.fan-stack>div{position:absolute;inset:0;width:125px;height:107px;border-radius:2px 9px 2px 3px;padding:12px 15px;display:flex;flex-direction:column;justify-content:space-between;transform-origin:bottom center;border:1px solid #bad5aa;box-shadow:4px 6px 2px #0a2b1b4c;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.fan-stack>div:nth-child(1){background:#bed6b4;color:#365a43;transform:translateX(40px) rotate(12deg)}.fan-stack>div:nth-child(2){background:#d4e5bd;color:#274b33;transform:translateX(20px) rotate(2deg)}.fan-stack>div:nth-child(3){background:#ebeed2;color:#244833;transform:rotate(-10deg)}.fan-stack span{font:9px var(--mono)}.fan-stack b{font:600 15px var(--serif)}.demo-fan:hover .fan-stack>div:nth-child(1),.demo-fan.activated .fan-stack>div:nth-child(1){transform:translateX(57px) rotate(22deg)}.demo-fan:hover .fan-stack>div:nth-child(2),.demo-fan.activated .fan-stack>div:nth-child(2){transform:translateX(20px) rotate(3deg)}.demo-fan:hover .fan-stack>div:nth-child(3),.demo-fan.activated .fan-stack>div:nth-child(3){transform:translateX(-19px) rotate(-19deg)}
.lift-object,.tile-object,.editorial-object{background:#e5ead5;border:1px solid #a4bfa3;color:#254b34;transition:transform .22s,border-color .22s,box-shadow .22s;box-shadow:5px 6px 0 #122f244c}.lift-object{width:240px;padding:17px 19px;font:600 21px var(--serif);position:relative}.lift-object b{float:right;font:20px var(--sans)}.lift-object small{display:block;font:8px var(--mono);margin-top:10px;color:#749278}.demo-lift:hover .lift-object,.demo-lift.activated .lift-object{transform:translateY(-6px);border-color:#e4eeba}.tile-object{width:172px;min-height:132px;padding:14px;display:flex;flex-direction:column}.tile-object small{font:7px var(--mono)}.tile-object strong{font:600 24px var(--serif);margin:12px 0 auto}.tile-object>span{font:8px var(--mono);border-top:1px solid #bdcdbb;padding-top:8px;margin-top:12px}.tile-object b{float:right}.demo-prefecture:hover .tile-object,.demo-prefecture.activated .tile-object{transform:translateY(-5px);border-color:#f3d798;box-shadow:5px 9px 0 #081e116e}.editorial-object{width:210px;padding:18px}.editorial-object small{font:8px var(--mono);color:#7c957e}.editorial-object strong{font:600 22px var(--serif);display:block;margin:14px 0}.editorial-object div{border-top:1px solid #bccfba;padding-top:10px;font-size:10px}.editorial-object b{float:right}.demo-editorialLift:hover .editorial-object,.demo-editorialLift.activated .editorial-object{transform:translateY(-6px);border-color:#e5ebae}
.rail-object{width:min(280px,86%);height:79px;background:#e9eddb;display:flex;align-items:center;gap:11px;color:#2f5238;padding:0 16px;position:relative;border:1px solid #c3d3b9}.rail-object>span{font:10px var(--mono);color:#9db39d}.rail-object strong{font:600 13px var(--serif);flex:1}.rail-object b{font:19px var(--sans)}.rail-indicator{position:absolute;left:-2px;top:11px;bottom:11px;width:3px;background:#a8cc88;transform:scaleY(0);transition:transform .23s,opacity .23s}.demo-rail:hover .rail-indicator,.demo-rail.activated .rail-indicator{transform:scaleY(1)}.rail-new .rail-indicator{opacity:0;transform:scaleY(.3);background:#e1a773}.demo-railNew:hover .rail-indicator,.demo-railNew.activated .rail-indicator{opacity:1;transform:scaleY(1)}.arrow-object{background:#e5eecf;color:#244b35;border-radius:30px;padding:11px 17px;display:flex;gap:42px;align-items:center;box-shadow:0 5px 0 #102d205c}.arrow-object span{font:600 13px var(--serif)}.arrow-object b{font:24px var(--sans);transition:transform .23s}.demo-arrow:hover .arrow-object b,.demo-arrow.activated .arrow-object b{transform:translateX(7px)}
.focus-object{display:flex;align-items:center;gap:12px;width:min(260px,85%);border:1px solid #9aae9d;background:#eef3e5;padding:12px 10px 12px 17px;box-shadow:0 5px 0 #2e533d;transition:box-shadow .2s,border-color .2s;color:#647d68}.focus-object>span:first-child{font-size:20px;line-height:1}.focus-object>span:nth-child(2){font-size:10px;flex:1}.focus-object b{background:#315f3e;color:#e8f2dd;font-size:10px;padding:9px}.demo-focus:hover .focus-object,.demo-focus.activated .focus-object{border-color:#d8eeb0;box-shadow:0 5px 0 #719770}.color-object{background:#cadbbb;color:#24513a;border:1px solid #d5e7bc;border-radius:2px;padding:15px 22px;font-size:12px;transition:background .18s,color .18s,transform .18s;box-shadow:5px 5px 0 #142f236a}.color-object span{margin-left:30px}.demo-color:hover .color-object,.demo-color.activated .color-object,.color-object:hover{background:#244a33;color:#f0f5db;transform:translateY(-3px)}.elev-object{width:min(235px,82%);background:#e8eedf;color:#315340;border:1px solid #a4b9a5;display:flex;flex-direction:column;padding:16px 20px;gap:7px;transition:border-color .2s,box-shadow .2s}.elev-object small{font:8px var(--mono);color:#849d87}.elev-object strong{font:600 18px var(--serif)}.elev-object span{font-size:10px;color:#64836b}.demo-elev:hover .elev-object,.demo-elev.activated .elev-object{border-color:#e3eab3;box-shadow:0 10px 0 #b4cfab3d}
.rise-object{width:min(235px,80%);background:#e5ebdc;color:#284a34;border:1px solid #b5cbae;padding:17px 19px;display:flex;flex-direction:column;gap:8px;box-shadow:5px 7px 0 #0d2e225d;animation:demoRise 4.2s ease infinite both}.rise-object>span{font:8px var(--mono);color:#6f8b74}.rise-object strong{font:600 17px var(--serif)}.rise-object small{font-size:10px;color:#76957a}.result-lines>div{padding:10px 9px;color:#e6f2dd;font-size:10px;animation:demoResult 4.2s ease infinite both}.result-lines>div span{font:9px var(--mono);color:#b7d799;padding-right:10px}.result-lines>div:nth-child(2){animation-delay:.04s}.result-lines>div:nth-child(3){animation-delay:.08s}
.tray-context{height:100%;width:100%;position:relative;display:flex;align-items:center;justify-content:center;color:#bdd5c0;font:11px var(--mono)}.tray-context>span{opacity:.55}.tray-object{position:absolute;bottom:12px;left:12%;right:12%;display:flex;align-items:center;gap:9px;padding:10px 12px;background:#e9efd5;color:#274b35;box-shadow:0 10px 15px #0c231a83;border-radius:3px;font:10px var(--sans);animation:demoTray 4.5s ease infinite both}.tray-object b{font:23px var(--mono)}.tray-object span{margin-left:auto;background:#2e5539;color:#f0f6df;padding:8px;font-size:9px}.modal-scrim{width:100%;height:100%;background:#12241d4d;display:flex;align-items:center;justify-content:center}.modal-object,.source-object{width:min(220px,80%);padding:19px;background:#edf0df;color:#2a4f38;display:flex;flex-direction:column;gap:7px;box-shadow:0 12px 20px #0c231a8d;animation:demoModal 4.5s ease infinite both}.modal-object small,.source-object small{font:8px var(--mono);color:#6f8a72}.modal-object strong,.source-object strong{font:600 19px var(--serif)}.modal-object span,.source-object span{font-size:10px;border-top:1px solid #c7d4c1;padding-top:10px}.source-object{border-top:7px solid #bfab77;background:#f0ecda}.source-object strong{font-size:18px}.page-object{width:min(280px,85%);background:#f2f3e8;color:#315443;box-shadow:9px 9px 0 #0c201b86;padding:19px 21px;display:flex;flex-direction:column;gap:9px;animation:demoRise 4.2s ease infinite both}.page-object small{font:7px var(--mono);color:#819b81}.page-object strong{font:600 19px var(--serif)}.page-object i{display:block;height:3px;background:#c6d9bd;width:100%}.page-object i:last-child{width:54%}.collection-object{width:min(270px,83%);background:#f2f2e5;color:#2b4c35;box-shadow:7px 8px 0 #071d1466}.collection-tabs{display:flex;gap:17px;padding:10px 15px;border-bottom:1px solid #c3d3bb;font-size:9px;color:#79967c}.collection-tabs span:nth-child(2){color:#365d42;border-bottom:2px solid #476948}.collection-body{display:flex;flex-direction:column;gap:14px;padding:17px;animation:demoRise 4.2s ease infinite both}.collection-body small{font:8px var(--mono);color:#849b83}.collection-body strong{font:600 17px var(--serif)}
.region-grid-object{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:min(265px,83%);animation:demoGrid 4.4s ease infinite both}.region-grid-object div{background:#e5edda;padding:15px 10px;color:#2e573b;font:600 15px var(--serif);border:1px solid #9dbd9e}.feed-object{width:min(275px,87%);display:flex;flex-direction:column;gap:0;animation:demoGrid 4.4s ease infinite both}.feed-object>div{display:flex;align-items:center;gap:9px;padding:13px;background:#e8efe0;color:#294e36;border-bottom:1px solid #bdcdbb}.feed-object small{font:7px var(--mono);color:#728f77}.feed-object strong{font:600 11px var(--serif);flex:1}.feed-object span{font:15px var(--sans)}.records-object{background:#dce8d4;color:#2f563e;width:min(265px,87%);border:1px solid #a7bea2;font:600 12px var(--serif)}.records-object>div{display:flex;justify-content:space-between;padding:13px 17px}.records-object>div b{font-size:16px}.records-object section{border-top:1px solid #acc5a7;padding:11px 17px;font:10px/2.4 var(--sans);background:#eaf0e0;animation:demoRecords 4.5s ease infinite both;transform-origin:top}.records-object section span{font:9px var(--mono);margin-right:13px;color:#84a087}.load-object{display:flex;flex-direction:column;gap:6px;width:min(260px,87%);font-size:10px;color:#2a5037}.load-object div{padding:10px 13px;background:#e5ecdb;border:1px solid #b5ccb2}.load-object .load-last{background:#c9dcbe;animation:demoLoad 4s ease infinite both}
.scrub-object{width:146px;height:108px;position:relative;perspective:800px;transform-style:preserve-3d;margin-bottom:22px}.scrub-page,.scrub-cover{position:absolute;inset:0;padding:19px 13px;border-radius:4px;transform-origin:left;display:flex;flex-direction:column}.scrub-page{background:#e5ead7;color:#32543c;font:8px var(--mono);justify-content:center}.scrub-cover{background:#acd0a7;color:#254831;border:1px solid #c8edbe;transform:rotateY(calc(var(--scrub, .35) * -178deg));transition:transform .08s linear;backface-visibility:hidden}.scrub-cover strong{font:600 24px var(--serif);margin-top:auto}.scrub-cover span{font:7px var(--mono);margin-top:8px}.scrub-control{position:absolute;bottom:10px;width:77%;left:12%;font:8px var(--mono);color:#bed7bf;display:flex;flex-direction:column;gap:2px}.scrub-control input{width:100%;accent-color:#d4ebad;cursor:pointer;height:12px}.smooth-object{width:min(260px,87%);display:flex;flex-direction:column;gap:11px}.smooth-object>button{border:1px solid #a8cfa0;background:#dcecca;color:#2c513a;padding:7px;font:10px var(--sans)}.smooth-viewport{height:103px;overflow:auto;scrollbar-width:thin;background:#e8efe0;scroll-behavior:smooth;color:#2d5137}.smooth-viewport>div{height:103px;display:grid;place-items:center;border-bottom:1px solid #bdcdb9;font:600 13px var(--mono)}

@keyframes demoCover{0%,8%{transform:rotateY(0)}30%,72%{transform:rotateY(-175deg)}88%,100%{transform:rotateY(0)}}
@keyframes demoLeaf{0%,10%{transform:rotateY(0)}35%,72%{transform:rotateY(-173deg)}88%,100%{transform:rotateY(0)}}
@keyframes demoSettle{0%,8%{opacity:.4;transform:translateX(-50px) rotate(-8deg)}30%,70%{opacity:1;transform:translateX(0) rotate(0)}95%,100%{opacity:.4;transform:translateX(-50px) rotate(-8deg)}}
@keyframes demoIntroRow{0%,7%{opacity:0;transform:translateY(8px)}23%,71%{opacity:1;transform:translateY(0)}88%,100%{opacity:0;transform:translateY(8px)}}
@keyframes demoCaption{0%,7%{opacity:0;transform:translateY(12px)}24%,70%{opacity:1;transform:translateY(0)}90%,100%{opacity:0;transform:translateY(12px)}}
@keyframes demoDissolve{0%,18%{opacity:1}45%,78%{opacity:0}90%,100%{opacity:1}}
@keyframes demoRise{0%,12%{opacity:0;transform:translateY(18px)}29%,76%{opacity:1;transform:translateY(0)}93%,100%{opacity:0;transform:translateY(16px)}}
@keyframes demoResult{0%,7%{opacity:0;transform:translateY(13px)}27%,70%{opacity:1;transform:translateY(0)}92%,100%{opacity:0;transform:translateY(12px)}}
@keyframes demoTray{0%,9%{opacity:0;transform:translateY(34px)}28%,72%{opacity:1;transform:translateY(0)}91%,100%{opacity:0;transform:translateY(34px)}}
@keyframes demoModal{0%,11%{opacity:0;transform:translateY(16px)}32%,72%{opacity:1;transform:translateY(0)}92%,100%{opacity:0;transform:translateY(12px)}}
@keyframes demoGrid{0%,10%{opacity:.1;transform:translateY(12px)}27%,78%{opacity:1;transform:translateY(0)}94%,100%{opacity:.1;transform:translateY(12px)}}
@keyframes demoRecords{0%,10%{opacity:0;transform:translateY(-9px)}27%,73%{opacity:1;transform:translateY(0)}92%,100%{opacity:0;transform:translateY(-9px)}}
@keyframes demoLoad{0%,25%{opacity:0;transform:translateY(10px)}42%,80%{opacity:1;transform:translateY(0)}95%,100%{opacity:0;transform:translateY(10px)}}
.demo-stage.reset-animation *{animation:none!important;transition:none!important}
.user-paused .demo-stage *,.user-paused .hero-visual *,.user-paused .live-dot{animation-play-state:paused!important;transition:none!important}.demo-paused:after{content:'PAUSED';position:absolute;left:10px;top:10px;color:#e4efb1;background:#142f25;border:1px solid #6d8a6f;padding:4px 7px;font:8px var(--mono);z-index:10}.user-paused .demo-stage{cursor:default}

@media(max-width:1230px){.site-header{gap:15px}.site-header nav{gap:18px}.motion-toggle{margin-left:7px}.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:22px}.hero{gap:4%}.hero-counts{gap:17px}.context-strip{gap:14px}.context-label{font-size:8px}.context-version{font-size:10px}}
@media(max-width:990px){.site-header nav{display:none}.motion-toggle{margin-left:auto}.hero{grid-template-columns:1fr;gap:45px;padding-top:60px}.hero-visual{max-width:650px;width:100%;height:440px}.context-strip{flex-wrap:wrap;justify-content:flex-start}.context-label{width:100%}.catalog-layout{display:block}.sidebar{position:static;margin-bottom:22px}.sidebar-label,.sidebar-divider,.sidebar-note{display:none}.filters{flex-direction:row;overflow:auto;gap:8px;padding-bottom:3px}.filter-button,.filter-button.active{flex:0 0 auto;border:1px solid #c3d4bf;padding:9px 12px;min-height:0;box-shadow:none}.filter-button .filter-symbol{font-size:15px;width:auto}.filter-button small{display:none}.filter-button>span:nth-child(2){white-space:nowrap}.filter-button b{font-size:9px}.method-section{grid-template-columns:1fr;gap:45px}.sources-section{grid-template-columns:1fr;gap:35px}}
@media(max-width:680px){.site-header{height:71px;padding:0 5%}.brand{font-size:15px}.brand-icon{width:28px;height:32px}.motion-toggle{font-size:0;padding:8px;margin-left:auto}.motion-toggle .toggle-icon{font-size:11px}.hero{padding:45px 5% 50px}.hero-kicker{font-size:13px;margin-top:35px}.hero h1{font-size:clamp(45px,12.5vw,67px)}.hero-lead{font-size:10px;line-height:2.25}.hero-lead br{display:none}.hero-actions{gap:13px;flex-wrap:wrap}.primary-button{padding:12px 15px;gap:25px}.hero-hint{font-size:8px}.hero-counts{margin-top:35px;gap:12px}.hero-counts>div{min-width:0;flex:1}.hero-counts strong{font-size:24px}.hero-counts span{font-size:8px}.hero-visual{height:360px}.hero-visual-meta{left:17px;right:17px;top:17px;font-size:7px}.hero-book-scene{transform:translate(-50%,-50%) scale(.87)}.orbit-a{width:280px;height:280px}.orbit-b{width:200px;height:200px}.hero-visual-bottom{left:15px;right:15px;bottom:15px;font-size:8px}.context-strip{padding:17px 5%;gap:8px}.context-version{font-size:8px;gap:5px}.context-version b{font-size:15px}.context-arrow{font-size:13px}.catalog-section{padding:52px 5%}.catalog-head{padding-bottom:22px}.catalog-head h2{font-size:30px}.catalog-head h2 span{font-size:18px;margin-left:8px}.catalog-head p{font-size:9px}.catalog-count strong{font-size:32px}.catalog-count span{font-size:8px}.filters{margin:0 -2px}.toolbar{gap:8px;flex-wrap:wrap}.search-wrap{width:100%;flex:auto}.toolbar select{height:42px;width:100%;font-size:10px}.catalog-grid{grid-template-columns:1fr;gap:15px}.motion-card{max-width:590px}.demo-stage{height:196px}.card-content h3{font-size:19px}.card-content p{min-height:0}.method-section{padding:56px 6%}.method-left h2{font-size:33px}.method-steps{gap:21px 18px}.method-steps b{font-size:24px}.method-steps strong{font-size:12px}.method-steps p{font-size:9px}.clarification{padding:25px 6%;gap:14px}.clarification p{font-size:9px}.sources-section{padding:55px 6%}.source-links a{grid-template-columns:1fr;gap:7px}.source-links a span:last-child{text-align:left}.source-links a strong{font-size:13px}footer{flex-wrap:wrap;gap:17px;padding:28px 6%}footer p{order:3;width:100%}footer>a:last-child{margin-left:auto}.detail-content{padding:0 17px 25px}.detail-heading h2{font-size:24px}.detail-specimen{height:195px}.detail-facts>div{padding:12px 7px}.detail-facts strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){body:not(.allow-motion) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
