
:root{--bg:#0b0a08;--card:#16130e;--gold:#d4af5a;--gold2:#f3dc9b;--tx:#efe7d6;--mut:#a89c84}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#2a2112,#0b0a08 60%);color:var(--tx);font-family:"Noto Serif SC","Songti SC",Georgia,serif;line-height:1.65}
a{color:var(--gold2)}.wrap{max-width:1120px;margin:auto;padding:0 20px}
header{position:sticky;top:0;background:rgba(11,10,8,.92);border-bottom:1px solid #3a2f1a;z-index:9}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--gold2);font-size:20px;letter-spacing:2px}.brand img{width:38px}
nav a{color:var(--tx);text-decoration:none;margin-left:20px;font-size:15px}nav a:hover{color:var(--gold)}
.btn{display:inline-block;padding:12px 26px;border-radius:40px;background:linear-gradient(135deg,#b8913f,#f3dc9b,#b8913f);color:#1a1408!important;text-decoration:none;font-weight:700;border:0;cursor:pointer}
.btn.ghost{background:none;border:1px solid var(--gold);color:var(--gold2)!important}
.hero{text-align:center;padding:80px 0 60px}.hero img{width:160px;filter:drop-shadow(0 0 30px rgba(212,175,90,.45))}
h1{font-size:44px;margin:.3em 0;color:var(--gold2);letter-spacing:3px}h2{color:var(--gold);font-size:30px;text-align:center}.sub{color:var(--mut)}
section{padding:50px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.card{background:var(--card);border:1px solid #3a2f1a;border-radius:16px;padding:22px;text-decoration:none;color:var(--tx);transition:.2s}.card:hover{border-color:var(--gold);transform:translateY(-3px)}
.card h3{margin:.2em 0;color:var(--gold2)}.zh{color:var(--gold);font-size:14px}.tag{font-size:12px;border:1px solid var(--gold);border-radius:20px;padding:2px 10px;color:var(--gold)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:30px}.price{font-size:34px;color:var(--gold2)}.feat{border-color:var(--gold);box-shadow:0 0 40px rgba(212,175,90,.15)}
ul.chk{padding-left:0;list-style:none}ul.chk li:before{content:"◆ ";color:var(--gold)}
form.mock{position:relative}form.mock label{display:block;margin:10px 0 4px;color:var(--mut);font-size:14px}form.mock input,form.mock select{width:100%;padding:10px;background:#0f0d09;border:1px solid #3a2f1a;color:var(--tx);border-radius:8px}
.lock{position:absolute;inset:0;background:rgba(11,10,8,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;text-align:center}
.note{background:#2a1f0c;border:1px dashed var(--gold);padding:12px 16px;border-radius:10px;color:var(--gold2);font-size:14px}
footer{border-top:1px solid #3a2f1a;padding:30px 0;color:var(--mut);font-size:14px;text-align:center}
@media(max-width:760px){nav a:not(.btn):not(.acct){display:none}nav a{margin-left:12px}.two{grid-template-columns:1fr}h1{font-size:32px}}

.knotwrap{height:260vh;position:relative}.knotstick{position:sticky;top:64px;height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}
#knot{width:min(62vh,82vw);height:min(62vh,82vw);border-radius:50%;background:#000 url(knot/k01.webp) center/cover}
.knotcap{margin-top:14px;opacity:0;transition:opacity .6s}.knotcap.on{opacity:1}.knotcap h1{margin:.1em 0}
.hint{position:absolute;bottom:18px;color:var(--mut);font-size:13px;letter-spacing:2px}
.chap{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;border-top:1px solid #2a2112}
.chap .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.chap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,8,.92) 0%,rgba(11,10,8,.55) 55%,rgba(11,10,8,.2))}
.chap .wrap{position:relative;z-index:2;width:100%}.chap.right:after{background:linear-gradient(270deg,rgba(11,10,8,.92),rgba(11,10,8,.55) 55%,rgba(11,10,8,.2))}.chap.right .txt{margin-left:auto}
.txt{max-width:520px}.glyph{font-size:96px;line-height:1;color:var(--gold2);text-shadow:0 0 30px rgba(212,175,90,.5)}.txt h2{text-align:left;margin:.2em 0}
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s}.rv.in{opacity:1;transform:none}
.chap.he{display:block;padding:80px 0}.chap.he:after{background:rgba(11,10,8,.78)}.chap.he .txt{max-width:none;text-align:center;margin-bottom:30px}.chap.he .txt h2{text-align:center}
.langs{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}.lb{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--card);border:1px solid #3a2f1a;border-radius:14px;padding:8px;color:var(--tx);cursor:pointer;width:170px;font:inherit}.lb img{width:100%;border-radius:8px;aspect-ratio:16/9;object-fit:cover}.lb:hover{border-color:var(--gold)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:50;padding:16px}.modal.open{display:flex}
.mbox{position:relative;width:min(960px,100%,calc((100vh - 80px)*16/9))}.mbox video{width:100%;aspect-ratio:16/9;display:block;border-radius:12px;border:1px solid var(--gold);background:#000}
.mx{position:absolute;top:-44px;right:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);background:#0b0a08;color:var(--gold2);font-size:22px;cursor:pointer}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.prices .card{text-align:center}
@media(max-width:760px){.glyph{font-size:64px}.chap:after,.chap.right:after{background:rgba(11,10,8,.7)}.prices{grid-template-columns:1fr}.lb{width:calc(50% - 6px)}.knotwrap{height:200vh}}
@media(prefers-reduced-motion:reduce){.knotwrap{height:auto}.knotstick{position:static;height:auto;padding:60px 0}.rv{opacity:1;transform:none;transition:none}.knotcap{opacity:1}.hint{display:none}}

.tagl{letter-spacing:4px;font-size:13px;color:var(--gold2);margin-top:6px}
#daymaster .dmf{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin-top:20px}
#daymaster input{background:#0b0a08;color:var(--tx);border:1px solid var(--gold);border-radius:10px;padding:12px 14px;font:inherit;color-scheme:dark}
.dmr{max-width:560px;margin:24px auto 0;text-align:center}.dmr .gz{font-size:72px;color:var(--gold2);line-height:1.1}.dmr[hidden]{display:none}
.unig{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:24px}.unig figure{margin:0;background:var(--card);border:1px solid #3a2f1a;border-radius:14px;overflow:hidden}
.unig img,.unig .ph{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.unig .ph{display:flex;align-items:center;justify-content:center;font-size:56px;color:var(--gold);background:#0a0806}
.unig figcaption{padding:10px;font-size:13px;text-align:center}
.kspec{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.kspec table{width:100%;border-collapse:collapse;font-size:14px}.kspec td{padding:8px;border-bottom:1px solid #2a2112}.kspec td:last-child{text-align:right;color:var(--gold2)}
.sw{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sw div{border:1px solid #3a2f1a;border-radius:10px;padding:10px;font-size:13px}.sw i{display:block;height:44px;border-radius:6px;margin-bottom:6px;border:1px solid #3a2f1a}
@media(max-width:760px){.unig{grid-template-columns:repeat(2,1fr)}.kspec{grid-template-columns:1fr}.dmr .gz{font-size:56px}}

.hook{max-width:640px;margin:14px auto 0;padding:0 16px;font-size:17px;line-height:1.5}.hook .zh{display:block;font-size:15px;color:var(--mut);margin-top:4px}
.hcta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px;padding:0 16px}
#story .gold{color:var(--gold2)}
.knotcap.on~.hint{opacity:0}.hint{transition:opacity .4s}
@media(max-width:760px){#knot{width:min(40vh,70vw);height:min(40vh,70vw)}.knotcap h1{font-size:32px}.knotcap p{font-size:15px!important;margin:.3em 0}.tagl{letter-spacing:2px;font-size:11px}.hook{font-size:15px;margin-top:8px}.hook .zh{font-size:13px}.hcta{margin-top:10px;gap:8px}.hcta .btn{font-size:13px;padding:9px 14px}}

.acct{color:var(--gold)!important}.authbox{max-width:440px;margin:0 auto}.authbox input{width:100%;padding:12px;margin:4px 0 10px;background:#0f0d09;border:1px solid #3a2f1a;color:var(--tx);border-radius:8px;font-size:16px}
.authbox label{display:block;color:var(--mut);font-size:14px;margin-top:6px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{flex:1;padding:10px;border-radius:8px;border:1px solid #3a2f1a;background:transparent;color:var(--tx);cursor:pointer}.tabs button.on{background:var(--gold);color:#0b0a08}
.msg{min-height:20px;color:#e8b86a;font-size:14px}.demo{border:1px dashed #c8902e;padding:10px 12px;border-radius:10px;color:#e8b86a;font-size:13px;margin:12px 0}
.acc td{padding:8px 6px;border-bottom:1px solid #2a2216}.acc{width:100%;border-collapse:collapse}.ok{color:#8fd18f}.no{color:#a88}
.lscore{text-align:center;margin:30px 0 10px}.lscore .big{font-size:64px;color:var(--gold2);font-weight:700}.lscore .big small{font-size:20px;color:var(--mut)}.lgz{font-size:34px;color:var(--gold);margin:4px 0}
.regcta{text-align:center;margin:28px auto;max-width:640px}.teaser{margin:6px 0 18px}.genout{margin-top:20px}
.lock[hidden]{display:none!important}@media(max-width:760px){.lscore .big{font-size:48px}.authbox{padding:0 4px}}
.legal h2{margin-top:28px;font-size:22px}.legal p,.legal li{color:var(--tx);line-height:1.7}
@media(max-width:760px){.brand{font-size:16px;white-space:nowrap;letter-spacing:1px}.brand img{width:30px}header nav{display:flex;align-items:center}.acct{font-size:13px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}header nav .btn{padding:8px 14px;font-size:13px;white-space:nowrap}}
table.it{width:100%;border-collapse:collapse;margin:10px 0;font-size:14px}table.it th,table.it td{border:1px solid #3a2f1a;padding:6px 8px;text-align:left;vertical-align:top}table.it th{color:var(--gold);font-weight:600}
table.pil td,table.pil th{text-align:center}table.pil tr.gz td{font-size:30px;color:var(--gold2)}table.pil small,table.it td small{display:block;font-size:11px;color:var(--mut)}.gzs{font-size:18px;color:var(--gold2)}
.bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:8px 0}.bar{position:relative;display:block;border:1px solid #3a2f1a;border-radius:6px;padding:3px 8px;font-size:13px;overflow:hidden}.bar b{position:absolute;left:0;top:0;bottom:0;background:rgba(212,175,90,.25);z-index:-1}.bar{z-index:0}
.zg,.qg{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:10px 0}.qg{grid-template-columns:repeat(3,1fr)}.zc,.qc{border:1px solid #3a2f1a;border-radius:6px;padding:5px;font-size:12px;min-height:84px;position:relative}.zc.ming{border-color:var(--gold)}
.zc.mid{grid-column:span 2;grid-row:span 2;text-align:center;display:flex;flex-direction:column;justify-content:center}.zp{color:var(--gold);font-weight:600}.zp small{color:var(--mut);font-weight:400}.zp em{color:#e88;font-style:normal}.zs span{display:inline-block;margin-right:3px}.zs .hua{color:var(--gold2)}.zs sup{color:#e88}.zb{position:absolute;right:5px;bottom:3px;color:var(--mut)}
.qc{text-align:center;font-size:13px}.qc .gd{color:#8fd18f;font-weight:700}.qc.mid{display:flex;flex-direction:column;justify-content:center;color:var(--gold2)}
.hex{display:flex;gap:16px;align-items:center}.hex .hn{font-size:54px;color:var(--gold2)}table.sm td{font-size:12px;padding:3px 5px}
.mprint{margin:18px 0}.mprint[hidden]{display:none!important}
@media(max-width:760px){.zc{font-size:10.5px;min-height:70px;padding:3px}table.pil tr.gz td{font-size:22px}table.it{font-size:12.5px}.genout,.isec{overflow-x:auto}}
/* printing: master only */
@media print{html:not(.is-master) body>*{display:none!important}html:not(.is-master) body:before{content:"Printing available to master only · 仅限大师打印 — IVRA 易恒";display:block;padding:40px;font-size:20px;color:#000}
html.is-master body{background:#fff!important;color:#111!important}html.is-master header,html.is-master footer,html.is-master .mprint,html.is-master .lock,html.is-master h2,html.is-master h2~.grid,html.is-master .teaser{display:none!important}
html.is-master .card{background:#fff!important;border-color:#bbb!important;color:#111!important;break-inside:avoid}html.is-master *{color:#111!important;box-shadow:none!important}html.is-master table.it th,html.is-master table.it td{border-color:#999!important}@page{size:A4;margin:12mm}}

.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.mgrid label{display:block;color:var(--mut);font-size:14px;margin-top:8px}.mgrid input,.mgrid select{display:block;width:100%;margin-top:4px;padding:10px;background:#0f0d09;border:1px solid #3a2f1a;color:var(--tx);border-radius:8px;font-size:16px}
details{margin-top:14px;color:var(--gold2)}@media(max-width:760px){.mgrid{grid-template-columns:1fr}}
#rpView{position:fixed;inset:0;z-index:50;background:rgba(5,4,3,.88);overflow:auto;padding:64px 12px 30px}#rpView[hidden]{display:none}
.rpbar{position:fixed;top:0;left:0;right:0;z-index:51;display:flex;gap:8px;justify-content:center;padding:10px;background:#0b0a08;border-bottom:1px solid #3a2f1a;flex-wrap:wrap}.rpbar .btn{padding:9px 16px;font-size:14px}
#rpBody{max-width:820px;margin:auto;background:#fbf7ec;color:#1a1408;border-radius:6px;font-size:14px}
#rpBody .pg{padding:28px 34px}#rpBody .isec{padding:6px 34px 18px;break-inside:auto}#rpBody h3{color:#7a5a17;border-bottom:2px solid #b8913f;padding-bottom:4px;font-size:19px}#rpBody h4{color:#7a5a17;margin:14px 0 4px}
#rpBody table.it th,#rpBody table.it td{border-color:#d8c79c}#rpBody table.it th{color:#7a5a17}#rpBody table.pil tr.gz td,#rpBody .gzs,#rpBody .hex .hn,#rpBody .lgz,#rpBody .lscore .big{color:#8a6414}#rpBody .sub,#rpBody small,#rpBody .zb,#rpBody .zp small{color:#6b5f48}
#rpBody .zc,#rpBody .qc,#rpBody .bar{border-color:#d8c79c}#rpBody .zp{color:#7a5a17}#rpBody .zs .hua{color:#a3352b;font-weight:600}#rpBody .zc.ming{border-color:#8a6414;background:#f3e7c4}#rpBody .ok{color:#1d7a32}#rpBody .no{color:#a3352b}#rpBody .qc .gd{color:#1d7a32}#rpBody .card{background:#fff;border-color:#d8c79c;color:#1a1408}#rpBody a{color:#7a5a17}
.cover{background:#0b0a08;color:#f3dc9b;text-align:center;padding:70px 30px!important;border-radius:6px 6px 0 0;min-height:560px;display:flex;flex-direction:column;justify-content:center}.cover img{width:120px;margin:auto}.cover h1{font-size:34px;margin:18px 0 4px}.cover .tl{letter-spacing:4px;color:#d4af5a;font-size:13px}.cover table{margin:24px auto 0;color:#efe7d6;font-size:15px}.cover td{padding:3px 10px;text-align:left}
.toc{columns:2;font-size:13px}.rpfoot{padding:14px 34px 26px;color:#6b5f48;font-size:11.5px;border-top:1px solid #d8c79c}
@media(max-width:760px){#rpBody .isec,#rpBody .pg{padding-left:12px;padding-right:12px}.cover{min-height:420px}.toc{columns:1}#rpView{padding:96px 4px 20px}}
@media print{html.is-master body.rp-open>*:not(#rpView){display:none!important}html.is-master body.rp-open #rpView{position:static;display:block;background:#fff!important;padding:0;overflow:visible}html.is-master body.rp-open .rpbar{display:none!important}
html.is-master #rpBody{max-width:none;background:#fff!important;border-radius:0}html.is-master .cover{background:#0b0a08!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;min-height:250mm;break-after:page}html.is-master .cover *{color:#f3dc9b!important}
html.is-master #rpBody .isec{break-before:page;padding:0}html.is-master #rpBody .isec.cont{break-before:auto}html.is-master #rpBody table,html.is-master .zg,html.is-master .qg{break-inside:avoid}}
