/* 方块基座 · 内容详情页统一样式。仅在 gb-detail 下生效。 */
body.gb-detail {
  --gm-bg:#edf0e9; --gm-surface:#fffefa; --gm-surface-soft:#e2e5dc;
  --gm-text:#20251e; --gm-text-muted:#596153; --gm-accent:#3b7322;
  --paper:#edf0e9; --paper-warm:#fffefa; --ink:#20251e; --ink-soft:#596153;
  --indigo:#315e23; --amber:#3b7322; --moss:#315e23; --flare:#3b7322;
  --detail-edge:#343b30; --detail-line:#b7beae; --detail-panel:#fffefa;
  --detail-shadow:inset 3px 3px 0 #fff,inset -3px -3px 0 #d8ddcf,4px 4px 0 #343b30;
  background:#edf0e9; color:#20251e;
}
.gb-detail .gm-shell,.gb-detail .gm-main{background:transparent;color:var(--ink)}
.gb-detail .gm-main{
  background-image:linear-gradient(90deg,#8a9a7910 1px,transparent 1px),linear-gradient(#8a9a7910 1px,transparent 1px);
  background-size:32px 32px;
}
.gb-detail .nav.nav--inner{background:#f5f5f1;border-bottom:2px solid var(--detail-edge);backdrop-filter:none}
.gb-detail .gm-shellbar{background:#d9eaf0;border-bottom:4px solid #6a8c4e;color:#28372b}
.gb-detail .gm-shellcrumb{color:#344633}
.gb-detail .gm-shellcrumb a{color:#344633}
.gb-detail :is(.gm-single-header,.gm-learn__concept,.gm-hist__head,.gm-research__head,.gm-ip__head,.gm-songs__onehead,.gm-page-hero){
  background:var(--detail-panel);border:2px solid var(--detail-edge);border-top:8px solid #628c43;
  border-radius:0;box-shadow:var(--detail-shadow);padding:30px;margin:14px 0 34px;
}
.gb-detail :is(.gm-single-header,.gm-learn__concept,.gm-hist__head,.gm-research__head,.gm-ip__head,.gm-songs__onehead,.gm-page-hero) h1{
  font-family:var(--sans,system-ui,sans-serif);font-weight:800;font-size:clamp(28px,3.4vw,42px);
  line-height:1.45;letter-spacing:.01em;color:var(--ink);text-shadow:2px 2px 0 #dce2d3;
  overflow-wrap:anywhere;
}
.gb-detail :is(.gm-learn,.gm-hist,.gm-research,.gm-ip,.gm-songs){color:var(--ink)}
.gb-detail :is(.gm-learn__section,.gm-hist__section,.gm-research__section,.gm-ip__section,.gm-songs__note){
  margin-top:32px;
}
.gb-detail :is(.gm-learn__section,.gm-hist__section,.gm-research__section,.gm-ip__section,.gm-songs__note) > h2{
  font-family:var(--sans,system-ui,sans-serif);color:var(--ink);font-size:21px;
  border-bottom:2px solid var(--detail-line);padding-bottom:12px;line-height:1.65;
}
.gb-detail :is(.gm-learn__section,.gm-hist__section,.gm-research__section,.gm-ip__section,.gm-songs__note) > h2::before{
  content:"";display:inline-block;width:10px;height:10px;background:#628c43;
  box-shadow:3px 3px 0 #2c491c;margin:0 13px 2px 0;
}
.gb-detail :is(.gm-learn__count,.gm-ip__section-sub,.gm-research__section-sub){color:var(--ink-soft)}
.gb-detail :is(.gm-single-card > .gm-toc,.gm-digest,.gm-annotations,.gm-discussion,.gm-inline-ask,.gm-related-slip,.gm-series-nav,.gm-learn__card,.gm-hist__scene-block,.gm-hist__notes,.gm-research__stance,.gm-ip__themes,.gm-ip__char-chip,.gm-songs__sheet){
  background:var(--detail-panel);color:var(--ink);border:2px solid var(--detail-edge);border-radius:0;
  box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #d8ddcf,3px 3px 0 #b0b8a4;
}
.gb-detail :is(.gm-digest__head,.gm-annotations__header){background:#e1e5da;border-radius:0;border-bottom:2px solid var(--detail-line)}
.gb-detail :is(.gm-digest__head h2,.gm-annotations__header h2,.gm-discussion h2,.gm-inline-ask h3){font-family:var(--sans);color:var(--ink)}
.gb-detail :is(.gm-annotations__form,.gm-discussion__actions){background:var(--detail-panel);border-color:var(--detail-line)}
.gb-detail .gm-learn__ask{
  background:#e2e8d6;border:2px solid var(--detail-edge);border-radius:0;
  box-shadow:inset 3px 3px 0 #f7faef,inset -3px -3px 0 #b5c1a2;padding:22px;
}
.gb-detail .gm-learn__ask-q{color:var(--ink)}
.gb-detail :is(.gm-tag,.gm-learn__tag,.gm-hist__badge,.gm-hist__chip,.gm-research__badge,.gm-research__chip,.gm-ip__badge,.gm-ip__chip,.gm-songs__zhe,.rv-chip){
  border-radius:0;background:#e5eadc;color:#315e23;border:1px solid #8b9a7c;box-shadow:2px 2px 0 #ced6c3;
}
.gb-detail :is(.gm-archive-no,.gm-toc__label,.gm-foot-head,.gm-digest__head p,.gm-annotations__header p){color:#315e23}
.gb-detail :is(.gm-learn,.gm-hist,.gm-research,.gm-ip,.gm-songs,.gm-single-layout,.gm-page-layout) button:not(.gm-action-button--x){
  font-family:var(--sans,system-ui,sans-serif);font-weight:600;line-height:1.5;
  border:2px solid #252b22;border-radius:0;background:#c6c6c6;color:#15191a;
  padding:8px 14px 10px;min-height:42px;cursor:pointer;
  box-shadow:inset -4px -4px 0 #777e70,inset 4px 4px 0 #fff;
  transition:filter .08s steps(2),transform .08s steps(2);
}
.gb-detail :is(.gm-learn-btn--start,.gm-learn__comment-form button,.gm-learn__thought-form button,.gm-digest__go,.gm-annotations__form button[type=submit],.gm-discussion button[type=submit]){
  background:#3b7322;color:#fff;box-shadow:inset -4px -4px 0 #24481a,inset 4px 4px 0 #5f9a45;
}
.gb-detail :is(.gm-learn,.gm-hist,.gm-research,.gm-ip,.gm-songs,.gm-single-layout) button:enabled:hover{filter:brightness(1.08)}
.gb-detail :is(.gm-learn,.gm-hist,.gm-research,.gm-ip,.gm-songs,.gm-single-layout) button:enabled:active{transform:translate(2px,2px)}
.gb-detail :is(.gm-learn,.gm-hist,.gm-research,.gm-ip,.gm-songs,.gm-single-layout) button:disabled{opacity:.55;cursor:not-allowed}
.gb-detail :is(.gm-learn,.gm-hist,.gm-research,.gm-ip,.gm-songs,.gm-single-layout) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select){
  border:2px solid #646d5a;border-radius:0;background:#fffefa;color:#20251e;
  box-shadow:inset 3px 3px 0 #d9ddcf;max-width:100%;box-sizing:border-box;
}
.gb-detail :is(button,a,input,textarea,select):focus-visible{outline:3px dashed #3b7322;outline-offset:4px}
.gb-detail :is(.gm-single-intro,.gm-learn__def,.gm-research__summary,.gm-hist__summary,.gm-ip__logline){
  border-left:4px solid #628c43;color:var(--ink);border-radius:0;
}
.gb-detail :is(.gm-single-content,.gm-learn__body,.gm-hist__body,.gm-research__body,.gm-ip__body){color:var(--ink)}
.gb-detail :is(.gm-single-content,.gm-learn__body,.gm-hist__body,.gm-research__body,.gm-ip__body) h2{
  font-family:var(--sans);color:var(--ink);
}
.gb-detail .gm-single-content h2::before{content:"▪ ";color:#3b7322}
.gb-detail :is(.gm-single-content,.gm-learn__body,.gm-ip__body) :is(blockquote,pre,img,code){border-radius:0}
.gb-detail .gm-single-content blockquote{background:#e5eadc;border-left:4px solid #628c43;padding:18px 22px;color:#344633}
.gb-detail :is(.gm-ip__cover,.gm-ip__cover img,.gm-ip__char-face,.gm-ip__char-face img){border-radius:0}
.gb-detail :is(.gm-hist__baihua,.gm-hist__original,.gm-hist__scene,.gm-research__body-text,.gm-ip__body-text){color:var(--ink)}
.gb-detail .gm-review{--rv-paper:#edf0e9;--rv-ink:#20251e;--rv-rust:#315e23;background:transparent;color:#20251e}
.gb-detail .gm-review :is(.rv-main,.rv-side,.rv-claim,.rv-phase,.rv-t,.rv-coin,.rv-quote,.rv-band){border-radius:0}
.gb-detail .gm-review .rv-main{background:var(--detail-panel);border:2px solid var(--detail-edge);border-top:8px solid #628c43;box-shadow:var(--detail-shadow);padding:30px}
.gb-detail .gm-review h1{font-family:var(--sans);color:var(--ink);text-shadow:2px 2px 0 #dce2d3}
.gb-detail .gm-review :is(.rv-kicker,.rv-no,.rv-motto){color:#315e23}
.gb-detail .gm-review :is(.rv-quote,.rv-claim){background:#e5eadc;border-left-color:#628c43}
.gb-detail .gm-room-neighbors{border-top:4px solid #628c43;background:#e1e5da}
.gb-detail .gm-room-neighbors a{border-radius:0}
@media(max-width:768px){
 .gb-detail :is(.gm-single-header,.gm-learn__concept,.gm-hist__head,.gm-research__head,.gm-ip__head,.gm-songs__onehead,.gm-page-hero){padding:21px 18px;box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #d8ddcf,3px 3px 0 #343b30}
 .gb-detail .gm-review .rv-main{padding:20px 16px}
 .gb-detail .gm-learn__ask{padding:18px 14px}
 .gb-detail :is(.gm-learn__section,.gm-hist__section,.gm-research__section,.gm-ip__section) > h2{font-size:19px}
 .gb-detail .gm-learn__count{display:block;margin:8px 0 0;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.gb-detail *{transition:none!important}}
.gb-detail :is(.gm-single-header,.gm-learn__concept,.gm-hist__head,.gm-research__head,.gm-ip__head,.gm-songs__onehead,.gm-page-hero) h1{max-width:none;width:auto;text-wrap:pretty}
.gb-detail .gm-single-intro{max-width:none}
.gb-detail .gm-post-actions{flex-wrap:wrap}
.gb-detail .gm-review .rv-wrap > header{background:var(--detail-panel);border:2px solid var(--detail-edge);border-top:8px solid #628c43;box-shadow:var(--detail-shadow);padding:30px;margin:16px 0 30px}
.gb-detail .gm-review h1 em{color:#3b7322;font-style:normal}
.gb-detail .gm-review .rv-motto span{border:2px solid #646d5a;border-radius:0;background:#dce4d0;color:#315e23;box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #abb89a}
.gb-detail .gm-digest__quotes li{border-left-color:#628c43}
.gb-detail .gm-post-actions__stat{border:1px solid #8b9a7c;border-radius:0;background:#e5eadc;color:#315e23}
.gb-detail .gm-review .rv-chip.rv-open{background:#f4e2ac;color:#705719;border-color:#b4964a}
.gb-detail .gm-review .rv-chip.rv-ok{background:#dce9d3;color:#315e23}
@media(max-width:768px){.gb-detail .gm-review .rv-wrap > header{padding:21px 18px}}
.gb-detail :is(.gm-learn__section,.gm-hist__section,.gm-research__section,.gm-ip__section,.gm-songs__note) > h2{display:block}
.gb-detail :is(.gm-hist__original,.gm-hist__source blockquote){border-radius:0;border:2px solid #8b9a7c;background:#fffefa;box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #d8ddcf}
.gb-detail :is(.gm-hist__summary,.gm-research__summary){background:#e5eadc;padding:16px 20px}

/* 尚无公开作品的详情模板：沿用同一组件，保留许可、韵脚等语义颜色。 */
.gb-detail .gm-pt{--pt-paper:#edf0e9;--pt-card:#fffefa;--pt-ink:#20251e;--pt-blue:#315e23;--pt-amber:#3b7322;--pt-muted:#596153;--pt-line:#b7beae;--pt-wash:#e5eadc}
.gb-detail .gm-love{--love-paper:#edf0e9;--love-card:#fffefa;--love-ink:#20251e;--love-soft:#596153;--love-line:#b7beae;--love-flare:#3b7322}
.gb-detail :is(.gm-love__story-head,.pt-layer){background:var(--detail-panel);border:2px solid var(--detail-edge);border-top:8px solid #628c43;border-radius:0;box-shadow:var(--detail-shadow);padding:28px;margin-bottom:30px}
.gb-detail :is(.gm-love__story-head h1,.pt-detail h1){font-family:var(--sans)!important;color:var(--ink)!important;font-weight:800!important;text-shadow:2px 2px #dce2d3}
.gb-detail :is(.gm-love__card,.gm-love__badge,.gm-love__chip,.gm-love__cta,.pt-badge,.pt-lic,.pt-card-tags i,.gm-pt canvas,.pt-callout,.gm-songs__sheet,.gm-songs__note){border-radius:0}
.gb-detail :is(.gm-pt .pt-btn,.gm-songs__near a){border:2px solid #252b22;border-radius:0;background:#c6c6c6;color:#15191a;padding:8px 14px 10px;box-shadow:inset -4px -4px #777e70,inset 4px 4px #fff}
.gb-detail .gm-pt .pt-btn--go{background:#3b7322;color:#fff;box-shadow:inset -4px -4px #24481a,inset 4px 4px #5f9a45}
.gb-detail .gm-pt :is(input:not([type=range]),textarea,select){border:2px solid #646d5a;border-radius:0;background:#fffefa;color:#20251e;box-shadow:inset 3px 3px #d9ddcf;max-width:100%;box-sizing:border-box}
@media(max-width:768px){.gb-detail :is(.gm-love__story-head,.pt-layer){padding:21px 18px}}

/* 运行时生成的要点分享入口与关于页正文自带的联系卡片。 */
.gb-detail .gm-digest a.is-x,.gb-detail .gavin-x-link{
  border:2px solid #252b22;border-radius:0;background:#262b40;color:#fff;
  box-shadow:inset -3px -3px #12141f,inset 3px 3px #4a5276;
}
.gb-detail :is(.gavin-contact-card,.gavin-visitor-link){
  background:#fffefa;border:2px solid var(--detail-edge);border-radius:0;
  box-shadow:inset 3px 3px #fff,inset -3px -3px #d8ddcf,3px 3px #b0b8a4;
}
.gb-detail :is(.gavin-contact-image,.gavin-contact-label){border-radius:0}
.gb-detail .gavin-contact-label{background:#e5eadc;color:#315e23;border:1px solid #8b9a7c}
