:root{
    --tpps-paper:#f3efe5;
    --tpps-paper-deep:#e8e0d1;
    --tpps-ink:#201f1b;
    --tpps-muted:#746b5f;
    --tpps-line:#c9bda9;
    --tpps-gold:#927856;
    --tpps-navy:#273544;
    --tpps-white:#fffdf8;
}

body.takeoca-press-public{
    background:var(--tpps-paper);
    color:var(--tpps-ink);
}

body.takeoca-press-public .wp-block-post-title,
body.takeoca-press-public main > .wp-block-group > .wp-block-post-title{
    display:none!important;
}

body.takeoca-press-public .wp-block-post-content,
body.takeoca-press-public .entry-content{
    width:min(1080px,calc(100vw - 34px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

body.takeoca-press-public .wp-block-post-content > *,
body.takeoca-press-public .entry-content > *{
    max-width:none;
}

body.takeoca-press-public .wp-site-blocks main{
    margin-top:0;
}

.tpps-masthead,
.tpps-author-hero,
.tpps-section-heading,
.tpps-works,
.tpps-about,
.tpps-blog-hero,
.tpps-tkp-core{
    box-sizing:border-box;
    font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
}

.tpps-masthead{
    margin:26px auto 0;
    padding:0 0 26px;
}

.tpps-rule{
    height:5px;
    background:var(--tpps-ink);
    margin-bottom:18px;
}

.tpps-masthead-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.tpps-brand{
    display:inline-flex;
    flex-direction:column;
    gap:2px;
    color:var(--tpps-ink)!important;
    text-decoration:none!important;
}

.tpps-brand-kicker{
    font-size:12px;
    letter-spacing:.22em;
}

.tpps-brand-name{
    font-family:Georgia,"Times New Roman",serif;
    font-size:30px;
    font-weight:700;
    letter-spacing:.055em;
    line-height:1;
}

.tpps-section-label{
    font-family:Georgia,"Times New Roman",serif;
    color:var(--tpps-muted);
    font-size:11px;
    letter-spacing:.18em;
}

.tpps-nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px 22px;
    margin-top:20px;
    padding-top:13px;
    border-top:1px solid var(--tpps-line);
}

.tpps-nav a{
    color:var(--tpps-ink)!important;
    font-size:13px;
    font-weight:600;
    letter-spacing:.04em;
    text-decoration:none!important;
}

.tpps-nav a:hover{
    color:var(--tpps-gold)!important;
}

.tpps-author-hero{
    display:grid;
    grid-template-columns:minmax(220px,320px) 1fr;
    gap:clamp(34px,6vw,78px);
    margin:36px 0 66px;
    padding:clamp(30px,5vw,58px);
    background:var(--tpps-white);
    border:1px solid var(--tpps-line);
    box-shadow:0 18px 42px rgba(48,39,25,.07);
}

.tpps-author-mark{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:30px 18px;
    border:1px solid var(--tpps-ink);
    outline:1px solid var(--tpps-line);
    outline-offset:-9px;
    background:linear-gradient(135deg,#e7dfd1,#f9f6ef 52%,#dfd4c2);
    text-align:center;
}

.tpps-author-mark span{
    font-family:Georgia,"Times New Roman",serif;
    font-size:12px;
    letter-spacing:.32em;
}

.tpps-author-mark strong{
    writing-mode:vertical-rl;
    font-size:31px;
    font-weight:500;
    letter-spacing:.2em;
    line-height:1.4;
}

.tpps-author-copy{
    align-self:center;
}

.tpps-eyebrow{
    margin:0 0 14px!important;
    color:var(--tpps-gold)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:12px!important;
    font-weight:700;
    letter-spacing:.16em!important;
}

.tpps-author-copy h1,
.tpps-blog-hero h1{
    margin:0 0 24px!important;
    padding:0!important;
    border:0!important;
    color:var(--tpps-ink)!important;
    font-size:clamp(34px,5vw,56px)!important;
    font-weight:500!important;
    line-height:1.24!important;
    letter-spacing:.05em;
}

.tpps-author-copy p{
    margin:0 0 18px;
    font-size:15px;
    line-height:2.05;
}

.tpps-author-copy .tpps-lead{
    font-size:18px;
    line-height:1.95;
}

.tpps-section-heading{
    display:grid;
    grid-template-columns:120px 1fr;
    column-gap:30px;
    row-gap:4px;
    margin:0 0 26px;
    padding:0 0 19px;
    border-bottom:1px solid var(--tpps-line);
}

.tpps-section-heading>p{
    grid-row:1 / span 2;
    margin:7px 0 0!important;
    color:var(--tpps-gold)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:12px!important;
    font-weight:700;
    letter-spacing:.18em;
}

.tpps-section-heading h2{
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--tpps-ink)!important;
    font-size:30px!important;
    font-weight:500!important;
    line-height:1.45!important;
}

.tpps-section-heading span{
    color:var(--tpps-muted);
    font-size:14px;
    line-height:1.8;
}

.tpps-tkp-core{
    margin-bottom:72px;
}

/* 著者ページのTKP最新記事 */
body.takeoca-press-author .takeoca-author-blog-list{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0!important;
    border-top:1px solid var(--tpps-ink);
    border-bottom:1px solid var(--tpps-ink);
}

body.takeoca-press-author .takeoca-author-blog-card{
    margin:0!important;
    padding:28px 26px 30px!important;
    background:transparent!important;
    border:0!important;
    border-right:1px solid var(--tpps-line)!important;
    border-radius:0!important;
    box-shadow:none!important;
}

body.takeoca-press-author .takeoca-author-blog-card:last-child{
    border-right:0!important;
}

body.takeoca-press-author .takeoca-author-blog-meta,
body.takeoca-press-author .takeoca-author-blog-card time{
    color:var(--tpps-gold)!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:12px!important;
    letter-spacing:.1em;
}

body.takeoca-press-author .takeoca-author-blog-card h3{
    margin:12px 0 15px!important;
    padding:0!important;
    border:0!important;
    font-size:21px!important;
    font-weight:500!important;
    line-height:1.65!important;
}

body.takeoca-press-author .takeoca-author-blog-card h3 a{
    color:var(--tpps-ink)!important;
    text-decoration:none!important;
}

body.takeoca-press-author .takeoca-author-blog-card p{
    color:#4d483f!important;
    font-size:14px!important;
    line-height:1.9!important;
}

body.takeoca-press-author .takeoca-author-blog-link,
body.takeoca-press-author .takeoca-author-blog-all{
    color:var(--tpps-ink)!important;
    border-bottom:1px solid var(--tpps-gold)!important;
    text-decoration:none!important;
}

body.takeoca-press-author .takeoca-author-blog-more{
    margin:24px 0 42px!important;
    text-align:right;
}

.tpps-works{
    margin:90px 0 76px;
}

.tpps-section-heading--compact{
    margin-bottom:0;
}

.tpps-book-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-left:1px solid var(--tpps-line);
    border-top:1px solid var(--tpps-line);
}

.tpps-book-card{
    position:relative;
    min-height:220px;
    padding:34px 34px 34px 86px;
    background:rgba(255,253,248,.56);
    border-right:1px solid var(--tpps-line);
    border-bottom:1px solid var(--tpps-line);
}

.tpps-book-no{
    position:absolute;
    left:26px;
    top:38px;
    color:var(--tpps-gold);
    font-family:Georgia,"Times New Roman",serif;
    font-size:11px;
    letter-spacing:.08em;
    writing-mode:vertical-rl;
}

.tpps-book-card h3{
    margin:0 0 18px!important;
    padding:0!important;
    border:0!important;
    color:var(--tpps-ink)!important;
    font-size:20px!important;
    font-weight:500!important;
    line-height:1.65!important;
}

.tpps-book-card p{
    margin:0!important;
    color:#5b5449!important;
    font-size:14px!important;
    line-height:1.95!important;
}

.tpps-book-card--writing{
    background:rgba(39,53,68,.055);
}

.tpps-works-link{
    margin:22px 0 0!important;
    text-align:right;
}

.tpps-works-link a{
    color:var(--tpps-ink)!important;
    font-size:14px;
    text-decoration:none!important;
    border-bottom:1px solid var(--tpps-gold);
}

.tpps-about{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:50px;
    margin:0 0 80px;
    padding:38px 0;
    border-top:4px double var(--tpps-ink);
    border-bottom:1px solid var(--tpps-ink);
}

.tpps-about h2{
    margin:0!important;
    padding:0!important;
    border:0!important;
    font-size:27px!important;
    font-weight:500!important;
}

.tpps-about>p{
    margin:0!important;
    font-size:15px!important;
    line-height:2.05!important;
}

/* ブログ一覧・記事 */
.tpps-blog-hero{
    position:relative;
    margin:34px 0 42px;
    padding:50px clamp(24px,5vw,64px) 45px;
    background:var(--tpps-navy);
    color:#f7f2e8;
    overflow:hidden;
}

.tpps-blog-hero:after{
    content:"TAKEOCA PRESS";
    position:absolute;
    right:-20px;
    bottom:-22px;
    color:rgba(255,255,255,.055);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(50px,9vw,112px);
    font-weight:700;
    letter-spacing:.04em;
    white-space:nowrap;
}

.tpps-blog-hero .tpps-eyebrow{
    color:#d6bd96!important;
}

.tpps-blog-hero h1{
    position:relative;
    z-index:1;
    color:#fffaf0!important;
    font-size:clamp(34px,5vw,52px)!important;
}

.tpps-blog-hero>p:not(.tpps-eyebrow){
    position:relative;
    z-index:1;
    max-width:720px;
    margin:0!important;
    color:#e8e1d5!important;
    font-size:15px!important;
    line-height:2!important;
}

.tpps-blog-hero-line{
    position:relative;
    z-index:1;
    width:140px;
    height:1px;
    margin-top:28px;
    background:rgba(255,255,255,.35);
}

.tpps-blog-hero-line span{
    display:block;
    width:42px;
    height:1px;
    background:#d6bd96;
}

body.takeoca-press-blog .tkpap-blog-archive{
    color:var(--tpps-ink)!important;
}

body.takeoca-press-blog .tkpap-blog-archive-list{
    gap:0!important;
    border-top:1px solid var(--tpps-ink);
}

body.takeoca-press-blog .tkpap-blog-archive-card{
    position:relative;
    display:grid;
    grid-template-columns:128px 1fr auto;
    grid-template-areas:
        "meta title read"
        "meta excerpt read";
    column-gap:28px;
    row-gap:8px;
    align-items:start;
    margin:0!important;
    padding:30px 8px!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid var(--tpps-line)!important;
    border-radius:0!important;
    box-shadow:none!important;
}

body.takeoca-press-blog .tkpap-blog-archive-meta{
    grid-area:meta;
    margin:4px 0 0!important;
    color:var(--tpps-gold)!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:12px!important;
    letter-spacing:.12em!important;
}

body.takeoca-press-blog .tkpap-blog-archive-card h2{
    grid-area:title;
    margin:0!important;
    font-size:22px!important;
    font-weight:500!important;
    line-height:1.6!important;
}

body.takeoca-press-blog .tkpap-blog-archive-card h2 a{
    color:var(--tpps-ink)!important;
}

body.takeoca-press-blog .tkpap-blog-archive-card>p{
    grid-area:excerpt;
    margin:0!important;
    color:#5a544a!important;
    font-size:14px!important;
    line-height:1.9!important;
}

body.takeoca-press-blog .tkpap-blog-archive-readmore{
    grid-area:read;
    align-self:center;
    white-space:nowrap;
    color:var(--tpps-ink)!important;
    border-bottom:1px solid var(--tpps-gold)!important;
    font-size:13px;
}

body.takeoca-press-blog .tkpap-blog-archive-pagination a,
body.takeoca-press-blog .tkpap-blog-archive-pagination span{
    border-radius:0!important;
    border-color:var(--tpps-line)!important;
    background:transparent!important;
    color:var(--tpps-ink)!important;
}

body.takeoca-press-blog .tkpap-blog-archive-pagination span.current{
    background:var(--tpps-ink)!important;
    color:#fff!important;
    border-color:var(--tpps-ink)!important;
}

body.takeoca-press-blog .tkpap-blog-single{
    margin-top:10px;
    padding:clamp(28px,5vw,58px)!important;
    background:var(--tpps-white)!important;
    border:1px solid var(--tpps-line)!important;
    border-radius:0!important;
    box-shadow:0 18px 44px rgba(48,39,25,.06)!important;
}

body.takeoca-press-blog .tkpap-blog-single-meta{
    color:var(--tpps-gold)!important;
    font-family:Georgia,"Times New Roman",serif;
}

body.takeoca-press-blog .tkpap-blog-single h1{
    max-width:820px;
    margin-left:auto!important;
    margin-right:auto!important;
    color:var(--tpps-ink)!important;
    font-size:clamp(27px,4vw,40px)!important;
    font-weight:500!important;
}

body.takeoca-press-blog .tkpap-blog-single-content{
    color:#342f29!important;
    font-size:16px!important;
    line-height:2.2!important;
}

body.takeoca-press-blog .tkpap-blog-single-back a{
    color:var(--tpps-ink)!important;
}

/* 購読ボックス（TKP本体の後勝ちstyleより高い詳細度でブランドへ統一） */
body.takeoca-press-public .tkpap-subscribe-box{
    margin-top:36px!important;
    padding:32px clamp(20px,4vw,42px)!important;
    background:#ece4d7!important;
    border:1px solid var(--tpps-line)!important;
    border-radius:0!important;
    box-shadow:none!important;
}

body.takeoca-press-public .tkpap-subscribe-box h3{
    color:var(--tpps-ink)!important;
    font-size:22px!important;
    font-weight:500!important;
}

body.takeoca-press-public .tkpap-subscribe-box>p,
body.takeoca-press-public .tkpap-subscribe-note{
    color:#665e53!important;
}

body.takeoca-press-public .tkpap-subscribe-form input[type="email"],
body.takeoca-press-public .tkpap-subscribe-simple-form input[type="email"]{
    border:1px solid #aa9c87!important;
    border-radius:0!important;
    background:#fffdf8!important;
}

body.takeoca-press-public .tkpap-subscribe-button,
body.takeoca-press-public .tkpap-subscribe-simple-button{
    border-radius:0!important;
    background:var(--tpps-ink)!important;
    color:#fff!important;
    box-shadow:none!important;
}

body.takeoca-press-public .tkpap-subscribe-button:hover,
body.takeoca-press-public .tkpap-subscribe-simple-button:hover{
    background:var(--tpps-navy)!important;
}

body.takeoca-press-subscribe .tpps-tkp-core--subscribe{
    max-width:760px;
    margin:0 auto 90px;
}

body.takeoca-press-subscribe .tkpap-subscribe-simple{
    padding:34px!important;
    background:var(--tpps-white)!important;
    border:1px solid var(--tpps-line)!important;
    border-radius:0!important;
}

@media(max-width:900px){
    .tpps-author-hero{
        grid-template-columns:220px 1fr;
        gap:34px;
    }
    body.takeoca-press-author .takeoca-author-blog-list{
        grid-template-columns:1fr;
    }
    body.takeoca-press-author .takeoca-author-blog-card{
        border-right:0!important;
        border-bottom:1px solid var(--tpps-line)!important;
    }
    .tpps-book-grid{
        grid-template-columns:1fr;
    }
    body.takeoca-press-blog .tkpap-blog-archive-card{
        grid-template-columns:100px 1fr;
        grid-template-areas:
            "meta title"
            ". excerpt"
            ". read";
    }
    body.takeoca-press-blog .tkpap-blog-archive-readmore{
        justify-self:start;
    }
}

@media(max-width:680px){
    body.takeoca-press-public .wp-block-post-content,
    body.takeoca-press-public .entry-content{
        width:min(100% - 24px,1080px)!important;
    }
    .tpps-masthead{
        margin-top:14px;
    }
    .tpps-masthead-row{
        display:block;
    }
    .tpps-section-label{
        display:block;
        margin-top:10px;
    }
    .tpps-brand-name{
        font-size:25px;
    }
    .tpps-nav{
        gap:8px 16px;
    }
    .tpps-author-hero{
        grid-template-columns:1fr;
        margin-top:24px;
        padding:22px;
    }
    .tpps-author-mark{
        min-height:180px;
        flex-direction:row;
    }
    .tpps-author-mark strong{
        writing-mode:horizontal-tb;
        font-size:27px;
        letter-spacing:.08em;
    }
    .tpps-author-mark span{
        font-size:10px;
        letter-spacing:.18em;
    }
    .tpps-author-copy .tpps-lead{
        font-size:17px;
    }
    .tpps-section-heading{
        grid-template-columns:1fr;
        gap:6px;
    }
    .tpps-section-heading>p{
        grid-row:auto;
        margin-top:0!important;
    }
    .tpps-book-card{
        min-height:0;
        padding:28px 24px 28px 62px;
    }
    .tpps-book-no{
        left:20px;
        top:30px;
    }
    .tpps-about{
        grid-template-columns:1fr;
        gap:20px;
    }
    .tpps-blog-hero{
        margin-top:24px;
        padding:34px 22px 32px;
    }
    body.takeoca-press-blog .tkpap-blog-archive-card{
        display:block;
        padding:24px 2px!important;
    }
    body.takeoca-press-blog .tkpap-blog-archive-meta{
        margin-bottom:8px!important;
    }
    body.takeoca-press-blog .tkpap-blog-archive-card h2{
        font-size:20px!important;
    }
    body.takeoca-press-blog .tkpap-blog-archive-card>p{
        margin:10px 0 14px!important;
    }
    body.takeoca-press-blog .tkpap-blog-single{
        padding:24px 18px!important;
    }
    body.takeoca-press-public .tkpap-subscribe-box{
        padding:24px 18px!important;
    }
}

/* v1.0.1: block theme の外枠を公開ページだけ非表示にし、出版レーベル側の導線へ統一 */
body.takeoca-press-public header.wp-block-template-part,
body.takeoca-press-public footer.wp-block-template-part{
    display:none!important;
}

.tpps-site-footer{
    box-sizing:border-box;
    width:min(1080px,calc(100vw - 34px));
    margin:72px auto 26px;
    padding:24px 0 0;
    border-top:5px solid var(--tpps-ink);
    color:var(--tpps-ink);
    font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
}

.tpps-site-footer-inner{
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto auto;
    align-items:end;
    gap:24px;
    padding-top:18px;
    border-top:1px solid var(--tpps-line);
}

.tpps-site-footer strong{
    display:block;
    margin-top:2px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    letter-spacing:.06em;
}

.tpps-site-footer nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px 18px;
}

