:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-light: #ffffff;--text-light: #222222;--primary-light: #005a9c;--bg-dark: #1e1e1e;--text-dark: #f0f0f0;--primary-dark: #3a8dde}body{margin:0;font-family:Georgia,serif;background:var(--bg-light);color:var(--text-light);line-height:1.6;font-size:1rem;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.dark-mode{background:var(--bg-dark);color:var(--text-dark)}.app-container{max-width:700px;margin:2rem auto;padding:0 1rem}@media (max-width: 768px){.app-container{padding:0 .75rem}}@media (max-width: 480px){.app-container{margin:1rem;padding:0 .5rem}}@media (max-width: 360px){.app-container{padding:0 .4rem}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.app-title{font-family:Georgia,serif;font-weight:700;font-size:2.25rem;color:var(--primary-light);margin:0}body.dark-mode .app-title{color:var(--primary-dark)}.dark-mode-toggle{background:transparent;border:1.5px solid var(--primary-light);color:var(--primary-light);padding:.4rem 1rem;font-size:1rem;border-radius:5px;cursor:pointer;transition:background-color .25s ease,color .25s ease;white-space:nowrap}.dark-mode-toggle:hover,.dark-mode-toggle:focus{background:var(--primary-light);color:var(--bg-light);outline:none}body.dark-mode .dark-mode-toggle{border-color:var(--primary-dark);color:var(--primary-dark)}body.dark-mode .dark-mode-toggle:hover,body.dark-mode .dark-mode-toggle:focus{background:var(--primary-dark);color:var(--bg-dark)}.book-emoji{font-size:4rem;text-align:center;margin:1.5rem 0 2rem;-webkit-user-select:none;user-select:none}.subtitle{font-size:1.15rem;margin-bottom:2rem;text-align:center;max-width:600px;margin-left:auto;margin-right:auto;color:#444}body.dark-mode .subtitle{color:#ccc}.story-form label{display:block;margin-bottom:.25rem;font-weight:600;color:var(--text-light)}body.dark-mode .story-form label{color:var(--text-dark)}.checkbox-row{display:flex;align-items:center;margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.story-form input,.story-form textarea{width:90%;padding:.6rem .8rem;margin-bottom:1rem;border:1.5px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit;background:#fff;color:var(--text-light);transition:border-color .3s ease}body.dark-mode .story-form input,body.dark-mode .story-form textarea{background:#2a2a2a;border-color:#555;color:var(--text-dark)}.story-form input:focus,.story-form textarea:focus{outline:none;border-color:var(--primary-light)}body.dark-mode .story-form input:focus,body.dark-mode .story-form textarea:focus{border-color:var(--primary-dark)}.submit-btn{background-color:var(--primary-light);color:#fff;border:none;padding:.7rem 1.5rem;font-size:1.1rem;font-weight:700;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.submit-btn:hover,.submit-btn:focus{background-color:#003d6a;outline:none}body.dark-mode .submit-btn{background-color:var(--primary-dark)}body.dark-mode .submit-btn:hover,body.dark-mode .submit-btn:focus{background-color:#2a65b0}.status-message{margin-top:.5rem;min-height:1.5rem;font-weight:600;text-align:center;color:#333}body.dark-mode .status-message{color:#eee}.shared-stories-heading{margin-top:3rem;text-align:center;font-size:1.8rem;color:var(--primary-light);font-weight:700}body.dark-mode .shared-stories-heading{color:var(--primary-dark)}.stories-list{list-style:none;padding-left:0;margin-top:1.5rem}.story-item{background:#f9f9f9;border:1.5px solid #ddd;border-radius:6px;padding:1rem 1.25rem;margin-bottom:1rem;transition:background-color .3s ease,border-color .3s ease}body.dark-mode .story-item{background:#2e2e2e;border-color:#444}.story-title{margin:0 0 .4rem;font-family:Georgia,serif;font-weight:700;font-size:1.25rem;color:var(--primary-light)}body.dark-mode .story-title{color:var(--primary-dark)}.story-text{margin:0 0 .75rem;font-size:1rem;line-height:1.5;color:var(--text-light)}body.dark-mode .story-text{color:var(--text-dark)}.story-time{font-size:.8rem;color:#666;font-style:italic;text-align:right}body.dark-mode .story-time{color:#aaa}.no-stories{text-align:center;margin-top:2rem;font-style:italic;color:#666}body.dark-mode .no-stories{color:#aaa}.loading{text-align:center;font-style:italic;margin-top:2rem;color:#555}body.dark-mode .loading{color:#bbb}.reaction-buttons{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.reaction-button{background:#fff;border:none;padding:6px 10px;border-radius:12px;cursor:pointer;font-size:1rem;transition:transform .1s ease-in-out}.reaction-button:hover{transform:scale(1.1);background-color:#add8e6}.dark .reaction-button{background:#333;color:#fff}.dark .reaction-button:hover{background:#444}@media (max-width: 480px){.app-title{font-size:1.75rem}.shared-stories-heading{font-size:1.4rem}.submit-btn{width:100%;font-size:1rem}.story-form input,.story-form textarea{font-size:1rem}.story-title{font-size:1.1rem}.story-text{font-size:.95rem}}@media (max-width: 360px){.book-emoji{font-size:3rem}.submit-btn{font-size:.95rem}}@media (min-width: 1024px){.app-title{font-size:2.75rem}.subtitle{font-size:1.25rem}.story-title{font-size:1.5rem}.story-text{font-size:1.05rem}.submit-btn{font-size:1.15rem}}.story-form-wrapper{margin-right:1rem}@media (max-width: 768px){.story-form-wrapper{margin-right:.5rem}}@media (max-width: 480px){.story-form-wrapper{margin-right:.25rem}}@media (max-width: 360px){.story-form-wrapper{margin-right:.2rem}}@media (min-width: 1024px){.story-form-wrapper{margin-right:1.25rem}}
