:root{--bg:#F7F0D8;--deep:#EDE3BE;--paper:#FFFFFF;--soft:#F0E6C4;--ink:#3A2E10;--body:#4A3C18;--muted:#7A6A32;--faint:#9A8850;--bean:#E0B83A;--bright:#F0D060;--bean-dark:#B89220;--leaf:#6A8A3A;--cream:#FFF8E8;--rule:rgba(224,184,58,.22);--shadow:0 12px 28px rgba(58,46,16,.08);--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}html,body{margin:0;min-width:0;width:100%;max-width:100%;}body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;background:var(--bg);color:var(--body);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body.panel-open,html.panel-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--leaf);outline-offset:3px}::selection{background:#edd074;color:var(--ink)}img{display:block;max-width:100%;height:auto}p{margin:0 0 1em}h1,h2,h3,h4{margin:0;line-height:1.35;color:var(--ink)}h1{font-size:24px;font-weight:800;letter-spacing:.015em}h2{font-size:20px;font-weight:800}h3{font-size:16px;font-weight:750}small{font-size:13px}.site-container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.header-inner{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:15px;z-index:400;padding:10px 16px;border-radius:8px;background:var(--cream);color:var(--ink)}.skip-link:focus{top:15px}
/* Head and ribbon backgrounds are independent of content container width. */
.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:45;background:#fff;isolation:isolate;box-shadow:0 7px 24px rgba(61,43,10,.06)}.bean-line{height:22px;background:var(--ink);color:var(--cream);font-size:12px;line-height:22px;white-space:nowrap}.bean-line-inner{height:22px;display:flex;justify-content:space-between;align-items:center;gap:10px}.bean-line-inner>span{overflow:hidden;text-overflow:ellipsis;font-weight:600;letter-spacing:.03em}.head-search{align-self:center;display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 10px;margin:0 -5px 0 0;position:relative;border:0;background:transparent;color:#fff;font-size:12px;flex:0 0 auto}.head-search:hover{color:var(--bright)}.search-symbol{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-radius:50%;position:relative;flex-shrink:0}.search-symbol:after{content:"";position:absolute;right:-5px;bottom:-3px;width:6px;height:2px;border-radius:1px;background:currentColor;transform:rotate(44deg)}.pod-bar{height:60px;background:#fff;border-bottom:1px solid var(--rule)}.pod-bar-inner{height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px}.brand-link{justify-self:start;display:flex;align-items:center;min-width:0;min-height:44px;white-space:nowrap}.brand-image{display:block;width:auto;max-width:min(200px,100%);height:28px;object-fit:contain;object-position:left center}.brand-text{font-weight:900;letter-spacing:.035em;color:var(--ink);font-size:16px}.directory-button{border:1px solid rgba(184,146,32,.43);background:var(--cream);color:var(--ink);border-radius:10px;padding:0 19px;display:flex;align-items:center;gap:9px;min-width:98px;height:44px;justify-content:center;font-weight:750;font-size:14px}.directory-button:hover,.directory-button[aria-expanded=true]{border-color:var(--bean-dark);background:var(--bright)}.pod-glyph{display:grid;grid-template-columns:repeat(3,5px);gap:3px}.pod-glyph i{height:12px;width:5px;background:var(--bean-dark);border-radius:9px;transform:rotate(-16deg)}.header-app{justify-self:end;display:flex;justify-content:center;align-items:center;padding:0 15px;min-height:44px;border-radius:10px;background:linear-gradient(135deg,#F0D060 0%,#E0B83A 55%,#B89220 100%);font-size:14px;font-weight:800;white-space:nowrap;color:var(--ink)}.header-app span{margin-left:5px}.header-app:hover{filter:brightness(1.06);transform:translateY(-1px)}.tagline-nav{height:40px;background:var(--cream);border-bottom:1px solid rgba(184,146,32,.25)}.tagline-nav-inner{height:100%;display:flex;justify-content:center;align-items:center;gap:12px}.tagline-nav a{height:30px;min-width:78px;padding:0 18px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:13px;font-weight:700;color:var(--body)}.tagline-nav a:hover{background:#f2e4b5}.tagline-nav a.active{background:var(--bean);color:var(--ink)}.site-main{padding:138px 0 0;min-height:60vh}
/* Media slots are functioning visual areas even before the publisher supplies local files. */
.media-slot{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#fffefa 0%,#faedc2 65%,#f2df9e 100%);border:1px solid var(--rule);border-radius:12px;isolation:isolate;min-height:160px}.media-slot:before{content:"";pointer-events:none;position:absolute;width:320px;height:320px;border:1px solid rgba(184,146,32,.20);border-radius:50%;right:-145px;top:-155px}.media-slot:after{content:"";pointer-events:none;position:absolute;width:180px;height:180px;border:1px solid rgba(184,146,32,.16);border-radius:50%;left:-120px;bottom:-120px}.media-slot img{position:relative;z-index:3;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;background:#fffdfa}.slot-mark{position:absolute;width:170px;height:110px;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);opacity:.8;pointer-events:none}.slot-pod{display:block;position:absolute;top:21px;left:17px;width:140px;height:68px;border:3px solid rgba(165,125,25,.23);border-radius:100% 12% 90% 15%/80% 20% 90% 30%;background:linear-gradient(150deg,rgba(240,208,96,.30),rgba(106,138,58,.08));transform:rotate(-10deg)}.slot-pod:before,.slot-pod:after{content:"";position:absolute;background:rgba(224,184,58,.40);border-radius:50%;width:34px;height:25px;top:20px;left:28px}.slot-pod:after{left:78px}.slot-leaf{position:absolute;width:58px;height:29px;background:rgba(106,138,58,.24);border-radius:100% 3% 100% 3%;left:110px;top:7px;transform:rotate(-8deg)}.slot-caption{position:absolute;bottom:12px;left:18px;color:#8c732d;font-size:13px;font-weight:800;letter-spacing:.08em;pointer-events:none}.media-slot:has(img):before,.media-slot:has(img):after{display:none}.hero-image{height:260px;border-radius:12px}.hero-image .slot-mark{transform:translate(-50%,-50%) rotate(-10deg) scale(1.6)}.hero-image .slot-caption{font-size:18px;letter-spacing:.14em;bottom:18px;left:22px}.card-image{height:180px}.section-image{height:200px}.page-image{height:220px}.app-image{height:340px}.app-icon-image{height:48px;width:48px;min-height:48px;border-radius:11px;flex:0 0 auto}.app-icon-image .slot-mark{display:none}.app-icon-image .slot-caption{font-size:10px;letter-spacing:0;bottom:15px;left:4px;right:4px;text-align:center}.app-icon-image:before,.app-icon-image:after{display:none}.media-slot.dark-slot{background:linear-gradient(130deg,#53441d,#352c16);border-color:rgba(255,248,232,.2)}.dark-slot .slot-caption{color:#f3e5bb}.dark-slot .slot-pod{border-color:rgba(255,223,116,.3)}.dark-slot .slot-leaf{background:rgba(194,216,134,.25)}
/* Shared editorial vocabulary */
.eyebrow{font-size:12px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:#8e7029}.section{margin-top:35px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.section-head h2{position:relative;padding-left:14px}.section-head h2:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;background:var(--bean);border-radius:3px}.section-head>a,.text-link{font-size:14px;font-weight:800;color:#735817;text-decoration:underline;text-decoration-color:rgba(184,146,32,.4);text-underline-offset:4px}.section-head>a:hover,.text-link:hover{color:var(--leaf);text-decoration-color:currentColor}.section-desc{max-width:830px;line-height:1.75;margin-bottom:16px}.card{background:var(--paper);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow)}.card-body{padding:19px}.card-body h3{margin:0 0 8px}.card-body p{margin:0 0 11px}.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:11px}.btn{min-height:44px;padding:9px 20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:850;white-space:nowrap;line-height:1.4;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#F0D060 0%,#E0B83A 55%,#B89220 100%);color:var(--ink);box-shadow:0 6px 15px rgba(184,146,32,.14)}.btn-secondary{background:#fff;border:1px solid #d7b653;color:var(--ink)}.btn-dark{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}.pill-label{display:inline-flex;align-items:center;padding:3px 9px;background:#f8eecb;border-radius:5px;font-size:12px;color:#725919;font-weight:800}.note{font-size:13px;color:var(--muted)}.number{font-size:32px;line-height:1;color:#ac851d;font-weight:850;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.editorial-rule{height:1px;background:var(--rule);margin:23px 0}.section-paper{padding:24px;border-radius:12px;background:var(--paper);border:1px solid var(--rule)}.section-paper h2{margin-bottom:12px}.section-paper p{margin-bottom:0}
/* Homepage is sequenced as a layered bean-paper editorial journal. */
.home-hero{padding-top:9px}.hero-intro{background:var(--paper);border:1px solid var(--rule);margin-top:10px;border-radius:12px;padding:25px 29px;display:grid;grid-template-columns:1fr auto;gap:20px 28px;align-items:end;box-shadow:var(--shadow)}.hero-intro .eyebrow{margin:0 0 8px}.hero-intro h1{font-size:24px;margin-bottom:11px}.hero-intro p:not(.eyebrow){max-width:740px;margin:0;color:var(--body);line-height:1.8}.hero-intro .btn-row{align-self:end;justify-content:flex-end}.intro-marker{display:flex;gap:6px;margin-top:16px}.intro-marker span{height:4px;width:36px;border-radius:3px;background:var(--bean)}.intro-marker span:nth-child(2){width:15px;background:var(--leaf)}.intro-marker span:nth-child(3){width:8px;background:var(--deep)}
.three-feature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-card{overflow:hidden}.feature-card .media-slot{border:0;border-radius:0;border-bottom:1px solid var(--rule)}.feature-card .card-body{padding:18px 19px 21px}.feature-card .card-body p{min-height:104px}.feature-card .text-link{display:inline-flex;padding:5px 0}.feature-card:nth-child(2){margin-top:16px}.feature-card:nth-child(3){margin-top:32px}
.doukan-feature{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:20px;background:var(--cream);padding:20px;border:1px solid var(--rule);border-radius:12px}.doukan-feature .section-image{height:100%;min-height:290px}.doukan-copy{padding:5px 4px}.doukan-copy>p{line-height:1.8}.number-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.number-links a{min-height:48px;background:#fff;border:1px solid var(--rule);border-radius:8px;display:flex;align-items:center;gap:9px;padding:8px 12px;color:var(--ink);font-weight:750}.number-links b{color:#b18b26;font-size:18px}.number-links a:hover{border-color:var(--bean-dark);background:#fff9e5}
.shelf-stack{background:var(--ink);border-radius:12px;padding:22px;position:relative;overflow:hidden}.shelf-stack:before{content:"";position:absolute;top:0;right:0;height:190px;width:190px;border-radius:0 0 0 100%;background:rgba(255,240,196,.04);pointer-events:none}.shelf-stack .section-image{height:170px;margin-bottom:16px;background:linear-gradient(145deg,#fbf5e5,#dcc57d)}.shelf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.shelf-grid a{min-height:115px;padding:17px 11px;background:#4f401f;border:1px solid rgba(244,220,149,.25);border-radius:9px;color:#fff3d0;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.shelf-grid a:hover{background:#62512c;transform:translateY(-2px)}.shelf-grid b{font-size:17px}.shelf-grid span{color:#e9d7a7;font-size:12px;line-height:1.5}.shelf-grid i{font-style:normal;color:#f0d060;font-size:17px}
.ranking-wrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:15px}.ranking-wrap .section-image{height:100%;min-height:330px}.rank-list{margin:0;padding:0;list-style:none;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff}.rank-list li+li{border-top:1px solid var(--rule)}.rank-list a{display:grid;grid-template-columns:45px 120px 1fr 20px;align-items:center;gap:8px;min-height:70px;padding:10px 15px}.rank-list a:hover{background:#fff9e6}.rank-list strong{font-size:16px;color:var(--ink)}.rank-list p{margin:0;font-size:14px}.rank-list .number{font-size:28px}.rank-list .arr{color:var(--leaf)}
.timeline-wrap{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.mini-timeline{border-left:2px solid #d8bf6a;margin:5px 0 5px 15px;padding-left:23px}.mini-timeline li{position:relative;margin:0 0 21px;list-style:none}.mini-timeline li:before{content:"";position:absolute;top:7px;left:-31px;background:var(--bean);border:3px solid var(--bg);width:13px;height:13px;border-radius:100%}.mini-timeline li strong{display:inline-block;color:var(--ink);margin-right:10px}.mini-timeline p{font-size:14px;line-height:1.75;margin:7px 0 0}.timeline-wrap .section-image{height:100%;min-height:250px}
.memo-band{display:grid;grid-template-columns:280px 1fr;gap:18px;background:#fff;padding:18px;border:1px solid var(--rule);border-radius:12px}.memo-band .section-image{height:210px}.memo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.memo-list article{background:#faf5e7;padding:14px;border-left:3px solid var(--bean);border-radius:4px}.memo-list h3{margin-bottom:7px}.memo-list p{margin:0;font-size:14px}
.quick-reading{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quick-reading article{padding:22px;background:var(--paper);border:1px solid var(--rule);border-radius:12px}.quick-reading article:nth-child(2){background:#f3e8c7}.quick-reading p{margin:11px 0 13px}
.app-block{display:grid;grid-template-columns:minmax(0,1.4fr) 290px;gap:28px;padding:26px;background:#fff;border:1px solid var(--rule);border-radius:12px}.app-block h2{margin-bottom:13px}.app-block p{line-height:1.9}.app-sig{display:flex;align-items:center;gap:13px;margin:18px 0}.app-sig div:last-child{display:flex;flex-direction:column}.app-sig strong{font-size:16px;color:var(--ink)}.app-sig small{color:var(--muted)}.app-block .app-image{max-height:350px}
.home-tail{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-tail article{padding:23px;border:1px solid var(--rule);background:#fff;border-radius:12px}.home-tail article:first-child{background:var(--ink);color:var(--cream)}.home-tail article:first-child h2{color:#fff3d0}.home-tail article:first-child a{color:#fae3a7}.home-tail p{margin:10px 0}.home-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-faq details{padding:14px 17px;background:#fff;border:1px solid var(--rule);border-radius:10px}.home-faq summary{cursor:pointer;font-weight:800;color:var(--ink);font-size:15px}.home-faq details p{margin:12px 0 0;color:var(--body);font-size:14px}.brand-manifesto{padding:27px;background:linear-gradient(135deg,#fff9e8,#e9d7a3);border-radius:12px;border:1px solid var(--rule)}.brand-manifesto p{max-width:920px;margin:13px 0}.brand-manifesto a{display:inline-block;margin-top:8px}
/* Interior page composition variants */
.page-head{margin-top:7px;padding:25px 27px;background:#fff;border:1px solid var(--rule);border-radius:12px;position:relative;overflow:hidden}.page-head:before{content:"";position:absolute;right:0;top:0;height:100%;width:5px;background:linear-gradient(var(--bright),var(--bean-dark))}.page-head .eyebrow{margin-bottom:10px}.page-head p{font-size:15px;margin:14px 0 0;max-width:900px;line-height:1.85}.page-image-wrap{margin-top:15px}.page-articles{margin:24px 0 0}.page-articles article{min-width:0}.page-articles h2{margin-bottom:12px}.page-articles p{margin:0;line-height:1.86}.page-articles .entry-no{display:inline-block;color:#ad8526;letter-spacing:-.06em;font-weight:900;font-size:26px;line-height:1}.page-articles .entry-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.page-articles .entry-head h2{margin:0}.layout-ledger article{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;border-top:1px solid rgba(184,146,32,.3);padding:20px 10px}.layout-ledger article:nth-child(odd){background:rgba(255,255,255,.46)}.layout-ledger .entry-head{align-self:start;flex-direction:column;align-items:start;gap:9px}.layout-ledger article p{padding-right:10px}.layout-tiles,.layout-shelfgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.layout-tiles article,.layout-shelfgrid article{padding:22px;background:#fff;border:1px solid var(--rule);border-radius:12px;min-height:185px}.layout-tiles article:nth-child(3n),.layout-shelfgrid article:nth-child(3n){background:#f2e7c4}.layout-tiles article .entry-head,.layout-shelfgrid article .entry-head{gap:10px}.layout-scenes article{margin-bottom:12px;padding:21px 24px;border:1px solid var(--rule);background:#fff;border-radius:10px}.layout-scenes article:nth-child(even){margin-left:9%;background:#42381e;border-color:#564b32;color:#fdf2dc}.layout-scenes article:nth-child(even) h2,.layout-scenes article:nth-child(even) .entry-no{color:#ffe2a0}.layout-notebook{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.layout-notebook article{padding:23px;background:#fffef8;border:1px dashed #ceb258;border-radius:5px;box-shadow:4px 4px 0 #ebe0bd}.layout-notebook article:nth-child(2n){transform:translateY(7px)}.layout-ranking article{display:grid;grid-template-columns:100px 180px minmax(0,1fr);gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid rgba(184,146,32,.3)}.layout-ranking .entry-head{display:contents}.layout-ranking .entry-no{font-size:46px!important}.layout-ranking h2{margin-top:8px!important}.layout-timeline{border-left:2px solid #c9a53f;margin-left:19px;padding:0 0 0 25px}.layout-timeline article{position:relative;padding:7px 15px 21px}.layout-timeline article:before{position:absolute;content:"";left:-34px;top:11px;width:14px;height:14px;border:3px solid var(--bg);background:var(--bean);border-radius:50%}.layout-memo,.layout-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.layout-memo article{padding:22px;background:repeating-linear-gradient(0deg,#fffdf5 0,#fffdf5 35px,#eee1b9 36px);border-left:6px solid var(--bean);border-radius:6px}.layout-guide article{padding:22px 0;border-bottom:1px solid var(--rule)}.layout-guide article:nth-child(odd){padding-left:25px;border-left:4px solid #d8b23b}.layout-shelf,.layout-terms{display:grid;gap:13px}.layout-shelf article{background:#fff;padding:20px 24px;border-left:7px solid #d1aa3b;border-radius:7px}.layout-shelf article:nth-child(even){border-left-color:var(--leaf)}.layout-shelfgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-shelfgrid article{border-top:6px solid #b9973b}.layout-app article,.layout-terms article{padding:20px 25px;background:#fff;border:1px solid var(--rule);border-radius:10px}.layout-app{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.layout-terms article{border-left:3px solid #d1aa3b}.layout-terms article:nth-child(even){background:#fffaf0}.layout-steps article{padding:20px 23px;background:#fff;border:1px solid var(--rule);border-radius:12px}.layout-steps article .entry-no{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#f5e9bf;font-size:20px}.layout-manifesto article{padding:24px 5px;border-bottom:1px solid var(--rule)}.layout-manifesto article h2{font-size:21px}.page-related{margin-top:26px;padding:18px 20px;border:1px solid var(--rule);border-radius:12px;background:#fffbef}.page-related h2{font-size:16px;margin-bottom:12px}.page-related .related-links{display:flex;gap:10px;flex-wrap:wrap}.page-related a{min-height:44px;display:inline-flex;align-items:center;padding:6px 15px;background:#fff;border:1px solid #e4c86b;border-radius:8px;color:var(--ink);font-weight:750;font-size:14px}.page-related a:hover{background:var(--bright)}.service-hint{background:#f0e6c4;border-radius:10px;padding:15px 18px;color:var(--ink);margin:17px 0}.info-highlight{margin-top:16px;background:var(--ink);color:var(--cream);padding:20px 24px;border-radius:12px}.info-highlight strong{color:#f8db83}.info-highlight p{margin:7px 0 0}.page-app-feature{display:grid;grid-template-columns:1fr 270px;gap:18px;padding:18px;background:#fff;border:1px solid var(--rule);border-radius:12px}.page-app-feature .app-image{height:330px}.page-app-feature>div:first-child{display:flex;flex-direction:column;justify-content:center;gap:13px;padding:10px}.page-app-feature h2{font-size:21px}.page-app-feature p{margin:0}
.faq-intro{padding:24px 27px;border-radius:12px;background:#fff;border:1px solid var(--rule);margin-top:7px}.faq-intro h1{margin:9px 0 12px}.faq-list{margin:19px 0 0;display:grid;gap:10px}.faq-list details{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:16px 19px}.faq-list details[open]{border-color:#caac4f}.faq-list summary{font-size:16px;font-weight:800;color:var(--ink);cursor:pointer}.faq-list details p{margin:13px 0 0;border-top:1px solid var(--rule);padding-top:13px}.faq-list summary::marker{color:var(--bean-dark)}
/* Footer */
.site-footer{margin-top:55px;background:var(--ink);color:var(--cream);border-top:4px solid #bd9a36}.site-footer .site-container{padding:35px 0 30px}.footer-brand{display:flex;align-items:center;gap:12px;padding-bottom:23px;border-bottom:1px solid rgba(255,248,232,.18)}.footer-brand a{min-height:44px;display:flex;align-items:center}.footer-brand .brand-text{color:var(--cream)}.footer-brand strong{display:block;font-size:16px;color:#fff9e8;line-height:1.4}.footer-brand small{display:block;color:#e4d2a3;font-size:12px;letter-spacing:.08em}.footer-emblem{margin-left:auto;color:#9a824b;font-size:28px}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:26px 0;border-bottom:1px solid rgba(255,248,232,.17)}.footer-column h2{font-size:14px;color:#f4d477;margin-bottom:10px}.footer-column a{font-size:13px;display:block;min-height:29px;padding:3px 0;color:#f7f0d8}.footer-column a:hover{color:#f0d060;text-decoration:underline}.footer-rights{font-size:13px;line-height:1.85;color:#efe2be;max-width:900px;margin:19px 0}.footer-bottom{border-top:1px solid rgba(255,248,232,.14);padding-top:14px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#e8d9b1;font-size:12px}.footer-bottom span:last-child{display:flex;gap:15px}.footer-bottom a:hover{color:#fff}
/* Drawer / search: closed elements never intercept input. */
.ui-backdrop{position:fixed;inset:0;background:rgba(39,31,12,.56);z-index:60;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.ui-backdrop.is-on{opacity:1;visibility:visible;pointer-events:auto}.directory-panel{position:fixed;inset:0 auto 0 0;width:min(400px,86vw);height:100dvh;max-height:100dvh;background:#fff9e9;z-index:70;transform:translateX(-103%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s;display:flex;flex-direction:column;box-shadow:18px 0 50px rgba(21,18,5,.22)}.directory-panel.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}.directory-head{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid var(--rule);padding:15px 15px 14px;background:#fff}.directory-brand{display:flex;align-items:center;gap:12px;min-width:0;min-height:44px}.directory-brand .brand-text + strong{display:none}.directory-brand strong{color:var(--ink);font-size:14px;white-space:nowrap}.directory-brand .brand-text{font-size:15px}.panel-close{display:flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:0 12px;background:#fff;border:1px solid #d7bc60;border-radius:8px;color:var(--ink);font-weight:750;white-space:nowrap;font-size:13px;flex:0 0 auto}.panel-close:hover{background:var(--bright)}.directory-scroll{overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 30px}.directory-intro{margin:0 0 16px;color:#695830;font-size:14px}.directory-section{border-top:1px solid var(--rule);padding-top:15px;margin-top:13px}.directory-section h2{font-size:15px;color:#a17a25;margin-bottom:10px}.directory-items{display:grid;gap:7px}.directory-items a{position:relative;display:grid;grid-template-columns:1fr 25px;gap:2px 8px;min-height:58px;padding:9px 10px 9px 12px;background:#fff;border-radius:8px;border:1px solid var(--rule)}.directory-items a:hover{background:#fff3cc;border-color:#cfaf49}.directory-items strong{color:var(--ink);font-size:14px;grid-column:1}.directory-items span{font-size:12px;line-height:1.5;color:#765f2d;grid-column:1}.directory-items i{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#a08232;font-style:normal}.search-panel{position:fixed;z-index:72;top:82px;left:50%;transform:translate(-50%,-12px);width:min(620px,calc(100% - 32px));padding:22px;border:1px solid var(--rule);border-radius:0 0 13px 13px;background:#fffaf0;color:var(--ink);box-shadow:0 22px 45px rgba(36,29,9,.20);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s}.search-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0)}.search-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.search-panel h2{font-size:19px}.search-panel label{display:block;font-weight:750;font-size:14px;margin-bottom:9px}.search-field{display:flex;gap:11px;align-items:center;background:#fff;border:1px solid #ccb157;border-radius:10px;padding:0 15px;min-height:48px}.search-field .search-symbol{color:#81651d}.search-field input{flex:1;width:100%;background:transparent;border:0;outline:0;font-size:15px;min-height:46px;color:var(--ink)}.search-hint{font-size:12px;color:var(--muted);margin:10px 0 16px}.search-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.search-links a{display:flex;justify-content:space-between;align-items:center;min-height:46px;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:10px 12px;font-weight:750;color:var(--ink)}.search-links a:hover{background:#f2e5b4}.search-links a[hidden]{display:none}.search-links span{color:#a27e23}.search-empty{margin:17px 0 0;font-size:14px;color:var(--muted)}.search-empty[hidden]{display:none}
.mobile-bottom{display:none}
@media(max-width:950px){.ranking-wrap{grid-template-columns:235px 1fr}.rank-list a{grid-template-columns:38px 92px 1fr 14px;padding:10px}.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-app-feature{grid-template-columns:1fr 220px}}
@media(max-width:760px){html{scroll-padding-top:100px}.site-main{padding-top:96px}.tagline-nav{display:none}.hero-intro{grid-template-columns:1fr;padding:20px}.hero-intro .btn-row{justify-content:flex-start}.section{margin-top:29px}.three-feature{grid-template-columns:1fr}.feature-card:nth-child(2),.feature-card:nth-child(3){margin-top:0}.feature-card{display:grid;grid-template-columns:40% 60%}.feature-card .card-image{height:100%;min-height:218px;border-bottom:0;border-right:1px solid var(--rule)}.feature-card .card-body p{min-height:0}.doukan-feature,.ranking-wrap,.timeline-wrap,.memo-band,.app-block{grid-template-columns:1fr}.doukan-feature .section-image{min-height:0;height:200px}.ranking-wrap .section-image{height:180px;min-height:0}.timeline-wrap .section-image{height:170px;min-height:0}.memo-band .section-image{height:190px}.app-block .app-image{height:310px;width:min(270px,100%);margin:auto}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-ledger article{grid-template-columns:100px 1fr}.layout-ranking article{grid-template-columns:75px 150px 1fr}.layout-shelfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-app-feature{grid-template-columns:1fr 200px}}
@media(max-width:560px){.site-container,.header-inner{width:calc(100% - 32px)}.pod-bar-inner{gap:5px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.brand-text{font-size:16px}.brand-image{max-width:135px;height:28px}.directory-button{min-width:76px;padding:0 10px;gap:6px}.header-app{padding:0 9px;font-size:13px}.header-app span{display:none}.bean-line{font-size:11px}.bean-line-inner>span{max-width:calc(100% - 68px)}.site-main{padding-top:94px}.hero-image{height:260px}.hero-intro{margin-top:9px;padding:18px}.hero-intro h1{font-size:24px}.hero-intro p:not(.eyebrow){font-size:15px}.section-head{align-items:start}.section-head h2{font-size:20px}.section-head>a{font-size:13px;white-space:nowrap}.feature-card{display:block}.feature-card .card-image{height:180px;min-height:0;border-right:0;border-bottom:1px solid var(--rule)}.card-body{padding:16px}.feature-card .card-body{padding:15px 17px}.doukan-feature{padding:12px;gap:13px}.number-links{grid-template-columns:1fr 1fr;gap:7px}.number-links a{padding:8px 7px;gap:5px;font-size:13px}.number-links b{font-size:15px}.shelf-stack{padding:13px}.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shelf-grid a{min-height:90px}.rank-list a{grid-template-columns:37px 93px minmax(0,1fr);gap:7px}.rank-list .arr{display:none}.rank-list p{font-size:12px;line-height:1.5}.rank-list strong{font-size:14px}.rank-list .number{font-size:25px}.mini-timeline{margin-left:10px}.memo-list{grid-template-columns:1fr}.quick-reading,.home-tail,.home-faq{grid-template-columns:1fr}.app-block{padding:17px}.page-head{padding:20px 19px}.page-image{height:190px}.page-articles{margin-top:17px}.layout-ledger article{grid-template-columns:1fr;gap:8px;padding:18px 13px}.layout-ledger .entry-head{flex-direction:row;align-items:center;gap:12px}.layout-tiles,.layout-shelfgrid,.layout-notebook,.layout-memo,.layout-steps,.layout-app{grid-template-columns:1fr}.layout-tiles article,.layout-shelfgrid article{min-height:0}.layout-scenes article:nth-child(even){margin-left:4%}.layout-ranking article{grid-template-columns:56px 1fr;gap:8px}.layout-ranking .entry-head{display:flex;gap:8px}.layout-ranking .entry-no{font-size:30px!important}.layout-ranking h2{margin-top:2px!important}.layout-ranking p{grid-column:1/-1}.layout-notebook article:nth-child(2n){transform:none}.page-app-feature{grid-template-columns:1fr}.page-app-feature .app-image{height:285px;width:min(260px,100%);margin:auto}.site-footer{margin-top:38px;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.footer-columns{gap:12px}.footer-bottom{display:block}.footer-bottom span:last-child{margin-top:8px}.search-panel{top:0;left:0;width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;transform:translateY(-10px);border:0;border-radius:0;background:#3a2e10;color:var(--cream);padding:calc(28px + env(safe-area-inset-top,0px)) 18px 24px}.search-panel.is-open{transform:translateY(0)}.search-panel h2{color:#fff7df;font-size:19px}.search-panel label{color:#fff3d4}.search-hint,.search-empty{color:#eadba9}.search-panel .panel-close{background:#544322;color:#fff3d4;border-color:#a18845}.search-field{background:#fffaf0}.search-links{grid-template-columns:repeat(2,minmax(0,1fr))}.search-links a{color:var(--ink)}.mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;bottom:0;width:100%;height:calc(48px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);z-index:50;border-top:1px solid rgba(184,146,32,.3);background:#fffdf8;box-shadow:0 -6px 18px rgba(58,46,16,.07)}.mobile-bottom a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;font-size:12px;min-height:48px;white-space:nowrap;color:var(--ink)}.mobile-bottom .nav-icon{font-size:17px;line-height:1.1;color:#a0802c}.mobile-bottom a.active{background:var(--bean);color:var(--ink);font-weight:850}.mobile-bottom a.active .nav-icon{color:var(--ink)}.mobile-bottom a:hover{background:#efdc96}.directory-panel{width:min(400px,86vw)}.directory-head{padding:12px 11px}.directory-head .brand-image{max-width:100px}.directory-head .brand-text{font-size:13px}.directory-brand{gap:8px}.directory-brand strong{font-size:12px}.directory-scroll{padding:11px 12px 24px}}
@media(max-width:350px){.bean-line-inner>span{font-size:10px}.brand-text{font-size:14px}.header-app{font-size:12px;padding:0 8px}.directory-button{min-width:70px;font-size:13px}.hero-intro .btn{flex:1;padding:9px 7px}.shelf-grid a{padding:12px 8px}.rank-list a{grid-template-columns:30px 70px minmax(0,1fr);padding:9px}.rank-list p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