.tpps-site-footer a{
    color:var(--tpps-ink)!important;
    font-size:12px;
    font-weight:600;
    text-decoration:none!important;
}

.tpps-site-footer a:hover{
    color:var(--tpps-gold)!important;
}

.tpps-site-footer small{
    color:var(--tpps-muted);
    font-family:Georgia,"Times New Roman",serif;
    font-size:10px;
    letter-spacing:.08em;
    white-space:nowrap;
}

@media (max-width:760px){
    .tpps-site-footer-inner{
        grid-template-columns:1fr;
        align-items:start;
        gap:15px;
    }
    .tpps-site-footer nav{
        justify-content:flex-start;
    }
}



/* TAKEOCA PRESS unified primary header, sourced from public index.html. */
.tp-site-header{
    position:sticky;top:0;z-index:800;
    background:rgba(247,243,235,.92);
    border-bottom:1px solid rgba(226,217,201,.85);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
    line-height:1.25;color:#20242a;
    box-sizing:border-box;
}
.tp-site-header *, .tp-site-header *::before,.tp-site-header *::after{box-sizing:border-box}
.tp-site-header .tp-site-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;max-width:none;padding:0}
.tp-site-header .tp-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.tp-site-header .tp-brand{text-decoration:none!important;display:flex;align-items:center;gap:12px;min-width:0;color:#20242a!important}
.tp-site-header .tp-brand-mark{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid rgba(23,33,45,.10);display:grid;place-items:center;box-shadow:0 6px 16px rgba(23,33,45,.18);overflow:hidden;flex:0 0 auto}
.tp-site-header .tp-brand-mark-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;max-width:none;max-height:none}
.tp-site-header .tp-brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.tp-site-header .tp-brand-ja{font-size:17px;font-weight:700;letter-spacing:.08em;white-space:nowrap;color:#20242a}
.tp-site-header .tp-brand-en{margin-top:4px;color:#9a7a4d;font-size:10px;font-weight:700;letter-spacing:.18em;white-space:nowrap}
.tp-site-header .tp-global-nav{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;line-height:1.25;flex-wrap:nowrap}
.tp-site-header .tp-global-nav a{text-decoration:none!important;padding:9px 11px;border-radius:999px;color:#39414a!important;font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;transition:background-color .18s ease,color .18s ease;border:0;background:transparent}
.tp-site-header .tp-global-nav a:hover{background:#fff;color:#17212d!important;opacity:1}
.tp-site-header .tp-global-nav .tp-nav-primary{background:#17212d;color:#fff!important;padding-inline:15px}
.tp-site-header .tp-global-nav .tp-nav-primary:hover{background:#26384b;color:#fff!important}
.tp-site-header a:focus-visible{outline:3px solid rgba(154,122,77,.55);outline-offset:4px;border-radius:6px}
@media(max-width:980px){.tp-site-header .tp-global-nav a:not(.tp-nav-primary){display:none!important}}
@media(max-width:700px){
 .tp-site-header .tp-site-shell{width:min(100% - 22px,1180px)}
 .tp-site-header .tp-header-inner{min-height:64px;gap:12px}
 .tp-site-header .tp-brand-mark{width:38px;height:38px}
 .tp-site-header .tp-brand-ja{font-size:15px}
 .tp-site-header .tp-brand-en{font-size:9px}
 .tp-site-header .tp-global-nav .tp-nav-primary{padding:8px 12px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.tp-site-header *{transition:none!important}}

/* Remove the former in-content title/nav panel without an empty placeholder or double header. */
body.takeoca-press-public{margin:0!important}
body.takeoca-press-public .wp-site-blocks{margin-top:0!important;padding-top:0!important}
body.takeoca-press-public .wp-site-blocks > :first-child{margin-block-start:0!important}
body.takeoca-press-public .wp-site-blocks > main{margin-top:0!important;padding-top:0!important}
body.takeoca-press-public .wp-block-post-content,
body.takeoca-press-public .entry-content{margin-block-start:0!important;padding-top:0!important}
body.takeoca-press-public .tpps-masthead{display:none!important;margin:0!important;padding:0!important}
body.takeoca-press-public .tpps-author-hero{margin-top:18px}
body.takeoca-press-public .tpps-blog-hero{margin-top:18px}
body.admin-bar.takeoca-press-public .tp-site-header{top:32px}
@media(max-width:782px){body.admin-bar.takeoca-press-public .tp-site-header{top:46px}}


/* TAKEOCA PRESS book details: shared static-TOP atmosphere (v1.1.4).
   Only four known book page IDs; no Reader, checkout, author blog or DB writes. */
body.takeoca-press-book-detail{
  --tpps-paper:#f7f3eb;--tpps-ink:#20242a;--tpps-gold:#9a7a4d;
  margin:0!important;background:#f7f3eb!important;color:#20242a;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
}
body.takeoca-press-book-detail .wp-site-blocks{margin:0!important;padding-top:0!important}
body.takeoca-press-book-detail .wp-site-blocks > header,
body.takeoca-press-book-detail header.wp-block-template-part,
body.takeoca-press-book-detail .wp-site-blocks > footer,
body.takeoca-press-book-detail footer.wp-block-template-part{display:none!important}
body.takeoca-press-book-detail .wp-site-blocks > main{margin-top:0!important;padding-top:0!important}
body.takeoca-press-book-detail .wp-block-post-title{display:none!important}
body.takeoca-press-book-detail .wp-block-post-content,
body.takeoca-press-book-detail .entry-content{
 width:min(1120px,calc(100% - 32px))!important;max-width:none!important;
 margin:24px auto 64px!important;padding:0!important;box-sizing:border-box;
}
body.takeoca-press-book-detail .wp-block-post-content > *,
body.takeoca-press-book-detail .entry-content > *{max-width:100%;box-sizing:border-box}
body.takeoca-press-book-detail .wp-block-post-content h1,
body.takeoca-press-book-detail .wp-block-post-content h2,
body.takeoca-press-book-detail .wp-block-post-content h3{
 color:#20242a;letter-spacing:.025em;line-height:1.5;
}
body.takeoca-press-book-detail .wp-block-post-content a:focus-visible{outline:3px solid #9a7a4d;outline-offset:3px}
body.takeoca-press-book-detail .wp-block-post-content img{max-width:100%;height:auto}
body.takeoca-press-book-detail .wp-block-post-content .wp-block-buttons{gap:12px}
body.takeoca-press-book-detail .wp-block-post-content .wp-block-button__link{border-radius:999px}
body.takeoca-press-book-detail .tp-site-header{isolation:isolate}
body.admin-bar.takeoca-press-book-detail .tp-site-header{top:32px}
@media(max-width:782px){body.admin-bar.takeoca-press-book-detail .tp-site-header{top:46px}}
@media(max-width:700px){
 body.takeoca-press-book-detail .wp-block-post-content,
 body.takeoca-press-book-detail .entry-content{width:calc(100% - 22px)!important;margin:16px auto 40px!important}
 body.takeoca-press-book-detail .wp-block-post-content h1{font-size:clamp(1.5rem,6vw,2rem)}
 body.takeoca-press-book-detail .wp-block-post-content h2{font-size:clamp(1.2rem,5vw,1.65rem)}
}

/* Book-detail footer matches the restrained static TOP header style. */
body.takeoca-press-book-detail .tpps-site-footer{
 width:min(1180px,calc(100% - 32px));margin:0 auto 24px;padding:26px 0 0;
 border-top:1px solid rgba(226,217,201,.95);background:transparent;
 font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
 color:#20242a;
}
body.takeoca-press-book-detail .tpps-site-footer-inner{border-top:0;padding:0;align-items:center;gap:18px}
body.takeoca-press-book-detail .tpps-site-footer .tpps-brand-kicker{font-size:12px;color:#6d665c}
body.takeoca-press-book-detail .tpps-site-footer strong{color:#20242a;font-size:18px;letter-spacing:.08em}
body.takeoca-press-book-detail .tpps-site-footer nav a{color:#39414a!important;font-size:13px;font-weight:600;line-height:1.5}
body.takeoca-press-book-detail .tpps-site-footer nav a:hover{color:#9a7a4d!important}
body.takeoca-press-book-detail .tpps-site-footer small{color:#746b5f}
@media(max-width:700px){body.takeoca-press-book-detail .tpps-site-footer{width:calc(100% - 22px)}}


/* v1.1.5 -- book/catalog and Reader navigation integrated in the official
 * header/footer; disable ONLY redundant Local Navigation Bridge floating row
 * on chrome pages, never the existing static TOP fixed banners or other UI. */
body.takeoca-press-public #tkplnb-fixed,
body.takeoca-press-book-detail #tkplnb-fixed { display:none!important; }
.tp-site-header .tp-global-nav .tp-nav-books,
.tp-site-header .tp-global-nav .tp-nav-library{
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid rgba(154,122,77,.3);background:rgba(255,255,255,.63);
    font-weight:700;
}
.tp-site-header .tp-global-nav .tp-nav-books:hover,
.tp-site-header .tp-global-nav .tp-nav-library:hover{
    background:#f2e9d9;color:#17212d!important;
}
.tpps-site-footer nav .tpps-footer-books,
.tpps-site-footer nav .tpps-footer-library{
    font-weight:700;border-bottom:1px solid rgba(154,122,77,.45);
}
/* Existing responsive rule hides other links under 980px. These two
 * explicit navigation links remain usable, while the home/brand link
 * provides the original official publishing-page route. */
@media(max-width:980px){
 .tp-site-header .tp-global-nav a.tp-nav-books,
 .tp-site-header .tp-global-nav a.tp-nav-library{
   display:inline-flex!important;
 }
 .tp-site-header .tp-global-nav a.tp-nav-primary{display:none!important}
 .tp-site-header .tp-header-inner{gap:10px}
 .tp-site-header .tp-global-nav{gap:5px}
}
@media(max-width:500px){
 .tp-site-header .tp-site-shell{width:calc(100% - 16px)}
 .tp-site-header .tp-brand{gap:5px}
 .tp-site-header .tp-brand-mark{width:31px;height:31px}
 .tp-site-header .tp-brand-ja{font-size:12px;letter-spacing:0;white-space:nowrap}
 .tp-site-header .tp-brand-en{display:none}
 .tp-site-header .tp-global-nav a.tp-nav-books,
 .tp-site-header .tp-global-nav a.tp-nav-library{
   padding:8px 5px;font-size:clamp(10px,2.7vw,12px);white-space:nowrap;line-height:1.3;
 }
}
@media(max-width:360px){
 .tp-site-header .tp-brand-mark{width:28px;height:28px}
 .tp-site-header .tp-global-nav{gap:2px}
 .tp-site-header .tp-global-nav a.tp-nav-books,
 .tp-site-header .tp-global-nav a.tp-nav-library{padding:7px 3px;font-size:10px}
}


/* TAKEOCA PRESS TOP / BOOKS card palette -- v1.1.6
 * Color tokens reproduce the existing publisher brand palette of the shared
 * homepage header (warm paper, ivory cards, antique-gold edge, ink-navy CTA).
 * Applied ONLY to the four known book-detail pages, not to the static root
 * index.html, checkout, Reader library, author/blog, or WordPress backend.
 * The card marker adds classes but never moves or replaces DOM children, so
 * the embedded preview PDF canvas and payment link listeners remain intact.
 */
body.takeoca-press-book-detail{
  --tpps-book-paper:#f7f3eb;
  --tpps-book-card:#fffdf8;
  --tpps-book-ink:#20242a;
  --tpps-book-sub:#665f55;
  --tpps-book-gold:#9a7a4d;
  --tpps-book-navy:#17212d;
  --tpps-book-border:rgba(154,122,77,.25);
  --tpps-book-shadow:0 15px 38px rgba(40,36,28,.075);
  background:var(--tpps-book-paper)!important;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface,
body.takeoca-press-book-detail .entry-content .tpps-book-matched-surface{
  box-sizing:border-box;
  background:var(--tpps-book-card)!important;
  color:var(--tpps-book-ink)!important;
  border:1px solid var(--tpps-book-border)!important;
  border-radius:20px!important;
  box-shadow:var(--tpps-book-shadow)!important;
  padding:clamp(22px,3.2vw,40px)!important;
  margin-block:clamp(16px,2.5vw,30px)!important;
  overflow:visible;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface h1,
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface h2,
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface h3{
  color:var(--tpps-book-ink)!important;
  border-color:var(--tpps-book-border)!important;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface :is(p,li,dt,dd){
  color:var(--tpps-book-sub)!important;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface :is(a:not(.wp-block-button__link),a:not([class*="paypay"]):not([class*="PayPay"])),
body.takeoca-press-book-detail .entry-content .tpps-book-matched-surface a:not(.wp-block-button__link){
  text-underline-offset:.2em;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface :is(.wp-block-group.has-background,.wp-block-column.has-background){
  background:transparent!important;
}
/* Small badge/chip elements adopt the same warm antique-gold contrast as the
   cards on the static publishing TOP. Do not restyle purchase controls. */
body.takeoca-press-book-detail .tpps-book-matched-surface :is(.book-tag,.book-chip,.book-badge,.genre-tag,.genre-badge){
  background:#f2e9d9!important;
  color:#6d5032!important;
  border-color:#dfceb6!important;
}
body.takeoca-press-book-detail .tpps-book-matched-surface :is(.wp-block-button__link,.paypay-button,button){
  box-shadow:none;
}
@media(max-width:700px){
  body.takeoca-press-book-detail .wp-block-post-content .tpps-book-matched-surface,
  body.takeoca-press-book-detail .entry-content .tpps-book-matched-surface{
    padding:20px 17px!important;
    border-radius:16px!important;
    margin-block:16px!important;
    box-shadow:0 8px 24px rgba(40,36,28,.06)!important;
  }
}


/* v1.1.7: BOOK DETAIL INTRO hero card. Prior v1.1.6 CSS found only heading
   tags; the real site renders BOOK DETAIL as an eyebrow/kicker.
   New class is placed on the smallest shared cover+text ancestor. */
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-hero-v117,
body.takeoca-press-book-detail .entry-content .tpps-book-hero-v117,
body.takeoca-press-book-detail .wp-block-post-content .ecz-book-hero,
body.takeoca-press-book-detail .wp-block-post-content .book-detail-hero,
body.takeoca-press-book-detail .wp-block-post-content .book-hero{
  background:#fffdf8!important;
  background-image:none!important;
  color:#20242a!important;
  border:1px solid rgba(154,122,77,.34)!important;
  border-radius:22px!important;
  padding:clamp(22px,3.4vw,42px)!important;
  box-shadow:0 16px 36px rgba(40,36,28,.075)!important;
  overflow:visible!important;
}
body.takeoca-press-book-detail .tpps-book-hero-v117 :is(.wp-block-group,.wp-block-column,.has-background,.book-hero-content){
  background-color:transparent!important;
  background-image:none!important;
}
body.takeoca-press-book-detail .tpps-book-hero-v117 :is(h1,h2,h3,p,strong){color:#20242a!important}
body.takeoca-press-book-detail .tpps-book-hero-v117 img{max-width:100%;height:auto}
/* If the old floating banner is echoed after wp_footer by another callback,
   keep it invisible on all branded pages regardless of its inline stylesheet. */
body.takeoca-press-book-detail #tkplnb-fixed,
body.takeoca-press-public #tkplnb-fixed {display:none!important;visibility:hidden!important;pointer-events:none!important}
/* Header: ensure the two new links appear next to the existing navigation. */
body.takeoca-press-book-detail .tp-site-header .tp-global-nav a.tp-nav-books,
body.takeoca-press-book-detail .tp-site-header .tp-global-nav a.tp-nav-library{display:inline-flex!important}
@media(max-width:700px){
 body.takeoca-press-book-detail .wp-block-post-content .tpps-book-hero-v117,
 body.takeoca-press-book-detail .entry-content .tpps-book-hero-v117{padding:20px 16px!important;border-radius:16px!important}
}


/* v1.1.8 | Book DETAILS lower panels, matching TAKEOCA TOP book cards.
 * Only 4 known book pages receive this class via server-side body_class.
 * The DOM classifier never changes HTML children or stored WP content.
 */
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-section-card-v118,
body.takeoca-press-book-detail .entry-content .tpps-book-section-card-v118{
  box-sizing:border-box!important;
  background-color:#fffdf8!important;
  background-image:none!important;
  color:#20242a!important;
  border:1px solid rgba(154,122,77,.36)!important;
  border-radius:20px!important;
  box-shadow:0 14px 32px rgba(40,36,28,.075)!important;
  padding:clamp(22px,3.2vw,38px)!important;
  margin-block:clamp(18px,2.5vw,28px)!important;
  overflow:visible!important;
}
body.takeoca-press-book-detail .tpps-book-section-card-v118 :is(h2,h3,h4){color:#20242a!important}
body.takeoca-press-book-detail .tpps-book-section-card-v118 :is(p,li,dt,dd){color:#665f55!important}
/* Editors sometimes apply colorful backgrounds to nested noninteractive WP
 * layout groups. Keep the outer card ivory, but do not recolor forms/buttons,
 * the preview viewer, image/canvas, or links used by PayPay. */
body.takeoca-press-book-detail .tpps-book-section-card-v118 :is(.wp-block-group.has-background,.wp-block-column.has-background){
  background-color:transparent!important;
  background-image:none!important;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-section-part-v118,
body.takeoca-press-book-detail .entry-content .tpps-book-section-part-v118{
  box-sizing:border-box!important;
  background-color:#fffdf8!important;
  background-image:none!important;
  border-left:1px solid rgba(154,122,77,.36)!important;
  border-right:1px solid rgba(154,122,77,.36)!important;
  box-shadow:none!important;
  margin-block:0!important;
  padding:8px clamp(22px,3.2vw,38px)!important;
  max-width:100%!important;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-section-part-first-v118,
body.takeoca-press-book-detail .entry-content .tpps-book-section-part-first-v118{
  border-top:1px solid rgba(154,122,77,.36)!important;
  border-radius:20px 20px 0 0!important;
  padding-top:clamp(22px,3.2vw,38px)!important;
  margin-top:clamp(18px,2.5vw,28px)!important;
}
body.takeoca-press-book-detail .wp-block-post-content .tpps-book-section-part-last-v118,
body.takeoca-press-book-detail .entry-content .tpps-book-section-part-last-v118{
  border-bottom:1px solid rgba(154,122,77,.36)!important;
  border-radius:0 0 20px 20px!important;
  padding-bottom:clamp(22px,3.2vw,38px)!important;
  margin-bottom:clamp(18px,2.5vw,28px)!important;
  box-shadow:0 14px 32px rgba(40,36,28,.075)!important;
}
body.takeoca-press-book-detail .tpps-book-section-part-first-v118.tpps-book-section-part-last-v118{
  border-radius:20px!important;
  padding-block:clamp(22px,3.2vw,38px)!important;
}
@media(max-width:700px){
  body.takeoca-press-book-detail .wp-block-post-content .tpps-book-section-card-v118,
  body.takeoca-press-book-detail .entry-content .tpps-book-section-card-v118{
    padding:20px 16px!important;border-radius:16px!important;
    box-shadow:0 8px 24px rgba(40,36,28,.06)!important;
  }
  body.takeoca-press-book-detail .tpps-book-section-part-v118{padding-inline:16px!important}
  body.takeoca-press-book-detail .tpps-book-section-part-first-v118{border-radius:16px 16px 0 0!important}
  body.takeoca-press-book-detail .tpps-book-section-part-last-v118{border-radius:0 0 16px 16px!important}
}


/* v1.1.9 | Five unadorned top navigation links in precise requested order.
 * Supersedes v1.1.5 rounded pills / gold badges and the old <980px hiding.
 */
body.takeoca-press-book-detail .tp-site-header .tp-global-nav a:not(.tp-nav-primary),
body.takeoca-press-public .tp-site-header .tp-global-nav a:not(.tp-nav-primary),
.tp-site-header .tp-global-nav a,
.tp-site-header .tp-global-nav a.tp-nav-books,
.tp-site-header .tp-global-nav a.tp-nav-library{
 display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
 border:0!important;border-radius:0!important;background:transparent!important;
 box-shadow:none!important;text-decoration:none!important;outline-offset:2px;
 font-size:13px!important;font-weight:600!important;letter-spacing:0!important;
 padding:7px 5px!important;white-space:nowrap!important;
 color:#39414a!important;
}
.tp-site-header .tp-global-nav a:hover,
.tp-site-header .tp-global-nav a.tp-nav-books:hover,
.tp-site-header .tp-global-nav a.tp-nav-library:hover{
 background:transparent!important;color:#39414a!important;box-shadow:none!important;
}
@media(max-width:880px){
 .tp-site-header .tp-header-inner{flex-wrap:wrap!important;gap:0!important}
 .tp-site-header .tp-global-nav{display:flex!important;width:100%!important;max-width:100%!important;
   justify-content:flex-start!important;overflow-x:auto!important;overscroll-behavior-x:contain;
   scrollbar-width:thin;padding-bottom:4px!important;gap:6px!important}
 .tp-site-header .tp-global-nav a,
 .tp-site-header .tp-global-nav a.tp-nav-books,
 .tp-site-header .tp-global-nav a.tp-nav-library{display:inline-flex!important;font-size:12px!important;padding:7px 4px!important}
}
/* Force neutral nested section styling once JS identifies the real block.
 * Inline !important set by the script wins over existing theme/plugin CSS.
 */
body.takeoca-press-book-detail .tpps-book-paint-v119 :is(h2,h3,h4){color:#20242a!important}
body.takeoca-press-book-detail .tpps-book-paint-v119 :is(p,li,dt,dd){color:#665f55!important}


/* v1.1.14: visible outer synopsis background only. Runtime matches the
 * original card and writes its background inline; do not style descendants. */
body.takeoca-press-book-detail .tpps-synopsis-visible-outer-v114{background-color:#fffdf8!important;}

/* 1.1.15: purchase OUTER surface only. Never color descendants or controls. */
body.takeoca-press-book-detail .tpps-purchase-outer-ivory-v115 { background-color:#fffdf8!important; }

/* v1.1.16 ONE final panel rule applied consistently across the four ISBN pages.
   The nested boxes and purchase controls retain their own original surfaces. */
body.takeoca-press-book-detail .wp-block-post-content .tpps-unified-surface-v116,
body.takeoca-press-book-detail .entry-content .tpps-unified-surface-v116{
  background-color:#fffdf8!important;background-image:none!important;
  border:1px solid rgba(154,122,77,.32)!important;border-radius:20px!important;
  box-shadow:0 14px 32px rgba(40,36,28,.075)!important;
  color:#20242a!important;box-sizing:border-box!important;
}
/* Author bio: matches the public day-reference card; do not restyle unrelated blog pages. */
body.takeoca-press-book-detail .tpps-unified-author-v116{
  background-color:#fffdf8!important;border-radius:20px!important;
  border:1px solid rgba(154,122,77,.32)!important;
  box-shadow:0 14px 32px rgba(40,36,28,.075)!important;
}
body.takeoca-press-book-detail .tpps-unified-author-v116 img{
  max-width:100%!important;height:auto!important;object-fit:cover;
}
@media(max-width:700px){
 body.takeoca-press-book-detail .tpps-unified-surface-v116,
 body.takeoca-press-book-detail .tpps-unified-author-v116{border-radius:16px!important;box-shadow:0 8px 24px rgba(40,36,28,.06)!important;}
}


/* v1.1.19: Repair overflowing/two-tier sticky mobile navigation.
   Keep the desktop five links unchanged. On narrow screens the native
   menu is a single compact header row, closed by default. The five links
   keep the owner's exact order and have no pill, badge, or extra CTA. */
.tp-site-header .tpps-mobile-nav { display:none; }
@media (max-width:980px) {
  .tp-site-header {
    z-index:980!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .tp-site-header .tp-site-shell {
    width:calc(100% - 24px)!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    padding:0!important;
  }
  .tp-site-header .tp-header-inner {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:0!important;
    position:relative!important;
  }
  .tp-site-header .tp-brand {
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 96px)!important;
    gap:8px!important;
    align-items:center!important;
  }
  .tp-site-header .tp-brand-mark {
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
  }
  .tp-site-header .tp-brand-ja {
    font-size:15px!important;
    letter-spacing:0!important;
    line-height:1.25!important;
  }
  .tp-site-header .tp-brand-en { display:none!important; }
  /* Override the older @media 880px wrap/scroll rules outright. */
  body.takeoca-press-book-detail .tp-site-header .tp-global-nav,
  body.takeoca-press-public .tp-site-header .tp-global-nav,
  .tp-site-header .tp-global-nav {
    display:none!important;
    width:auto!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    scrollbar-width:none!important;
  }
  .tp-site-header .tpps-mobile-nav {
    display:block!important;
    flex:0 0 auto!important;
    font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;
    position:static!important;
    min-width:0!important;
    margin:0!important;
  }
  .tp-site-header .tpps-mobile-nav > summary {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:44px!important;
    min-width:73px!important;
    padding:9px 5px!important;
    margin:0!important;
    cursor:pointer!important;
    list-style:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#20242a!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    -webkit-tap-highlight-color:transparent;
  }
  .tp-site-header .tpps-mobile-nav > summary::-webkit-details-marker{display:none!important}
  .tp-site-header .tpps-mobile-nav > summary::after {
    content:'⌄';font-size:14px;color:#665f55;font-weight:400;line-height:1;
  }
  .tp-site-header .tpps-mobile-nav[open] > summary::after {content:'⌃'}
  .tp-site-header .tpps-mobile-nav > summary:focus-visible {
    outline:2px solid #9a7a4d!important;outline-offset:1px!important;
  }
  .tp-site-header .tpps-mobile-nav:not([open]) > nav {display:none!important}
  .tp-site-header .tpps-mobile-nav[open] > nav {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    box-sizing:border-box!important;
    position:absolute!important;
    z-index:981!important;
    right:0!important;
    top:calc(100% - 1px)!important;
    width:min(280px, calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:min(65vh, 360px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding:8px 12px!important;
    margin:0!important;
    border:1px solid #d8cbb4!important;
    border-radius:0 0 14px 14px!important;
    background:#fffdf8!important;
    box-shadow:0 12px 26px rgba(22,30,38,.13)!important;
  }
  .tp-site-header .tpps-mobile-nav[open] > nav a {
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    text-align:left!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.35!important;
    padding:13px 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-decoration:none!important;
    color:#20242a!important;
    white-space:nowrap!important;
  }
  .tp-site-header .tpps-mobile-nav[open] > nav a+a {
    border-top:1px solid rgba(154,122,77,.14)!important;
  }
}


/* v1.1.21 | Reader library landing joins the official TAKEOCA public chrome.
   Only /press/special/ and /press/special/reader/ - NOT the protected viewer. */
body.takeoca-press-reader {
  --tpps-paper:#f7f3eb; --tpps-ink:#20242a; --tpps-gold:#9a7a4d;
  --tpps-line:#d8cbb4; --tpps-white:#fffdf8;
  background:#f7f3eb!important; color:#20242a;
  margin:0!important;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
}
/* Suppress ONLY the block theme's duplicate shell; retain WP admin toolbar. */
body.takeoca-press-reader .wp-site-blocks > header,
body.takeoca-press-reader .wp-site-blocks > footer,
body.takeoca-press-reader header.wp-block-template-part,
body.takeoca-press-reader footer.wp-block-template-part {display:none!important;}
body.takeoca-press-reader .wp-site-blocks,
body.takeoca-press-reader .wp-site-blocks > main {margin-block-start:0!important;}
body.takeoca-press-reader .wp-site-blocks > main {
  box-sizing:border-box; width:min(1060px,calc(100% - 28px))!important;
  max-width:1060px!important; margin:24px auto 0!important;
  padding:0 0 24px!important;
}
body.takeoca-press-reader .wp-block-post-content,
body.takeoca-press-reader .entry-content {
  box-sizing:border-box; width:100%!important; max-width:none!important;
  margin:0 auto!important; padding:0!important;
}
body.takeoca-press-reader .wp-block-post-title,
body.takeoca-press-reader main h1.wp-block-post-title {
  max-width:100%!important; color:#20242a!important;
  font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;
  font-size:clamp(26px,4.2vw,38px)!important;
  line-height:1.5!important; font-weight:600;
  margin:34px auto 24px!important;
}
/* Preserve Reader plugin's internal entitlement/status chips, buttons, forms. */
body.takeoca-press-reader .ecz-reader-library {
  max-width:100%!important; margin-inline:auto;
}
body.takeoca-press-reader .tpps-site-footer {margin-top:52px;}
body.admin-bar.takeoca-press-reader .tp-site-header {top:32px;}
@media(max-width:782px){
 body.admin-bar.takeoca-press-reader .tp-site-header {top:46px;}
 body.takeoca-press-reader .wp-site-blocks > main {width:calc(100% - 24px)!important;margin-top:16px!important;}
 body.takeoca-press-reader .wp-block-post-title {margin:22px auto 18px!important;}
}
/* Only visible when a decorative static image is actually broken. */
body.takeoca-press-reader .tpps-reader-banner-fallback-v1121{
 box-sizing:border-box; display:flex;flex-direction:column;justify-content:center;align-items:center;
 gap:12px;min-height:140px;width:100%;padding:24px 16px;margin:16px auto 22px;
 background:#fffdf8;border:1px solid #d8cbb4;border-radius:20px;
 box-shadow:0 8px 24px rgba(40,36,28,.06);text-align:center;
}
body.takeoca-press-reader .tpps-reader-banner-fallback-v1121 span{
 font-size:11px;letter-spacing:.16em;color:#9a7a4d;font-weight:700;
}
body.takeoca-press-reader .tpps-reader-banner-fallback-v1121 strong{
 font-size:clamp(23px,4.5vw,34px);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
 font-weight:500;color:#20242a;
}


/* v1.1.22 - One official TOP-style header on every public WP page.
   Replaces the old five-link desktop navigation + mobile dropdown in PHP.
   Direct stylesheet selectors intentionally outrank older responsive !important
   rules without modifying the site's static home, WP admin, checkout or viewer. */
#tpps-top-unified-v122 {
  position:sticky!important;
  top:0;
  z-index:980!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  border-bottom:1px solid rgba(216,203,180,.66)!important;
  background:rgba(247,243,235,.97)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
#tpps-top-unified-v122 .tp-site-shell {
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
}
#tpps-top-unified-v122 .tp-header-inner {
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  box-sizing:border-box!important;
  gap:12px!important;
  min-height:66px!important;
  max-height:none!important;
  padding:4px 0!important;
}
#tpps-top-unified-v122 .tp-brand {
  display:flex!important;
  flex:0 1 auto!important;
  align-items:center!important;
  min-width:0!important;
  max-width:none!important;
  gap:9px!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
#tpps-top-unified-v122 .tp-brand-mark {
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  flex:0 0 42px!important;
}
#tpps-top-unified-v122 .tp-brand-text {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
}
#tpps-top-unified-v122 .tp-brand-ja {
  display:block!important;
  color:#20242a!important;
  font-size:16px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}
#tpps-top-unified-v122 .tp-brand-en {
  display:block!important;
  color:#9a7a4d!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.10em!important;
  white-space:nowrap!important;
  margin-top:3px!important;
}
#tpps-top-unified-v122 .tpps-top-quicknav-v122 {
  display:flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  scrollbar-width:none!important;
}
#tpps-top-unified-v122 .tpps-top-quicknav-v122 a {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:7px 2px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  text-decoration:none!important;
  color:#39414a!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
#tpps-top-unified-v122 .tpps-top-quicknav-v122 a:focus-visible {
  outline:2px solid #9a7a4d!important;
  outline-offset:2px!important;
}
@media (max-width:980px) {
  #tpps-top-unified-v122 .tp-site-shell {
    width:calc(100% - 24px)!important;
  }
  #tpps-top-unified-v122 .tp-header-inner {
    min-height:58px!important;
    max-height:62px!important;
    gap:6px!important;
    padding:5px 0!important;
    flex-wrap:nowrap!important;
  }
  #tpps-top-unified-v122 .tp-brand { gap:6px!important; }
  #tpps-top-unified-v122 .tp-brand-mark {
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    flex-basis:36px!important;
  }
  #tpps-top-unified-v122 .tp-brand-ja {font-size:14px!important;}
  #tpps-top-unified-v122 .tp-brand-en {font-size:8px!important;letter-spacing:.06em!important;}
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 {gap:7px!important;}
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 a {
    font-size:11px!important;
    padding:7px 1px!important;
  }
}
@media (max-width:375px) {
  #tpps-top-unified-v122 .tp-site-shell {width:calc(100% - 16px)!important;}
  #tpps-top-unified-v122 .tp-brand-mark {
    width:31px!important;height:31px!important;
    min-width:31px!important;max-width:31px!important;flex-basis:31px!important;
  }
  #tpps-top-unified-v122 .tp-brand-ja {font-size:12px!important;}
  #tpps-top-unified-v122 .tp-brand-en {font-size:7px!important;letter-spacing:0!important;}
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 {gap:4px!important;}
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 a {font-size:10px!important;padding:6px 1px!important;}
}


/* v1.1.23 | Reader LANDING visual consistency with the static publisher TOP.
   Scoped to /press/special/ and /press/special/reader/ via the existing
   verified body class. No changes to the auth viewer, payment, Reader PHP,
   entitlement status or functional buttons. Logged-in WP toolbar remains. */
body.takeoca-press-reader .wp-site-blocks,
body.takeoca-press-reader .wp-site-blocks > main {
  background:transparent!important;
}
body.takeoca-press-reader .wp-site-blocks > main {
  box-sizing:border-box!important;
  width:min(1060px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:clamp(18px,3.2vw,34px) 0 36px!important;
  min-height:0!important;
}
/* Remove imported theme's empty first-screen air without changing
   content, book cards, nested preview controls or Reader shortcodes. */
body.takeoca-press-reader .wp-site-blocks > main > :first-child,
body.takeoca-press-reader .wp-site-blocks > main > .wp-block-group:first-child {
  margin-block-start:0!important;
  padding-block-start:0!important;
}
body.takeoca-press-reader .wp-site-blocks > main .wp-block-post-content,
body.takeoca-press-reader .wp-site-blocks > main .entry-content {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
}
/* The library already shows its name in the branded digital-library panel.
   Keep the WordPress title as the accessible H1 but do not duplicate it visually. */
body.takeoca-press-reader-library .wp-site-blocks main .wp-block-post-title {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
}
/* Reader's card: same neutral ivory surface, warm narrow border and
   gentle shadow used throughout TAKEOCA. Internal access states stay blue
   when the Reader component chooses that color (not overriden here). */
body.takeoca-press-reader .wp-block-post-content .ecz-reader-library,
body.takeoca-press-reader .entry-content .ecz-reader-library {
  box-sizing:border-box!important;
  max-width:100%!important;
  min-width:0!important;
  margin:18px auto 30px!important;
  padding:clamp(14px,3.5vw,30px)!important;
  background:#fffdf8!important;
  border:1px solid #d8cbb4!important;
  border-radius:22px!important;
  box-shadow:0 10px 30px rgba(54,42,26,.065)!important;
}
/* Style headings only: do not touch purchase-state chips, buttons, URLs,
   link click areas, Reader card image sizing or authentication forms. */
body.takeoca-press-reader .ecz-reader-library h2,
body.takeoca-press-reader .ecz-reader-library h3 {
  color:#20242a!important;
}
body.takeoca-press-reader .tpps-reader-banner-fallback-v1121 {
  box-sizing:border-box!important;
  background:#fffdf8!important;
  border-color:#d8cbb4!important;
  border-radius:22px!important;
  box-shadow:0 10px 30px rgba(54,42,26,.065)!important;
  margin:6px auto 20px!important;
}
/* No menu widget: the shared top-style two-link navigation is the sole
   public site header. The WP admin toolbar is intentionally untouched. */
body.takeoca-press-reader .tp-site-header .tpps-mobile-nav {
  display:none!important;
}
@media(max-width:600px){
  body.takeoca-press-reader .wp-site-blocks > main {
    width:calc(100% - 24px)!important;
    padding:14px 0 28px!important;
  }
  body.takeoca-press-reader .wp-block-post-content .ecz-reader-library,
  body.takeoca-press-reader .entry-content .ecz-reader-library {
    padding:16px 12px!important;
    border-radius:20px!important;
    margin:14px auto 22px!important;
  }
}


/* v1.1.24: Full TOP-equivalent navigation on the TAKEOCA WordPress public pages.
   Scope: only the official public-header ID generated by this plugin. The
   protected Reader viewer, payment, admin and separate static TOP are untouched.
   All five labels stay in the DOM at every width and in the same order as TOP. */
#tpps-top-unified-v122 .tpps-top-quicknav-v122 {
  flex:0 1 auto!important;
  gap:clamp(6px,1vw,14px)!important;
  min-width:0!important;
  max-width:calc(100% - 180px)!important;
}
#tpps-top-unified-v122 .tpps-top-quicknav-v122 a {
  font-size:clamp(11px,1.05vw,13px)!important;
  padding:8px 3px!important;
}
#tpps-top-unified-v122 .tpps-top-quicknav-v122 a:hover {
  color:#17212d!important;
  text-decoration:underline!important;
  text-underline-offset:4px;
}
@media(max-width:980px) {
  #tpps-top-unified-v122 .tp-brand {
    flex:0 0 auto!important;
    max-width:42%!important;
  }
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 {
    flex:1 1 auto!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none!important;
    scroll-behavior:smooth;
    gap:12px!important;
    padding-inline:3px!important;
  }
  #tpps-top-unified-v122 .tpps-top-quicknav-v122::-webkit-scrollbar {
    display:none!important;
  }
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 a {
    font-size:12px!important;
    padding:9px 2px!important;
    white-space:nowrap!important;
  }
}
@media(max-width:520px) {
  #tpps-top-unified-v122 .tp-site-shell {width:calc(100% - 16px)!important;}
  #tpps-top-unified-v122 .tp-header-inner {
    flex-flow:row nowrap!important;
    flex-wrap:nowrap!important;
    min-height:58px!important;
    max-height:62px!important;
  }
  #tpps-top-unified-v122 .tp-brand {gap:5px!important;max-width:45%!important;}
  #tpps-top-unified-v122 .tp-brand-mark {
    width:30px!important;height:30px!important;
    min-width:30px!important;max-width:30px!important;flex-basis:30px!important;
  }
  #tpps-top-unified-v122 .tp-brand-ja {font-size:12px!important;}
  #tpps-top-unified-v122 .tp-brand-en {font-size:7px!important;}
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 {gap:12px!important;}
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 a {font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce) {
  #tpps-top-unified-v122 .tpps-top-quicknav-v122 {scroll-behavior:auto;}
}

/* v1.1.26 | Canonical TAKEOCA header: same markup, image and presentation
   as the independent contact page and static publisher TOP. All rules are
   scoped to THIS WordPress plugin's public header and do not touch Reader
   authentication, orders, payment, customer data or WP admin.

   REGRESSION ROOT CAUSE: v1.1.25 declared margin:0!important on
   .tp-header-inner, which is the SAME ELEMENT as .tp-site-shell; that
   overrode margin-inline:auto!important and threw the brand to the far left.
   Both selectors are now unified into a single centered rule below.
*/
#tpps-top-unified-v122.tp-site-header {
  box-sizing:border-box!important;
  display:block!important;
  position:sticky!important;
  top:0!important;
  z-index:980!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(226,217,201,.85)!important;
  background:rgba(247,243,235,.92)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
  text-align:left!important;
  color:#20242a!important;
  overflow:visible!important;
}
#tpps-top-unified-v122 *,
#tpps-top-unified-v122 *::before,
#tpps-top-unified-v122 *::after{box-sizing:border-box!important;}
/* The contact/static TOP uses 1180px, 32px total viewport gutters.
   .tp-site-shell and .tp-header-inner are one element, not nested boxes. */
#tpps-top-unified-v122 .tp-site-shell.tp-header-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  min-width:0!important;
  min-height:72px!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  gap:24px!important;
  border:0!important;
  background:transparent!important;
  position:relative!important;
  transform:none!important;
}
#tpps-top-unified-v122 .tp-brand{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  gap:12px!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#20242a!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:1.25!important;
  text-decoration:none!important;
  text-transform:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#tpps-top-unified-v122 .tp-brand-mark{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(23,33,45,.10)!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(23,33,45,.18)!important;
  overflow:hidden!important;
}
#tpps-top-unified-v122 .tp-brand-mark-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
#tpps-top-unified-v122 .tp-brand-text{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  text-align:left!important;
  line-height:1.25!important;
  font-family:inherit!important;
  text-transform:none!important;
}
#tpps-top-unified-v122 .tp-brand-ja{
  display:block!important;
  font-family:inherit!important;
  font-size:17px!important;
  font-weight:700!important;
  font-style:normal!important;
  line-height:1.25!important;
  letter-spacing:.08em!important;
  color:#20242a!important;
  white-space:nowrap!important;
  text-transform:none!important;
  text-align:left!important;
}
#tpps-top-unified-v122 .tp-brand-en{
  display:block!important;
  margin-top:4px!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:700!important;
  font-style:normal!important;
  line-height:1.25!important;
  letter-spacing:.18em!important;
  color:#9a7a4d!important;
  white-space:nowrap!important;
  text-transform:none!important;
  text-align:left!important;
}
#tpps-top-unified-v122 .tp-global-nav{
  display:flex!important;
  position:static!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
#tpps-top-unified-v122 .tp-global-nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:9px 11px!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-transform:none!important;
  color:#39414a!important;
  text-decoration:none!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:background-color .18s ease,color .18s ease;
}
#tpps-top-unified-v122 .tp-global-nav a:hover,
#tpps-top-unified-v122 .tp-global-nav a:focus-visible{
  background:#fff!important;
  color:#17212d!important;
  text-decoration:none!important;
  opacity:1!important;
}
#tpps-top-unified-v122 a:focus-visible{
  outline:3px solid rgba(154,122,77,.55)!important;
  outline-offset:4px!important;
}
body.admin-bar #tpps-top-unified-v122.tp-site-header{top:32px!important;}
/* Match the canonical TOP mobile navigation: keep book and library links. */
@media(max-width:980px){
 #tpps-top-unified-v122 .tp-global-nav{gap:4px!important;}
 #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader){display:none!important;}
 #tpps-top-unified-v122 .tp-global-nav a.tp-nav-books,
 #tpps-top-unified-v122 .tp-global-nav a.tp-nav-reader{
    display:inline-flex!important;
    font-size:12px!important;
    padding:9px 10px!important;
 }
}
@media(max-width:700px){
 #tpps-top-unified-v122 .tp-site-shell.tp-header-inner{
    width:min(calc(100% - 22px),1180px)!important;
    min-height:64px!important;
    max-height:none!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    padding:10px 0!important;
    margin:0 auto!important;
 }
 #tpps-top-unified-v122 .tp-brand{gap:12px!important;max-width:none!important;}
 #tpps-top-unified-v122 .tp-brand-mark{
    width:38px!important;height:38px!important;
    min-width:38px!important;max-width:38px!important;
    min-height:38px!important;max-height:38px!important;
    flex-basis:38px!important;
 }
 #tpps-top-unified-v122 .tp-brand-ja{font-size:15px!important;letter-spacing:.08em!important;}
 #tpps-top-unified-v122 .tp-brand-en{display:block!important;font-size:9px!important;letter-spacing:.18em!important;}
 #tpps-top-unified-v122 .tp-global-nav{
    display:flex!important;
    width:100%!important;
    flex:0 0 100%!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    gap:2px!important;
 }
 #tpps-top-unified-v122 .tp-global-nav a.tp-nav-books,
 #tpps-top-unified-v122 .tp-global-nav a.tp-nav-reader{
    display:inline-flex!important;
    font-size:12px!important;
    padding:8px 9px!important;
 }
}
@media(max-width:782px){body.admin-bar #tpps-top-unified-v122.tp-site-header{top:46px!important;}}
@media(prefers-reduced-motion:reduce){
 #tpps-top-unified-v122 *{transition:none!important;}
}

/* v1.1.27 | Japanese TAKEOCA PRESS brand typography only.
   Same Mincho system on the WordPress public pages. Keep existing header
   centering, width, mobile navigation and all other typography unchanged. */
#tpps-top-unified-v122.tp-site-header .tp-brand-text .tp-brand-ja {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Noto Serif CJK JP", "MS PMincho", serif !important;
  font-weight: 600 !important;
}


