:root{
--paper:#FFFDF7;
--cream:#FFF6E6;
--ink:#161A22;
--body:#3F4652;
--mute:#5F6774;
--amber:#B45309;
--amber-lit:#F59E0B;
--teal:#0E7C86;
--teal-deep:#0A5A62;
--coral:#C2410C;
--indigo:#4338CA;
--line:#EADFC9;
--line-soft:#F2E9D8;
--wide:74rem;
--read:64ch;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{background:var(--paper);color:var(--body);font-family:"Figtree",system-ui,sans-serif;font-size:1.08rem;line-height:1.72;background-image:radial-gradient(circle at 12% -8%,#FFEFD0 0%,rgba(255,239,208,0) 46%),radial-gradient(circle at 96% 4%,#DFF3F4 0%,rgba(223,243,244,0) 40%);background-repeat:no-repeat}
h1,h2,h3,.mark-name,.panel-key,.drop-a,.row-title,.right-a,.piece-name,.piece-stand,.piece-h,.else-h,.tail-a{font-family:"Fraunces",Georgia,serif}
h1{font-weight:700;font-size:clamp(2.3rem,5.2vw,3.7rem);line-height:1.03;letter-spacing:-.02em;color:var(--ink);margin:0 0 1rem}
h2{font-weight:700;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.16;letter-spacing:-.01em;color:var(--ink);margin:0 0 .7rem}
h3{font-weight:600;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.16;color:var(--ink);margin:0 0 .25rem}
p{margin:0 0 1.05rem}
a{color:var(--amber);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--coral)}
a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
img{border-radius:.5rem}
.outer-b{width:100%;max-width:var(--wide);margin:0 auto;padding:0 1.5rem}

.top-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;border-bottom:2px solid var(--ink)}
.mark-name{font-weight:700;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;background-image:linear-gradient(90deg,var(--amber-lit),var(--coral));background-repeat:no-repeat;background-size:100% .28rem;background-position:0 100%;padding-bottom:.18rem}
.mark-name:hover{color:var(--coral)}
.panel-key{border:0;background-image:linear-gradient(120deg,var(--teal),var(--teal-deep));color:#FFFDF7;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1rem;padding:.55rem 1.5rem;border-radius:999px;cursor:pointer;letter-spacing:.01em}
.panel-key:hover{background-image:linear-gradient(120deg,var(--coral),var(--amber))}

.drop-panel{background-image:linear-gradient(160deg,#FFF6E6,#FDEBD2 60%,#E7F4F4);border-bottom:2px solid var(--ink)}
.drop-panel[data-open="false"],.drop-panel[hidden]{display:none}
.drop-cols{list-style:none;margin:0;padding:1.7rem 0;display:grid;grid-template-columns:1fr;gap:.7rem}
.drop-a{font-size:1.1rem;font-weight:600;color:var(--ink);text-decoration:none;display:inline-block;padding:.15rem 0;border-bottom:2px solid transparent}
.drop-a:hover{color:var(--coral);border-bottom-color:var(--amber-lit)}
.drop-a[aria-current="page"]{color:var(--teal-deep);border-bottom-color:var(--teal)}

@media (min-width:960px){
.panel-key{display:none}
.drop-panel,
.drop-panel[data-open="false"],
.drop-panel[hidden]{display:block}
}

.split-lead{display:grid;grid-template-columns:1fr;gap:2.4rem;padding:clamp(2.2rem,5vw,3.8rem) 0 3rem}
.lead-col p{max-width:var(--read);font-size:1.14rem}
.aside-pic{margin:1.8rem 0 0;position:relative}
.aside-pic img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:.75rem;box-shadow:0 1.2rem 2.4rem rgba(22,26,34,.14)}
.aside-pic img[src$="og.jpeg"]{aspect-ratio:1/1}

.rows-sect{display:grid;gap:1rem}
.row-line{display:block;text-decoration:none;padding:1.35rem 1.5rem;border:1px solid var(--line);border-left:.4rem solid var(--amber-lit);border-radius:.75rem;background:#FFFFFF;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.rows-sect .row-line:nth-child(2){border-left-color:var(--coral)}
.rows-sect .row-line:nth-child(3){border-left-color:var(--indigo)}
.rows-sect .row-line:nth-child(4){border-left-color:var(--teal)}
.row-line:hover{box-shadow:0 .8rem 1.6rem rgba(22,26,34,.1)}
.row-title{font-weight:700;font-size:1.45rem;color:var(--ink);display:block;margin-bottom:.3rem}
.row-say{color:var(--body);display:block;max-width:36rem}
.row-tally{display:inline-block;margin-top:.7rem;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);background:#E7F4F4;padding:.25rem .7rem;border-radius:999px}
.row-line:hover .row-title{color:var(--coral)}

.sect-intro{max-width:var(--read);padding:clamp(2.2rem,4.6vw,3.2rem) 0 1.8rem}
.sect-intro p{font-size:1.14rem}

.right-toc{list-style:none;margin:0 0 3rem;padding:1.1rem 0 0;border-top:2px solid var(--ink);text-align:right}
.right-a{display:inline-block;padding:.32rem 0;color:var(--ink);text-decoration:none;font-size:1.08rem;font-weight:600;border-bottom:2px solid transparent}
.right-a:hover{color:var(--coral);border-bottom-color:var(--amber-lit)}

.piece-set{padding:2.8rem 0;border-top:1px solid var(--line)}
.piece-name{letter-spacing:-.01em}
.piece-town{font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:1.2rem}
.piece-pic{margin:0 0 1.6rem;width:100%}
.piece-pic img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:.75rem;box-shadow:0 1rem 2rem rgba(22,26,34,.12)}
.piece-stand{font-weight:600;font-size:clamp(1.2rem,1.9vw,1.45rem);line-height:1.42;color:var(--ink);max-width:52ch;margin:0 0 1.6rem;padding-left:1.1rem;border-left:.25rem solid var(--amber-lit)}
.piece-h{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--teal-deep);margin:1.7rem 0 .6rem}
.piece-h::before{content:"";display:block;width:2.4rem;border-top:3px solid var(--teal);margin-bottom:.65rem;border-radius:2px}
.piece-p{max-width:var(--read)}

.piece-dots{list-style:none;margin:1.8rem 0 0;padding:1rem 1.2rem;max-width:36rem;background:var(--cream);border-radius:.75rem}
.dot-line{display:flex;align-items:baseline;gap:.5rem;padding:.38rem 0;font-size:.94rem}
.dot-key{color:var(--mute);font-weight:500}
.dot-fill{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-.28rem)}
.dot-val{color:var(--ink);text-align:right;font-weight:600}

.else-block{margin-top:3.2rem;padding:2rem 1.6rem;border:1px solid var(--line);border-radius:1rem;background-image:linear-gradient(150deg,#FFF6E6,#E7F4F4)}
.else-h{font-size:1.25rem;margin-bottom:.5rem}
.else-cols{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.6rem}
.else-cols ul{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}
.else-cols .else-h{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--amber);font-family:"Figtree",system-ui,sans-serif;font-weight:600}
.else-a{color:var(--ink);text-decoration:none;font-size:1rem;border-bottom:1px solid transparent}
.else-a:hover{color:var(--coral);border-bottom-color:var(--amber-lit)}

.rules-note{border:1px solid var(--line);border-top:.35rem solid var(--coral);border-radius:.75rem;background:#FFFFFF;padding:1.7rem;margin-top:2.8rem;max-width:var(--read);font-size:1rem}
.rules-note p:last-child{margin-bottom:0}

.tail-w{margin-top:3.6rem;margin-bottom:2.4rem;padding:2.2rem 1.8rem;border-radius:1rem;background-image:linear-gradient(140deg,#161A22,#1F2A33 60%,#0A5A62);color:#E7E3DA;display:grid;grid-template-columns:1fr;gap:1.6rem}
.tail-w p{margin-bottom:.5rem;font-size:.96rem;color:#C9C6BE;max-width:36rem}
.tail-mail{font-size:1.12rem}
.tail-mail a{color:#FCD9A0}
.tail-mail a:hover{color:#FFFFFF}
.tail-right{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;text-align:right}
.tail-a{color:#FFFDF7;text-decoration:none;font-size:1rem;border-bottom:1px solid transparent}
.tail-a:hover{color:#FCD9A0;border-bottom-color:#FCD9A0}

a[href="#main-start"]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
a[href="#main-start"]:focus-visible{position:static;width:auto;height:auto;display:inline-block;padding:.6rem 1rem;background:var(--cream);color:var(--ink)}
html:not([data-js="on"]) .drop-panel{display:block}
html:not([data-js="on"]) .drop-panel[hidden]{display:block}
html:not([data-js="on"]) .panel-key{display:none}

main section{padding:2.2rem 0 .8rem;border-top:1px solid var(--line);max-width:var(--read)}
main section p{max-width:var(--read)}
main section h3{font-size:1.2rem;margin-top:1.6rem;color:var(--teal-deep)}
h4{margin:0}

@media (min-width:640px){
.drop-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 2rem}
.else-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem}
.tail-w{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:2.4rem 2.2rem}
.aside-pic{max-width:24rem}
}
@media (min-width:960px){
.drop-cols{grid-template-columns:repeat(4,minmax(0,1fr))}
.split-lead{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3.4rem}
.piece-pic{width:62%}
.aside-pic{max-width:26rem}
.row-line{padding:1.6rem 1.8rem}
}
@media (min-width:1280px){
.outer-b{padding:0 2rem}
}
@media (prefers-reduced-motion: no-preference){
html{scroll-behavior:smooth}
.drop-a,.right-a,.else-a,.tail-a,.row-title,.mark-name,.panel-key{transition:color .18s ease,border-color .18s ease,background-image .18s ease}
.row-line:hover{transform:translateY(-2px)}
}
