:root{--primary-color: #f9f7f1;--text-color: #333;--border-color: #ddd;--accent-color: #8b0000;--paper-color: #f9f7f1;--ink-color: #1a1a1a;--ink-color-light: #666666;--ink-color-lightest: #eeeeee;--accent-color-dark: #660000;--accent-color-light: rgba(139, 0, 0, .2);--error-color: #dc3545;--error-bg-color: #f8d7da;--heading-font: "Times New Roman", Times, serif}body{font-family:var(--heading-font);background-color:var(--primary-color);color:var(--text-color);line-height:1.6;margin:0;padding:0}.container{max-width:1200px;margin:0 auto;padding:20px}header{text-align:center;border-bottom:2px solid var(--border-color);padding-bottom:20px;margin-bottom:20px}.newspaper-name{font-size:3rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0}.date{font-style:italic;margin:10px 0}.main-content{display:grid;grid-template-columns:2fr 1fr;gap:20px}.sidebar{border-left:1px solid var(--border-color);padding-left:20px}.sidebar-article{margin-bottom:20px}.sidebar-title{font-size:1.3rem;margin-bottom:10px}.first-letter{float:left;font-size:4rem;line-height:.8;margin-right:8px;color:var(--accent-color);font-weight:700}footer{text-align:center;margin-top:30px;padding-top:20px;border-top:2px solid var(--border-color);font-size:.9rem}.weather-container{background-color:#f8f8f8;border:1px solid var(--border-color);border-radius:4px;padding:15px;margin-bottom:20px;position:relative;min-height:280px;width:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.weather-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.weather-title{font-size:1.3rem;margin:0}.weather-toggle{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-color)}.weather-toggle:hover{color:var(--accent-color)}.weather-location{font-size:1.2rem;margin:0 0 15px;text-align:center}.weather-data{flex-grow:1;margin-bottom:15px}.weather-row{display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dotted var(--border-color)}.weather-row:last-child{border-bottom:none}.weather-label{font-weight:700}.weather-value{text-align:right}.weather-updated{text-align:right;font-size:.8rem;color:#666;margin-top:auto;display:flex;justify-content:space-between;align-items:center}.update-zip{background:none;border:none;font-size:.8rem;color:var(--accent-color);cursor:pointer;text-decoration:underline}.update-zip:hover{color:#700000}.weather-input{display:none;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.zip-form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:250px}.zip-form label{font-weight:700}.zip-form input{padding:8px;border:1px solid var(--border-color);border-radius:4px}.zip-form button{padding:8px 15px;background-color:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer}.zip-form button:hover{background-color:#700000}.weather-error{position:absolute;bottom:-40px;left:0;right:0;background-color:#fdd;color:#d80000;padding:8px;border-radius:4px;text-align:center;animation:fadeOut 3s forwards}.weather-error-permanent{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:250px;background-color:#fdd;border-radius:4px;color:#d80000;padding:15px}.weather-error-permanent h4{margin-top:0;margin-bottom:10px}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.weather-stats{flex:1;overflow-y:auto;display:flex;flex-direction:column}.stock-container{background-color:#f8f8f8;border-radius:5px;padding:15px;margin-top:10px;position:relative}.stock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.stock-section-title{margin:0;font-size:16px;font-weight:700}.stock-toggle{background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:16px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.stock-toggle:hover{background-color:#8b00001a}.stock-input-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f8f8f8f2;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.stock-input-overlay.visible{opacity:1;visibility:visible}.stock-input-container{background-color:#fff;padding:20px;border-radius:5px;box-shadow:0 2px 10px #0000001a;width:90%;max-width:300px}.stock-input{margin-bottom:15px}.ticker-form{display:flex;flex-direction:column}.ticker-form label{margin-bottom:5px;font-weight:700}.ticker-form input{padding:8px;border:1px solid var(--border-color);border-radius:4px;margin-bottom:10px}.ticker-form button{background-color:var(--accent-color);color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s}.ticker-form button:hover{background-color:#6b0000}.ticker-list{margin-bottom:15px;max-height:150px;overflow-y:auto}.ticker-item{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid var(--border-color)}.ticker-item:last-child{border-bottom:none}.ticker-symbol{font-weight:700}.remove-ticker{background:none;border:none;color:#999;cursor:pointer;font-size:14px;padding:2px 5px;transition:color .3s}.remove-ticker:hover{color:var(--accent-color)}.stock-stats{border-top:1px solid var(--border-color);padding-top:15px}.stock-table{width:100%;border-collapse:collapse;margin-bottom:10px}.stock-table th,.stock-table td{padding:8px;text-align:left;border-bottom:1px solid var(--border-color)}.stock-table th{font-weight:700;background-color:#f1f1f1}.positive{color:#28a745}.negative{color:#dc3545}.last-updated{font-size:12px;color:#777;text-align:right;margin-top:10px;font-style:italic}.error-message{background-color:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin-top:10px;animation:fadeOut 3s forwards}.empty-message{color:#777;font-style:italic;text-align:center;padding:10px}.headline{font-size:2.5rem;font-weight:700;margin-bottom:10px}.subheadline{font-size:1.5rem;font-style:italic;margin-bottom:20px}.article{margin-bottom:30px;border-bottom:1px solid var(--border-color);padding-bottom:20px}.article-title{font-size:1.8rem;margin-bottom:10px}.byline{font-style:italic;margin-bottom:15px}.article-content{column-count:2;column-gap:20px;text-align:justify}.astronomy-component{position:relative;background:var(--paper-color);padding:10px;margin:10px 0;font-family:var(--heading-font)}.astronomy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid var(--ink-color)}.astronomy-title{margin:0;font-size:1.2em;color:var(--ink-color);font-family:var(--heading-font);text-transform:uppercase;letter-spacing:.5px}.astronomy-toggle{background:transparent;border:1px solid var(--ink-color);cursor:pointer;display:flex;align-items:center;gap:4px;padding:2px 4px;font-family:var(--heading-font);font-size:.8em}.toggle-icon{font-size:1em}.toggle-text{color:var(--ink-color)}.astronomy-settings,.astronomy-data{min-height:100px}.astronomy-loading{display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--ink-color);font-style:italic;font-family:var(--heading-font)}.astronomy-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;text-align:center;padding:10px;font-family:var(--heading-font)}.retry-button{margin-top:10px;padding:2px 8px;background-color:var(--paper-color);color:var(--ink-color);border:1px solid var(--ink-color);cursor:pointer;font-family:var(--heading-font)}.retry-button:hover{background-color:var(--ink-color-lightest)}@media (max-width: 768px){.astronomy-component{margin:5px 0;padding:8px}.astronomy-title{font-size:1.1em}.toggle-text{display:none}}.astronomy-data-container{display:grid;gap:10px;padding:5px;font-family:var(--heading-font);font-size:.9em;line-height:1.3}.moon-phase{padding:5px;border:1px solid var(--ink-color);text-align:center}.moon-phase h4{margin:0 0 5px;font-size:.95em;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--ink-color);padding-bottom:2px}.moon-visualization{display:flex;align-items:center;gap:10px}.moon-disc{width:50px;height:50px;background:var(--ink-color);border-radius:50%;position:relative;overflow:hidden}.moon-illumination{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--paper-color);border-radius:50%}.phase-info{flex:1;text-align:left;font-size:.85em}.phase-name{margin:0;font-weight:700}.illumination-percent{margin:2px 0 0;color:var(--ink-color-light)}.detailed-data{display:grid;gap:2px;padding:5px;border:1px solid var(--ink-color);font-size:.85em}.data-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;border-bottom:1px dotted var(--ink-color-light)}.data-row:last-child{border-bottom:none}.data-row .label{font-weight:700}.data-row .value{font-family:Courier New,monospace}.update-info{display:flex;justify-content:space-between;align-items:center;padding:3px;border-top:1px solid var(--ink-color);font-size:.75em;font-style:italic}.refresh-button{background:none;border:none;cursor:pointer;padding:2px;color:var(--ink-color)}.astronomy-data-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;gap:10px;font-style:italic}.loading-animation{width:20px;height:20px;border:2px solid var(--ink-color-lightest);border-top-color:var(--ink-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.astronomy-data-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;text-align:center;padding:10px}.error-message{margin-bottom:10px}@media (max-width: 768px){.astronomy-data-container{gap:8px;padding:3px;font-size:.85em}.moon-disc{width:40px;height:40px}}.astronomy-settings-container{padding:5px;font-family:var(--heading-font);font-size:.9em;line-height:1.3}.astronomy-settings-container h4{margin:0 0 5px;font-size:.95em;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--ink-color);padding-bottom:2px}.settings-form{display:flex;flex-direction:column;gap:8px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:.9em;font-weight:700}.form-group input{padding:2px 4px;border:1px solid var(--ink-color);font-size:.9em;font-family:Courier New,monospace;background:var(--paper-color)}.form-group input:focus{outline:none;border-width:2px}.form-group input:invalid{border-style:dotted}.error-message{font-size:.85em;font-style:italic;margin-top:2px;display:none}.error-message.visible{display:block}.save-button{margin-top:8px;padding:2px 8px;background:var(--paper-color);border:1px solid var(--ink-color);font-family:var(--heading-font);font-size:.9em;cursor:pointer}.save-button:hover{background:var(--ink-color-lightest)}@media (max-width: 768px){.astronomy-settings-container{padding:3px;font-size:.85em}.form-group input{font-size:16px}}
