:root{font-family:Georgia,'Times New Roman',serif;color:#35291c;background:#221e1b;font-size:17px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #346a84;outline-offset:3px}.codex{max-width:1560px;min-height:100vh;margin:auto;background:#eadbb5;background-image:radial-gradient(ellipse at 14% 10%,#fff3d250,transparent 56%),repeating-linear-gradient(90deg,transparent 0 7px,#6d451006 7px 8px);box-shadow:0 0 50px #0009;display:grid;grid-template-columns:270px minmax(0,1fr) 270px}.side{padding:30px 20px;border-right:1px solid #ba9657;background:#e4cea0}.right{border-left:1px solid #ba9657;border-right:0}.brand{display:flex;align-items:center;gap:14px;color:#792e22}.seal{font-size:38px;color:#a57b2e}.brand h1{font-size:24px;letter-spacing:2px;margin:0;font-variant:small-caps}.brand small{font-size:11px;letter-spacing:2px;color:#6e5a3e}nav{margin-top:40px;display:grid;gap:9px}.navbtn{width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:3px;padding:11px;color:#51402d}.navbtn.current{border-color:#aa8746;background:#f6ebd0;color:#792e22;font-weight:bold}.navbtn:disabled{opacity:.5;cursor:not-allowed}.side-note{margin-top:36px;border-top:1px solid #b59868;padding-top:15px;font-size:13px;line-height:1.5;color:#695237}.page{min-width:0;padding:24px 34px 60px}.pagehead{border-bottom:3px double #a17b37;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0 22px;margin-bottom:26px}.eyebrow{font:12px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#806125}.pagehead h2{font-size:40px;margin:7px 0 0;color:#782b23;font-variant:small-caps}.ornament{color:#96712d;letter-spacing:8px}.folio{font-size:13px;color:#776447}.parchment{position:relative;background:#f5e9c9;border:1px solid #b9985c;box-shadow:inset 0 0 0 4px #f5e9c9,inset 0 0 0 5px #c3a367,0 6px 15px #48301624;padding:30px 32px;margin-bottom:18px}.parchment:before,.parchment:after{content:'✥';position:absolute;color:#a77b2a;font-size:20px}.parchment:before{top:7px;left:10px}.parchment:after{bottom:7px;right:10px}.lead{font-size:19px;line-height:1.5;margin-top:4px}.initial:first-letter{float:left;color:#992f28;font-weight:bold;font-size:66px;line-height:.83;padding:4px 8px 0 0}h3{font-size:26px;color:#733028;margin:0 0 15px}h4{margin:14px 0 8px;font-size:19px;color:#733028}p{line-height:1.55}label.field{display:grid;gap:6px;margin:15px 0;font-weight:bold;color:#55402a}label.field small{font-weight:normal;color:#796448}input,textarea,select{width:100%;padding:11px 12px;background:#fffaf0;border:1px solid #ab8c58;border-radius:3px;color:#382b1c}textarea{resize:vertical;min-height:80px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.btn{border:1px solid #8b692f;background:#f4e5bc;color:#4b3420;padding:11px 17px;border-radius:3px}.btn.primary{background:#80362a;color:#fff1d9;border-color:#61251e}.btn.dark{background:#273f38;color:#fff1da;border-color:#182c27}.btn:disabled{opacity:.42;cursor:not-allowed}.warning{border-left:4px solid #96372c;padding:10px 14px;background:#f5dfbf;color:#652c25}.fine{font:13px/1.55 Arial,sans-serif;color:#74614a}.progress{display:flex;gap:5px;margin-bottom:20px}.pip{height:5px;flex:1;background:#c5ae81}.pip.done{background:#7e3529}.record{padding:13px 0;border-bottom:1px solid #d2ba8b;display:flex;justify-content:space-between;align-items:center;gap:9px}.record strong{display:block}.record small{font:13px Arial,sans-serif;color:#726047}.chip{display:inline-block;border:1px solid #bc9b62;border-radius:20px;font:12px Arial,sans-serif;padding:5px 9px;color:#664c2d;margin:3px}.stat{background:#efdfb8;padding:16px;border:1px solid #c5a469}.stat strong{display:block;font-size:27px;color:#7f3027}.stat small{font-family:Arial,sans-serif}.cover{text-align:center;padding:45px 20px;border:4px double #9a7435}.cover h3{font-size:clamp(36px,6vw,72px);letter-spacing:5px;margin:24px 0}.cover .symbol{font-size:56px;color:#947029}.cover .subtitle{font-style:italic;font-size:20px}.note{padding:12px;background:#e8d6ac;border-left:3px solid #aa823f;font-size:14px}.right h3{font-size:18px}.right .item{padding:11px 0;border-bottom:1px solid #c9af7f}.right .item small{display:block;color:#705638;font-size:12px}.muted{color:#7b6953}.cardlink{width:100%;text-align:left;background:#eddfb9;border:1px solid #b49765;padding:16px;margin:6px 0;color:#512d27}.empty{padding:16px;border:1px dashed #b69a68;color:#72583c}.screenreader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1100px){.codex{grid-template-columns:220px minmax(0,1fr)}.right{display:none}.page{padding:20px}.side{padding:24px 13px}}@media(max-width:700px){.codex{display:block}.side{border:0;border-bottom:1px solid #ba9657;padding:12px}.brand h1{font-size:21px}nav{display:flex;overflow:auto;margin-top:12px;gap:4px}nav .navbtn{min-width:max-content;padding:9px}.side-note{display:none}.page{padding:16px}.pagehead h2{font-size:30px}.parchment{padding:25px 20px}.cols{grid-template-columns:1fr}.cover{padding:20px 10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* v0.2 — original generated marginal miniatures, cropped free of application copy. */
.side{position:relative}.marginalia{display:block;max-width:100%;height:auto;mix-blend-mode:multiply;filter:saturate(.88);border:0;margin:24px auto 0;pointer-events:none}.copista{width:218px}.joglar{width:145px;margin-top:28px}.pagehead{position:relative}.pagehead:after{content:'❦';position:absolute;right:4px;bottom:2px;color:#9a382d;font-size:20px}.parchment{background-image:radial-gradient(ellipse at 96% 7%,#f9f0d7,transparent 45%)}.summary-list{display:grid;gap:0;border-top:1px solid #b9985c}.summary-list>div{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;padding:12px 4px;border-bottom:1px solid #d7c396}.summary-list>div span{max-width:65%;text-align:right}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}.slot{background:#efe0ba;color:#493324;border:1px solid #ad8948;min-height:108px;text-align:left;padding:12px;display:flex;flex-direction:column;gap:7px}.slot.selected{outline:3px double #8d362a;background:#f9ebc8}.slot span{color:#802e23;font-size:20px;font-weight:bold}.slot small{font:13px/1.4 Arial,sans-serif;overflow-wrap:anywhere}.slot em{font-size:12px;margin-top:auto}.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.person{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:9px;align-items:center;border:1px solid #c9ac74;background:#f2e3bf;padding:10px;cursor:pointer}.person input{width:17px;height:17px;grid-row:span 2;accent-color:#7d352b}.person small{font:12px Arial,sans-serif;color:#725b39}.warning{margin:14px 0}.side-note{position:relative;z-index:1}@media(max-width:1100px){.marginalia{display:none}}@media(max-width:800px){.slots{grid-template-columns:1fr}.slot{min-height:70px}.people{grid-template-columns:1fr}.summary-list>div{display:grid}.summary-list>div span{text-align:left;max-width:100%}}
/* v0.2.1 — real continuous medieval painted foliage on the codex margins.
   Decorative only: transparent to input, not a screenshot or replacement UI. */
.codex{position:relative;background-color:#eadbb5;border-top:8px double #9c743b;border-bottom:8px double #9c743b}
.side,.page{position:relative;isolation:isolate}
.side{padding-left:44px;padding-right:35px;background-color:#e6d0a4}
.side::before,.side::after,.page::before,.page::after{content:"";position:absolute;top:0;bottom:0;z-index:0;pointer-events:none;background-repeat:repeat-y;background-size:38px 1024px;width:38px;opacity:.96}
.side::before{left:0;background-image:url('./assets/orla-floral-esquerra.webp')}
.side::after{right:0;background-image:url('./assets/orla-floral-dreta.webp')}
.page::before{left:0;background-image:url('./assets/orla-floral-esquerra.webp')}
.page::after{right:0;background-image:url('./assets/orla-floral-dreta.webp')}
.side>* , .page>*{position:relative;z-index:1}
.page{padding-left:55px;padding-right:55px;padding-top:34px;background-image:url('./assets/orla-capcalera.webp');background-repeat:repeat-x;background-position:top left;background-size:auto 22px}
.marginalia{display:block;position:relative;z-index:1;margin-top:24px;max-width:100%;height:auto;mix-blend-mode:multiply}
.side .brand{gap:7px}.side .brand h1{font-size:22px}
.side nav{margin-top:30px}
.right{padding-left:44px;padding-right:38px}
.right .marginalia{margin-top:35px}
@media(min-width:701px) and (max-width:1100px){.codex{grid-template-columns:245px minmax(0,1fr)}.side{padding-left:40px;padding-right:31px}.marginalia{display:block}.page{padding-left:46px;padding-right:46px}}
@media(max-width:700px){.side{padding:12px 18px}.side::before,.side::after{width:12px;background-size:24px auto}.side::after{background-position:right}.side .marginalia{display:none}.page{padding:22px 25px;background-size:auto 12px}.page::before,.page::after{width:13px;background-size:22px auto}.page::after{background-position:right}.side nav{margin-top:12px}}
