.character-sheet{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#2d3748;display:flex;overflow:hidden;isolation:isolate;flex:1}.character-sheet-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.sidebar-container{position:relative}.sidebar-background{background-image:url(/images/sidebar-desaturated-small.jpg);background-size:105mm;width:calc(var(--sidebar-width) + var(--print-bleed));height:100%;flex-shrink:0}.sidebar-overlay{position:absolute;top:0;left:0;width:calc(var(--sidebar-width) + var(--print-bleed));height:100%;background-color:#0003;pointer-events:none;mix-blend-mode:multiply}.sidebar-section{flex:1;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;padding:3mm 0}.sidebar-label{font-size:3.5mm;font-weight:600;letter-spacing:.5mm;color:#eee;text-shadow:.3mm .3mm .5mm rgba(0,0,0,.3)}.sheet-content{position:relative;padding:calc(5mm + var(--print-bleed)) var(--print-bleed) calc(3mm + var(--print-bleed)) 0;display:flex;flex-direction:column;min-width:0}.character-column-spacer{min-height:13mm}.sheet-header-container{display:flex;align-items:center}.sheet-header{text-align:center;margin:0 0 4mm;padding:0 10mm;display:flex;align-items:center;justify-content:center}.sheet-header span{font-weight:lighter;letter-spacing:0mm;filter:drop-shadow(2px 0px 0px #cb8b);word-spacing:-3mm;background:var(--header-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:Unlovable,serif;font-weight:100;font-size:14mm;padding:2mm 8mm;margin:0 -8mm;mix-blend-mode:multiply}.swirl-divider{width:35mm;mix-blend-mode:soft-light}.flip{transform:scaleX(-1)}.sheet-author{font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif;font-size:3.5mm;font-weight:700;text-align:center;margin:-5mm 0 3mm;color:#333}.characters-grid{display:flex;flex-direction:column;gap:2.5mm;flex:1;padding:0 10mm 0 0}.character-section{display:flex;break-inside:avoid;min-height:20mm}.section-title{font-family:Dumbledor,serif;font-weight:lighter;padding:0 calc(.25 * var(--sidebar-width));color:#eee;margin:-2mm 0 -2mm calc(-1 * var(--sidebar-width));min-width:var(--sidebar-width);text-align:center;z-index:1;text-orientation:upright;writing-mode:vertical-lr;letter-spacing:-.6mm;font-size:4mm;line-height:2;filter:drop-shadow(.1mm .1mm .3mm #222a) drop-shadow(-.1mm .1mm .3mm #2228) drop-shadow(.1mm -.1mm .3mm #222a) drop-shadow(-.1mm -.1mm .3mm #222a)}.section-divider{height:.8mm;opacity:1;margin-left:-50%;width:150%;mix-blend-mode:soft-light}.character-list{display:flex;margin-left:8mm;gap:5mm}.character-column{flex:1 1 0px;display:flex;flex-direction:column;justify-content:space-between}.character-card{display:flex;align-items:center;gap:2.5mm;break-inside:avoid;margin-bottom:2.5mm}.character-info{padding-left:2mm;display:flex;flex-direction:column}.character-icon-wrapper{display:flex;flex-shrink:0}.character-icon,.character-icon-placeholder{width:13mm;max-height:13mm;object-fit:contain;filter:drop-shadow(1px 1px 2px #0004)}.character-icon-placeholder{display:flex;align-items:center;justify-content:center;color:#eee;font-weight:700;font-size:6mm}.character-name{font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif;font-size:3.5mm;font-weight:700;margin:0 0 .5mm;color:#1a202c;display:flex;align-items:center;gap:1mm}.inline-jinx-icons{display:inline-flex;gap:.5mm;align-items:center;margin-left:1mm}.inline-jinx-icon,.inline-jinx-icon-placeholder{width:5mm;height:5mm;object-fit:contain;filter:drop-shadow(.5px .5px .5px #0004);scale:1.7}.inline-jinx-icon-placeholder{display:inline-flex;align-items:center;justify-content:center;color:#eee;font-weight:700;font-size:1.8mm;border-radius:50%;background-color:#666}.character-ability{font-family:Trade Gothic,Trade Gothic Next,Helvetica Neue,Arial,sans-serif;font-size:3.1mm;line-height:1.2;margin:0;color:#222;display:inline-block}.appearance-compact .character-card{margin-bottom:1mm}.appearance-compact .sheet-header span{font-size:13mm}.appearance-super-compact .character-ability{font-size:2.7mm}.appearance-super-compact .character-name{font-size:3.2mm}.appearance-super-compact .character-icon,.appearance-super-compact .character-icon-placeholder{width:12mm;max-height:12mm}.appearance-super-compact .character-card{margin-bottom:.5mm}.appearance-super-compact .sheet-header span{font-size:12mm}.appearance-mega-compact .character-ability{font-size:2.4mm}.appearance-mega-compact .character-name{font-size:2.8mm}.appearance-mega-compact .sheet-header span{font-size:11mm}.appearance-mega-compact .character-icon,.appearance-mega-compact .character-icon-placeholder{width:11mm;max-height:11mm}.appearance-mega-compact .character-card{margin-bottom:.3mm}.appearance-mega-compact .inline-jinx-icon,.appearance-mega-compact .inline-jinx-icon-placeholder{width:4mm;height:4mm;font-size:1.3mm}.sheet-footer{text-align:center;font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif;font-size:3.5mm;color:#222;opacity:.7}.asterisk{font-size:5mm}.author-credit{position:absolute;bottom:3mm;right:3mm;font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif;font-size:3.2mm;color:#222;opacity:.6;text-align:right;padding:var(--print-bleed)}.author-credit p{font-size:2.5mm;margin:0}.setup-ability{display:inline-block;white-space:normal;font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif}.jinxes-section{display:flex;break-inside:avoid;margin-top:1mm}.jinxes-list{margin-left:8mm;display:flex;flex-direction:column;width:100%}.jinxes-two-columns{flex-direction:row;gap:5mm}.jinx-column{flex:1;display:flex;flex-direction:column}.jinx-item{display:flex;gap:2.5mm;align-items:center;break-inside:avoid;margin-bottom:2mm}.jinx-icons{display:flex;gap:1mm;flex-shrink:0;align-items:center}.jinx-icon-wrapper{display:flex;flex-shrink:0;align-items:center}.jinx-icon,.jinx-icon-placeholder{width:3.5mm;height:3.5mm;object-fit:contain;scale:2.8}.jinx-icon-placeholder{display:flex;align-items:center;justify-content:center;color:#eee;font-weight:700;font-size:2mm}.jinx-divider{font-family:Dumbledor,serif;font-size:4.6mm;color:#1a202c;line-height:3.5mm;margin:0 .5mm}.jinx-text{font-family:Trade Gothic,Trade Gothic Next,Helvetica Neue,Arial,sans-serif;font-size:2.6mm;line-height:1.2;margin:0;color:#222;padding-top:.5mm}.jinx-text.loric-text{padding-top:0}.jinx-item.loric{margin-bottom:1mm}.loric-name{font-family:Goudy Old Style;font-size:3mm;padding-top:0}.loric-spacer{min-width:4mm}.printable-page{width:var(--page-width);min-height:var(--page-height);max-height:var(--page-height);padding:var(--print-margin);display:flex;flex-direction:column;position:relative;background:#fff;margin-bottom:5px;overflow:hidden}.print-guides-overlay{position:absolute;height:var(--print-guide-size);width:var(--print-guide-size)}@media print{.printable-page{margin:0}}.sheet-backing{position:relative;flex:1}.sheet-background{--height: calc(var(--page-height) - 2 * var(--print-margin));min-height:var(--height);max-height:var(--height);background-image:url(/images/sidebar-desaturated-small.jpg);background-repeat:repeat;background-size:105mm;display:flex;flex-direction:column;align-items:center;justify-content:center}.sheet-back-overlay{position:absolute;top:0;left:0;width:100%;height:100%;mix-blend-mode:multiply;pointer-events:none}.sheet-backing h1{font-family:Unlovable,serif;mix-blend-mode:normal;font-weight:100;font-size:30mm;color:#ae9d7f;text-wrap:wrap;z-index:1;flex-shrink:1;text-align:center;padding:10mm;background-image:url(/images/parchment_texture.jpg);background-clip:text;-webkit-background-clip:text;color:transparent;background-size:100mm;filter:drop-shadow(.5mm .5mm black) drop-shadow(0mm 0mm 1mm black);word-spacing:-10mm;flex:0 1 130mm;display:flex;flex-wrap:wrap;justify-content:center}.sheet-backing h1 .ampersand{font-size:45mm;line-height:30mm;vertical-align:-5mm}.back-info-container{position:absolute;display:flex;gap:10mm;align-items:center;bottom:0;flex-direction:column-reverse;justify-content:space-between;height:100%;width:100%;padding:20mm}.title-container{z-index:1;display:flex;justify-content:center}.minor-word{padding:0 8mm;font-size:15mm;word-spacing:-6mm;display:flex}.night-orders-container{background-image:url(/images/parchment_texture.jpg);background-position:0 -50%;font-family:Dumbledor;z-index:1;background-size:200mm;box-shadow:inset 0 0 5px #000;padding:2mm}.night-orders-container p{width:26mm;text-align:end;margin:0;flex-shrink:0;color:#222;font-size:5mm}.night-order:not(:last-child){margin-bottom:2mm}.night-order{padding:2mm;display:flex;align-items:center;gap:2mm}.icon-row{box-sizing:border-box;display:flex;flex-wrap:wrap;column-gap:2mm;row-gap:4mm}.icon{width:6mm;box-sizing:border-box;scale:2.1;filter:drop-shadow(0px 0px 2px #2224)}.player-count-container{font-family:Dumbledor;z-index:1;padding:4mm;box-shadow:inset 0 0 5px #000;display:flex;gap:5mm;max-width:130mm;flex-direction:row;color:#222;font-size:6mm}.player-count-container.with-background{background-image:url(/images/parchment_texture.jpg);background-position:0 -50%;background-size:200mm}.count-column{display:flex;flex-direction:column;align-items:center}.count-column.titles{align-items:end}.good-count{color:#00469e}.evil-count{color:#580709}.night-sheet-heading{display:flex;align-items:center;justify-content:space-between}.night-sheet-heading .night-title{font-family:Dumbledor;font-size:7mm;margin:0}.night-sheet-heading .script-title{font-family:Unlovable,serif;font-weight:lighter;background:var(--header-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:11mm;line-height:9mm;margin:-20mm -7mm;padding:7mm;max-width:50%;text-align:center;word-spacing:-4mm;filter:drop-shadow(.2mm .1mm 0 #222d) drop-shadow(0mm 0mm .1mm #2228)}.night-sheet-order{display:flex;flex-direction:column;gap:1mm}.night-sheet-entry{display:flex;align-items:center;min-height:10mm}.reminder-name{font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif;font-weight:700;font-size:3.3mm}.reminder-text{font-family:Trade Gothic;font-size:3mm}.night-sheet-entry p{margin:0}.night-sheet-entry p strong{font-family:Trade Gothic Bold}.night-sheet-entry>img{width:7mm;height:7mm;flex-shrink:0;scale:2;margin-right:3mm}.reminder-icon{width:10px;scale:1;opacity:.8;margin-right:4px;margin-bottom:-1px}.bottom-trim-sheet{--height: calc(var(--page-height) - 2 * var(--print-margin));min-height:var(--height);max-height:var(--height);display:flex;flex-direction:column;position:relative;overflow:hidden;color:#222}.bottom-trim-sheet .sheet-content{padding:10mm;gap:5mm}.spacer{flex:1 0 0px}.info-author-credit{font-family:Goudy Old Style,Goudy Oldstyle,Goudy,Georgia,serif;font-size:3.2mm;color:#222;opacity:.6;text-align:right;padding-bottom:3mm;padding-right:3mm;position:absolute;right:0;top:-50%}.info-author-credit p{font-size:2.5mm;margin:0}.info-footer-container{position:relative}.info-footer-background{background-image:url(/images/sidebar-desaturated-small.jpg);background-size:105mm;width:100%;height:20mm}.info-footer-overlay{position:absolute;top:0;left:0;width:100%;height:20mm;background-color:#0003;mix-blend-mode:multiply}.print-only{visibility:hidden;display:none}@media print{.print-only{visibility:visible;display:block}}.info-sheet-heading{display:flex;align-items:center;flex-direction:row-reverse}.info-sheet-heading .script-title{font-family:Unlovable,serif;font-weight:lighter;background:var(--header-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:11mm;line-height:9mm;margin:-7mm;padding:7mm;max-width:50%;text-align:center;word-spacing:-4mm;filter:drop-shadow(.2mm .1mm 0 #222d) drop-shadow(0mm 0mm .1mm #2228)}.info-sheet-content{display:flex;flex-direction:column}.info-sheet-content h4{font-family:Dumbledor;font-size:5mm;margin:2mm 0;font-weight:lighter}.info-sheet-content h5{font-family:Dumbledor;font-size:4mm}.info-sheet-section{margin-left:5mm;margin-bottom:3mm}.info-fabled-loric-entry{display:flex;align-items:center}.info-fabled-loric-entry img{margin-right:2mm}.info-fabled-loric-text{margin-left:1mm}.info-fabled-loric-name{font-family:Goudy Old Style;margin:0;font-size:3.5mm}.info-fabled-loric-note{font-family:Trade Gothic,Trade Gothic Next,Helvetica Neue,Arial,sans-serif;margin:0;font-size:3mm}.info-jinx-text{margin-left:1mm}.info-jinx-name{font-family:Goudy Old Style;margin:0;font-size:3.5mm}.info-jinx-note{font-family:Trade Gothic,Trade Gothic Next,Helvetica Neue,Arial,sans-serif;margin:0;font-size:3mm}.info-jinx-entry{display:flex;align-items:center}.info-jinx-entry img{margin-right:2mm}.teensy .teensy-sheet-pair{display:flex}.teensy .section-title{font-size:3mm}.teensy .appearance-mega-compact .sheet-header span{font-size:9mm}.teensy .swirl-divider{width:23mm}.teensy .author-credit{max-width:40mm}.teensy .appearance-super-compact .sheet-header span{font-size:10mm}.teensy .player-count-container{gap:4mm;font-size:5mm}.teensy .night-orders-container{transform-origin:top;transform:scale(.8)}.teensy .icon-row{flex-wrap:nowrap}.teensy .sheet-backing h1{font-size:20mm;word-spacing:-5mm}.teensy .sheet-header span{filter:drop-shadow(1px 0px 0px #cb8b)}.teensy .info-sheet-section{display:flex}.teensy .info-sheet-heading .script-title{filter:drop-shadow(1px 0px 0px #cb8b)}.teensy .app{max-width:1600px}.teensy .teensy-night-sheet{align-self:baseline}.changelog{margin:0 auto;padding:20px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-light);max-width:600px}.changelog-title{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;text-align:center}.changelog-entries{display:flex;flex-direction:column;gap:16px}.changelog-entry{padding:12px;background:var(--bg-gradient-start);border-radius:8px;border-left:4px solid var(--button-bg)}.changelog-entry-recent{border-left-color:#48bb78}.changelog-entry-recent .changelog-date{color:#48bb78}.changelog-date{font-size:13px;font-weight:600;color:var(--button-bg);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.changelog-list{margin:0;padding-left:20px;list-style-type:disc}.changelog-item{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:4px}.changelog-item:last-child{margin-bottom:0}*{box-sizing:border-box}a{color:var(--link-color);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover);text-decoration:underline}a:visited{color:var(--link-visited)}@font-face{font-family:Unlovable;src:url(/fonts/LHF%20Unlovable/LHF%20Unlovable.eot);src:url(/fonts/LHF%20Unlovable/LHF%20Unlovable.eot?#iefix) format("embedded-opentype"),url(/fonts/LHF%20Unlovable/LHF%20Unlovable.woff) format("woff"),url(/fonts/LHF%20Unlovable/LHF%20Unlovable.woff2) format("woff2"),url(/fonts/LHF%20Unlovable/LHF%20Unlovable.ttf) format("truetype"),url(/fonts/LHF%20Unlovable/LHF%20Unlovable.svg#LHF\ Unlovable) format("svg")}@font-face{font-family:Trade Gothic;src:url(/fonts/TradeGothic/TradeGothic.otf)}@font-face{font-family:Trade Gothic Bold;src:url(/fonts/TradeGothic/TradeGothicBold.otf)}@font-face{font-family:Goudy Old Style;src:url(/fonts/GoudyOldStyle/GoudyOldStyle.ttf)}@font-face{font-family:Dumbledor;src:url(/fonts/Dumbledor/Dumbledor.ttf)}@font-face{font-family:Dumbledor Thin;src:url(/fonts/Dumbledor/DumbledorThin.ttf)}@font-face{font-family:Dumbledor Wide;src:url(/fonts/Dumbledor/DumbledorWide.ttf)}.app{max-width:1400px;margin:0 auto;padding:40px 20px;display:flex;gap:20px}.app-title{text-align:center;font-size:36px;margin:0 0 30px;text-shadow:2px 2px 4px var(--shadow-light);color:var(--text-primary)}.controls{background:var(--card-bg);border-radius:12px;padding:30px;box-shadow:0 10px 30px var(--shadow);display:flex;flex-direction:column;min-height:0;align-items:center;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:scroll}.control-panel{display:flex;flex-direction:column;gap:20px}.print-warning{text-align:center;font-size:14px;font-style:italic}.upload-section{display:flex;gap:10px;align-items:center}.upload-section .upload-label,.upload-section .paste-hint{flex:1 1 0;text-align:center}.upload-label{display:block;padding:14px 0;background:var(--button-bg);color:var(--button-text);border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;transition:all .2s;box-shadow:0 2px 8px var(--shadow-light);text-wrap:nowrap}.upload-label:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.paste-hint{opacity:.7;font-style:italic;text-align:center;display:flex;flex-direction:column}.or{text-align:center}.example-section{display:flex;justify-content:center;align-items:center;margin-top:20px;gap:5px}.file-input{display:none}.action-buttons-section{margin-bottom:16px}.action-buttons-section .warning-message,.action-buttons-section .error-message{margin-top:12px}.action-buttons{display:flex;gap:12px}.action-buttons .print-button,.action-buttons .sort-button{flex:1}.action-buttons .print-button.primary{background:linear-gradient(135deg,var(--button-bg) 0%,var(--button-hover) 100%)}.browser-print-note,.print-options-hint{font-size:12px;color:var(--text-tertiary);text-align:center;margin:8px 0 0;font-style:italic}@media(max-width:1024px){.action-buttons{flex-direction:column}}.control-group{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;padding:16px}.control-group-label{display:block;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.control-group-content{display:flex;flex-direction:column;gap:12px}.color-picker-section{display:flex;align-items:center;gap:12px}.color-label{font-weight:600;color:var(--text-secondary);font-size:14px}.color-input{width:60px;height:40px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .2s}.color-input:hover{border-color:var(--button-bg)}.color-picker-gradient{width:100%}.color-picker-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.color-picker-icon-button{font-size:17px;padding:8px 16px}.color-picker-action-button{font-size:14px;padding:8px 16px}.color-picker-add-button{font-size:14px;padding:8px 16px;margin-top:4px}.color-values{font-size:12px;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.color-value-line{font-family:Courier New,monospace}.slider-section{display:flex;flex-direction:column;gap:6px}.slider-label{font-weight:600;color:var(--text-secondary);font-size:12px}.form-control{display:flex;align-items:center}.form-control-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.form-control-input{cursor:pointer;accent-color:var(--button-bg)}.form-control-input[type=checkbox]{width:18px;height:18px}.form-control-input[type=range]{width:100%}select.form-control-input{padding:2px 4px;border:2px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-secondary);font-size:14px;font-weight:600;transition:border-color .2s}select.form-control-input:hover{border-color:var(--button-bg)}select.form-control-input:focus{outline:none;border-color:var(--button-bg);box-shadow:0 0 0 3px #667eea1a}.number-input{cursor:pointer;padding:2px 4px;border:2px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-secondary);font-size:14px;font-weight:600;transition:border-color .2s;width:3.5rem;text-align:center}.number-input:hover{border-color:var(--button-bg)}.number-input:focus{outline:none;border-color:var(--button-bg);box-shadow:0 0 0 3px #667eea1a}.form-control-text{font-size:14px;font-weight:600;color:var(--text-secondary)}.sort-button,.print-button{padding:12px 20px;background:var(--button-bg);color:var(--button-text);border:none;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px var(--shadow-light)}.sort-button:hover,.print-button:hover{background:var(--button-hover);transform:translateY(-1px);box-shadow:0 4px 10px var(--shadow)}.sort-button:active,.print-button:active{transform:translateY(0)}.sort-button.glow{animation:glow-pulse 2s ease-in-out infinite;box-shadow:0 0 10px var(--warning-border),0 2px 6px var(--shadow-light)}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px var(--warning-border),0 2px 6px var(--shadow-light)}50%{box-shadow:0 0 16px var(--warning-border),0 0 24px var(--warning-border),0 2px 6px var(--shadow-light)}}.script-editor-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.script-editor-label{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.script-editor-buttons{display:flex;gap:8px}.update-button{padding:8px 16px;background:var(--button-bg);color:var(--button-text);border:none;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px var(--shadow-light)}.update-button:hover{background:var(--button-hover);transform:translateY(-1px);box-shadow:0 3px 8px var(--shadow)}.update-button:active{transform:translateY(0)}.script-editor-textarea{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-family:Courier New,Consolas,Monaco,monospace;font-size:13px;line-height:1.5;resize:vertical;background:var(--card-bg);color:var(--text-primary);transition:border-color .2s;min-height:200px;flex:1}.script-editor-textarea:focus{outline:none;border-color:var(--button-bg);box-shadow:0 0 0 3px #667eea1a}.warning-message{margin-top:20px;padding:14px 16px;background:var(--warning-bg);color:var(--warning-text);border-radius:8px;border-left:4px solid var(--warning-border);font-size:14px;line-height:1.5}.error-message{margin-top:20px;padding:14px 16px;background:var(--error-bg);color:var(--error-text);border-radius:8px;border-left:4px solid var(--error-border);font-size:14px;line-height:1.5}.preview-section{background:var(--card-bg);border-radius:12px;padding:30px;box-shadow:0 10px 30px var(--shadow)}.preview-title{margin:0 0 20px;color:var(--text-primary);font-size:24px;text-align:center}.sheet-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}.placeholder{background:var(--card-bg);border-radius:12px;padding:80px 40px;text-align:center;box-shadow:0 10px 30px var(--shadow);min-width:210mm}.placeholder-icon{width:80px;height:80px;color:var(--text-tertiary);margin:0 auto 20px;opacity:.5}.placeholder-text{color:var(--text-tertiary);font-size:18px;margin:0 0 12px}.placeholder-hint{color:var(--text-tertiary);font-size:14px;margin:0;opacity:.7;font-style:italic}.changelog-container{max-width:1400px;margin:0 auto;padding:0 20px 40px}.example-button{display:inline-block;padding:14px 32px;background:var(--button-bg);color:var(--button-text);border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px var(--shadow-light)}.example-button:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.example-button:active{transform:translateY(0)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border-radius:16px;padding:40px;max-width:900px;width:90%;max-height:90vh;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;align-items:center;text-align:center;animation:slideUp .3s ease-out;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-spinner{width:60px;height:60px;border:4px solid var(--border-color);border-top-color:var(--button-bg);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}@keyframes spin{to{transform:rotate(360deg)}}.modal-success-icon{width:80px;height:80px;color:#48bb78;margin-bottom:20px;animation:scaleIn .3s ease-out}.modal-error-icon{width:80px;height:80px;color:#f56565;margin-bottom:20px;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.modal-title{font-size:28px;font-weight:700;margin:0 0 12px;color:var(--text-primary)}.modal-text{font-size:16px;color:var(--text-secondary);margin:0 0 28px;line-height:1.5}.pdf-preview-container{width:100%;margin:20px 0;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px var(--shadow-light)}.pdf-preview{width:100%;height:600px;border:none;display:block}@media(max-width:1024px){.pdf-preview{height:400px}}.modal-buttons{display:flex;gap:12px;width:100%}.modal-button{flex:1;padding:14px 24px;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px var(--shadow-light)}.modal-button-primary{background:var(--button-bg);color:var(--button-text)}.modal-button-primary:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.modal-button-secondary{background:var(--border-color);color:var(--text-secondary)}.modal-button-secondary:hover{background:var(--text-tertiary);color:var(--card-bg);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.modal-button:active{transform:translateY(0)}.collapsible-section{border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg)}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:transparent;border:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;width:100%;text-align:left;color:inherit}.collapsible-header:hover{background:var(--border-color)}.collapsible-chevron{transition:transform .3s ease;color:var(--text-tertiary);display:flex;align-items:center}.collapsible-chevron.open{transform:rotate(180deg)}.collapsible-content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.collapsible-section.open .collapsible-content-wrapper{grid-template-rows:1fr}.collapsible-content{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:8px;padding:0 16px;transition:padding-top .2s ease}.collapsible-section.open .collapsible-content{padding-bottom:16px;padding-top:8px}.options-subsection{display:flex;flex-direction:column;gap:8px}.slider-input{width:100%;cursor:pointer;accent-color:var(--button-bg)}.mobile-controls-toggle{display:none}@media(max-width:1024px){.app{flex-direction:column;padding:20px 10px}.controls{position:relative;top:auto;max-height:none;width:100%;padding:20px;transition:transform .3s ease,opacity .3s ease,max-height .3s ease}.controls.mobile-collapsed{position:fixed;top:0;left:0;right:0;transform:translateY(-100%);opacity:0;pointer-events:none;z-index:100;max-height:100vh;overflow-y:auto;border-radius:0 0 12px 12px}.controls.mobile-expanded{position:fixed;inset:0;transform:translateY(0);opacity:1;z-index:100;border-radius:0;overflow-y:auto;max-height:100vh}.mobile-controls-toggle{display:flex;align-items:center;justify-content:center;position:sticky;top:10px;left:10px;z-index:101;width:48px;height:48px;border-radius:50%;background:var(--button-bg);color:var(--button-text);border:none;cursor:pointer;box-shadow:0 4px 12px var(--shadow);transition:background .2s,transform .2s;flex-shrink:0;align-self:flex-start;margin-bottom:-48px}.mobile-controls-toggle:hover{background:var(--button-hover)}.mobile-controls-toggle:active{transform:scale(.95)}.mobile-controls-toggle-icon{transition:transform .3s ease}.mobile-controls-toggle-icon.open{transform:rotate(90deg)}.app-title{font-size:24px;margin-bottom:20px}.preview-section{padding:10px;overflow:hidden}.preview-section>*{transform:scale(var(--mobile-preview-scale, 1));transform-origin:top center}.placeholder{min-width:auto;width:100%;padding:40px 20px}}@media not print{.preview-section.teensy-preview{transform-origin:top;scale:.8;margin:0 -120px}}@media print{html{visibility:hidden}.sheet-wrapper{visibility:visible;position:absolute;left:0;top:0}.modal-overlay{display:none}}
