/* ===== minimal-serif-jp · 和风衬线极简 ===== */
:root{--washi:#f6f3ec;--card:#fcfaf4;--ink:#231f1a;--sub:#5e574d;--dim:#a39a8b;--hair:rgba(35,31,26,.16);--seal:#b54a3a;--serif:"Hiragino Mincho ProN","Songti SC","Noto Serif SC","Times New Roman",serif;--sans:"Hiragino Sans","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;--mono:ui-monospace,Consolas,monospace;--maxw:760px;color-scheme:light;}
@media (prefers-color-scheme:dark){:root{--washi:#16140f;--card:#1d1a14;--ink:#ece6da;--sub:#a89f8e;--dim:#6e6557;--hair:rgba(236,230,218,.16);--seal:#dd6b5b;color-scheme:dark;}}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{font-family:var(--serif);background:var(--washi);color:var(--ink);line-height:1.92;min-height:100vh;letter-spacing:.02em;}
a{color:inherit;text-decoration:none;}::selection{background:var(--seal);color:var(--washi);}
kbd{font-family:var(--mono);font-size:11.5px;border:1px solid var(--hair);padding:1px 6px;color:var(--ink);}
.sheet{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,6vw,48px) calc(48px + env(safe-area-inset-bottom));}
.note-row{display:flex;align-items:center;gap:16px;padding:calc(16px + env(safe-area-inset-top)) 0 14px;border-bottom:1px solid var(--hair);font-family:var(--sans);}
.nr-mark{font-size:11px;letter-spacing:.3em;color:var(--seal);border:1px solid var(--seal);padding:3px 8px;flex:none;}
.note-row p{flex:1;font-size:12.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nr-clk{font-family:var(--mono);font-size:12.5px;color:var(--dim);flex:none;}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:30px 0;}
.seal-brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:clamp(18px,4vw,24px);font-weight:400;letter-spacing:.06em;}
.seal{width:30px;height:30px;display:grid;place-items:center;color:var(--washi);background:var(--seal);font-family:var(--serif);font-size:14px;flex:none;}
.seal.small{width:18px;height:18px;font-size:10px;}
.tone{font-family:var(--sans);font-size:12px;letter-spacing:.16em;background:transparent;border:1px solid var(--hair);color:var(--ink);padding:7px 16px;cursor:pointer;transition:.2s;}
.tone:hover{border-color:var(--seal);color:var(--seal);}
section{padding:clamp(36px,7vw,72px) 0;}
.hairline{height:1px;background:var(--hair);}
.opening{}
.label{font-family:var(--sans);font-size:12px;letter-spacing:.32em;color:var(--seal);margin-bottom:24px;}
.opening h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,10vw,76px);line-height:1.16;letter-spacing:.06em;word-break:break-word;}
.lede{max-width:540px;margin:26px 0 0;color:var(--sub);font-size:clamp(14.5px,2.6vw,16.5px);text-align:justify;}
.primary{}
.primary-label{font-family:var(--sans);font-size:12px;letter-spacing:.24em;color:var(--dim);margin-bottom:20px;}
.primary-domain{font-family:var(--serif);font-weight:400;font-size:clamp(26px,7vw,52px);letter-spacing:.04em;margin-bottom:18px;word-break:break-all;color:var(--seal);}
.primary-state{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:13px;letter-spacing:.1em;color:var(--sub);margin-bottom:30px;}
.dot{width:7px;height:7px;border-radius:999px;background:var(--seal);}
.primary-act{display:flex;flex-wrap:wrap;gap:16px;}
.line-btn{font-family:var(--sans);font-size:13.5px;font-weight:400;letter-spacing:.1em;padding:14px 32px;cursor:pointer;transition:.2s;border:1px solid var(--ink);}
.line-fill{background:var(--ink);color:var(--washi);}.line-fill:hover{background:var(--seal);border-color:var(--seal);}
.line-thin{background:transparent;color:var(--ink);border-color:var(--hair);}.line-thin:hover{border-color:var(--ink);}
.primary-save{font-family:var(--sans);margin-top:26px;font-size:12.5px;letter-spacing:.12em;color:var(--sub);cursor:pointer;}.primary-save:hover{color:var(--seal);}
.chapter-h{font-family:var(--serif);font-weight:400;font-size:clamp(20px,4.5vw,28px);letter-spacing:.08em;margin-bottom:32px;display:flex;align-items:baseline;gap:18px;}
.ch-idx{font-family:var(--serif);font-size:15px;color:var(--seal);}
.list{display:grid;}
.line-item{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--hair);transition:.2s;font-family:var(--sans);}
.line-item:first-child{border-top:1px solid var(--hair);}.line-item:hover{padding-left:10px;}
.li-n{font-family:var(--mono);font-size:13px;color:var(--seal);}
.li-h{flex:1;font-size:clamp(14px,3.4vw,16.5px);word-break:break-all;letter-spacing:.04em;}
.li-ok{font-size:12px;letter-spacing:.1em;color:var(--dim);}
.li-cp{font-size:12px;letter-spacing:.1em;background:transparent;border:1px solid var(--hair);color:var(--ink);padding:6px 14px;cursor:pointer;transition:.2s;}
.li-cp:hover{border-color:var(--seal);color:var(--seal);}
.precepts{list-style:none;counter-reset:p;display:grid;gap:22px;}
.precepts li{position:relative;padding-left:40px;counter-increment:p;}
.precepts li::before{content:"〇" counter(p);position:absolute;left:0;top:0;font-family:var(--serif);font-size:13px;color:var(--seal);}
.precepts b{font-family:var(--serif);font-weight:400;font-size:16px;display:block;margin-bottom:5px;letter-spacing:.06em;}
.precepts span{font-family:var(--sans);color:var(--sub);font-size:14px;}
.quiet{margin-top:26px;text-align:center;font-family:var(--sans);font-size:13px;letter-spacing:.06em;color:var(--sub);}.quiet strong{color:var(--seal);font-weight:400;}
.touch{display:grid;}
.touch-row{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--hair);cursor:pointer;transition:.2s;font-family:var(--sans);}
.touch-row:first-child{border-top:1px solid var(--hair);}.touch-row:hover{padding-left:10px;}
.tr-k{width:120px;flex:none;font-size:12px;letter-spacing:.16em;color:var(--dim);}
.tr-v{flex:1;font-family:var(--serif);font-size:clamp(15px,3.4vw,19px);word-break:break-all;letter-spacing:.04em;}
.tr-a{font-size:12px;letter-spacing:.1em;color:var(--seal);opacity:0;transition:.2s;}.touch-row:hover .tr-a{opacity:1;}
.colophon{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:28px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--hair);font-family:var(--sans);}
.cp-id{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-size:15px;letter-spacing:.06em;}
.colophon nav{display:flex;flex-wrap:wrap;gap:18px;}.colophon nav a{color:var(--sub);font-size:12.5px;letter-spacing:.08em;transition:.2s;}.colophon nav a:hover{color:var(--seal);}
.colophon small{font-family:var(--mono);color:var(--dim);font-size:12px;width:100%;}
.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,16px);z-index:50;opacity:0;pointer-events:none;font-family:var(--sans);font-size:13.5px;letter-spacing:.1em;background:var(--ink);color:var(--washi);padding:13px 26px;transition:.3s cubic-bezier(.2,.8,.2,1);}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
.enter{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}.enter.on{opacity:1;transform:none;}
@media (max-width:620px){.tr-k{width:92px;}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.enter{opacity:1;transform:none;}}
