@font-face {
  font-family:"Adora Morgutten";
  src:url("assets/fonts/adora-morgutten.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
/* Character dossier: shared neutral palette, individually stored light/dark setting. */
#pc-view > .page-heading, #pc-view > .page-back { display:none; }
.pc-dossier { --dossier-bg:#30302f; --dossier-ink:#deddd8; --dossier-rule:#8f8d854d; position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(250px,34%) minmax(250px,1fr) minmax(145px,17%); gap:0; padding:28px 18px 24px 0; min-height:760px; background:var(--dossier-bg); color:var(--dossier-ink); border:1px solid var(--dossier-rule); }
.dossier-light { --dossier-bg:#dfded9; --dossier-ink:#393936; --dossier-rule:#68685e44; }
.pc-dossier::before { content:""; pointer-events:none; position:absolute; inset:0; z-index:0; opacity:.2; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' fill='%23808080' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E"),repeating-linear-gradient(0deg,transparent 0 94px,var(--dossier-rule) 95px 96px),repeating-linear-gradient(90deg,transparent 0 94px,var(--dossier-rule) 95px 96px); }
.dossier-background-name { position:absolute; left:25%;right:13%;top:12px; height:40%; overflow:hidden; font:700 clamp(95px,12vw,230px)/1 "rocky-compressed",Georgia,serif; color:var(--pc-accent); opacity:.55; text-transform:uppercase; white-space:nowrap; pointer-events:none; }
.dossier-corner { position:absolute; width:42%;height:38%;bottom:0;right:17%;background:var(--pc-accent);opacity:.65;clip-path:polygon(100% 0,100% 100%,0 100%); }
.dossier-profile { align-self:center; position:relative;z-index:2; padding:27px 25px 38px; margin:70px 0 15px; color:#343432; background:#e4e2dc; border:1px solid #96938a; box-shadow:7px -7px 0 #aaa79d22; clip-path:polygon(0 0,100% 0,100% 91%,86% 100%,0 100%); }
.dossier-profile header { display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid #99968d;padding-bottom:15px; }
.dossier-profile header span { font:10px/1.5 Georgia,serif;letter-spacing:.13em; }
.dossier-profile header b { font-size:12px;font-weight:400;overflow-wrap:anywhere; }
.dossier-profile header i { width:14px;height:14px;flex-shrink:0;box-shadow:18px 0 #aaa79d; margin-right:18px; }
.dossier-name { padding:26px 0 18px;border-bottom:1px solid #aaa69b; }
.dossier-name small { font-size:13px;letter-spacing:.16em; }
.dossier-name h2 { margin:9px 0 3px;font:600 clamp(27px,3vw,53px)/1.35 var(--font-serif); overflow-wrap:anywhere; }
.dossier-signature { margin:7px 0 0; color:var(--pc-accent);font:normal 400 34px/1.5 "mina","Segoe Script","Lucida Handwriting",cursive;overflow-wrap:anywhere; }
.dossier-facts { margin:26px 0 20px; }
.dossier-facts > div { display:grid;grid-template-columns:100px minmax(0,1fr);border-bottom:1px solid #aaa79d;min-height:40px;align-items:center; }
.dossier-facts dt { font-size:12px;padding:9px 9px 9px 0; }
.dossier-facts dd { margin:0;padding:9px 0 9px 10px;border-left:1px solid #bbb8af;font:15px/1.6 var(--font-serif);overflow-wrap:anywhere; }
.dossier-facts a { color:inherit;text-underline-offset:4px; }
.dossier-bars { max-width:270px;margin:24px 0; }.dossier-bars svg { width:100%;display:block; }.bar-axis { stroke:#454543;stroke-width:3; }.ability-bar { stroke:#454543;stroke-width:2;fill:none; }
.dossier-barcode { width:66%;height:32px;margin:26px 0 0;opacity:.65;background:repeating-linear-gradient(90deg,#41413e 0 1px,transparent 1px 3px,#41413e 3px 6px,transparent 6px 8px,#41413e 8px 9px,transparent 9px 14px,#41413e 14px 18px,transparent 18px 22px); }
.dossier-art { position:relative;z-index:1;min-width:0;min-height:720px; }
.dossier-art .pc-standing-image { position:absolute;inset:0 3% 0 1%;width:auto;height:auto;aspect-ratio:auto;min-height:0;background:transparent;border:0;padding:0;display:grid;place-items:center;overflow:hidden;border-radius:0;color:var(--dossier-ink);cursor:zoom-in; }
.dossier-art .pc-standing-image img { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;max-height:none; }
.dossier-contours { position:absolute;inset:45% 0 0;opacity:.15;border-radius:47%;background:repeating-radial-gradient(ellipse at 65% 50%,transparent 0 12px,#b5aa8c 13px 14px,transparent 15px 25px);transform:rotate(-12deg); }
.dossier-nav { position:relative;z-index:3;display:flex;flex-direction:column;gap:13px;margin-left:8px;min-width:0;border-left:1px solid var(--dossier-rule);padding-left:12px; }
.dossier-nav a { display:flex;flex-direction:column;gap:10px;min-height:132px;padding:12px 14px 14px;border:1px solid var(--dossier-rule);text-decoration:none;color:inherit;background:#99999908;transition:background .15s; }
.dossier-nav a:hover,.dossier-nav a:focus-visible { outline:2px solid var(--dossier-ink);outline-offset:2px; }
.dossier-nav a[aria-current="page"] { background:linear-gradient(#30302f55,#30302f55),var(--pc-accent);color:#e9e7e0;border-color:#c1b6a2; }
.dossier-nav .dossier-back { min-height:55px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:6px 4px;border:0;border-bottom:1px solid var(--dossier-rule);font-size:13px;margin-bottom:10px; }
.dossier-number { font:400 62px/.95 Georgia,serif;opacity:.7; }
.dossier-nav strong { font:500 clamp(15px,1.4vw,22px)/1.6 var(--font-serif);overflow-wrap:anywhere;text-wrap:balance; }
.dossier-nav small { font:8px/1.5 Georgia,serif;letter-spacing:.16em;margin-top:auto;display:flex;justify-content:space-between;gap:3px; }
.dossier-nav small span { font-size:19px;line-height:.6; }
.dossier-subpage { position:relative;z-index:2;grid-column:1/3;padding:35px 26px;min-width:0; }
.dossier-subpage > header { padding-bottom:25px; }.dossier-subpage > header small { letter-spacing:.2em; }.dossier-subpage h2 { font:500 28px/1.5 var(--font-serif);overflow-wrap:anywhere; }
.dossier-subpage .page-card { background:#e4e2dc;color:#343432;border-color:#aaa79d; }
.dossier-management { padding:16px;border:1px solid var(--line);border-radius:6px; }.dossier-management > summary { cursor:pointer; }.dossier-management > .page-card { margin-top:16px; }
.pc-ability-fields { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
@media(max-width:1050px) { .pc-dossier { grid-template-columns:minmax(220px,38%) minmax(190px,1fr) 135px; }.dossier-profile { padding:22px 16px 35px; }.dossier-facts > div { grid-template-columns:80px minmax(0,1fr); }.dossier-nav { padding-left:8px; }.dossier-nav a { padding:12px 9px; }.dossier-signature { font-size:28px; } }
@media(max-width:760px) { .pc-dossier { display:grid;grid-template-columns:1fr;padding:14px;gap:18px; }.dossier-nav { grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;padding:0;margin:0;gap:8px; }.dossier-nav .dossier-back { grid-column:1/-1;min-height:32px;margin:0; }.dossier-nav a { min-height:110px;gap:7px; }.dossier-number { font-size:32px; }.dossier-nav strong { font-size:13px; }.dossier-nav small { font-size:6px;letter-spacing:0; }.dossier-art { grid-row:2;min-height:530px; }.dossier-profile { margin:0;grid-row:3;padding:25px 22px 40px; }.dossier-background-name { top:195px;left:6%;right:5%;font-size:95px; }.dossier-corner { right:0;bottom:50%;height:20%; }.dossier-subpage { grid-column:1;grid-row:2;padding:15px 0; }.dossier-subpage h2 { font-size:24px; }.dossier-name h2 { font-size:40px; }.dossier-signature { font-size:32px; }.pc-ability-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .dossier-nav a { transition:none; } }




/* Generated paper assets, with contrasting profile paper. */
.pc-dossier { background-image:url("assets/dossier/background-dark.png");background-size:cover;background-position:center; }
.pc-dossier.dossier-light { background-image:url("assets/dossier/background-light.png"); }
.pc-dossier::before,.dossier-contours { display:none; }
.dossier-profile { background:transparent url("assets/dossier/profile-light.png") center/100% 100% no-repeat; border:0;box-shadow:none;clip-path:none;padding:80px 10% 210px; }
.dossier-light .dossier-profile { background-image:url("assets/dossier/profile-dark.png");color:#e4e2dc; }
.dossier-profile .dossier-barcode { display:none; }
.dossier-profile header { border-bottom:0; }
.dossier-light .dossier-profile .bar-axis,.dossier-light .dossier-profile .ability-bar { stroke:#deddd8; }
.dossier-light .dossier-profile .dossier-signature { color:color-mix(in srgb,var(--pc-accent) 60%,#e4e2dc); }
@media(max-width:760px) { .dossier-profile { padding:70px 10% 190px; } }

/* Signature follows the artwork so it stays at its feet on narrow screens too. */
.dossier-art .dossier-corner { width:85%;height:38%;right:0;bottom:0;z-index:0; }
.dossier-art .pc-standing-image { z-index:1; }
.dossier-art .dossier-signature { position:absolute;z-index:2;right:5%;bottom:5%;margin:0;max-width:70%;color:#e4e2dc;font-size:clamp(30px,3.6vw,56px);line-height:1.15;transform:rotate(-17deg);transform-origin:85% 85%;pointer-events:none; }
.dossier-art .dossier-signature { box-sizing:border-box;width:85%;max-width:85%;white-space:normal;overflow-wrap:normal;word-break:normal;text-align:center;line-height:1.9;padding:.2em .8em;transform:none;color:#e4e2dc;-webkit-text-stroke:1.2px #343432;paint-order:stroke fill; }
.dossier-signature .signature-word { display:inline-block;white-space:nowrap; }
.dossier-light .dossier-art .dossier-signature { color:#343432;-webkit-text-stroke-color:#e4e2dc; }
@media(max-width:760px) { .dossier-art .dossier-signature { font-size:36px;right:7%;bottom:5%; } }


/* Preserve the placeholder PNG alpha over PC card colors and dossier artwork. */
.character-visual .no-image-placeholder,
.my-pc-image .no-image-placeholder,
.pc-standing-image .no-image-placeholder { background:transparent; }

/* Quiet generated paper extends through the navigation gutter. */
.dossier-nav { isolation:isolate; }
.dossier-nav::before { content:"";position:absolute;inset:-28px -18px -24px -1px;z-index:-1;pointer-events:none;background:#30302f url("assets/dossier/navigation-dark.png") center/cover no-repeat; }
.dossier-light .dossier-nav::before { background-image:url("assets/dossier/navigation-light.png");background-color:#dfded9; }
@media(max-width:760px) { .dossier-nav::before { inset:-14px -14px -8px; } }

.dossier-profile-note { margin:24px 0 0;padding-left:12px;border-left:2px solid currentColor;font:15px/1.9 var(--font-serif);white-space:pre-wrap;overflow-wrap:anywhere; }
.dossier-nav .dossier-bars { width:100%;max-width:220px;margin:24px auto 10px; }
.dossier-nav .bar-axis { stroke:var(--dossier-ink);stroke-width:1; }
.dossier-nav .ability-bar { stroke:var(--dossier-ink);stroke-width:4; }
@media(max-width:760px) { .dossier-nav .dossier-bars { grid-column:1/-1;max-width:180px;margin:8px auto; } }

.dossier-art .pc-standing-image { cursor:default; }
.dossier-art .pc-standing-image.spoiler-portrait:not(.revealed) { cursor:pointer; }

/* Keep long multilingual profile names within two lines without truncation. */
.dossier-name h2 { white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:balance; }
.dossier-signature { font-family:"Adora Morgutten","Segoe Script","Lucida Handwriting","Segoe UI","Yu Gothic",sans-serif; }

/* Align the plot with the lower edge of the artwork, inside the navigation width. */
.dossier-nav .dossier-graph { width:100%;margin:auto 0 0;padding-top:24px; }
.dossier-graph .pc-ability-graph svg { overflow:visible; }
.dossier-graph .ability-grid path { stroke:var(--dossier-ink);opacity:.18; }
.dossier-graph .ability-line { stroke:var(--pc-accent);stroke-width:2; }
.dossier-graph .ability-dot { fill:var(--pc-accent); }
@media(max-width:760px) { .dossier-nav .dossier-graph { grid-column:1/-1;max-width:220px;margin:8px auto 0;padding-top:0; } }

/* Row offsets are measured from the preceding name to keep the signature together. */
.dossier-signature .signature-line { display:block;white-space:pre;overflow-wrap:normal;word-break:normal;transform:rotate(-12deg);transform-origin:left center; }
.dossier-art { z-index:auto; }
.dossier-art .dossier-signature { z-index:4;left:30%;right:auto;bottom:4%;width:100%;max-width:none;padding:.2em .3em;text-align:left;transform:none; }
@media(max-width:1050px) and (min-width:761px) { .dossier-art .dossier-signature { left:25%;width:100%; } }
@media(max-width:760px) { .dossier-art .dossier-signature { left:5%;right:auto;bottom:5%;width:90%; } }

/* Imported character sheets share the existing dossier navigation and editor. */
.sheet-import-box { border:1px solid var(--line);padding:18px;margin:8px 0 22px;border-radius:6px; }
.sheet-import-box h3 { margin:0 0 10px;font-size:16px; }
.sheet-import-box h4 { font-size:15px;margin:20px 0 10px; }
#sheet-import-message { font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere; }
.sheet-profile-choices { display:grid;gap:10px; }
.sheet-profile-choices label,.sheet-status-choice { display:flex;align-items:flex-start;gap:10px;padding:8px 0; }
.sheet-profile-choices input,.sheet-status-choice input { flex:none;width:18px;height:18px;margin-top:3px; }
.sheet-profile-choices b,.sheet-profile-choices small { display:block;overflow-wrap:anywhere; }
.sheet-profile-choices small { margin-top:5px;font-size:12px;white-space:pre-wrap; }
.sheet-section { margin:12px 0;border-top:1px solid #99968d70;padding-top:12px; }
.sheet-section summary { cursor:pointer;font-size:14px;overflow-wrap:anywhere; }
.sheet-section summary span { opacity:.7;font-size:12px; }
.sheet-value-list { margin:12px 0; }
.sheet-value-list > div { display:grid;grid-template-columns:minmax(100px,30%) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #99968d50; }
.sheet-value-list dt,.sheet-value-list dd { margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere; }
.sheet-preview-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:18px; }
.sheet-stat-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px; }
.sheet-stat-grid > div { padding:12px;border-bottom:1px solid #99968d80;min-width:0; }
.sheet-stat-grid span { display:block;font-size:12px;overflow-wrap:anywhere; }
.sheet-stat-grid strong { display:block;font:500 26px/1.6 Georgia,serif;overflow-wrap:anywhere; }
.pc-status-page header .outline-button { background:#e4e2dc;color:#343432; }
.pc-status-page .page-card { margin-bottom:18px; }
@media(max-width:760px) { .dossier-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }.dossier-nav a { padding:10px 5px;min-height:104px; }.dossier-nav small { display:none; }.dossier-number { font-size:28px; }.dossier-nav strong { font-size:12px; }.sheet-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.sheet-stat-grid > div { padding:8px 3px; } }
@media(max-width:420px) { .sheet-value-list > div { grid-template-columns:1fr;gap:5px; }.sheet-value-list dt { font-weight:600; }.sheet-import-box { padding:12px; } }
@media(max-width:480px) { .dossier-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }.dossier-nav a:not(.dossier-back) { min-height:78px;flex-direction:row;align-items:center;gap:12px;padding:12px; }.dossier-nav strong { font-size:13px; } }

.sheet-stat-grid { grid-template-columns:repeat(6,minmax(0,1fr)); row-gap:20px; column-gap:8px; }
.sheet-stat-grid > div { padding:12px 4px; }
.sheet-stat-grid > .sheet-stat-new-row { grid-column:1; }
.sheet-stat-number { margin-top:7px; }
.sheet-stat-number .sheet-number-expression { font:500 20px/1.6 Georgia,var(--font-sans); }
.sheet-number-expression { display:block;overflow-wrap:anywhere; }
.sheet-number-labels { display:block;margin-top:5px;font:400 11px/1.7 var(--font-sans);opacity:.85;overflow-wrap:anywhere; }
.sheet-row-note { margin:10px 0 0; }
.sheet-row-note summary { font-size:12px;text-decoration:underline;text-underline-offset:3px; }
.sheet-long-note p,.sheet-row-note p { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;margin:12px 0 0; }
.sheet-long-note p { padding:12px 0; }
.sheet-notes-card h3 { margin-bottom:16px; }
@media(max-width:480px) { .sheet-stat-grid { grid-template-columns:1fr;gap:4px; }.sheet-stat-grid > div { display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 0; }.sheet-stat-number { margin:0; }.sheet-stat-number .sheet-number-expression { font-size:18px; } }


