
.site-head{background:var(--panel);border-bottom:1px solid var(--line);padding:1rem 0}
.site-head.has-banner{padding:0}
.site-head .shell{width:100%;max-width:var(--shell-max,52rem);margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;box-sizing:border-box}
.site-head.has-banner .shell{position:relative;isolation:isolate;--site-head-banner-inset-x:.625rem;padding-top:1rem;padding-bottom:1rem}
.site-head.has-banner .shell::before{content:"";position:absolute;inset:0 var(--site-head-banner-inset-x);z-index:0;border-radius:8px;background-image:var(--site-head-banner);background-size:cover;background-position:center 28%;pointer-events:none}
.site-head.has-banner .shell::after{content:"";position:absolute;inset:0 var(--site-head-banner-inset-x);z-index:0;border-radius:8px;background:linear-gradient(180deg,rgba(232,239,232,0.3000) 0%,rgba(221,232,221,0.4800) 68%,rgba(221,232,221,0.6600) 100%);pointer-events:none}
.site-head.has-banner .shell>*{position:relative;z-index:1}
.site-head.has-banner h1 a.site-title-link,.site-head.has-banner .site-title-tagline{color:var(--text);text-shadow:0 0 1px rgba(232,239,232,.95),0 1px 3px rgba(221,232,221,.78)}
.site-head.has-banner .site-beijing-time{text-shadow:0 0 1px rgba(232,239,232,.9),0 1px 2px rgba(221,232,221,.65)}
.site-head.has-banner .phrase-tagline{border-top-color:rgba(184,201,184,.38)}
.site-head.has-banner .phrase-tagline .phrase-en{color:var(--text);text-shadow:0 0 1px rgba(232,239,232,.92),0 1px 2px rgba(221,232,221,.72)}
.site-head.has-banner .phrase-tagline .phrase-dot,.site-head.has-banner .phrase-tagline .phrase-zh{text-shadow:none}
.site-head.has-banner .phrase-tagline .phrase-next{background:transparent;border-color:rgba(61,107,74,.32);color:var(--accent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.site-head.has-banner .phrase-tagline .phrase-next:hover{background:rgba(221,232,221,.22);border-color:rgba(61,107,74,.42)}
.site-head h1{font-size:1.2rem;font-weight:600;margin:0;letter-spacing:.02em;line-height:1.35;display:flex;flex-wrap:nowrap;align-items:baseline;gap:.5em;min-width:0}
@media (min-width:640px){.site-head h1{gap:.95em}}
@media (min-width:900px){.site-head h1{gap:1.35em}}
.site-title-tagline{font-size:.88rem;font-weight:400;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(58vw,20rem);flex:0 1 auto;min-width:0}
.site-head h1 a.site-title-link{color:inherit;text-decoration:none;font:inherit;font-weight:inherit;letter-spacing:inherit}
.site-head h1 a.site-title-link:hover,.site-head h1 a.site-title-link:focus,.site-head h1 a.site-title-link:active,.site-head h1 a.site-title-link:visited{color:inherit;text-decoration:none;background:transparent;outline:none}
.phrase-tagline{margin-top:.75rem;padding-top:.85rem;border-top:1px solid var(--line)}
.phrase-tagline .phrase-row{display:grid;grid-template-columns:1fr auto;column-gap:.65rem;row-gap:.5rem;align-items:end;margin-top:0}
.phrase-tagline .phrase-line{font-size:.95rem;line-height:1.6;min-height:calc(2 * 1.6em);margin:0;min-width:0;grid-column:1;grid-row:1;display:flex;align-items:center;overflow:hidden}
.phrase-tagline .phrase-line-inner{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;line-height:1.6;flex:1;min-width:0}
.phrase-tagline .phrase-next{font-size:.84rem;padding:.32rem .7rem;grid-column:2;grid-row:1;justify-self:end;align-self:end;margin:0 .12rem .1rem 0;position:relative}
.phrase-tagline .phrase-next::after{content:"";position:absolute;right:4px;bottom:4px;width:5px;height:5px;border-radius:50%;pointer-events:none}
.phrase-tagline .phrase-next.phrase-src-embed::after{background:rgba(201,158,72,.9);box-shadow:0 0 3px rgba(201,158,72,.5),0 0 7px rgba(201,158,72,.22)}
.phrase-tagline .phrase-next.phrase-src-external::after{background:rgba(92,138,104,.88);box-shadow:0 0 3px rgba(92,138,104,.48),0 0 7px rgba(92,138,104,.2)}
@media (max-width:639px){
  .phrase-tagline .phrase-line{grid-column:1/-1;grid-row:1}
  .phrase-tagline .phrase-next{grid-column:2;grid-row:2;justify-self:end}
}
.phrase-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem;margin-top:.35rem}
.phrase-line{flex:1;min-width:min(100%,12rem);font-size:.88rem;line-height:1.55;margin:0}
.phrase-en{font-style:italic;color:var(--text)}
.phrase-dot{color:var(--line)}
.phrase-zh{color:var(--muted)}
.phrase-next{border:1px solid var(--line);background:var(--panel);color:var(--accent);cursor:pointer;font-size:.8rem;padding:.28rem .65rem;border-radius:6px;white-space:nowrap}
.phrase-next:hover{background:rgba(61,107,74,.08)}
.site-beijing-time{display:block;font-size:.8rem;color:var(--muted);margin:.4rem 0 0;font-variant-numeric:tabular-nums}

body,:where(h1,h2,h3,h4,h5,h6,p,span,li,div,blockquote,pre,code,small,strong,em,td,th,dt,dd,
.site-head,.site-foot,.phrase-line,.site-foot-quote,.msg,.toast-wrap,
main.shell,section,.zhijian-page,.gomoku-page,.xiangqi-page,.texas-page,.zhijian-letter,.zhijian-hint,.zj-letter-top,.zj-letter-foot,.zj-material,.zj-mat-char,
.mp3-section,.mp3-title,.mp3-meta):not(input):not(textarea):not(select):not([contenteditable="true"]){
  caret-color:transparent
}
input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=image]),
textarea,.stash-textarea,select,[contenteditable="true"]{
  caret-color:auto
}
button,.phrase-next,.zhijian-btn,a.phrase-next,a[href],.site-foot-row .phrase-next,.site-foot-row button.phrase-next,
.site-foot-links a,.zhijian-key,.zhijian-infinite-btn,label,summary,[role="button"]{
  caret-color:transparent
}
.fs-decor-layer,.zj-fuse,.zj-fuse-track,.zj-fireworks,.foot-dice-overlay{
  overflow:hidden
}