/* v1.1.29 — Library landing's mobile navigation parity.
 * Root cause: v1.1.26 CSS intentionally hides author/blog/contact at <=980px.
 * The five anchors already exist in the correct PHP markup; v1.1.28
 * replaced their header but did not reverse that CSS display:none rule.
 * Scope strictly to public library landing, not protected /press/reader/,
 * purchases, the standalone contact page, or author/blog layouts.
 */
@media(max-width:980px) {
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-site-shell.tp-header-inner {
    flex-wrap:wrap!important;
    min-height:72px!important;
    max-height:none!important;
    height:auto!important;
    padding:10px 0!important;
    gap:6px!important;
  }
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav {
    display:flex!important;
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    overflow:visible!important;
    gap:3px 6px!important;
  }
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a,
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader),
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a.tp-nav-books,
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a.tp-nav-reader {
    display:inline-flex!important;
    visibility:visible!important;
    flex:0 0 auto!important;
    font-size:12px!important;
    padding:7px 8px!important;
    line-height:1.4!important;
    white-space:nowrap!important;
  }
}
@media(max-width:700px) {
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-site-shell.tp-header-inner {
    width:min(1180px,calc(100% - 22px))!important;
    margin:0 auto!important;
  }
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav {
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:2px 4px!important;
  }
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a,
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader) {
    padding:6px 7px!important;
    font-size:12px!important;
  }
}
@media(max-width:360px){
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a,
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader) {
    font-size:11px!important;
    padding:6px!important;
  }
}


