.print-root{background:#d8d3c5;color:#111;min-height:100vh;font-family:Georgia,Times New Roman,serif;padding:24px 0}.print-page{background:#fff;width:8.5in;min-height:11in;margin:0 auto;padding:.5in .55in;box-shadow:0 2px 12px #0000004d;box-sizing:border-box;position:relative;page-break-after:always}.print-page:last-of-type{page-break-after:auto}.print-toolbar{width:8.5in;margin:0 auto 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0}.print-toolbar button{background:#2d2d44;color:#e0e0e0;border:1px solid #444;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer;font-family:inherit}.print-toolbar button:hover{background:#3d3d55}.print-toolbar .title{color:#555;font-size:13px}.sheet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.sheet-header .script-title{font-size:30px;font-weight:400;color:#111;line-height:1.1;font-family:Georgia,serif}.sheet-header .script-author{font-size:12px;color:#555;font-style:italic;margin-top:2px}.sheet-header .logo-block{display:flex;align-items:center;gap:6px;flex-shrink:0}.sheet-header .logo-block img{width:28px;height:28px;object-fit:contain}.sheet-header .logo-block .logo-label{font-size:13px;color:#6b3410;font-weight:600}.team-section{margin-top:10px;break-inside:avoid}.team-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.team-header .label{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;font-family:Georgia,serif}.team-header .rule{flex:1;height:1px;background:#8a6f4d}.team-townsfolk .label,.team-outsider .label{color:#1d4e9b}.team-minion .label,.team-demon .label{color:#8a1c1c}.team-traveller .label{color:#5a3d8c}.team-fabled .label{color:#8a6f4d}.team-townsfolk .rule,.team-outsider .rule{background:#1d4e9b}.team-minion .rule,.team-demon .rule{background:#8a1c1c}.team-traveller .rule{background:#5a3d8c}.team-fabled .rule{background:#8a6f4d}.character-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:4px}.character-row{display:flex;align-items:flex-start;gap:8px;padding:3px 0;break-inside:avoid}.character-icon{width:38px;height:38px;object-fit:contain;flex-shrink:0}.character-icon-placeholder{width:38px;height:38px;border-radius:50%;background:#00000014;flex-shrink:0}.character-text{flex:1;min-width:0;font-size:11.5px;line-height:1.3;font-family:Georgia,serif}.character-name{font-weight:700;display:block}.team-townsfolk .character-name,.team-outsider .character-name{color:#1d4e9b}.team-minion .character-name,.team-demon .character-name{color:#8a1c1c}.team-traveller .character-name{color:#5a3d8c}.team-fabled .character-name{color:#8a6f4d}.character-ability{color:#111}.sheet-footer{position:absolute;bottom:.35in;left:.55in;right:.55in;display:flex;justify-content:space-between;font-size:10px;color:#555;font-style:italic}.nightorder-page-title{text-align:center;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-top:1px solid #8a6f4d;border-bottom:1px solid #8a6f4d;padding:6px 0;margin-bottom:14px;font-family:Georgia,serif}.nightorder-list .character-row{padding:5px 0}.nightorder-list .character-text{font-size:11.5px}.print-error{text-align:center;padding-top:48px;color:#c0392b}@media print{@page{size:Letter;margin:0}body{background:#fff!important}.print-root{background:#fff;padding:0}.print-page{box-shadow:none;width:100%;min-height:auto;padding:.5in .55in}.print-toolbar{display:none}.team-section,.character-row{break-inside:avoid;page-break-inside:avoid}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #221833;--bg-deep: #191021;--panel: #2c2143;--panel-raised: #3b2d59;--border: #4d3d6e;--ink: #f0e7d5;--muted: #a696bf;--parchment: #ece0c6;--parchment-bright: #f6edda;--ink-dark: #2b1e3d;--gold: #d4af6a;--gold-dim: #a8853f;--blood: #93272c;--blood-dark: #6e1c20;--error: #d9695f}body{font-family:EB Garamond,Georgia,Times New Roman,serif;font-size:16px;background-color:var(--bg-deep);background-image:radial-gradient(ellipse 120% 90% at 50% -10%,#342659 0%,var(--bg) 55%,var(--bg-deep) 100%);background-attachment:fixed;color:var(--ink);min-height:100vh}h1,h2,h3,h4{font-family:Uncial Antiqua,EB Garamond,serif;font-weight:400;letter-spacing:.05em;color:var(--parchment)}a{color:var(--gold)}button{cursor:pointer;font-family:EB Garamond,Georgia,serif;font-variant:small-caps;letter-spacing:.08em;font-weight:600;border:1px solid var(--border);border-radius:2px;padding:7px 16px;font-size:15px;background:var(--panel);color:var(--ink)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--parchment);color:var(--ink-dark);border:3px double rgba(43,30,61,.8);padding:5px 16px}button.primary:hover:not(:disabled){background:var(--parchment-bright)}button.danger{background:var(--blood);color:var(--parchment-bright);border:1px solid var(--blood-dark)}button.danger:hover:not(:disabled){background:var(--blood-dark)}button.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:var(--panel-raised);border-color:var(--gold-dim)}input,select,textarea{background:var(--bg-deep);border:1px solid var(--border);border-radius:2px;padding:8px 12px;color:var(--ink);font-family:EB Garamond,Georgia,serif;font-size:15px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px #d4af6a59}label{display:block;margin-bottom:4px;font-size:14px;font-variant:small-caps;letter-spacing:.06em;color:var(--muted)}.form-group{margin-bottom:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:24px;box-shadow:0 2px 14px #00000059}.app-header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#1c1330;z-index:10}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:14px;background:#1c1330;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 15%,97% 60%,95% 20%,92% 75%,89% 35%,86% 90%,83% 25%,80% 65%,77% 10%,74% 80%,71% 40%,68% 95%,65% 30%,62% 70%,59% 15%,56% 85%,53% 45%,50% 100%,47% 35%,44% 75%,41% 20%,38% 90%,35% 50%,32% 10%,29% 70%,26% 30%,23% 95%,20% 55%,17% 15%,14% 80%,11% 40%,8% 90%,5% 25%,2% 60%,0 20%)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-title{font-family:Pirata One,Uncial Antiqua,serif;font-size:28px;color:var(--parchment);letter-spacing:.03em;text-shadow:0 2px 6px rgba(0,0,0,.6)}.brand:hover .brand-title{color:var(--gold)}.brand-logo{height:40px;width:40px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
