:root{--paper:#f7f5ef;--ink:#282e29;--muted:#697068;--line:#dedfd5;--green:#314b3c;--accent:#a25f3d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,label.upload-button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b7764b;outline-offset:4px}header,main,footer{max-width:1280px;margin:auto}header{padding:28px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:650;letter-spacing:1.7px}.brandmark{font:italic 44px/1 Georgia,serif;letter-spacing:-4px;border-right:1px solid #c9cdbf;padding-right:17px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;color:var(--muted);margin-top:4px}nav{display:flex;align-items:center;gap:32px;font-size:12px}.navbutton{padding:10px 17px;border:1px solid #b7bfb1;border-radius:3px}.hero{display:grid;grid-template-columns:1.12fr 1fr;padding:62px 48px 66px;gap:38px;align-items:center}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;margin:0 0 19px;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(38px,4.7vw,61px);letter-spacing:-2px;margin-bottom:24px}em{font-weight:400;color:#65725e}h2{font-size:38px;letter-spacing:-1px;margin:0}h3{font-size:29px;letter-spacing:-.6px;margin-bottom:16px}.intro{max-width:420px;color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:28px}.button{display:inline-flex;background:var(--green);color:white;padding:13px 21px;border-radius:3px;font-size:12px;gap:35px;align-items:center;white-space:nowrap}.button:hover{background:#45634e}.hero-note{font-size:10px;color:var(--muted);margin-top:18px}.hero-art{height:385px;background:radial-gradient(ellipse at 60% 25%,#e8e1d3,#c1b6a3);position:relative;overflow:hidden;border-radius:45% 45% 3px 3px;box-shadow:inset 0 0 80px #9c8f7820}.art-grid{position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(20deg,transparent 0 3px,#746753 4px,transparent 5px)}.ring{position:absolute;border-radius:50%;box-shadow:10px 27px 16px #514a3955,inset 4px 3px 5px #fff9;transform:rotate(-30deg);border:19px solid #c5c8c2;background:transparent}.ring-one{width:178px;height:220px;left:20%;top:18%;border-color:#d6d7cc #8d948d #b2b8ae #f4f0e1;transform:rotate(-32deg)}.ring-two{width:138px;height:174px;left:51%;top:39%;border-width:16px;border-color:#c09560 #765135 #a17746 #e0b57d;transform:rotate(37deg)}.ring-three{width:75px;height:95px;left:18%;top:66%;border-width:10px;border-color:#a8afa4 #68796f #9da498 #dae0d4;transform:rotate(56deg)}.art-label{position:absolute;bottom:22px;left:23px;font-size:9px;letter-spacing:2px;color:#514b40}.art-number{position:absolute;right:18px;top:55px;font-size:8px;letter-spacing:1.5px;color:#665f51;text-align:right}.tools-section,#gallery{padding:55px 48px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{font-size:12px;max-width:210px;color:var(--muted);margin:0}.ring-feature{background:var(--green);color:white;padding:30px;display:flex;align-items:center;gap:25px;margin-bottom:22px;border-radius:4px}.ring-feature .eyebrow{color:#bccdb5;font-size:9px;margin-bottom:9px}.ring-feature h3{margin-bottom:9px}.ring-feature p:last-child{font-size:12px;max-width:530px;color:#d0d9cf;margin:0}.feature-icon{font-size:68px;line-height:1;color:#c1c9b8;margin-right:5px}.light{background:#eef1e6;color:var(--green);margin-left:auto;gap:10px}.light:hover{background:#fff}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tool-card{border:1px solid var(--line);background:#fffefa;padding:30px;border-radius:4px}.tool-card .eyebrow{font-size:9px;margin-bottom:13px}.tool-intro{font-size:12px;color:var(--muted);min-height:38px;margin-bottom:23px}label{display:block;font-size:11px;font-weight:600;margin-bottom:15px}input,select{display:block;width:100%;background:#fffefa;border:1px solid #ccd0c5;border-radius:3px;color:var(--ink);padding:11px;margin-top:7px;min-height:44px;font-size:13px}select{padding-right:25px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.results{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#eef0e7;padding:20px;border-radius:3px;margin-top:5px}.result small,.weight-result>span{display:block;font-size:9px;letter-spacing:1.3px;color:#58664e}.result strong{font:30px/1.4 Georgia,serif}.result strong span{font:12px 'Segoe UI',sans-serif}.results>p{grid-column:1/-1;margin:6px 0 0;font-size:11px;color:#64705f}details{font-size:11px;color:var(--muted);margin-top:19px}summary{cursor:pointer;color:var(--ink);margin-bottom:10px}details a{text-decoration:underline}details p{margin:10px 0}.swap{border:0;background:transparent;color:var(--green);cursor:pointer;font-size:12px;padding:5px 0;margin:0 0 20px}.weight-result{background:#eef0e7;padding:22px;border-radius:3px}.weight-result output{display:block;font:37px/1.5 Georgia,serif;overflow-wrap:anywhere}.weight-result p{font-size:11px;color:var(--muted);margin:0}.fineprint{font-size:10px;color:var(--muted);margin:20px 0 0;line-height:1.7}.upload-button{border:1px solid #b3bcae;border-radius:3px;padding:10px 18px;cursor:pointer;font-size:12px;font-weight:400;margin:0;white-space:nowrap}.gallery-intro{font-size:13px;color:var(--muted);margin-top:-8px;margin-bottom:25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-placeholder{height:275px;background:#e9e8df;padding:20px;position:relative;overflow:hidden}.gallery-placeholder:nth-child(2){background:#e4e7dd}.gallery-placeholder:nth-child(3){background:#eae1d5}.gallery-placeholder>span{font-size:10px;color:#939580}.gallery-placeholder p{position:absolute;bottom:0;font:20px Georgia,serif}.gallery-placeholder small{display:block;font:8px 'Segoe UI',sans-serif;letter-spacing:1.7px;margin-top:10px;color:#78806f}.outline-shape{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);opacity:.5}.circle{width:95px;height:95px;border:13px double #8e9884;border-radius:50%}.pendant{width:70px;height:110px;border:1px solid #7c8b72;border-radius:48% 48% 40% 40%;transform:translate(-50%,-50%) rotate(20deg);box-shadow:inset 0 0 0 7px #d0d6c8}.texture{width:100px;height:100px;background:repeating-radial-gradient(ellipse at bottom,#b99d7a 0 1px,transparent 2px 9px);border-radius:50%}.gallery-item{margin:0;position:relative;min-width:0}.gallery-item img{width:100%;height:275px;object-fit:cover;display:block;border-radius:3px}.photo-open{border:0;padding:0;background:transparent;cursor:zoom-in;width:100%}.gallery-item figcaption{font-size:12px;margin-top:9px;word-break:break-word}.remove-photo{position:absolute;right:8px;top:8px;background:#fffefa;border:0;border-radius:50%;width:30px;height:30px;cursor:pointer}.closing{border-top:1px solid var(--line);text-align:center;padding:65px 25px}.closing h2{font-size:44px}.closing a{display:inline-block;font-size:12px;margin-top:25px;border-bottom:1px solid #aeb8a5;padding-bottom:5px}footer{padding:28px 48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}footer .brandmark{font-size:33px}footer p{margin:0}dialog{border:0;background:var(--paper);padding:20px;max-width:90vw;max-height:90vh}dialog::backdrop{background:#111b17cc}dialog img{display:block;max-width:80vw;max-height:73vh;object-fit:contain}dialog p{font-size:12px;margin:12px 0 0}#close-lightbox{position:absolute;right:8px;top:8px;border:0;background:white;font-size:25px;cursor:pointer;width:35px;height:35px}.error{color:#a13f29!important}@media(max-width:800px){header{padding:22px}nav{gap:17px}nav>a:not(.navbutton){display:none}.hero{padding:40px 22px;gap:25px}.hero-art{height:330px}.ring-one{left:10%;width:140px;height:180px}.ring-two{left:46%;width:110px;height:145px}.ring-three{left:12%}.tools-section,#gallery{padding:40px 22px}.ring-feature{padding:24px;gap:17px}.feature-icon{display:none}.ring-feature .button{margin-left:0}.ring-feature{flex-wrap:wrap}.tool-card{padding:22px}.section-heading>p{display:none}h2{font-size:32px}.gallery-placeholder,.gallery-item img{height:230px}.tool-grid{gap:15px}}@media(max-width:580px){header .brand{font-size:9px}.brandmark{font-size:36px}.brand small{font-size:6px}.navbutton{font-size:10px;padding:8px}.hero{grid-template-columns:1fr}.hero-art{height:290px;margin-top:10px}.ring-one{left:22%;top:10%}.ring-two{left:53%;top:37%}.ring-three{left:23%;top:62%}h1{font-size:43px}.tool-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-placeholder{height:220px}.gallery-item img{height:320px}.section-heading{align-items:start}#gallery h2{font-size:28px}.upload-button{padding:8px 10px;font-size:10px}footer{padding:24px 22px}footer p{display:none}.closing h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card{min-width:0} @media(max-width:800px){.tool-grid{grid-template-columns:1fr}}
.tech-section{padding:55px 48px;border-top:1px solid var(--line)}.pdf-empty{border:1px dashed #b8c1b0;padding:32px;color:var(--muted);font-size:13px}.pdf-table{width:100%;border-collapse:collapse;font-size:13px}.pdf-table th{text-align:left;font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:600}.pdf-table td,.pdf-table th{padding:15px 12px;border-bottom:1px solid var(--line)}.pdf-table td:first-child{overflow-wrap:anywhere}.pdf-table td:last-child{white-space:nowrap}.pdf-table a{color:var(--green);text-decoration:underline;margin-right:15px}.pdf-remove{border:0;background:transparent;color:#89553c;font:inherit;cursor:pointer}.upload-button{background:transparent;color:var(--ink)}@media(max-width:800px){.tech-section{padding:40px 22px}nav>a.tech-nav{display:inline-block}}@media(max-width:580px){.pdf-table td,.pdf-table th{padding:12px 5px;font-size:11px}.pdf-table a{display:block;margin:0 0 8px}.pdf-table td:nth-child(2){min-width:90px}.tech-section .section-heading{align-items:center}.tech-section h2{font-size:28px}}
#pdf-viewer{width:96vw;max-width:1400px;height:94vh;max-height:94vh;padding:0;overflow:hidden;border-radius:5px}#pdf-viewer[open]{display:flex;flex-direction:column}.pdf-toolbar{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.pdf-toolbar>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pdf-close{border:0;background:transparent;color:var(--ink);font-size:30px;cursor:pointer;padding:0 9px;line-height:1.3}#pdf-viewer iframe{border:0;width:100%;flex:1;min-height:0;background:white}@media(max-width:580px){.pdf-toolbar{gap:8px;padding:10px}.pdf-toolbar .upload-button{font-size:11px}.pdf-toolbar>span{font-size:11px}}
.gallery-pager{display:flex;justify-content:center;gap:20px;align-items:center;margin-top:25px;font-size:12px}.gallery-pager[hidden]{display:none}.gallery-pager button:disabled{opacity:.4;cursor:default}
/* Charcoal and gold studio palette. */
:root{color-scheme:dark;--paper:#222426;--ink:#f1eee7;--muted:#c1bdb4;--line:#505152;--green:#dfbd72;--accent:#e5c582}
body{background:linear-gradient(135deg,#3c3e40 0%,#282a2c 40%,#1c1e20 100%)}
.brandmark{border-color:#6b6250;color:#e5c582}em{color:#e5c582}.navbutton,.upload-button{border-color:#9e8759}.button{background:#dfbd72;color:#242321}.button:hover{background:#f0d291;color:#171819}.button.light{background:#dfbd72;color:#242321}.ring-feature{background:linear-gradient(115deg,#36383a,#252729);border:1px solid #8f794b}.ring-feature .eyebrow{color:#e5c582}.ring-feature p:last-child{color:#d0ccc2}.feature-icon{color:#dfbd72}.tool-card{background:#303234;border-color:#555554}input,select{background:#252729;color:#f1eee7;border-color:#6d6b62}.results,.weight-result{background:#252729;border:1px solid #756343}.result small,.weight-result>span{color:#e5c582}.result strong,.weight-result output{color:#f3d99e}.results>p{color:#c9c4b7}.swap,.pdf-table a{color:#e5c582}.hero-art{background:radial-gradient(ellipse at 60% 25%,#696a66,#343638);box-shadow:inset 0 0 80px #16181955}.art-label,.art-number{color:#ece3ce}.art-grid{opacity:.08}.gallery-placeholder{background:#3b3d3e}.gallery-placeholder:nth-child(2){background:#333638}.gallery-placeholder:nth-child(3){background:#42413d}.gallery-placeholder>span,.gallery-placeholder small{color:#c9c0aa}.circle{border-color:#d9b76d}.pendant{border-color:#e2c27c;box-shadow:inset 0 0 0 7px #625945}.texture{background:repeating-radial-gradient(ellipse at bottom,#d4b477 0 1px,transparent 2px 9px)}.upload-button{color:#efce88}.remove-photo,#close-lightbox{background:#2a2c2e;color:#f1d79f}.pdf-remove{color:#edbc93}.pdf-empty{border-color:#8f7d58}dialog{background:#2a2c2e;color:#f1eee7}.error{color:#ffba9f!important}.pdf-close{color:#efce88}.closing a{border-color:#a08a5e}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#f3cf7c}::selection{background:#dfbd72;color:#202224}

/* Parchment page background with charcoal studio panels. */
body{background:#eee4cf;color:#302d27}header,.tools-section,#gallery,.tech-section,.closing,footer{border-color:#c8bda6}.brandmark{border-color:#b6a27c}.brandmark,em,.eyebrow{color:#866522}.intro,.hero-note,.section-heading>p,.gallery-intro,footer,.fineprint{color:#686052}.navbutton,.upload-button{color:#6e521c;border-color:#a68a51}.tool-card,.ring-feature{color:#f1eee7}.tool-card .eyebrow,.ring-feature .eyebrow{color:#e5c582}.tool-card .fineprint,.tool-card .tool-intro,.tool-card details{color:#c1bdb4}.tool-card .upload-button{color:#efce88}.tool-card summary{color:#f1eee7}.gallery-placeholder{color:#f1eee7}.pdf-table a{color:#76571d}.pdf-remove{color:#864523}.pdf-empty{color:#686052}.pdf-table th{color:#686052}.pdf-table td,.pdf-table th{border-color:#c8bda6}.closing em{color:#866522}dialog{color:#f1eee7}.pdf-toolbar .upload-button{color:#efce88}.pdf-close{color:#efce88}

[hidden]{display:none!important}.admin-form{max-width:650px}.admin-form input{background:#fffefa;color:#302d27}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-actions button{white-space:normal}#library-message{margin-top:20px;color:#70521d}#upload-tools{max-width:650px}

.tech-description{white-space:pre-line;font-size:12px;line-height:1.6;font-weight:400;color:#686052;margin:8px 0 0;max-width:560px;overflow-wrap:anywhere}.description-dialog{width:min(560px,92vw);border:1px solid #a68a51;border-radius:6px;padding:26px}.description-dialog textarea{display:block;width:100%;resize:vertical;min-height:70px;padding:10px;font:inherit;background:#fffefa;color:#302d27;border:1px solid #a68a51;border-radius:3px}.description-dialog button{margin:18px 10px 0 0}.description-dialog .fineprint{color:#c1bdb4}.description-dialog p[role=alert]{color:#ffba9f}.description-dialog .upload-button{color:#efce88}.pdf-table .pdf-remove{margin-right:12px}.pdf-table td{vertical-align:top}

.shrink-download{margin-top:14px}.shrink-download .fineprint{margin-top:7px;font-size:11px}.shrink-download button:disabled{opacity:.55;cursor:not-allowed}

#admin-email,#admin-password{-webkit-text-security:disc}

.hero-art.hero-donkey{background:#fff;border-radius:4px;box-shadow:none;display:flex;justify-content:center;align-items:center}.hero-donkey img{display:block;width:100%;height:100%;object-fit:contain}

.hero-art.hero-donkey{background:transparent}

.hero-art.hero-donkey{overflow:visible}.hero-donkey img{transform:scale(1.5625);transform-origin:center}

.cuff-instructions-action{display:flex;justify-content:flex-end;margin-top:auto;padding-top:22px}.cuff-instructions-action .upload-button{color:#efce88}.tool-card:has(.cuff-instructions-action){display:flex;flex-direction:column}#cuff-instructions-dialog{width:min(650px,92vw);max-height:85vh;overflow:auto;border:1px solid #a68a51;border-radius:6px;padding:28px}#cuff-instructions-dialog p{line-height:1.8;font-size:15px}#cuff-instructions-dialog .upload-button{color:#efce88}

.closing.closing-with-photo{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:40px;padding:45px 48px}.admin-booboo{margin:0;width:100%;max-width:240px;justify-self:start}.admin-booboo img{display:block;width:100%;height:auto;max-height:290px;object-fit:contain;border-radius:5px}.admin-booboo figcaption{font:19px Georgia,serif;margin-top:12px;text-align:center;color:#70521d}.closing-copy{text-align:center}@media(max-width:580px){.closing.closing-with-photo{grid-template-columns:125px minmax(0,1fr);gap:18px;padding:35px 22px}.admin-booboo img{max-height:180px}.admin-booboo figcaption{font-size:15px}.closing-with-photo h2{font-size:28px}.closing-with-photo .eyebrow{font-size:8px;letter-spacing:1px}}

.contact-footer{padding:18px 22px 28px;text-align:center;font-size:13px;color:#686052;overflow-wrap:anywhere}.contact-footer a{color:#70521d;text-decoration:underline;text-underline-offset:3px}

.drill-mode{display:flex;gap:12px;margin-bottom:22px;flex-wrap:wrap}.tool-card .drill-mode .upload-button{color:#efce88}.drill-mode button[aria-pressed=true]{background:#dfbd72!important;color:#242321!important;border-color:#dfbd72}