/* v1.1.30 — Preserve the exact public Library header reference layout on all WP public pages.
   Author, Blog, Book Details, public Library: identical 5-link wrap at <=980px.
   Never apply outside the public header ID or within private Reader Viewer. */
/* v1.1.29 — Library landing's mobile navigation parity.
 * Root cause: v1.1.26 CSS intentionally hides author/blog/contact at <=980px.
 * The five anchors already exist in the correct PHP markup; v1.1.28
 * replaced their header but did not reverse that CSS display:none rule.
 * Scope strictly to public library landing, not protected /press/reader/,
 * purchases, the standalone contact page, or author/blog layouts.
 */
@media(max-width:980px) {
  #tpps-top-unified-v122 .tp-site-shell.tp-header-inner {
    flex-wrap:wrap!important;
    min-height:72px!important;
    max-height:none!important;
    height:auto!important;
    padding:10px 0!important;
    gap:6px!important;
  }
  #tpps-top-unified-v122 .tp-global-nav {
    display:flex!important;
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    overflow:visible!important;
    gap:3px 6px!important;
  }
  #tpps-top-unified-v122 .tp-global-nav a,
  #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader),
  #tpps-top-unified-v122 .tp-global-nav a.tp-nav-books,
  #tpps-top-unified-v122 .tp-global-nav a.tp-nav-reader {
    display:inline-flex!important;
    visibility:visible!important;
    flex:0 0 auto!important;
    font-size:12px!important;
    padding:7px 8px!important;
    line-height:1.4!important;
    white-space:nowrap!important;
  }
}
@media(max-width:700px) {
  #tpps-top-unified-v122 .tp-site-shell.tp-header-inner {
    width:min(1180px,calc(100% - 22px))!important;
    margin:0 auto!important;
  }
  #tpps-top-unified-v122 .tp-global-nav {
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:2px 4px!important;
  }
  #tpps-top-unified-v122 .tp-global-nav a,
  #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader) {
    padding:6px 7px!important;
    font-size:12px!important;
  }
}
@media(max-width:360px){
  #tpps-top-unified-v122 .tp-global-nav a,
  #tpps-top-unified-v122 .tp-global-nav a:not(.tp-nav-books):not(.tp-nav-reader) {
    font-size:11px!important;
    padding:6px!important;
  }
}


