/* TOKOTOKO book. Namespaced; no fonts, images, scripts or data fetched. */
.tkbook-section,.tkbook-reader{--tkbook-ink:#13272d;--tkbook-paper:#f1eddf;--tkbook-gold:#d4b985;--tkbook-blue:#8abfd8;--tkbook-serif:'Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;--tkbook-sans:'Noto Sans CJK JP','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-family:var(--tkbook-sans);font-weight:400;letter-spacing:normal;line-height:1.7}
.tkbook-section *,.tkbook-reader *{box-sizing:border-box}.tkbook-section a,.tkbook-reader a{color:inherit}.tkbook-section{position:relative;isolation:isolate;color:#f4f3e9;background:radial-gradient(ellipse at 74% 45%,#2a4b5970,transparent 45%),linear-gradient(135deg,#07151d,#111e25 58%,#07131d);border-block:1px solid #d4b98535;overflow:hidden;scroll-margin-top:100px}.tkbook-section:before{content:'';position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(115deg,transparent 0 85px,#c6dfdf05 86px 87px,transparent 88px 173px);pointer-events:none}.tkbook-section-inner{max-width:1280px;margin:0 auto;padding:100px 64px 84px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.tkbook-eyebrow{margin:0 0 32px;font-size:10px;letter-spacing:.19em;line-height:1.8;color:var(--tkbook-gold)}.tkbook-eyebrow span{display:block;margin-top:8px;letter-spacing:.12em;font-size:12px;color:#c4d3d7}.tkbook-intro h2{margin:0;font:400 clamp(42px,4.5vw,68px)/1.5 var(--tkbook-serif);letter-spacing:.04em;color:#f4f3e9}.tkbook-intro h2 span{color:var(--tkbook-gold)}.tkbook-section-lead{margin:28px 0 30px;font-size:15px;line-height:2.1;color:#d4e0e4}.tkbook-open-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 22px;min-height:56px;background:#eee7d5;border:1px solid #fff2c7;border-radius:3px;color:#122731!important;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 4px 0 #877951,0 16px 36px #0003;transition:background .2s,transform .2s}.tkbook-open-button:hover{background:#fff7df;transform:translateY(-2px)}.tkbook-open-button>span:last-child{font-size:21px}.tkbook-book-icon{font-size:22px}.tkbook-section-hint{margin:13px 0 0;font-size:12px;color:#b7cbd3}.tkbook-object-link{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:490px;perspective:1400px;color:#dce6e7;text-decoration:none}.tkbook-object{position:relative;display:block;width:280px;height:390px;transform-style:preserve-3d;transform:rotateX(12deg) rotateY(-21deg) rotateZ(6deg);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.tkbook-object-link:hover .tkbook-object{transform:rotateX(5deg) rotateY(-12deg) rotateZ(3deg)}.tkbook-object-cover{position:absolute;inset:0;display:flex;flex-direction:column;padding:26px 24px 26px 31px;transform:translateZ(13px);overflow:hidden;border:1px solid #b9c6b752;border-radius:3px 7px 7px 3px;background:linear-gradient(90deg,#071d25 0,#142c32 3%,#10292e 5%,#223d43 7%,#12313a 9%,#102931 75%,#071b23);box-shadow:inset 1px 0 0 #d3cf9d44,inset -2px 0 4px #010b11,0 1px 1px #e6d79a55;backface-visibility:hidden}.tkbook-object-cover:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.25;background:repeating-linear-gradient(0deg,transparent 0 2px,#a6b9ae1b 2px 3px),repeating-linear-gradient(90deg,transparent 0 2px,#02131944 2px 3px)}.tkbook-cover-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#dacb9f;z-index:1}.tkbook-cover-top>span{font-size:6px;letter-spacing:.1em;align-self:center}.tkbook-cover-title{margin-top:auto;margin-bottom:33px;font:400 31px/1.65 var(--tkbook-serif);letter-spacing:.09em;color:#f4e9c8;text-shadow:0 1px #000,0 -1px #e7d5a444;z-index:1}.tkbook-cover-bottom{font-size:6px;letter-spacing:.2em;border-top:1px solid #d4b98552;padding-top:12px;display:flex;justify-content:space-between;color:#d4c9a4;z-index:1}.tkbook-cover-bottom>span{font-size:7px;letter-spacing:.14em}.tkbook-object-pages{position:absolute;inset:6px 1px 3px 0;transform:translateZ(-1px);background:#d5cfb7;box-shadow:3px 2px 0 #e4dcc4,6px 4px 0 #a9a489,9px 6px 0 #e0d8bb,12px 8px 0 #b8b19d,14px 10px 0 #e9dfbf,17px 13px 0 #102b31,18px 14px 2px #647674;border-radius:3px 4px 6px 3px}.tkbook-object-pages:after{content:'';position:absolute;top:1%;right:-13px;width:16px;height:100%;transform:rotateY(72deg);transform-origin:left;background:repeating-linear-gradient(90deg,#ded8c2 0 1px,#9a977f 1px 2px);border-radius:0 3px 3px 0}.tkbook-object-spine{position:absolute;left:-10px;top:0;width:24px;height:100%;background:#061d25;border:1px solid #6d826a6b;color:#bcae7c;transform:rotateY(-90deg);transform-origin:right;writing-mode:vertical-rl;text-align:center;font-size:8px;letter-spacing:.22em;padding-top:30px}.tkbook-object-ground{position:absolute;left:12%;right:0;bottom:61px;height:60px;border-radius:50%;background:#0007;filter:blur(19px);transform:rotate(-9deg)}.tkbook-cover-orbit{position:absolute;left:55px;top:74px;width:183px;height:162px;border:1px solid #d0b16d80;border-radius:50%;transform:rotate(-30deg);box-shadow:inset 0 0 16px #89d2e224,0 0 0 10px #c2ad7410,0 0 0 11px #c5aa6744,0 0 0 20px #c2ad7409,0 0 0 21px #c5aa6728}.tkbook-cover-orbit:before{content:'';position:absolute;inset:17px -9px;border:1px solid #cfb471a6;border-radius:50%;transform:rotate(65deg)}.tkbook-cover-orbit>span{position:absolute;inset:34px;border-radius:50%;background:radial-gradient(circle at 31% 27%,#f7eccc,#a3c5ba 27%,#5f9596 43%,#2b565f 60%,#071b26 75%);box-shadow:8px 14px 30px #0009,inset -4px -4px 15px #10252e}.tkbook-object-caption{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:12px 0;margin:42px 0 0;width:280px;border-bottom:1px solid #ccb57e5c;font-size:11px;letter-spacing:.07em}.tkbook-object-caption>span{font-size:20px}.tkbook-readable{max-width:1152px;margin:0 auto;padding:0 0 30px;color:#bed0d6;font-size:13px}.tkbook-readable>summary{cursor:pointer;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}.tkbook-readable>div{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:24px 0}.tkbook-readable article{padding:20px;background:#102732;border:1px solid #9fb8c130}.tkbook-readable h3{margin:0 0 14px;color:#f6edcf;font-size:20px}.tkbook-readable p{font-size:15px;line-height:2;margin:13px 0}.tkbook-hero-entry{display:flex;align-items:center;gap:16px;padding:14px 20px;min-height:65px;border:1px solid #d9c292a8;border-radius:4px;background:linear-gradient(120deg,#143540,#0c242f);box-shadow:0 3px 0 #07151d,0 12px 24px #0003;color:#f4ead0!important;text-decoration:none;font-size:15px;font-weight:600;max-width:330px}.tkbook-hero-entry small{display:block;color:#c4d4db;font-size:11px;line-height:1.6;margin-top:3px;font-weight:400}.tkbook-hero-entry>span:last-child{margin-left:auto;font-size:22px}.tkbook-hero-bookmark{font-size:26px;color:#e4d2a6}.tkbook-hero-entry:hover{background:#234552}.tkbook-section :is(a,summary):focus-visible,.tkbook-hero-entry:focus-visible{outline:3px solid #edd29a;outline-offset:6px}
/* Full-screen reading room. The book itself is a true segmented 3D sheet. */
dialog.tkbook-reader{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;color:#e7e7df;background:radial-gradient(ellipse at 50% 42%,#344343,#14282f 44%,#05131d 86%);overflow:hidden;box-shadow:none;z-index:1000}dialog.tkbook-reader[open]{display:flex;flex-direction:column}dialog.tkbook-reader::backdrop{background:#031019f5;backdrop-filter:blur(10px)}.tkbook-reader button{font:inherit;letter-spacing:normal;cursor:pointer;touch-action:manipulation}.tkbook-reader-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 32px;border-bottom:1px solid #c2d9d521;background:#06192480}.tkbook-reader-brand{font-size:11px;letter-spacing:.16em;color:#e5d6b3;line-height:1.5}.tkbook-reader-brand span{display:block;font-size:10px;letter-spacing:.03em;color:#a9c0c5;margin-top:2px}.tkbook-toolbar{display:flex;gap:10px}.tkbook-toolbar button,.tkbook-close,.tkbook-motion{min-height:44px;padding:9px 15px;border:1px solid #c3d3d459;border-radius:3px;background:#29434b;color:#f6f2e5;font-size:13px}.tkbook-toolbar .tkbook-close{background:#eee8d9;color:#112a32;border-color:#e6dbc3}.tkbook-reader button:disabled{opacity:.42;cursor:default}.tkbook-reader button:focus-visible,.tkbook-reader a:focus-visible,.tkbook-page-content:focus-visible{outline:3px solid #bc9146;outline-offset:3px}.tkbook-reading-area{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 52px 28px;isolation:isolate}.tkbook-reading-area:after{content:'';position:absolute;z-index:-1;bottom:0;left:19%;right:15%;height:12%;background:#0009;filter:blur(24px);border-radius:50%}.tkbook-stage{--tkbook-page-w:420px;--tkbook-page-h:570px;position:relative;width:calc(2 * var(--tkbook-page-w));height:var(--tkbook-page-h);perspective:2400px;perspective-origin:50% 35%;isolation:isolate}.tkbook-book{position:relative;transform-style:preserve-3d;width:100%;height:100%;transform:rotateX(4deg);transition:transform .35s}.tkbook-binding{position:absolute;inset:-7px -9px -13px;background:linear-gradient(90deg,#0b272d,#1c4547 48%,#071b24 50%,#244b4d 52%,#0c2930);border:1px solid #738e7c;border-radius:5px 8px 10px 5px;box-shadow:0 19px 36px #0009,inset 0 0 0 2px #132d32}.tkbook-binding:after{content:'';position:absolute;inset:9px 4px 2px;border-radius:0 0 7px 5px;background:repeating-linear-gradient(0deg,#a8a38e 0 1px,#ede5cd 1px 2px,#b8b19a 2px 3px);box-shadow:0 2px 0 #172e35}.tkbook-flat{position:absolute;top:0;width:var(--tkbook-page-w);height:var(--tkbook-page-h);overflow:hidden;background:var(--tkbook-paper);color:var(--tkbook-ink)}.tkbook-flat-left{left:0;border-radius:3px 0 0 3px;box-shadow:inset -16px 0 28px -15px #0006}.tkbook-flat-right{left:50%;border-radius:0 3px 3px 0;box-shadow:inset 16px 0 28px -15px #0006}.tkbook-flat-left:after,.tkbook-flat-right:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2}.tkbook-flat-left:after{background:linear-gradient(90deg,#ffffff0d 80%,#41382708 94%,#181c2540)}.tkbook-flat-right:after{background:linear-gradient(90deg,#34251920,#ffffff00 9%,#ffffff00 98%,#39332110)}.tkbook-gutter{position:absolute;top:0;left:50%;width:2px;height:100%;background:#131f2c69;z-index:3;pointer-events:none;box-shadow:0 0 4px #0005}.tkbook-page{position:relative;height:var(--tkbook-page-h);width:var(--tkbook-page-w);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(125deg,#faf6e9,#eee8d7);color:#132b32}.tkbook-page:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#786d5605 3px 4px);z-index:0}.tkbook-page-content{position:relative;flex:1;min-height:0;padding:32px 36px 15px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#8e968c #dfdacb;scrollbar-width:thin;scroll-padding:18px}.tkbook-page-running{display:flex;align-items:center;justify-content:space-between;color:#586763;font-size:8px;letter-spacing:.13em;padding-bottom:13px;border-bottom:1px solid #253b3633}.tkbook-chapter-label{margin:25px 0 9px;font-size:9px;letter-spacing:.15em;color:#66674f}.tkbook-chapter-label span{font-size:20px;color:#927542;padding-right:9px}.tkbook-page h2{font:500 clamp(24px,2.5vw,34px)/1.65 var(--tkbook-serif);letter-spacing:.015em;color:#162b2c;margin:0 0 22px}.tkbook-page p{margin:15px 0;font-size:15px;line-height:2.03;color:#354542}.tkbook-page p.tkbook-page-lead{font-size:16px;line-height:1.95;font-weight:600;color:#263e3d}.tkbook-page-footer{position:relative;flex:none;display:flex;justify-content:space-between;margin:0 36px;padding:13px 0 15px;border-top:1px solid #263c3333;font-size:8px;letter-spacing:.09em;color:#64716c}.tkbook-page-footer span:last-child{color:#82714b}.tkbook-contents-title{margin:25px 0 5px!important}.tkbook-page .tkbook-contents-hint{font-size:12px;margin:0 0 20px;color:#5b6860}.tkbook-toc{display:flex;flex-direction:column;gap:0}.tkbook-toc button{width:100%;display:flex;align-items:center;gap:14px;min-height:53px;border:0;border-bottom:1px solid #283f3829;border-radius:0;padding:9px 0;background:transparent;color:#203936;text-align:left;font-size:14px}.tkbook-toc button:hover{background:#b7c7b238}.tkbook-toc button span:first-child{font-family:Georgia,serif;font-size:17px;color:#9a8055}.tkbook-toc button span:last-child{margin-left:auto;color:#5d736b}.tkbook-art-page{background:#14323a;color:#efe6ca}.tkbook-art-page .tkbook-page-running{color:#d7cfb3;border-color:#dfd5b740}.tkbook-art-page .tkbook-page-content{padding:32px 36px 0;overflow:hidden;display:flex;flex-direction:column}.tkbook-art-page .tkbook-page-footer{color:#b5c6c3;border-color:#b8c5b72e}.tkbook-art-page h2{color:#f3ebd4;font-size:clamp(24px,2.7vw,38px);font-weight:400;line-height:1.8;margin:auto 0 16px;text-shadow:0 2px 20px #0003}.tkbook-art-page .tkbook-art-kicker{margin:9px 0 27px;color:#d0bf8b;font-size:9px;letter-spacing:.17em}.tkbook-art-page .tkbook-art-number{position:absolute;bottom:-36px;right:18px;font:italic 180px/1 Georgia,serif;letter-spacing:-.1em;color:#e7e4bf0b;pointer-events:none}.tkbook-page-art{position:relative;flex:1;min-height:100px;margin:22px 0 3px;perspective:800px}.tkbook-page-art .tkbook-sculpture{position:absolute;width:150px;height:150px;border-radius:50%;left:calc(50% - 75px);top:calc(50% - 75px);background:radial-gradient(circle at 27% 22%,#e1e7d1,#98b8ad 22%,#397482 49%,#113944 67%,#051d28 78%);box-shadow:18px 24px 39px #00182499,inset -5px -9px 15px #061d26}.tkbook-page-art .tkbook-orbit-line{position:absolute;top:50%;left:50%;width:232px;height:232px;border:1px solid #d6bc7ba8;border-radius:50%;transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-24deg);box-shadow:0 0 0 7px #9cbcaa0a,0 0 0 8px #b6c9b137}.tkbook-page-art .tkbook-orbit-line:nth-child(2){width:206px;height:206px;transform:translate(-50%,-50%) rotateY(57deg) rotateZ(22deg);border-color:#d9cda49c}.tkbook-page-art .tkbook-orbit-line:nth-child(3){width:266px;height:266px;transform:translate(-50%,-50%) rotateY(-29deg) rotateX(24deg);border-color:#a2c4bf4d}.tkbook-art-page[data-art="2"]{background:radial-gradient(ellipse at 42% 37%,#37645c,#15362f 55%,#092b2e)}.tkbook-art-page[data-art="3"]{background:radial-gradient(ellipse at 42% 37%,#525345,#303b36 55%,#1b302e)}.tkbook-art-page[data-art="4"]{background:radial-gradient(ellipse at 42% 37%,#344e69,#153249 55%,#0e2935)}.tkbook-art-page[data-art="5"]{background:radial-gradient(ellipse at 42% 37%,#555353,#313945 55%,#182b36)}.tkbook-art-page[data-art="6"]{background:radial-gradient(ellipse at 42% 37%,#316367,#153c44 55%,#0a2835)}.tkbook-art-page[data-art="2"] .tkbook-sculpture{border-radius:50% 45% 50% 45%;transform:rotate(40deg);width:126px;height:166px;left:calc(50% - 63px)}.tkbook-art-page[data-art="3"] .tkbook-sculpture{background:radial-gradient(circle at 25% 20%,#ece7b9,#b6a975 28%,#776c4c 50%,#263630 76%)}.tkbook-art-page[data-art="4"] .tkbook-sculpture{box-shadow:22px 17px 0 -5px #416b7b,28px 23px 30px #0007;transform:rotateY(-27deg)}.tkbook-art-page[data-art="5"] .tkbook-orbit-line{border-color:#d4bda8;transform:translate(-50%,-50%) rotateX(22deg) rotateY(40deg)}.tkbook-art-page[data-art="6"] .tkbook-sculpture{background:radial-gradient(circle at 30% 20%,#f7eac7,#9fc9be 27%,#317d82 46%,#114251 71%)}.tkbook-contact-link{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:23px 0 10px;padding:13px 15px;min-height:48px;border:1px solid #183d3b;border-radius:3px;background:#173e40;color:#fff8e5!important;text-decoration:none;font-weight:600;font-size:14px}.tkbook-contact-link:hover{background:#2d5552}.tkbook-turn-overlay{position:absolute;left:50%;top:0;width:var(--tkbook-page-w);height:var(--tkbook-page-h);z-index:5;transform-style:preserve-3d;pointer-events:none}.tkbook-strip{position:absolute;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}.tkbook-strip-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(.35px);background:var(--tkbook-paper)}.tkbook-strip-back{transform:rotateY(180deg) translateZ(.35px)}.tkbook-strip-face>.tkbook-page{position:absolute;left:var(--tkbook-slice-x);top:0}.tkbook-strip-shade{position:absolute;inset:0;pointer-events:none;z-index:10;background:#031421;opacity:var(--tkbook-shade,0)}.tkbook-strip-light{position:absolute;inset:0;pointer-events:none;z-index:11;background:linear-gradient(90deg,#fff9dd38,transparent 65%,#0513212b);opacity:var(--tkbook-light,0)}.tkbook-turn-shadow{position:absolute;top:0;left:50%;width:50%;height:100%;z-index:4;pointer-events:none;transform-origin:left center;background:linear-gradient(90deg,#04192388,transparent);opacity:0}.tkbook-reader-footer{flex:none;display:grid;grid-template-columns:1fr minmax(120px,250px) 1fr;align-items:center;gap:25px;padding:19px 52px 21px;border-top:1px solid #c2d9d51c;background:#061720ba}.tkbook-nav-button{min-height:47px;display:flex;align-items:center;justify-content:center;gap:14px;width:max-content;min-width:155px;border:1px solid #aec6c052;border-radius:3px;padding:10px 21px;background:#1e3740;color:#f2ecdc;font-size:14px}.tkbook-nav-button[data-tkbook-next]{justify-self:end;background:#e8e0cb;border-color:#e9ddba;color:#183539}.tkbook-position{text-align:center}.tkbook-position-label{display:block;font-size:12px;letter-spacing:.07em;color:#d9dfd5;margin-bottom:8px}.tkbook-progress{height:2px;background:#b6cccb33;position:relative}.tkbook-progress>span{display:block;height:100%;width:0;background:#e0c692;transition:width .25s}.tkbook-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tkbook-page-scroll-hint{display:block;font-size:9px;color:#5e7068;letter-spacing:0}.tkbook-reader .tkbook-motion{background:transparent;color:#c9d6d2;font-size:11px;padding:8px 10px}.tkbook-reader .tkbook-motion[aria-pressed="true"]{border-color:#d3bd90;color:#f1e4c2}.tkbook-reader.tkbook-reduced .tkbook-book{transform:none}.tkbook-reader.tkbook-reduced .tkbook-progress>span{transition:none}.tkbook-reader[data-tkbook-turning="true"] .tkbook-page-content{overflow:hidden}
@media(max-width:1000px){.tkbook-section-inner{padding:70px 35px;gap:30px}.tkbook-object{width:250px;height:352px}.tkbook-cover-title{font-size:27px}.tkbook-cover-orbit{left:49px;top:70px;width:160px;height:143px}.tkbook-readable{padding-inline:35px}.tkbook-reader-header{padding:13px 22px}.tkbook-reading-area{padding:22px 30px}.tkbook-reader-footer{padding:15px 30px}.tkbook-page-content{padding:25px 27px 12px}.tkbook-page-footer{margin-inline:27px}.tkbook-art-page .tkbook-page-content{padding:25px 27px 0}.tkbook-page h2{font-size:27px}.tkbook-page p{font-size:14px}.tkbook-page p.tkbook-page-lead{font-size:15px}}
@media(max-width:700px){.tkbook-section-inner{grid-template-columns:1fr;padding:55px 24px 12px;gap:6px}.tkbook-eyebrow{margin-bottom:24px}.tkbook-intro h2{font-size:44px;line-height:1.5}.tkbook-section-lead{font-size:14px;margin:20px 0 25px}.tkbook-object-link{min-height:440px;padding-top:10px}.tkbook-object{width:235px;height:326px}.tkbook-object-cover{padding:23px 21px 21px 29px}.tkbook-cover-title{font-size:25px;margin-bottom:26px}.tkbook-cover-orbit{left:47px;top:70px;width:151px;height:127px}.tkbook-cover-top{font-size:9px}.tkbook-cover-top>span{font-size:5px}.tkbook-cover-bottom{font-size:5px}.tkbook-cover-bottom>span{font-size:6px}.tkbook-object-caption{margin-top:28px;width:250px}.tkbook-object-ground{bottom:44px;left:12%;right:0}.tkbook-readable{padding-inline:24px;padding-bottom:20px}.tkbook-readable>div{grid-template-columns:1fr;gap:16px}.tkbook-reader-header{padding:10px 13px;gap:7px;min-height:68px}.tkbook-reader-brand{font-size:9px;letter-spacing:.1em}.tkbook-reader-brand span{font-size:9px}.tkbook-toolbar{gap:6px}.tkbook-toolbar button{font-size:12px;padding:9px 11px;min-height:44px}.tkbook-reader .tkbook-motion{font-size:10px;max-width:72px;padding:5px 7px;line-height:1.45}.tkbook-reading-area{padding:14px 18px 20px;overflow:hidden}.tkbook-stage{width:var(--tkbook-page-w);perspective-origin:0% 30%;perspective:1300px}.tkbook-book{width:calc(var(--tkbook-page-w) * 2);transform:translateX(calc(-1 * var(--tkbook-page-w)))}.tkbook-reader.tkbook-reduced .tkbook-book{transform:translateX(calc(-1 * var(--tkbook-page-w)))}.tkbook-binding{inset:-5px -5px -10px}.tkbook-flat-left{visibility:hidden}.tkbook-page-content{padding:24px 24px 12px}.tkbook-page h2{font-size:27px;margin-bottom:21px}.tkbook-page p{font-size:15px;line-height:2.02;margin:16px 0}.tkbook-page p.tkbook-page-lead{font-size:16px}.tkbook-page-running{font-size:7px}.tkbook-page-footer{margin-inline:24px;padding-bottom:14px;padding-top:12px;font-size:8px}.tkbook-page-scroll-hint{font-size:9px}.tkbook-chapter-label{margin-top:22px}.tkbook-contents-title{font-size:31px!important;margin-top:26px!important}.tkbook-toc button{min-height:56px;font-size:14px;gap:14px}.tkbook-toc button span:first-child{font-size:16px}.tkbook-reader-footer{grid-template-columns:1fr 1fr;gap:11px;padding:12px 16px 15px;padding-bottom:max(15px,env(safe-area-inset-bottom));position:relative}.tkbook-position{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left}.tkbook-position-label{font-size:11px;margin:0;white-space:nowrap}.tkbook-progress{width:40%}.tkbook-nav-button{min-width:0;width:100%;min-height:48px;font-size:13px;padding:10px 9px;gap:10px}.tkbook-turn-overlay{z-index:6}}
@media(max-width:370px){.tkbook-reader-brand span{display:none}.tkbook-reader-header{padding-inline:9px}.tkbook-toolbar{gap:4px}.tkbook-toolbar button{font-size:11px;padding-inline:9px}.tkbook-page-content{padding-inline:19px}.tkbook-page-footer{margin-inline:19px}.tkbook-reading-area{padding-inline:13px}.tkbook-page h2{font-size:25px}.tkbook-page p{font-size:15px}.tkbook-toc button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.tkbook-object,.tkbook-open-button,.tkbook-book,.tkbook-progress>span{transition:none!important}.tkbook-object-link:hover .tkbook-object{transform:rotateX(12deg) rotateY(-21deg) rotateZ(6deg)}.tkbook-open-button:hover{transform:none}}
@media print{.tkbook-object-link,.tkbook-open-button,.tkbook-reader{display:none!important}.tkbook-section{background:white;color:black}.tkbook-readable{display:block;color:black}.tkbook-readable>div{display:block}.tkbook-readable article{break-inside:avoid;background:white;color:black}}
/* Short landscape windows keep 44px controls and a full-size scrollable page. */
@media(max-height:480px){
 .tkbook-reader-header{min-height:52px;padding:4px 14px;gap:10px}.tkbook-reader-brand{font-size:9px}.tkbook-reader-brand span{display:none}.tkbook-toolbar button,.tkbook-reader .tkbook-motion{min-height:44px;padding:6px 12px;max-width:none;font-size:11px}.tkbook-toolbar{gap:7px}
 .tkbook-reading-area{padding:8px 16px 10px;overflow:hidden}.tkbook-stage{width:var(--tkbook-page-w);perspective-origin:0% 30%;perspective:1300px}.tkbook-book,.tkbook-reader.tkbook-reduced .tkbook-book{width:calc(var(--tkbook-page-w) * 2);transform:translateX(calc(-1 * var(--tkbook-page-w)))}.tkbook-flat-left{visibility:hidden}.tkbook-binding{inset:-3px -4px -7px}
 .tkbook-reader-footer{display:flex;min-height:52px;padding:4px 14px;gap:12px}.tkbook-position{display:none}.tkbook-nav-button{width:50%;min-height:44px;min-width:0;padding:7px 12px;font-size:13px}.tkbook-page-content{padding:12px 22px}.tkbook-page-running,.tkbook-page-footer{display:none}.tkbook-chapter-label{margin:2px 0 5px}.tkbook-page h2{font-size:25px;margin:0 0 14px}.tkbook-page p,.tkbook-page p.tkbook-page-lead{font-size:15px;line-height:1.95}.tkbook-contents-title{margin-top:3px!important;font-size:26px!important}.tkbook-toc button{min-height:48px}
}
.tkbook-page-scroll-hint[hidden]{display:none}
/* Book v2: object-scale reading, continuous paper and a stationary cover hit target. */
.tkbook-reader{--tkbook-left-peek:0px}
.tkbook-reader .tkbook-reading-area{padding:34px 52px 44px}
.tkbook-stage{perspective:1200px;perspective-origin:50% 36%}
.tkbook-book,.tkbook-reader.tkbook-reduced .tkbook-book{transform:rotateX(8deg) rotateZ(-1deg);transition:none}
.tkbook-binding{inset:-11px -13px -22px;border-radius:5px 9px 12px 6px;border-color:#9ab09b;box-shadow:0 6px 0 #061e26,3px 13px 0 -5px #57716b,0 30px 32px #0008,inset 0 0 0 2px #17383d}
.tkbook-binding:after{inset:10px 4px 8px;border-radius:0 0 7px 5px;background:repeating-linear-gradient(0deg,#979680 0 1px,#eee6d1 1px 2px,#bfb9a3 2px 3px);box-shadow:0 2px 0 #03151d}
.tkbook-left-cover,.tkbook-reader-spine{display:none}
.tkbook-gutter{width:3px;background:#091d28a8;box-shadow:-3px 0 8px #0004,3px 0 10px #0003}
.tkbook-reader .tkbook-page p,.tkbook-reader .tkbook-page p.tkbook-page-lead{font-size:16px;line-height:1.95}
.tkbook-reader .tkbook-page .tkbook-contents-hint{font-size:12px;line-height:1.8}
.tkbook-reader .tkbook-art-page .tkbook-art-kicker{font-size:9px;line-height:1.7}
.tkbook-reader .tkbook-page h2{font-size:28px;line-height:1.65}
.tkbook-reader .tkbook-art-page h2{font-size:30px;line-height:1.8}
.tkbook-reader .tkbook-page-content{padding:25px 28px 13px}
.tkbook-reader .tkbook-art-page .tkbook-page-content{padding:25px 28px 0}
.tkbook-reader .tkbook-page-footer{margin-inline:28px}
.tkbook-reader-footer{width:min(940px,calc(100% - 64px));margin:0 auto 12px;padding:14px 0 12px;background:transparent;gap:22px}
.tkbook-turn-overlay{isolation:auto}
.tkbook-strip-light{background:#fff9df}
.tkbook-strip-shade{background:#07151d}
.tkbook-strip-face{transform:translateZ(.2px)}
.tkbook-strip-back{transform:rotateY(180deg) translateZ(.2px)}
@media(max-width:700px),(max-height:480px){
 .tkbook-reader .tkbook-reading-area{padding:28px 28px 38px;overflow:hidden}
 .tkbook-stage{width:calc(var(--tkbook-page-w) + var(--tkbook-left-peek));perspective:950px;perspective-origin:var(--tkbook-left-peek) 38%}
 .tkbook-book,.tkbook-reader.tkbook-reduced .tkbook-book{width:calc(var(--tkbook-page-w) * 2);transform:translateX(calc(-1 * var(--tkbook-page-w) + var(--tkbook-left-peek))) rotateX(6deg) rotateZ(-1deg)}
 .tkbook-flat-left{visibility:visible;transform:rotateY(var(--tkbook-left-angle));transform-origin:100% 50%;backface-visibility:hidden;pointer-events:none;box-shadow:inset -20px 0 24px -13px #000b}
 .tkbook-flat-left .tkbook-page-content{pointer-events:none}
 .tkbook-binding{left:calc(50% - 13px);top:-10px;right:-10px;bottom:-21px}
 .tkbook-left-cover{display:block;position:absolute;left:-9px;top:-10px;width:calc(var(--tkbook-page-w) + 9px);height:calc(100% + 25px);transform:rotateY(var(--tkbook-left-angle)) translateZ(-3px);transform-origin:100% 50%;border:1px solid #a0b291;border-radius:7px 0 0 8px;background:linear-gradient(90deg,#14363b,#294a49 91%,#081e29);box-shadow:0 5px 0 #061a22,-4px 2px 0 -1px #b1ad94}
 .tkbook-reader-spine{display:block;position:absolute;left:calc(50% - 11px);top:-9px;bottom:-20px;width:12px;background:linear-gradient(90deg,#061d24,#789488 48%,#0e2a32 72%);border-radius:3px 0 0 5px;box-shadow:-1px 0 3px #0008;pointer-events:none}
 .tkbook-reader-spine span{display:none}
 .tkbook-reader .tkbook-page-content{padding:21px 21px 12px}.tkbook-reader .tkbook-page-footer{margin-inline:21px;font-size:8px;padding-top:10px;padding-bottom:12px}
 .tkbook-reader .tkbook-page h2{font-size:25px;line-height:1.65}.tkbook-reader .tkbook-page p,.tkbook-reader .tkbook-page p.tkbook-page-lead{font-size:16px;line-height:1.95}
 .tkbook-reader .tkbook-page-running{font-size:7px;letter-spacing:.05em}.tkbook-reader .tkbook-chapter-label{margin-top:19px;font-size:9px}.tkbook-reader .tkbook-toc button{min-height:53px;font-size:13px;gap:10px}.tkbook-reader .tkbook-toc button span:last-child{flex:none}
 .tkbook-reader .tkbook-art-page .tkbook-page-content{padding:21px 21px 0}.tkbook-reader .tkbook-art-page h2{font-size:25px}
 .tkbook-reader-footer{width:calc(100% - 42px);margin-bottom:12px;padding:10px 0 max(10px,env(safe-area-inset-bottom));gap:10px}
}
@media(max-width:370px){.tkbook-reader .tkbook-reading-area{padding-inline:22px}.tkbook-reader .tkbook-page-content{padding-inline:18px}.tkbook-reader .tkbook-page-footer{margin-inline:18px}.tkbook-reader .tkbook-page h2{font-size:24px}.tkbook-reader-footer{width:calc(100% - 32px)}}
@media(max-height:480px){
 .tkbook-reader .tkbook-reading-area{padding:14px 30px 20px}.tkbook-reader .tkbook-reader-footer{width:calc(100% - 36px);margin-bottom:4px;padding:4px 0;min-height:52px}.tkbook-reader .tkbook-page-content{padding:12px 20px}.tkbook-reader .tkbook-chapter-label{margin-top:2px}.tkbook-reader .tkbook-page h2{font-size:25px}.tkbook-reader .tkbook-page p,.tkbook-reader .tkbook-page p.tkbook-page-lead{font-size:16px}
}
/* All six faces remain opaque and face outward through the full revolution. */
.tkbook-object-link{touch-action:manipulation}
.tkbook-object,.tkbook-object-link:hover .tkbook-object{transform:rotateX(12deg) rotateZ(7deg) rotateY(-12deg);transition:none;animation:tkbook-cover-revolve 24s cubic-bezier(.42,0,.42,1) infinite;animation-play-state:paused;will-change:transform}
.tkbook-section[data-tkbook-cover-motion="running"] .tkbook-object{animation-play-state:running}
.tkbook-object-link:is(:hover,:focus-within) .tkbook-object{animation-play-state:paused!important}
.tkbook-object-pages{display:none}
.tkbook-object-cover{transform:translateZ(13px);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.tkbook-object-back{position:absolute;inset:0;transform:rotateY(180deg) translateZ(13px);backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #99aa8d75;border-radius:7px 3px 3px 7px;background:repeating-linear-gradient(0deg,transparent 0 2px,#83988b12 2px 3px),linear-gradient(115deg,#0d2932,#244143 57%,#0b2530);box-shadow:inset 0 0 0 7px #d5c48a08,inset 0 0 0 8px #b3aa7952}
.tkbook-object-back>span{position:absolute;left:25px;right:25px;bottom:36px;text-align:center;font:12px/1.8 var(--tkbook-sans);letter-spacing:.2em;color:#d3c69b;border-top:1px solid #c3b77f60;padding-top:20px}.tkbook-object-back small{display:block;font-size:6px;letter-spacing:.16em}
.tkbook-object-spine{left:0;top:0;width:26px;height:100%;transform:translateZ(-13px) rotateY(-90deg);transform-origin:0 50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 0 0 3px #38514b;font-size:8px}
.tkbook-object-foreedge,.tkbook-object-topedge,.tkbook-object-bottomedge{display:block;position:absolute;background:repeating-linear-gradient(90deg,#c9c4ad 0 1px,#eee8d2 1px 2px,#a49e89 2px 3px);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.tkbook-object-foreedge{left:100%;top:5px;width:26px;height:calc(100% - 10px);transform:translateZ(13px) rotateY(90deg);transform-origin:0 50%;border-block:1px solid #a4a18b}
.tkbook-object-topedge{top:0;left:5px;width:calc(100% - 10px);height:26px;transform:translateZ(-13px) rotateX(90deg);transform-origin:50% 0;background:repeating-linear-gradient(0deg,#c9c4ad 0 1px,#eee8d2 1px 2px,#a49e89 2px 3px)}
.tkbook-object-bottomedge{top:100%;left:5px;width:calc(100% - 10px);height:26px;transform:translateZ(13px) rotateX(-90deg);transform-origin:50% 0;background:repeating-linear-gradient(0deg,#c9c4ad 0 1px,#eee8d2 1px 2px,#a49e89 2px 3px)}
.tkbook-cover-toggle{display:inline-block;min-height:44px;margin:10px 0 0;padding:9px 0;border:0;background:transparent;color:#c5d7d8;font:12px/1.8 var(--tkbook-sans);text-decoration:underline;text-underline-offset:5px;cursor:pointer}.tkbook-cover-toggle:disabled{color:#aabfbe;cursor:default}.tkbook-cover-toggle:focus-visible{outline:3px solid #edd29a;outline-offset:5px}
@keyframes tkbook-cover-revolve{0%,14%{transform:rotateX(12deg) rotateZ(7deg) rotateY(-12deg)}86%,100%{transform:rotateX(12deg) rotateZ(7deg) rotateY(348deg)}}
.tkbook-section[data-tkbook-cover-motion="reduced"] .tkbook-object{animation:none;transform:rotateX(12deg) rotateZ(7deg) rotateY(-12deg)}
@media(prefers-reduced-motion:reduce){.tkbook-object,.tkbook-object-link:hover .tkbook-object{animation:none!important;transform:rotateX(12deg) rotateZ(7deg) rotateY(-12deg)}}

/* Book v3: stable first paint, rounded leaf and opaque, separated faces. */
dialog.tkbook-reader::backdrop{background:#031019;backdrop-filter:none}
.tkbook-reader .tkbook-page-content{scrollbar-gutter:stable}
.tkbook-reader[data-tkbook-turning="true"] .tkbook-page-content{overflow-y:auto;pointer-events:none}
.tkbook-strip-face{transform:translateZ(.3px);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.tkbook-strip-back{transform:rotateY(180deg) translateZ(.3px)}
.tkbook-strip-face .tkbook-page-content{scrollbar-color:transparent transparent}
.tkbook-strip-face .tkbook-page{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.tkbook-turn-overlay{transform:translateZ(2px)}
.tkbook-reader[data-tkbook-turning="true"] .tkbook-flat-left,
.tkbook-reader[data-tkbook-turning="true"] .tkbook-flat-right{pointer-events:none}
/* Flatten each opaque leaf slice before its 3D bend. The selected reverse
   print is mirrored in 2D, avoiding nested coplanar front/back GPU surfaces. */
.tkbook-strip{transform-style:flat}
.tkbook-strip-face{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}
.tkbook-strip-back{transform:scaleX(-1)}
.tkbook-strip-face .tkbook-page{backface-visibility:visible;-webkit-backface-visibility:visible}
.tkbook-strip-face .tkbook-page:before{display:none}
