*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1eee5;color:#252722;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ba442f;outline-offset:4px}.shell{max-width:1300px;margin:auto;padding:0 48px}.mono{font:10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.07em}.skip{position:absolute;top:-100px;left:20px;background:white;padding:15px;z-index:5}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 0 28px;border-bottom:1px solid}.brand{font-size:22px;font-weight:900;letter-spacing:-.8px}.brand span{display:block;font:8px monospace;letter-spacing:1px;margin-top:8px}nav{display:flex;gap:28px;font-size:13px;font-weight:bold}.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center;padding:62px 0 48px}.eyebrow{color:#64695e}h1{font-size:clamp(52px,6.4vw,86px);line-height:.98;letter-spacing:-4px;margin:25px 0}h1 em,.field-notes em{font-family:Georgia,serif;font-weight:normal} .intro p{font-size:15px;line-height:1.8;color:#555b50;max-width:560px}.challenge{border:1px solid #2527224a;padding:26px;transform:rotate(1deg);background:#e8e4d8;box-shadow:5px 5px 0 #2527220c}.challenge>div{display:flex;align-items:baseline;gap:22px;border-bottom:1px solid #25272230;padding:12px 0}.challenge strong{font-size:54px;letter-spacing:-3px;min-width:95px}.challenge div span{font:10px monospace;letter-spacing:.06em}.challenge small{display:block;line-height:1.7;margin-top:16px;color:#64695e}.dossier{border:1px solid #252722;box-shadow:7px 7px 0 #25272210;scroll-margin-top:20px}.dossier-top{background:#272c26;color:#eeecdf;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:16px 22px}.signal{font:10px monospace;letter-spacing:.06em}.signal:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#9b9f92;margin-right:8px}.signal[data-state=playing]:before{background:#c4d694;box-shadow:0 0 0 3px #c4d69422}.signal[data-state=dead]:before{background:#e6957c}.signal[data-state=paused]:before{background:#edd092}.preview-note{padding:12px 22px;background:#f2dcad;font:11px/1.6 monospace}.preview-note a{font-weight:bold;text-decoration:underline}.sheet-grid{display:grid;grid-template-columns:360px minmax(0,1fr)}.identity{padding:27px 25px;background:#e8e4d9;border-right:1px solid #25272250;min-width:0}.file-label{color:#69705e;margin-bottom:25px}.profile{display:grid;grid-template-columns:115px minmax(0,1fr);gap:18px;align-items:start}.profile figure{margin:0}.portrait{width:115px;height:228px;background-image:url(character-reference.png);background-size:751px 836px;background-position:-19px -90px;border:1px solid #747668;background-color:#aaa}.profile figcaption{font-size:7px;line-height:1.6;margin-top:8px;color:#686e60}.profile-copy h2{font-size:26px;letter-spacing:-1px;line-height:1.08;margin:4px 0 10px;overflow-wrap:anywhere}.profile-copy p{font-size:12px;line-height:1.5;color:#666d5e;margin:0 0 17px}.life{display:inline-block;font:9px monospace;letter-spacing:.07em;border:1px solid #777f69;padding:7px 9px}.life[data-state=alive]{background:#d1dbc0}.life[data-state=dead]{background:#e9c1b2;border-color:#a24732}.details{margin:27px 0 20px;font-size:12px}.details>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #25272225}.details dt{color:#64695e}.details dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.health>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}progress{appearance:none;width:100%;height:8px;border:0;background:#c9c8bb;display:block}progress::-webkit-progress-bar{background:#c9c8bb}progress::-webkit-progress-value{background:#687750}progress::-moz-progress-bar{background:#687750}.traits{margin-top:28px;border-top:1px solid #25272240;padding-top:12px}.traits h3{font-size:8px;line-height:1.8}.traits>div{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:#64695e}.trait{border:1px solid #68775044;padding:5px 7px;background:#dbe1cf;color:#35442b}.trait.bad{background:#e6cec1;border-color:#a65a4644;color:#7c3e2e}.trait.neutral{background:#e2dfd6;color:#4c5045}.character-note{font-size:10px;line-height:1.8;color:#737869;margin:28px 0 0}.skills-panel{padding:26px 30px;min-width:0;background:#f7f4ec}.skills-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.skills-heading .mono{font-size:8px;color:#6c7265}.skills-heading h2{font-size:25px;letter-spacing:-1px;margin:7px 0 20px}.level-total{text-align:right;font-size:34px;font-weight:400;letter-spacing:-1px}.level-total small{display:block;font:7px monospace;letter-spacing:.07em;margin-top:5px}.skill-controls{display:flex;gap:10px;margin-bottom:24px}.skill-controls input{width:100%;min-width:0;flex:1;border:1px solid #25272245;padding:10px 12px;background:transparent;font-size:11px;border-radius:0}.skill-controls button{border:1px solid #25272245;padding:8px 12px;background:#e8e4d9;font-size:10px;white-space:nowrap}.skill-controls button[aria-pressed=true]{background:#333d2e;color:#f1eee5}.skill-list{max-height:650px;overflow:auto;scrollbar-color:#9da390 #e9e6da;padding-right:12px;scrollbar-width:thin}.skill-group{margin:0 0 20px}.skill-group h3{font-size:12px;border-bottom:1px solid #25272245;padding:10px 0;margin:0 0 8px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.skill-group h3:before{content:'◇';color:#798468;margin-right:9px}.skill-row{display:grid;grid-template-columns:minmax(85px,1fr) 150px 35px;gap:12px;align-items:center;padding:6px 0;font-size:11px}.skill-name{overflow-wrap:anywhere}.skill-boxes{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;height:11px}.skill-box{border:1px solid #8c9385;background:#e8e8df;position:relative}.skill-box.filled{background:#e9c963;border-color:#a3883e;box-shadow:inset 0 -2px 0 #c9a844}.skill-box.partial:before{content:'';position:absolute;inset:0 auto 0 0;width:var(--xp);background:#c1bfaa}.skill-level{text-align:right;color:#69705e;font:9px monospace}.skill-key{font:8px/1.8 monospace;color:#777d6e;border-top:1px solid #25272225;padding-top:15px;margin:12px 0 0}.key-box{display:inline-block;width:9px;height:9px;background:#e9c963;border:1px solid #a3883e;vertical-align:middle;margin:0 5px}.key-box.partial{background:linear-gradient(to right,#c1bfaa 50%,#e8e8df 50%);border-color:#8c9385}.empty{font-size:13px;line-height:1.8;color:#747a6b;padding:30px 0;min-height:240px}.totals{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #25272260;background:#dedbcd}.totals>div{padding:24px;border-right:1px solid #25272240;min-width:0}.totals>div:last-child{border:0}.totals strong{display:block;font-size:42px;letter-spacing:-2px;margin:9px 0;overflow-wrap:anywhere}.totals #survived{font-size:29px;margin:18px 0}.totals small{font-size:10px;color:#68705e}.dossier-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 22px;font:10px/1.6 monospace;color:#686d60}.dossier-bottom button{border:0;background:transparent;font:11px monospace;white-space:nowrap;color:#252722}.field-notes{padding:64px 0 55px;max-width:670px}.field-notes>span{color:#747a6b}.field-notes h2{font-size:40px;letter-spacing:-1.7px;line-height:1.08;margin:24px 0}.field-notes p{font-size:14px;line-height:1.9;color:#636b5b}.field-notes p.mono{font:8px/1.7 monospace;margin-top:25px}footer{border-top:1px solid;padding:30px 0}footer>strong{font-size:36px;letter-spacing:-2px}footer strong span{color:#ba442f}footer>div{display:flex;justify-content:space-between;gap:15px;margin-top:25px;font-size:8px}[hidden]{display:none!important}@media(max-width:1000px){.shell{padding:0 28px}.sheet-grid{grid-template-columns:310px minmax(0,1fr)}.identity{padding:25px 19px}.skills-panel{padding:26px 20px}.profile{grid-template-columns:100px 1fr;gap:13px}.portrait{width:100px;height:200px;background-size:751px 836px;background-position:-20px -80px}.profile-copy h2{font-size:24px}.skill-row{grid-template-columns:minmax(70px,1fr) 130px 26px;gap:8px}.skill-controls{flex-wrap:wrap}.skill-controls button{padding:9px}.challenge{padding:20px}.challenge strong{font-size:44px;min-width:75px}}@media(max-width:740px){.shell{padding:0 20px}header{align-items:flex-start;padding:25px 0;gap:15px}.brand{font-size:19px}.brand span{font-size:6px}nav{gap:10px;flex-direction:column;font-size:10px}.intro{grid-template-columns:1fr;padding:40px 0 30px;gap:22px}h1{font-size:64px;letter-spacing:-3px}.intro p{font-size:13px}.challenge{transform:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}.challenge>.mono,.challenge small{grid-column:1/-1}.challenge>div{gap:13px;align-items:center}.challenge strong{font-size:38px;min-width:auto}.challenge div span{font-size:8px;line-height:1.6}.challenge small{margin:0;font-size:10px}.dossier-top{padding:12px 15px;align-items:flex-start;flex-direction:column;gap:7px}.sheet-grid{grid-template-columns:1fr}.identity{border-right:0;border-bottom:1px solid #25272250;padding:22px}.profile{grid-template-columns:115px 1fr;gap:22px}.portrait{width:115px;height:228px;background-size:751px 836px;background-position:-19px -90px}.profile-copy h2{font-size:32px;max-width:200px}.file-label{margin-bottom:18px}.details{margin-top:20px}.character-note{margin-top:20px}.skills-panel{padding:24px 20px}.skill-list{max-height:520px;padding-right:8px}.skill-row{grid-template-columns:minmax(65px,1fr) 132px 28px;gap:8px}.totals{grid-template-columns:1fr 1fr}.totals>div{padding:20px 15px}.totals>div:nth-child(2){border-right:0}.totals>div:last-child{grid-column:1/-1;border-top:1px solid #25272240}.totals strong{font-size:36px}.totals .mono{font-size:8px}.totals #survived{font-size:29px;margin:12px 0}.dossier-bottom{font-size:8px;padding:14px}.field-notes{padding:45px 0}.field-notes h2{font-size:35px}footer>div{font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