/* v1.1.31: Three legal notices next to Reader in the BOTTOM footer only. */
.tpps-site-footer nav a.tpps-footer-legal{display:inline-flex;align-items:center;white-space:normal;overflow-wrap:anywhere;font-weight:600;text-underline-offset:3px}
.tpps-site-footer nav a.tpps-footer-legal:focus-visible{outline:3px solid #6f9fc8;outline-offset:3px}
@media(max-width:620px){.tpps-site-footer nav a.tpps-footer-legal{font-size:12px;line-height:1.6}}


/* v1.1.32 | Book-page presentation only: consistent understated 10px corners.
 * Targets original book-page controls without touching PayPay checkout pages,
 * Reader, navigation, admin, payment URLs, prices or order state. */
body.takeoca-press-book-detail main .wp-block-post-content .wp-block-button__link,
body.takeoca-press-book-detail main .entry-content .wp-block-button__link,
body.takeoca-press-book-detail main a[href*="/order/"][href*="choice="],
body.takeoca-press-book-detail main a[href*="booth.pm/items/"],
body.takeoca-press-book-detail main a[href*="amazon.co.jp/"],
body.takeoca-press-book-detail main a[href*="/ryu-takeoca/"]{
  border-radius:10px!important;
}
/* Book genre chips — including SF小説 / 生成AI / 実験的小説. */
body.takeoca-press-book-detail main :is(.book-tags a,.book-tags span,.book-tag,.book-chip,.book-badge,.book-label,.book-genre,.genre-tag,.genre-badge,.tag-list > *, .book-chips > *){
  border-radius:10px!important;
}


/* v1.1.37 — Mobile layout: repair the padded WordPress ancestor, not
   individual cards. In v1.1.33–36 fixed viewport widths were assigned inside
   a narrower theme layout; auto margins then cannot center the overflowing box.
   Scope is ONLY the public blog and free-mail subscription pages on phones. */
@media (max-width:680px){
  /* Make the direct public-page layout a genuine, symmetrical viewport box. */
  body.takeoca-press-public:is(.takeoca-press-blog,.takeoca-press-subscribe) .wp-site-blocks,
  body.takeoca-press-public:is(.takeoca-press-blog,.takeoca-press-subscribe) .wp-site-blocks > main,
  body.takeoca-press-public:is(.takeoca-press-blog,.takeoca-press-subscribe) .wp-site-blocks > main > .wp-block-group,
  body.takeoca-press-public:is(.takeoca-press-blog,.takeoca-press-subscribe) .wp-site-blocks > main > .wp-block-group > .wp-block-group{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  /* One centered content width: 12px left and right at the viewport edge. */
  body.takeoca-press-public:is(.takeoca-press-blog,.takeoca-press-subscribe) .wp-block-post-content,
  body.takeoca-press-public:is(.takeoca-press-blog,.takeoca-press-subscribe) .entry-content{
    box-sizing:border-box!important;
    position:static!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  /* The intro and article archive fill their parent rather than the viewport. */
  body.takeoca-press-blog .tpps-blog-hero,
  body.takeoca-press-blog .tpps-tkp-core--blog,
  body.takeoca-press-blog .tkpap-blog-archive,
  body.takeoca-press-blog .tkpap-blog-single{
    box-sizing:border-box!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  /* Keep the readable 20px internal padding of the previous working
     article design; only the OUTER alignment is being repaired. */
  body.takeoca-press-blog .tkpap-blog-archive-card{
    box-sizing:border-box!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  /* The subscription card has the same parent; form elements must include
     their own padding and borders in 100% width (no horizontal spill). */
  body.takeoca-press-subscribe .tpps-tkp-core--subscribe,
  body.takeoca-press-subscribe .tkpap-subscribe-simple,
  body.takeoca-press-subscribe .tkpap-subscribe-simple-form,
  body.takeoca-press-subscribe .tkpap-subscribe-form{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.takeoca-press-subscribe input[type="email"],
  body.takeoca-press-subscribe .tkpap-subscribe-simple-button,
  body.takeoca-press-subscribe .tkpap-subscribe-button{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}


/* v1.1.39 — Blog archive's embedded email subscription form ONLY.
 * TKP's inline style sets input width:100% with 14px padding on each side;
 * without border-box the input becomes 30px wider than the grid cell.
 * The standalone subscription-page fix does not apply to the blog archive.
 * Keep the already-correct button, card, typography and every other page. */
@media (max-width:680px){
  body.takeoca-press-public.takeoca-press-blog .tkpap-subscribe-box .tkpap-subscribe-form input[type="email"]{
    box-sizing:border-box!important;
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* v1.1.40 — Author page, phone widths only.
 * The author/works/about elements were still inside WordPress's padded block
 * layout (unlike the blog page corrected in v1.1.37). Normalize ONLY this
 * author's main content wrapper to the proven 12px symmetrical outer gutters.
 * Never modify site header, Reader, blog, standalone subscription, books,
 * buttons, WordPress data or desktop layout. */
@media (max-width:680px){
  body.takeoca-press-public.takeoca-press-author .wp-site-blocks,
  body.takeoca-press-public.takeoca-press-author .wp-site-blocks > main,
  body.takeoca-press-public.takeoca-press-author .wp-site-blocks > main > .wp-block-group,
  body.takeoca-press-public.takeoca-press-author .wp-site-blocks > main > .wp-block-group > .wp-block-group{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body.takeoca-press-public.takeoca-press-author .wp-block-post-content,
  body.takeoca-press-public.takeoca-press-author .entry-content{
    box-sizing:border-box!important;
    position:static!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body.takeoca-press-public.takeoca-press-author .tpps-author-hero,
  body.takeoca-press-public.takeoca-press-author .tpps-section-heading,
  body.takeoca-press-public.takeoca-press-author .tpps-tkp-core,
  body.takeoca-press-public.takeoca-press-author .tpps-works,
  body.takeoca-press-public.takeoca-press-author .tpps-about{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body.takeoca-press-public.takeoca-press-author .tpps-author-mark,
  body.takeoca-press-public.takeoca-press-author .tpps-author-copy,
  body.takeoca-press-public.takeoca-press-author .tpps-book-grid{
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }
}

/* v1.1.41 — Author page embedded email subscription input width ONLY.
 * TKP's inline input has width:100% plus 14px horizontal padding and a
 * 1px border per side (30px overflow with content-box). The identical blog
 * form was repaired in v1.1.39, but that rule was scoped to the blog page.
 * Keep the author card, button, layout, typography and submit logic intact. */
@media (max-width:680px){
  body.takeoca-press-public.takeoca-press-author .tkpap-subscribe-box .tkpap-subscribe-form input[type="email"]{
    box-sizing:border-box!important;
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* v1.1.42 — Mobile width only for the FOUR published book-detail pages.
 * Their WordPress block-theme parent wrappers still inset the whole book,
 * unlike the already corrected author/blog pages. Expand the page wrapper,
 * then let the existing ivory cards fill their natural available column.
 * Do not alter checkout buttons, their styles, hrefs, prices, click handlers,
 * embedded preview, commerce/Reader paths or desktop styling. */
@media (max-width:680px){
  body.takeoca-press-book-detail .wp-site-blocks,
  body.takeoca-press-book-detail .wp-site-blocks > main,
  body.takeoca-press-book-detail .wp-site-blocks > main > .wp-block-group,
  body.takeoca-press-book-detail .wp-site-blocks > main > .wp-block-group > .wp-block-group{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.takeoca-press-book-detail .wp-block-post-content,
  body.takeoca-press-book-detail .entry-content{
    box-sizing:border-box!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-width:0!important;
    margin:16px auto 40px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.takeoca-press-book-detail .wp-block-post-content > :is(.wp-block-group,.wp-block-columns,section,article,div),
  body.takeoca-press-book-detail .entry-content > :is(.wp-block-group,.wp-block-columns,section,article,div){
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.takeoca-press-book-detail :is(
    .tpps-book-hero-v117,
    .tpps-book-section-card-v118,
    .tpps-book-section-part-v118,
    .tpps-book-matched-surface,
    .tpps-unified-surface-v116,
    .tpps-unified-author-v116,
    .tpps-synopsis-visible-outer-v114,
    .tpps-purchase-outer-ivory-v115
  ){
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* v1.1.43 | 静かな書庫 公開案内＋閲覧画面：スマホの外枠幅のみ統一。
 * 対象: /press/special/ と /press/special/reader/ の既存 body class。
 * 上位 WordPress ブロック余白と Reader 内側の二重余白を調整し、
 * 両画面ともカードの外側を左右12pxへ揃える。
 * Reader本体/PDF/認証/ボタン/URL/全画面表示/PCは変更しない。 */
@media (max-width:680px){
  body.takeoca-press-reader .wp-site-blocks{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding-inline:0!important;
  }
  body.takeoca-press-reader .wp-site-blocks > main{
    box-sizing:border-box!important;
    width:calc(100% - 24px)!important;
    min-width:0!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  body.takeoca-press-reader .wp-site-blocks > main > .wp-block-group,
  body.takeoca-press-reader .wp-site-blocks > main > .wp-block-group > .wp-block-group{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  body.takeoca-press-reader .wp-site-blocks > main .wp-block-post-content,
  body.takeoca-press-reader .wp-site-blocks > main .entry-content{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  /* Readerの公開本棚・購入者向け閲覧とも、外側の二重paddingを解消。
     Reader内部の各カードの余白やボタン配置には触れない。 */
  body.takeoca-press-reader .ecz-library-page{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  body.takeoca-press-reader .ecz-library-page > .ecz-library-hero,
  body.takeoca-press-reader .ecz-library-page > .ecz-library-section,
  body.takeoca-press-reader .ecz-library-page > .ecz-library-reader-panel{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-inline:auto!important;
  }
}

/* v1.1.44 | 静かな書庫: 最後のカードから共通フッターまでの過剰な空白を解消。
 * 680px以下の /press/special/ と /press/special/reader/ のみ。
 * Reader のカード内部・閲覧領域・認証・操作系・PCは変更しない。 */
@media (max-width:680px){
  body.takeoca-press-reader .ecz-library-page{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  body.takeoca-press-reader .ecz-library-page > :last-child{
    margin-bottom:0!important;
  }
  body.takeoca-press-reader .wp-site-blocks > main{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  body.takeoca-press-reader .tpps-site-footer{
    margin-top:22px!important;
  }
}

/* v1.1.45 | Six-item primary navigation. Mobile: stable 3 x 2 grid.
 * Navigation only. Do not change reader controls, checkout buttons, links or
 * page content. Desktops retain existing brand/header layout. */
@media(max-width:700px){
  body.takeoca-press-public #tpps-top-unified-v122 .tp-global-nav.tpps-nav-v145,
  #tpps-top-unified-v122 .tp-global-nav.tpps-nav-v145{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:center!important;
    justify-content:stretch!important;
    column-gap:3px!important;
    row-gap:3px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #tpps-top-unified-v122 .tp-global-nav.tpps-nav-v145 a,
  #tpps-top-unified-v122 .tp-global-nav.tpps-nav-v145 a:not(.tp-nav-books):not(.tp-nav-reader),
  body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav.tpps-nav-v145 a,
  html body.takeoca-press-reader #tpps-top-unified-v122 .tp-global-nav.tpps-nav-v145 a:not(.tp-nav-books):not(.tp-nav-reader){
    display:block!important;
    visibility:visible!important;
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:6px 0!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:clamp(11px,3.12vw,12px)!important;
    line-height:1.45!important;
    letter-spacing:normal!important;
  }
}

/* v1.1.46: nav visual consistency repair, all six items in one ordered row.
 * Overrides stale 5-item/hide rules; no page content, footer URLs or controls. */
@media(max-width:980px){
 html body #tpps-top-unified-v122.tp-site-header .tp-global-nav.tpps-nav-v145.tpps-nav-v145{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:0!important;
  overflow:visible!important;
 }
 html body #tpps-top-unified-v122.tp-site-header .tp-global-nav.tpps-nav-v145.tpps-nav-v145>a,
 html body #tpps-top-unified-v122.tp-site-header .tp-global-nav.tpps-nav-v145.tpps-nav-v145>a:not(.tp-nav-books):not(.tp-nav-reader){
  display:inline-flex!important;
  visibility:visible!important;
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:7px 1px!important;
  white-space:nowrap!important;
  font-size:clamp(9.5px,3vw,12px)!important;
  letter-spacing:-.02em!important;
  line-height:1.45!important;
  text-align:center!important;
 }
 html body #tpps-top-unified-v122.tp-site-header .tp-site-shell.tp-header-inner{
   flex-wrap:wrap!important;
 }
}


/* v1.1.50 — Book-detail mobile header: prevent the invisible WP admin
   toolbar reservation from leaving a gap above the sticky navigation.
   Narrow scope: four book-detail templates, signed-in admin only, small
   screens only. Never reaches checkout/Reader/Contact or static homepage. */
@media (max-width: 782px) {
  html body.admin-bar.takeoca-press-book-detail #tpps-top-unified-v122.tp-site-header {
    top: 0 !important;
  }
}


/* v1.1.51 — Public library landing only: eliminate the 46px mobile sticky-header
 * offset when the WordPress admin toolbar is not visible in the reader's
 * in-app browser. Same single-rule approach as v1.1.50 book detail.
 * Scope: /press/special/ and /press/special/reader/ only, via PHP body class.
 * Do not alter protected PDF viewer, Reader plugin, payments, links, or menus. */
@media (max-width: 782px) {
  html body.admin-bar.takeoca-press-reader #tpps-top-unified-v122.tp-site-header {
    top: 0 !important;
  }
}


/* TKP 1.10.37: BOOK PREVIEW SINGLE-CARD — KOHAKU VISUAL BASELINE
 * Use exactly the same Preview chrome for every ISBN including future books.
 * The old book-page heading classifier must NEVER create a SECOND gold card
 * inside the Preview widget.  This sheet is only loaded on public WP pages;
 * Reader library, purchases, static TOP, Contact, and CAN preview unchanged.
 * Source HTML/shortcodes/PDFs/options are untouched.
 */
body.takeoca-press-book-detail .ecz-preview-reader--book {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:980px!important;
  min-width:0!important;
  margin:clamp(18px,3vw,32px) auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
/* ONE outside ivory/gold card. No extra blue panel around the heading. */
body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__inner {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  background:#fffdf8!important;
  background-image:none!important;
  border:1px solid rgba(154,122,77,.32)!important;
  border-radius:20px!important;
  box-shadow:0 14px 32px rgba(40,36,28,.075)!important;
  padding:clamp(16px,2.6vw,30px)!important;
  overflow:visible!important;
}
/* The header is only typography and a divider, never a nested card.
 * The specificity also neutralizes any legacy .tpps-unified-surface-v116
 * class saved by a previous cosmetic DOM pass. */
body.takeoca-press-book-detail .wp-block-post-content .ecz-preview-reader--book .ecz-preview-reader__head,
body.takeoca-press-book-detail .entry-content .ecz-preview-reader--book .ecz-preview-reader__head {
  box-sizing:border-box!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 0 18px!important;
  overflow:visible!important;
}
body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__head h2 {
  box-sizing:border-box!important;
  color:#20242a!important;
  font-size:clamp(1.25rem,4.7vw,1.55rem)!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  line-height:1.5!important;
  border:0!important;
  border-bottom:1px solid #dbe3ea!important;
  background:transparent!important;
  padding:0 0 13px!important;
  margin:0 0 13px!important;
}
body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__head p {
  box-sizing:border-box!important;
  color:#64748b!important;
  font-size:clamp(.95rem,3.7vw,1.05rem)!important;
  line-height:1.8!important;
  overflow-wrap:anywhere;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}
body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__book,
body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__nav {
  max-width:100%!important;
  min-width:0!important;
}
@media(max-width:768px){
 body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__inner{
   padding:16px!important;
   border-radius:18px!important;
   box-shadow:0 8px 24px rgba(40,36,28,.06)!important;
 }
 body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__head{
   margin-bottom:18px!important;
 }
 body.takeoca-press-book-detail .ecz-preview-reader--book .ecz-preview-reader__head h2{
   font-size:1.27rem!important;
 }
}
/* A full-screen preview needs its own neutral backdrop, not the book card. */
body.takeoca-press-book-detail .ecz-preview-reader--book.is-ecz-preview-fullscreen .ecz-preview-reader__inner{
  background:#f8fafc!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