:root{
  --bg:#e8efe8;--panel:#dde8dd;--text:#2d3b2d;--muted:#5a6b5a;
  --accent:#3d6b4a;--line:#b8c9b8;--input:#e0eae0;--shell-max:52rem;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
.shell{width:100%;max-width:var(--shell-max);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem;box-sizing:border-box}
.site-head .shell,.site-foot .shell{width:100%;max-width:var(--shell-max);box-sizing:border-box}
main.shell{width:100%;max-width:var(--shell-max);padding-top:1.25rem;padding-bottom:1.5rem;flex:1 0 auto;box-sizing:border-box}
main.shell.fs-home{overflow:visible}
main.shell > section{width:100%;box-sizing:border-box}
section{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem}
.phrase-next{border:1px solid var(--line);background:var(--panel);color:var(--accent);cursor:pointer;font-size:.8rem;padding:.28rem .65rem;border-radius:6px;white-space:nowrap}
.phrase-next:hover{background:rgba(61,107,74,.08)}
.toast-wrap{position:fixed;right:1rem;bottom:1rem;z-index:10000;max-width:min(96vw,22rem);display:flex;flex-direction:column;gap:.4rem;pointer-events:none}
.toast-wrap .toast{margin:0;padding:.5rem .65rem;border-radius:8px;font-size:.86rem;line-height:1.45;box-shadow:0 2px 10px rgba(0,0,0,.12);pointer-events:auto}
.toast-ok{background:rgba(220,240,220,.95);border:1px solid var(--line);color:var(--text)}
.toast-err{background:rgba(255,230,220,.95);border:1px solid #c9a090;color:#5a2a1a}

:root{
  --bg:#e8efe8;
  --panel:#dde8dd;
  --text:#2d3b2d;
  --muted:#5a6b5a;
  --line:#b8c9b8;
  --accent:#3d6b4a;
  --doc-surface:#d8e4d8;
  --doc-search-drop:rgba(216,228,216,.88);
}

.doc-home-grid{position:relative;margin-bottom:0;display:grid;grid-template-columns:1fr}
.doc-home-grid .doc-nav{grid-column:1;grid-row:1;margin:0 0 1rem}
.doc-home-grid .doc-feed,.doc-home-grid .doc-article-block{grid-column:1;grid-row:2;margin:0 0 1rem}
.doc-link-aside{grid-column:1;grid-row:1/3;justify-self:end;align-self:start;position:sticky;top:1.25rem;width:9rem;max-width:10.5rem;min-width:6.5rem;transform:translateX(calc(100% + .65rem));display:flex;flex-direction:column;gap:.65rem;z-index:3}
.doc-link-capsule{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.55rem .65rem;box-shadow:0 1px 3px rgba(45,59,45,.06)}
.doc-link-capsule-title{margin:0 0 .4rem;font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.02em}
.doc-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.doc-link-list a{display:block;font-size:.78rem;line-height:1.35;color:var(--accent);text-decoration:none;padding:.15rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-link-list a:hover,.doc-link-list a:focus{text-decoration:none;animation:doc-link-breathe 1.4s ease-in-out infinite}
@keyframes doc-link-breathe{0%,100%{opacity:1}50%{opacity:.5}}
@media(max-width:42rem){
.doc-home-grid{display:block}
.doc-home-grid .doc-nav,.doc-home-grid .doc-feed,.doc-home-grid .doc-article-block{grid-column:auto;grid-row:auto}
.doc-link-aside{grid-column:auto;grid-row:auto;justify-self:auto;position:static;transform:none;width:100%;max-width:none;margin:1rem 0 0}
}
.doc-nav,.doc-feed{margin:0 0 1rem;padding:0;background:transparent;border:0;box-shadow:none}
.doc-nav .doc-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.65rem .85rem .75rem;box-shadow:0 1px 3px rgba(45,59,45,.06)}
.doc-cats{display:flex;flex-wrap:nowrap;gap:.15rem;overflow-x:auto;margin:0 0 .6rem;padding:0 0 .15rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.doc-cats::-webkit-scrollbar{height:4px}
.doc-cat{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.84rem;padding:.35rem .55rem .4rem;cursor:pointer;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}
.doc-cat:hover{color:var(--text)}
.doc-cat.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.doc-search-row{position:relative;margin:0}
.doc-search-icon{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:flex}
.doc-search-input{width:100%;padding:.5rem .65rem .5rem 2.05rem;border:1px solid var(--line);border-radius:10px;background:var(--doc-surface);font:inherit;font-size:.88rem}
.doc-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(61,107,74,.15)}
.doc-search-results{position:absolute;left:0;right:0;top:100%;z-index:20;margin:.25rem 0 0;padding:.2rem 0;list-style:none;border:1px solid var(--line);border-radius:10px;max-height:14rem;overflow:auto;box-shadow:0 4px 12px rgba(45,59,45,.12);background:var(--doc-search-drop);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s}
.doc-search-results.is-open{opacity:1;visibility:visible;pointer-events:auto}
.doc-search-results li{border-bottom:1px solid rgba(184,201,184,.45)}
.doc-search-results li:last-child{border-bottom:0}
.doc-search-results a{display:block;padding:.45rem .6rem;text-decoration:none;color:var(--text);font-size:.88rem;background:transparent}
.doc-search-results a:hover{background:rgba(61,107,74,.1)}
.doc-search-results strong{display:block}
.doc-search-results span{display:block;font-size:.78rem;color:var(--muted)}
.doc-feed{margin-bottom:1.25rem}
.doc-feed-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem 1rem;box-shadow:0 1px 4px rgba(45,59,45,.07)}
.doc-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.doc-capsule{background:var(--doc-surface);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem .9rem;transition:border-color .15s,box-shadow .15s,transform .15s}
.doc-capsule:hover{border-color:rgba(61,107,74,.45);box-shadow:0 2px 10px rgba(61,107,74,.1);transform:translateY(-1px)}
.doc-capsule-empty{color:var(--muted);font-size:.88rem;background:transparent;border:0;box-shadow:none;transform:none}
.doc-feed-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}
.doc-feed-count{font-size:.84rem;color:var(--muted)}
.doc-feed-pager-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.doc-pager-info{font-size:.84rem;color:var(--muted);min-width:5.5rem;text-align:center}
.doc-pager-btn{border:1px solid var(--line);background:var(--doc-surface);color:var(--accent);font:inherit;font-size:.84rem;padding:.32rem .75rem;border-radius:8px;cursor:pointer}
.doc-pager-btn:hover:not(:disabled){background:rgba(61,107,74,.08)}
.doc-pager-btn:disabled{opacity:.45;cursor:not-allowed;color:var(--muted)}
.doc-capsule-link{display:block;text-decoration:none;color:var(--text);border-radius:10px}
.doc-capsule-link:hover .doc-capsule-title{color:var(--accent)}
.doc-capsule-link:focus-visible{outline:2px solid rgba(61,107,74,.35);outline-offset:2px}
.doc-capsule-head{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.2rem}
.doc-capsule-title{font-weight:600;font-size:.94rem;line-height:1.4;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-capsule-head-meta{display:flex;align-items:baseline;gap:.55rem;flex:0 0 auto;margin-left:auto}
.doc-capsule-cat{font-size:.76rem;color:var(--muted);white-space:nowrap}
.doc-capsule-date{font-size:.76rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.doc-capsule-excerpt{margin:.1rem 0 0;font-size:.84rem;line-height:1.62;color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty;word-break:break-word}

.doc-nav-ball-wrap{display:flex;justify-content:center;margin:.15rem 0 0}
.doc-link-aside-nav-only{min-height:0}
.doc-nav-ball{position:relative;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--panel);border:1px solid var(--line);box-shadow:0 1px 3px rgba(45,59,45,.06);flex-shrink:0;overflow:hidden}
.doc-nav-ball-half{position:absolute;left:0;width:100%;height:50%;border:0;background:transparent;cursor:pointer;padding:0;margin:0;font:inherit;color:var(--muted);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.doc-nav-ball-top{top:0;clip-path:path('M 0 0 h 3.25rem a 1.625rem 1.625rem 0 0 0 -3.25rem 0 Z')}
.doc-nav-ball-bottom{bottom:0;clip-path:path('M 0 0 a 1.625rem 1.625rem 0 0 1 3.25rem 0 v 1.625rem h -3.25rem Z')}
.doc-nav-ball-half:hover{background:rgba(61,107,74,.08);color:var(--accent)}
.doc-nav-ball-half:focus{outline:none}
.doc-nav-ball-half:focus-visible{background:rgba(61,107,74,.08);color:var(--accent)}
.doc-nav-ball-half:active{background:rgba(61,107,74,.12);color:var(--accent)}
.doc-nav-ball-icon{display:block;font-size:.72rem;line-height:1;pointer-events:none}
.doc-nav-ball-top .doc-nav-ball-icon{margin-top:.28rem}
.doc-nav-ball-bottom .doc-nav-ball-icon{margin-top:.62rem}
.doc-nav-ball-home{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:1.57rem;height:.76rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.61rem;font-weight:600;letter-spacing:.01em;text-transform:lowercase;text-decoration:none;color:var(--accent);background:var(--doc-surface);border:1px solid var(--line);cursor:pointer;line-height:1;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.doc-nav-ball-home:hover,.doc-nav-ball-home:focus-visible{background:rgba(61,107,74,.1);outline:2px solid rgba(61,107,74,.25);outline-offset:1px}
.doc-nav-ball-wrap-fixed{position:fixed;right:max(1rem,env(safe-area-inset-right));z-index:40;margin:0;pointer-events:none}
.doc-nav-ball-wrap-fixed .doc-nav-ball{pointer-events:auto}
@media(min-width:42.01rem){
.doc-nav-ball-wrap-fixed{top:max(1.25rem,env(safe-area-inset-top));bottom:auto}
}
@media(max-width:42rem){
.doc-nav-ball-wrap-fixed{bottom:max(5.25rem,env(safe-area-inset-bottom));top:auto}
}

.shell.mp3-above-foot{width:100%;max-width:var(--shell-max,52rem);margin-left:auto;margin-right:auto;padding:0 1.25rem .5rem;box-sizing:border-box;flex-shrink:0}
.shell.mp3-above-foot > .mp3-section{margin-top:0;margin-bottom:0}
main.shell.fs-home:has(+ .mp3-above-foot),main.shell.fs-page-body:has(+ .mp3-above-foot){flex:1 0 auto;padding-bottom:.75rem}
.mp3-section{margin-top:0;margin-bottom:0;width:100%;container-type:inline-size;container-name:mp3sec}
.fs-page-body .mp3-section{margin-bottom:0}
.mp3-head-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;margin-bottom:.35rem;width:100%;min-width:0}
.mp3-heading{font-size:.95rem;margin:0;color:var(--muted);font-weight:600;letter-spacing:.05em;text-transform:none;white-space:nowrap;flex:0 0 auto}
.mp3-main-row{display:flex;flex:0 1 auto;align-items:center;gap:.35rem .5rem;min-width:0;flex-wrap:wrap}
.mp3-tags-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.28rem .4rem;min-width:0;min-height:1.6rem;flex:0 1 auto}
.mp3-controls{display:flex;align-items:center;gap:.4rem .5rem;flex:0 0 auto;margin-left:auto;min-width:0}
.mp3-search-wrap{position:relative;flex:0 1 9rem;width:9rem;max-width:10.5rem;min-width:6.5rem}
.mp3-search-input{width:100%;box-sizing:border-box;font:inherit;font-size:.78rem;line-height:1.35;padding:.24rem .52rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);min-height:1.85rem}
.mp3-search-input:disabled{opacity:.55;cursor:not-allowed}
.mp3-search-input::placeholder{color:var(--muted);opacity:.88}
.mp3-search-input:focus{outline:2px solid rgba(61,107,74,.35);outline-offset:1px}
.mp3-search-results{position:absolute;left:0;right:0;top:calc(100% + .18rem);margin:0;padding:0;list-style:none;max-height:10.5rem;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.1);z-index:24}
.mp3-search-results[hidden]{display:none!important}
.mp3-search-results li{margin:0;padding:0}
.mp3-search-results button{display:block;width:100%;text-align:left;font:inherit;font-size:.76rem;line-height:1.35;padding:.36rem .52rem;border:none;background:transparent;cursor:pointer;color:var(--text)}
.mp3-search-results button:disabled{cursor:default;color:var(--muted)}
.mp3-search-results button:not(:disabled):hover,.mp3-search-results button:not(:disabled):focus{background:rgba(61,107,74,.1);outline:none}
.mp3-search-results button.mp3-search-hit-on{background:rgba(61,107,74,.16)}
.mp3-search-results button strong{display:block;font-weight:600;color:var(--text)}
.mp3-search-results button span{display:block;font-size:.72rem;color:var(--muted);margin-top:.08rem}
.mp3-row{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:center;flex:0 0 auto}
@container mp3sec (min-width:42.01rem){
  @media (min-width:64.01rem){
    .mp3-main-row{flex:1 1 12rem}
    .mp3-tags-inline{flex:1 1 auto}
  }
}
@container mp3sec (max-width:42rem){
  .mp3-head-row{flex-direction:column;align-items:stretch;gap:.55rem}
  .mp3-main-row{flex-direction:column;align-items:stretch;width:100%;gap:.45rem}
  .mp3-controls{flex-direction:column;align-items:stretch;margin-left:0;width:100%;gap:.38rem}
  .mp3-search-wrap{width:100%;max-width:none;min-width:0;flex:0 0 auto}
  .mp3-row{width:100%;justify-content:flex-start;flex-wrap:wrap;flex:0 0 auto}
}
@media (max-width:64rem){
  .mp3-head-row{flex-direction:column;align-items:stretch;gap:.55rem}
  .mp3-main-row{flex-direction:column;align-items:stretch;width:100%;gap:.45rem}
  .mp3-controls{flex-direction:column;align-items:stretch;margin-left:0;width:100%;gap:.38rem}
  .mp3-search-wrap{width:100%;max-width:none;min-width:0;flex:0 0 auto}
  .mp3-row{width:100%;justify-content:flex-start;flex-wrap:wrap;flex:0 0 auto}
}
.phrase-next.mp3-active{border-color:var(--accent);background:rgba(61,107,74,.12);color:#1e4028}
#mp3Loop.phrase-next{min-width:2.1rem;padding-left:.48rem;padding-right:.48rem;border-style:solid;font-size:.78rem;font-weight:600;letter-spacing:.02em}
#mp3Loop.phrase-next:not(.mp3-loop-on){opacity:.88;color:var(--muted)}
#mp3Loop.phrase-next.mp3-loop-on{border-color:var(--accent);background:rgba(61,107,74,.28);color:#0f3018;font-weight:700;box-shadow:inset 0 0 0 1px rgba(61,107,74,.32)}
button.mp3-tag{font:inherit;font-size:.72rem;padding:.2rem .48rem;border-radius:5px;line-height:1.35}
.mp3-tag.mp3-tag-on{border-color:var(--accent);background:rgba(61,107,74,.12);color:#1e4028}
.mp3-title{font-size:.88rem;margin:.2rem 0 0;color:var(--text);word-break:break-all;display:none}
.mp3-title.mp3-title-visible{display:block}
.mp3-meta{display:none;margin-top:.45rem;--mp3-cover-side:calc(4 * 0.82rem * 1.55)}
.mp3-meta.mp3-meta-visible{display:block}
.mp3-cover{display:block;box-sizing:border-box;width:var(--mp3-cover-side);height:var(--mp3-cover-side);max-width:min(100%,var(--mp3-cover-side));border-radius:8px;border:1px solid var(--line);object-fit:contain;background:var(--panel)}
#mp3Audio,#mp3Prefetch{display:none}

.site-foot{background:var(--panel);border-top:1px solid var(--line);padding:.85rem 0 1rem;margin-top:.25rem;flex-shrink:0}
.site-foot .shell{width:100%;max-width:var(--shell-max,52rem);margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;box-sizing:border-box}
.site-foot-quote{font-size:.88rem;line-height:1.55;margin:.5rem 0 0;text-align:left}
.site-foot-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-start;margin-bottom:0}
.site-foot-games,.site-foot-dice-group{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.site-foot-games .phrase-next{flex:0 1 auto;white-space:nowrap}
.site-foot-dice-group{flex:1 1 11rem;min-width:0}
@media (max-width:480px){
.site-foot-games{gap:.35rem .4rem}
.site-foot-games .phrase-next{font-size:.78rem;padding:.24rem .5rem}
}
@media (max-width:400px){
.site-foot-games{flex:1 1 100%}
.site-foot-dice-group{flex:1 1 100%}
}
.site-foot-row .phrase-next{font:inherit;font-size:.8rem;padding:.28rem .65rem;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--accent);cursor:pointer;text-decoration:none;display:inline-block}
.site-foot-row button.phrase-next{font-family:inherit}
a.phrase-next:visited{color:var(--accent)}
.foot-dice-last{flex:0 1 auto;min-width:6.5rem;font-size:.82rem;color:var(--muted);margin:0;padding:.28rem .5rem;border-radius:6px;border:1px dashed var(--line);background:rgba(255,255,255,.25)}
.foot-dice-last[hidden]{display:none!important}
.foot-dice-last strong{font-size:1.05rem;color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;margin-left:.15rem}
.foot-dice-overlay{position:fixed;inset:0;z-index:10001;display:none;align-items:center;justify-content:center;background:rgba(36,48,36,.38);pointer-events:none}
.foot-dice-overlay.is-open{display:flex}
.foot-dice-overlay-inner{perspective:520px;display:flex;align-items:center;justify-content:center}
.foot-dice-cube{width:4.25rem;height:4.25rem;position:relative;transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(24deg);will-change:transform}
.foot-dice-cube.foot-dice-rolling{animation:footDiceRoll3d 1.05s ease-in-out infinite}
.foot-dice-cube.foot-dice-settled{transition:transform .55s cubic-bezier(.2,.85,.25,1)}
@keyframes footDiceRoll3d{
  0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
  25%{transform:rotateX(144deg) rotateY(108deg) rotateZ(36deg)}
  50%{transform:rotateX(252deg) rotateY(216deg) rotateZ(72deg)}
  75%{transform:rotateX(396deg) rotateY(324deg) rotateZ(108deg)}
  100%{transform:rotateX(540deg) rotateY(432deg) rotateZ(144deg)}
}
.foot-dice-face{position:absolute;inset:0;border-radius:7px;background:linear-gradient(145deg,#fafcf8,#d8e6d8);border:1px solid #9ab09a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:3px;backface-visibility:hidden}
.foot-dice-face i{display:block;width:.52rem;height:.52rem;border-radius:50%;background:#2a3d2a;align-self:center;justify-self:center;box-shadow:inset 0 1px 1px rgba(0,0,0,.25)}
.foot-dice-face.f1{transform:rotateY(0deg) translateZ(2.125rem)}
.foot-dice-face.f2{transform:rotateY(90deg) translateZ(2.125rem)}
.foot-dice-face.f3{transform:rotateX(90deg) translateZ(2.125rem)}
.foot-dice-face.f4{transform:rotateX(-90deg) translateZ(2.125rem)}
.foot-dice-face.f5{transform:rotateY(-90deg) translateZ(2.125rem)}
.foot-dice-face.f6{transform:rotateY(180deg) translateZ(2.125rem)}
.foot-dice-face.f1 i:only-child{grid-area:2/2}
.foot-dice-face.f2 i:nth-child(1){grid-area:1/1}.foot-dice-face.f2 i:nth-child(2){grid-area:3/3}
.foot-dice-face.f3 i:nth-child(1){grid-area:1/1}.foot-dice-face.f3 i:nth-child(2){grid-area:2/2}.foot-dice-face.f3 i:nth-child(3){grid-area:3/3}
.foot-dice-face.f4 i:nth-child(1){grid-area:1/1}.foot-dice-face.f4 i:nth-child(2){grid-area:1/3}.foot-dice-face.f4 i:nth-child(3){grid-area:3/1}.foot-dice-face.f4 i:nth-child(4){grid-area:3/3}
.foot-dice-face.f5 i:nth-child(1){grid-area:1/1}.foot-dice-face.f5 i:nth-child(2){grid-area:1/3}.foot-dice-face.f5 i:nth-child(3){grid-area:2/2}.foot-dice-face.f5 i:nth-child(4){grid-area:3/1}.foot-dice-face.f5 i:nth-child(5){grid-area:3/3}
.foot-dice-face.f6 i:nth-child(1){grid-area:1/1}.foot-dice-face.f6 i:nth-child(2){grid-area:1/2}.foot-dice-face.f6 i:nth-child(3){grid-area:1/3}
.foot-dice-face.f6 i:nth-child(4){grid-area:3/1}.foot-dice-face.f6 i:nth-child(5){grid-area:3/2}.foot-dice-face.f6 i:nth-child(6){grid-area:3/3}
.site-foot-links{container-type:inline-size;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.15rem 1.1rem;margin-top:.45rem;padding-top:.55rem;border-top:1px solid var(--line);font-size:.84rem;line-height:1.5}
.site-foot-links-nav{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:.15rem .05rem;min-width:0}
.site-foot-links-nav a{color:var(--accent);text-decoration:none;padding:.12rem .35rem;border-radius:4px}
.site-foot-links-nav a:hover{text-decoration:underline;background:rgba(61,107,74,.08)}
.site-foot-links-nav .sep{color:var(--muted);user-select:none;padding:0 .12rem;font-size:.78rem;opacity:.7}
.site-foot-visitor{justify-self:end;max-width:100%;font-size:.76rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:.1rem 0;opacity:.9}
@container (max-width:30rem){
.site-foot-links{grid-template-columns:1fr;gap:.12rem}
.site-foot-visitor{justify-self:start;white-space:normal;word-break:break-all}
}
@media (max-width:480px){
.site-foot-links{grid-template-columns:1fr;gap:.12rem}
.site-foot-visitor{justify-self:start;white-space:normal;word-break:break-all}
}
.phrase-en{font-style:italic;color:var(--text)}
.site-foot-quote .foot-quote-hit{font:inherit;font-style:inherit;font-size:inherit;line-height:inherit;color:inherit;background:transparent;border:0;padding:0;margin:0;text-decoration:none;cursor:inherit;-webkit-tap-highlight-color:transparent}
.site-foot-quote .foot-quote-hit:hover,.site-foot-quote .foot-quote-hit:active,.site-foot-quote .foot-quote-hit:focus{color:inherit;background:transparent;text-decoration:none;outline:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){
  .foot-dice-cube.foot-dice-rolling{animation:none}
  .foot-dice-cube.foot-dice-settled{transition-duration:.01ms}
}
