:root{--parchment:#f3ead8;--card:#fbf6ea;--ink:#2b2118;--ink-soft:#6b5a48;--line:#d9c9a8;--accent:#7a2e1d;--on-accent:#fff;--health:#8f2d22;--health-low:#c0392b;--bonus:#c99a2e;--bonus-2:#ddb54f;--bonus-text:#8a6510;--bar-bg:#e6dac2;--field:#fffefb;--panel:#fffdf7;--secret:#f6efe0;--hover:#f1e6cf;--badge:#ece0c6;--secret-badge-bg:#e5d7f0;--secret-badge-ink:#5b3d73;--ok:#2f6b2f;--backdrop:#1e140a8c;--shadow:#3c28142e;--texture-1:#ffffff8c;--texture-2:#966e3c24;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--parchment:#1b1612;--card:#251f19;--ink:#ecdfc8;--ink-soft:#b3a48c;--line:#4a3f33;--accent:#e0957a;--on-accent:#1b1612;--health:#c4473a;--health-low:#e8604f;--bonus:#d4a73a;--bonus-2:#b8902c;--bonus-text:#e6c56c;--bar-bg:#3a3128;--field:#1f1a15;--panel:#2a231c;--secret:#2d2620;--hover:#312920;--badge:#3a3128;--secret-badge-bg:#3d3048;--secret-badge-ink:#d7c2ea;--ok:#82c882;--backdrop:#000000a6;--shadow:#0006;--texture-1:#ffdcaa0a;--texture-2:#00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--parchment:#1b1612;--card:#251f19;--ink:#ecdfc8;--ink-soft:#b3a48c;--line:#4a3f33;--accent:#e0957a;--on-accent:#1b1612;--health:#c4473a;--health-low:#e8604f;--bonus:#d4a73a;--bonus-2:#b8902c;--bonus-text:#e6c56c;--bar-bg:#3a3128;--field:#1f1a15;--panel:#2a231c;--secret:#2d2620;--hover:#312920;--badge:#3a3128;--secret-badge-bg:#3d3048;--secret-badge-ink:#d7c2ea;--ok:#82c882;--backdrop:#000000a6;--shadow:#0006;--texture-1:#ffdcaa0a;--texture-2:#00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--parchment);color:var(--ink);margin:0;font-family:EB Garamond,Georgia,serif;font-size:18px;line-height:1.4}h1,h2{color:var(--accent);margin:0;font-family:Cinzel,Georgia,serif}h1{font-size:1.5rem}h2{font-size:1.05rem}#app{max-width:560px;margin:0 auto;padding:12px 16px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px 16px}.status{text-align:center;color:var(--ink-soft)}.error{color:var(--health-low);min-height:1.4em;margin:0}button{font:inherit;cursor:pointer}.login{text-align:center;margin-top:15vh}.login form{text-align:left;gap:10px;margin-top:18px;display:grid}.login input{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;padding:12px;font-size:1.1rem}.login button{background:var(--accent);min-height:48px;color:var(--on-accent);border:none;border-radius:8px;font-family:Cinzel,Georgia,serif;font-size:1.05rem}.login button:disabled{opacity:.6}.login-choices{gap:10px;margin-top:18px;display:grid}.login button.login-choice{border:1px solid var(--line);background:var(--card);min-height:60px;color:var(--ink);text-align:left;gap:2px;padding:10px 16px;display:grid}.login-choice strong{color:var(--accent);font-family:Cinzel,Georgia,serif;font-size:1.15rem}.login-choice span{color:var(--ink-soft);font-family:EB Garamond,Georgia,serif;font-size:.9rem}.login button.login-choice.busy{opacity:1;border-color:var(--accent)}.login-other{text-align:left;margin-top:14px}.login-other summary{min-height:40px;color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;display:flex}.login-other[open] summary{justify-content:flex-start}.login-other form{margin-top:6px}.topbar{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:.95rem;display:flex}button.link{color:var(--accent);background:0 0;border:none;min-height:44px;padding:10px 0;text-decoration:underline}.identity p{color:var(--ink-soft);margin:4px 0 0}.health-label{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-family:Cinzel,Georgia,serif;display:flex}.health-label strong{font-size:1.3rem}.bar{background:var(--bar-bg);border:1px solid var(--line);border-radius:10px;height:20px;display:flex;overflow:hidden}.bar-fill{background:var(--health)}.bar.low .bar-fill{background:var(--health-low)}.bar-bonus{background:repeating-linear-gradient(45deg, var(--bonus), var(--bonus) 6px, var(--bonus-2) 6px, var(--bonus-2) 12px)}.bonus-label{color:var(--bonus-text);margin:6px 0 0;font-weight:600}.stats{text-align:center;grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.stat span{text-transform:uppercase;letter-spacing:0;color:var(--ink-soft);font-size:.66rem;display:block}.stat strong{font-size:1.35rem}.defense-line{color:var(--ink-soft);align-items:center;gap:6px;margin:8px 0 0;font-size:.95rem;display:flex}.entry-details .defense{font-weight:600}.stat small{color:var(--ink-soft);white-space:nowrap;font-size:.75rem;display:block}.stat.boosted strong{color:var(--ok)}.stat.lowered strong{color:var(--health)}.money{justify-content:space-around;font-family:Cinzel,Georgia,serif;display:flex}.money strong{font-size:1.2rem}.description p{white-space:pre-line;margin:8px 0 0}.section summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:32px;list-style:none;display:flex}.section summary::-webkit-details-marker{display:none}.section summary:after{content:"▾";color:var(--ink-soft);margin-left:8px}.section:not([open]) summary:after{content:"▸"}.count{color:var(--ink-soft);margin-left:auto;font-size:.9rem}.entries{margin:8px 0 0;padding:0;list-style:none}.entry{border-top:1px solid var(--line);padding:10px 0}.entry-main{justify-content:space-between;gap:8px;display:flex}.entry-name{font-weight:600}.quantity{color:var(--ink-soft);font-weight:600}.entry-description{color:var(--ink-soft);margin:2px 0 0;font-style:italic}.entry-details{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:4px;display:flex}.target{color:var(--accent);font-family:Cinzel,Georgia,serif;font-size:1.15rem;font-weight:700}.formula,.empty{color:var(--ink-soft);font-size:.9rem}.modifier,.damage{font-weight:600}.empty{margin:8px 0 0}.icon{width:1.35em;height:1.35em;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;vertical-align:middle;background-color:currentColor;flex:none;display:inline-block}.icon.big{width:2.2em;height:2.2em}.entry{padding-left:2.1em;position:relative}.entry-main .icon{color:var(--accent);position:absolute;top:10px;left:0}.party{scrollbar-width:none;gap:6px;margin-bottom:8px;padding-bottom:6px;display:flex;overflow-x:auto}.party button{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--ink);border-radius:20px;flex:none;padding:6px 14px}.party button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.readonly-note{text-align:center;color:var(--ink-soft);margin:0 0 8px;font-style:italic}.readonly-note .text-button{margin:0 auto 2px;font-style:normal;display:block}.pv-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.pv-button{border:1px solid var(--health);border-radius:8px;min-height:48px;font-family:Cinzel,Georgia,serif;font-size:1rem}.damage-button{background:var(--health);color:var(--on-accent)}.heal-button{background:var(--card);color:var(--health)}.options-button,.undo-button{border:1px solid var(--accent);min-height:36px;color:var(--accent);background:0 0;border-radius:18px;flex:none;margin-left:auto;padding:4px 12px;font-size:.9rem}.entry-main .quantity+.options-button,.entry-main .lock+.options-button{margin-left:10px}.entry-main{align-items:center}.entry-main .lock{color:var(--ink-soft);flex:none;margin-left:8px}.entry-main .lock .icon{color:inherit;position:static}.add-entry-button{border:1px dashed var(--accent);width:100%;min-height:44px;color:var(--accent);background:0 0;border-radius:8px;margin-top:10px;font-size:1rem}.kind-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kind-toggle button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;border-radius:22px;font-size:1rem}.kind-toggle button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.defense-list{gap:2px;display:grid}.defense-check span{flex:1}.defense-check strong{font-family:Cinzel,Georgia,serif}.pv-total{justify-content:center;align-items:baseline;gap:6px;margin:0;font-family:Cinzel,Georgia,serif;font-size:2.4rem;line-height:1.1;display:flex}.pv-total input{width:3.6em;font:inherit;text-align:center;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;padding:2px 4px}.pv-total span:last-child:not(:first-child){font-size:1.2rem}.pv-steps{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pv-steps button{border:1px solid var(--line);background:var(--parchment);min-height:56px;color:var(--ink);border-radius:8px;font-family:Cinzel,Georgia,serif;font-size:1.4rem}.text-button[data-pv-reset]{justify-self:center}.text-button{min-height:40px;color:var(--accent);background:0 0;border:none;justify-self:start;padding:4px 0;font-size:.95rem;text-decoration:underline}.wide-button{border:1px solid var(--accent);min-height:44px;color:var(--accent);background:0 0;border-radius:8px;font-size:1rem}.note-field textarea{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--ink);resize:vertical;border-radius:8px;padding:10px}.dice-field{gap:6px;display:flex}.dice-plus{align-self:center;font-family:Cinzel,Georgia,serif;font-size:1.2rem}.dice-field input,.dice-field select{min-width:0;font:inherit;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;padding:10px 6px}.dice-field input{width:3.5em}.dice-field select{flex:1}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet-dialog .hint{color:var(--ink-soft);margin:6px 0 0;font-size:.85rem}.icon-field{align-items:center;gap:12px;margin-top:12px;display:flex}.icon-preview{color:var(--accent)}.icon-preview+button{flex:1}.icon-picker{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-top:10px;padding:10px}.icon-picker .inline-form{max-width:none}.icon-results{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;max-height:280px;margin-top:10px;display:grid;overflow-y:auto}button.icon-choice{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:6px}button.icon-choice:hover,button.icon-choice:focus{border-color:var(--accent);color:var(--accent)}.icon-field button,.icon-picker .inline-form button{border:1px solid var(--accent);min-height:40px;color:var(--accent);background:0 0;border-radius:8px;padding:4px 12px}.icon-picker .inline-form{gap:8px;display:flex}.icon-picker input[type=search]{min-width:0;font:inherit;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;flex:1;padding:8px}dialog{background:var(--card);width:min(100%,480px);max-width:100%;max-height:92dvh;color:var(--ink);border:none;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0;overflow-y:auto}@media (width>=600px){dialog{border-radius:16px;margin:auto}}dialog::backdrop{background:var(--backdrop)}.sheet-dialog{padding:18px 18px calc(18px + env(safe-area-inset-bottom));gap:12px;display:grid}.sheet-dialog h2{align-items:center;gap:8px;font-size:1.2rem;display:flex}.dialog-hint{color:var(--ink-soft);margin:0}.dialog-hint.small{font-size:.85rem}.amount{grid-template-columns:56px 1fr 56px;gap:8px;display:grid}.amount input{font:inherit;text-align:center;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;min-height:56px;font-size:1.6rem}.amount .step{border:1px solid var(--line);background:var(--parchment);color:var(--ink);border-radius:8px;font-size:1.6rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{border:1px solid var(--line);min-width:48px;min-height:40px;color:var(--ink);background:0 0;border-radius:20px}.pv-preview{text-align:center;margin:0;font-family:Cinzel,Georgia,serif;font-size:1.2rem}.note-field{color:var(--ink-soft);gap:4px;font-size:.95rem;display:grid}.note-field input,.note-field select{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;padding:10px}.check{align-items:center;gap:8px;min-height:40px;display:flex}.check input{width:22px;height:22px}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dialog-actions button{border-radius:8px;min-height:48px;font-family:Cinzel,Georgia,serif;font-size:1rem}.dialog-actions .primary{background:var(--accent);color:var(--on-accent);border:none}.dialog-actions .secondary{border:1px solid var(--line);color:var(--ink);background:0 0}.toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--ink);width:min(100% - 32px,480px);color:var(--parchment);box-shadow:0 4px 16px var(--shadow);z-index:10;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;transform:translate(-50%)}.toast span{flex:1}.toast button{border:1px solid var(--parchment);min-height:36px;color:var(--parchment);background:0 0;border-radius:18px;padding:4px 14px}.recent .entry-description{font-style:normal}.pdf-row{text-align:center;margin:16px 0 0}.pdf-button{border:1px solid var(--accent);min-height:44px;color:var(--accent);background:0 0;border-radius:8px;padding:8px 18px}body{background-color:var(--parchment);background-image:radial-gradient(ellipse at 15% 0%, var(--texture-1), transparent 55%), radial-gradient(ellipse at 85% 100%, var(--texture-2), transparent 60%);background-attachment:fixed;min-height:100vh}.card{box-shadow:0 1px 3px var(--shadow)}.identity{text-align:center}.identity h1{letter-spacing:.02em;font-size:1.65rem}.login h1:after{content:"❦";color:var(--ink-soft);margin-top:2px;font-size:1rem;display:block}.login h1{font-size:1.7rem}.login-subtitle{color:var(--ink-soft);margin:4px 0 0;font-style:italic}.login input,.amount input,.note-field input{background:var(--field)}.section h2,.description h2,.recent h2{letter-spacing:.03em}.topbar-actions{align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--card);min-width:40px;min-height:40px;color:var(--ink);border-radius:50%;font-size:1.1rem;line-height:1}.login-theme{justify-content:flex-end;gap:8px;display:flex}.fullscreen-toggle{justify-content:center;align-items:center;display:inline-flex}.view-tabs{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.view-tabs button{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--ink);border-radius:8px;font-family:Cinzel,Georgia,serif;font-size:1rem}.view-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.overview{gap:10px;display:grid}.overview-card{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;gap:6px;display:grid}.overview-name{color:var(--accent);font-family:Cinzel,Georgia,serif;font-size:1.15rem}.overview-pv{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.overview-pv .bar{height:12px}.overview-line{color:var(--ink-soft);flex-wrap:wrap;align-items:center;font-size:.95rem;display:flex}.overview-pa{margin-left:auto}.overview-line strong{color:var(--ink)}.overview-stats{text-align:center;grid-template-columns:repeat(5,1fr);font-family:Cinzel,Georgia,serif;font-size:1.1rem;display:grid}.overview-stats small{text-transform:uppercase;color:var(--ink-soft);font-family:EB Garamond,Georgia,serif;font-size:.7rem;display:block}.overview-stats .boosted{color:var(--ok)}.overview-stats .lowered{color:var(--health)}.money{flex-wrap:wrap;align-items:center;gap:10px}.pa-actions{gap:8px;display:flex}.pa-actions button{border:1px solid var(--accent);min-height:40px;color:var(--accent);background:0 0;border-radius:20px;padding:4px 12px;font-size:.95rem}.inventory-full{text-align:center;color:var(--ink-soft);margin:10px 0 0;font-style:italic}.combat-head{justify-content:space-between;align-items:baseline;display:flex}.combat-round{color:var(--accent);margin:0;font-family:Cinzel,Georgia,serif;font-size:1.3rem}.combat-order{margin:0;padding:0;list-style:none}.combat-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.combat-row:last-child{border-bottom:none}.combat-row.mine strong{color:var(--accent)}.combat-rank{width:1.6em;color:var(--ink-soft);flex:none;font-family:Cinzel,Georgia,serif;font-size:1.1rem}.combat-who{flex:1;gap:4px;display:grid}.combat-row.enemy{border-left:4px solid var(--enemy,var(--accent));padding-left:8px}.combat-row.enemy .icon{color:var(--enemy,var(--accent));flex:none}.combat-row.enemy strong{color:var(--enemy,var(--ink))}.enemy-defense{font-size:.9rem;font-weight:600}.combat-row.enemy .entry-description{margin:0}.skill-off .entry-name,.skill-off .icon{opacity:.5}.skill-wait{color:var(--ink-soft);text-align:right;margin-left:auto;font-size:.85rem;font-style:italic}.pdf-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.recent-button{border:1px solid var(--line);min-height:40px;color:var(--ink-soft);background:0 0;border-radius:20px;padding:4px 14px;font-size:.95rem}.defense-value{white-space:nowrap;align-items:center;gap:3px;margin-right:12px;display:inline-flex}.defense-value .icon{width:1.15em;height:1.15em;color:var(--accent);position:static}.entry-main .defense-value .icon,.entry-details .defense-value .icon{position:static}.defense-line .defense-value strong{color:var(--ink);font-size:1.05rem}.combat-row.enemy .defense-value .icon{color:var(--accent)}.combat-row.enemy .defense-value strong{color:var(--ink)}body.player{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body.player input,body.player textarea{-webkit-user-select:text;user-select:text}.identity summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.identity summary h1{flex:1}.identity summary:after{content:"▸";color:var(--ink-soft)}.identity[open] summary:after{content:"▾"}.identity summary::-webkit-details-marker{display:none}.identity .backstory{text-align:left;white-space:pre-line;margin:10px 0 0}.pa-amount{align-items:center;gap:5px;display:inline-flex}.pa-amount .icon{width:1.2em;height:1.2em;color:var(--accent);position:static}.identity summary:before{content:"▸";visibility:hidden}.combat-order.scrolls{overscroll-behavior:contain;border-bottom:1px dashed var(--line);overflow-y:auto}.combat-name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-badge{background:var(--bar-bg);border-radius:10px;align-items:center;gap:2px;padding:1px 6px 1px 4px;font-size:.85rem;line-height:1.4;display:inline-flex}.status-badge .icon{width:1.1em;height:1.1em;position:static}.status-badge small{color:var(--ink);font-weight:700}.combat-row .status-saignement .icon,.status-saignement .icon{color:#c0392b}.combat-row .status-brulure .icon,.status-brulure .icon{color:#e67e22}.combat-row .status-poison .icon,.status-poison .icon{color:#4caf50}.combat-row .status-sommeil .icon,.status-sommeil .icon{color:#5d8bd6}.combat-row .status-confusion .icon,.status-confusion .icon{color:#b07cc6}
