*,h1{margin:0}.author,h1{font-size:1.2rem}#back-btn,body{color:var(--text)}#poem-view,#poems-list,header{max-width:1200px;width:100%}.author,header{margin-bottom:2rem}#back-btn,#random-btn{background:var(--btn-bg);cursor:pointer}#random-btn:focus,#random-btn:hover{box-shadow:0 0 0 3px rgba(218,42,12,.863)}#favorites-btn,#theme-toggle{width:40px;height:40px;opacity:.7}.floating-line,.stats-footer{font-family:'Courier New',monospace}*,.disclaimer-modal,header,header>*{box-sizing:border-box}.floating-line,.footer-count{text-shadow:0 0 4px rgba(255,99,71,.3)}*{padding:0}:root{--bg:#f9f7f4;--text:#222;--accent:#333;--secondary:#666;--border:#ddd;--card-bg:white;--btn-bg:#f0f0f0;--btn-hover:#e0e0e0;--line-shadow:rgba(0, 0, 0, 0.1);--transition-fast:0.2s ease;--transition-medium:0.3s ease;--transition-long:0.5s ease}body,body:not(.dark-theme){font-family:Georgia,serif;line-height:1.8;padding:2rem;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}html.dark-theme{--bg:#1a1a1a;--text:#e0e0e0;--accent:#e0e0e0;--secondary:#aaa;--border:#444;--card-bg:#2d2d2d;--btn-bg:#3c3c3c;--btn-hover:#555;--line-shadow:rgba(255, 255, 255, 0.05)}body{background:var(--bg);transition:background var(--transition-long),color var(--transition-long)}.action-btn,.content-wrapper,.poem-item,header{background:var(--card-bg)}.poem-item strong,h1{color:var(--accent);font-weight:600}h1{padding:0 1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 200px;text-align:center;border:1px solid transparent;border-radius:8px}.author{font-style:italic;color:var(--secondary);transition:color var(--transition-medium)}#random-btn,.floating-line{color:tomato;white-space:nowrap}#poem-view{margin:0 auto;display:flex;flex-direction:column;align-items:center}#back-btn{align-self:flex-start;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:1rem;border:none;border-radius:6px;transition:background var(--transition-medium)}#back-btn:hover{background:var(--btn-hover)}.hidden{display:none!important}#poems-list{margin:0 auto;position:relative;padding-left:16px}.poem-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:8px;opacity:0;transform:scaleY(.95);transform-origin:top;transition:opacity .3s,transform .3s}.char,.word{display:inline-block}.poem-grid[open]{opacity:1!important;transform:scaleY(1)!important}.poem-item{border:1px solid var(--border);border-radius:10px;padding:16px;margin:4px 0;box-shadow:0 2px 6px var(--line-shadow);transition:transform .3s,opacity .3s;text-align:left;cursor:pointer;line-height:1.5;position:relative;opacity:0;transform:translateY(8px)}#random-btn,.disclaimer-modal,.line,.poem-actions,.stats-footer{text-align:center}.poem-actions[open],.poem-grid[open] .poem-item{opacity:1;transform:translateY(0)}.poem-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px var(--line-shadow);border-color:var(--accent);z-index:2}.poem-item strong{font-size:1.2rem;display:block;margin-bottom:6px;line-height:1.4;letter-spacing:-.2px}.poem-item small{font-size:.85rem;color:var(--secondary);opacity:.9}.poem-item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0,rgba(0,0,0,.02) 50%,transparent 100%);border-radius:10px;opacity:0;pointer-events:none;transition:opacity .3s}.char,.content-wrapper,.line,.poem-item.year-toggle,.year-wrapper.active,header{position:relative}.poem-item:hover::before{opacity:1}.month-toggle,.year-toggle{opacity:1!important;transform:translateY(0)!important;animation:.4s ease-out forwards fadeInUp;transition:.3s}.month-toggle strong,.year-toggle strong{color:var(--accent);font-weight:600}.month-toggle small,.year-toggle small{font-size:.85rem;color:var(--secondary);opacity:.8;font-style:italic}.months-container,.poems-container{position:relative;margin-left:3%;padding-left:24px;z-index:1}.poems-container{margin-left:6%;padding-left:24px}.line{opacity:0;animation:.6s ease-out forwards slideInLine;z-index:1}@keyframes slideInLine{to{opacity:1;transform:translateY(0)}}.word{margin:0 4px;animation:.5s ease-out forwards popIn;animation-delay:calc(var(--delay) + .2s)}@keyframes popIn{0%{transform:scale(.8);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.char{z-index:2;opacity:0;transform-origin:bottom;animation:.35s ease-out forwards typeIn;animation-delay:calc(var(--char-delay))}@keyframes typeIn{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:translateY(0)}}.line.active:hover,.line:hover{transform:translateY(-2px)}@keyframes breatheGlow{0%,100%{opacity:0}50%{opacity:.4}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes wiggleX{0%,100%,50%{transform:translateX(0)}25%{transform:translateX(3px)}75%{transform:translateX(-2px)}}.floating-line{animation:12s ease-out infinite floatLine,12s ease-out infinite alternate wiggleX;font-size:.9rem;font-style:italic;font-weight:400;letter-spacing:-.3px;opacity:0}@keyframes floatWord{0%{transform:translateY(0)}100%{transform:translateY(-4px)}}.floating-lines{display:flex;flex-direction:column;justify-content:space-around;gap:3rem;overflow:hidden;padding:1rem 0}.floating-lines.left{align-items:flex-start}.floating-lines.right{align-items:flex-end}.floating-lines.left .floating-line{animation-name:floatLineLeft;text-align:left}.floating-lines.right .floating-line{animation-name:floatLineRight;text-align:right}@keyframes floatLineLeft{0%{transform:translateX(-100%) rotate(-5deg);opacity:0}10%,90%{opacity:.7}50%{transform:translateX(0) rotate(1deg);opacity:1}100%{transform:translateX(20px) rotate(0);opacity:0}}@keyframes floatLineRight{0%{transform:translateX(100%) rotate(5deg);opacity:0}10%,90%{opacity:.7}50%{transform:translateX(0) rotate(-1deg);opacity:1}100%{transform:translateX(-20px) rotate(0);opacity:0}}header{display:flex;align-items:center;justify-content:space-between;z-index:1;gap:.75rem;flex-wrap:wrap;padding:1rem 0}header>*{flex:1 1 180px;min-width:0;display:flex;align-items:center;justify-content:center;margin:0;height:40px;min-height:40px}#theme-toggle{position:absolute;top:1rem;right:1rem;background:0 0;border:none;font-size:1.2rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-medium),transform var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent}#theme-toggle:hover{opacity:1;transform:scale(1.1)}#theme-toggle:focus{outline:0;box-shadow:0 0 0 2px var(--border);border-radius:50%}#random-btn{border:none;padding:.6rem 1.2rem;font-size:1rem;border-radius:6px;color:var(--text);transition:all var(--transition-medium);flex:1 1 180px}#random-btn:hover{background:var(--btn-hover);transform:translateY(-1px);border-color:tomato}#random-btn:focus{outline:0;border-color:tomato}.layout-grid{display:grid;grid-template-columns:1fr 3fr 1fr;gap:1.5rem;min-height:100vh;padding:2rem 1rem;width:100%;overflow:hidden}.content-wrapper{z-index:2;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);padding:2.5rem 4rem;overflow:hidden;width:100%;max-width:1400px;margin:0 auto;line-height:1.9}#search-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.098zm-6.4 0a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:16px;flex:1 1 200px;width:auto;max-width:100%;padding:0 1rem;font-size:.95rem;border:1px solid var(--border,#ddd);border-radius:8px;background:var(--bg-primary,#fff);color:var(--text,#333);outline:0;transition:border-color .3s}.action-btn,.favorite-btn{align-items:center;transition:.3s}#search-input:focus,#search-input:not(:placeholder-shown){border-color:tomato;box-shadow:0 0 0 3px rgba(218,42,12,.863);background:#fff;transform:translateY(-1px);color:#1a1a1a}#search-input::placeholder{color:var(--secondary);opacity:.7}.poem-actions{margin:1.5rem 0 2rem}.action-btn{display:inline-flex;gap:8px;padding:.6rem 1.2rem;font-size:.95rem;border:1px solid var(--border);color:var(--text);border-radius:6px;cursor:pointer}#favorites-btn,.favorite-btn{background:0 0;border:none;padding:0;cursor:pointer;display:flex}.action-btn.pdf-btn:hover,.action-btn.read-aloud-btn:hover,.action-btn:hover{background:var(--btn-hover);border-color:tomato;color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.action-btn svg{width:18px;height:18px;fill:var(--secondary)}.action-btn.pdf-btn:hover svg,.action-btn:hover svg{fill:tomato}.action-btn.reading{background:tomato;color:#fff;border-color:tomato}.action-btn.reading svg{fill:white}.action-btn.pdf-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text)}.action-btn.pdf-btn svg{fill:var(--secondary)}.favorite-btn{width:28px;height:28px;justify-content:center;color:currentColor;margin-left:auto}.favorite-btn svg{width:18px;height:18px;fill:none;stroke:var(--secondary);stroke-width:2;transition:.3s}#favorites-btn.active svg,#favorites-btn:hover svg,.favorite-btn.active svg,body.dark-theme #favorites-btn.active svg,body.dark-theme #favorites-btn:hover svg,body.dark-theme .favorite-btn.active svg{fill:tomato;stroke:tomato}.favorite-btn:hover svg{stroke:tomato;transform:scale(1.1)}body.dark-theme .favorite-btn svg{stroke:#aaa}#favorites-btn{transition:opacity .3s,transform .2s;align-items:center;justify-content:center;border-radius:50%;flex:0 0 auto}#favorites-btn svg{width:20px;height:20px;fill:none;stroke:var(--text);stroke-width:2;transition:.3s}#favorites-btn:focus,#favorites-btn:hover{opacity:1;background:var(--btn-hover);transform:scale(1.1)}body.dark-theme #favorites-btn svg{stroke:#e0e0e0}#favorites-view .poem-grid,#favorites-view .poems-container .poem-grid{opacity:1!important;transform:scaleY(1)!important;transition:opacity .3s,transform .3s!important}#favorites-view .poems-container{opacity:1!important;max-height:none!important;overflow:visible!important}#favorites-view .poem-item{opacity:1!important;transform:translateY(0)!important;transition:transform .3s!important}.month-toggle::after,.year-toggle::after{content:'+';font-size:.8rem;color:var(--secondary);margin-left:8px;transition:transform .3s,color .3s}.month-toggle[open]::after,.year-toggle[open]::after{content:'−';color:tomato;transform:rotate(90deg)}.month-toggle[open] strong,.year-toggle[open] strong{color:tomato!important;text-shadow:0 0 4px rgba(255,99,71,.3)!important;font-weight:600}.month-toggle[open],.year-toggle[open]{background:rgba(255,99,71,.08)!important;border-left:3px solid tomato!important;padding-left:calc(16px - 3px)!important;box-shadow:0 2px 8px rgba(0,0,0,.08)!important;transform:translateY(-1px);transition:.3s}.months-container[hidden]::before{display:none}.stats-footer{margin-top:4rem;padding:2rem 0;font-size:.95rem;color:var(--secondary);opacity:.85;border-top:1px dashed tomato;display:flex;flex-direction:column;gap:.6rem;line-height:1.5}.stats-footer .stats-line{letter-spacing:.5px;white-space:nowrap}.footer-count{color:tomato;font-size:1rem}body.dark-theme .stats-footer{color:#aaa;border-top-color:#444}.disclaimer-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;visibility:visible;transition:opacity .4s,visibility .4s;color:#fff;font-family:Georgia,serif;padding:1rem;overflow-y:auto}.disclaimer-modal:not(.active){opacity:0;visibility:hidden;pointer-events:none}.disclaimer-content{max-width:560px;background:#1a1a1a;color:#e0e0e0;padding:2.5rem 2rem;border-radius:12px;line-height:1.7;font-size:1rem;box-shadow:0 8px 32px rgba(0,0,0,.4);border:1px solid #333;margin:1rem auto}.disclaimer-content h2{margin-bottom:1.2rem;color:tomato;font-size:1.6rem;font-weight:600}.disclaimer-content p,.disclaimer-content ul{margin-bottom:1rem}.disclaimer-content ul{text-align:left;margin:1rem auto;padding-left:1.2rem}.disclaimer-content li{margin:.4rem 0;font-size:.95rem}.disclaimer-actions{margin-top:1.5rem;display:flex;gap:1rem;flex-direction:column}.disclaimer-actions button{padding:.8rem 1.5rem;font-size:1rem;border:none;border-radius:6px;cursor:pointer;transition:.3s;min-height:48px;display:flex;align-items:center;justify-content:center}#disclaimer-accept{background:tomato;color:#1a1a1a;font-weight:700}#disclaimer-accept:focus,#disclaimer-accept:hover{background:#ffb74d;transform:translateY(-2px);outline:0}#disclaimer-decline{background:#3c3c3c;color:#e0e0e0}#disclaimer-decline:focus,#disclaimer-decline:hover{background:#555;color:#fff;outline:0}#poem-container h1{font-size:2.2rem;font-weight:600;color:var(--accent);margin:0 0 1rem;line-height:1.3;letter-spacing:-.5px;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;hyphens:auto}@media (max-width:768px){body{font-size:14px;padding:1rem;line-height:1.7}header{flex-direction:column;align-items:stretch;gap:.8rem;padding:1rem 0}.layout-grid{display:block}.floating-lines,.poem-item::before{display:none}.content-wrapper,.content-wrapper>#poem-view,.content-wrapper>#poems-list,.content-wrapper>header{max-width:none;padding:0;margin:0;border-radius:12px;box-shadow:none;background:var(--card-bg);overflow:hidden}.content-wrapper>#poem-view,.content-wrapper>#poems-list,.content-wrapper>header{max-width:640px;margin:0 auto;padding:0 16px;box-sizing:border-box}h1{font-size:1.8rem;text-align:center;white-space:normal}.author{font-size:1rem;margin-bottom:1rem;opacity:.9}#back-btn,#random-btn{min-height:40px;padding:10px 16px;font-size:1rem}.poem-item{padding:12px;margin:6px 0;line-height:1.5}.poem-item strong{font-size:1rem;margin-bottom:6px}.month-toggle strong,.poem-item small,.year-toggle strong{font-size:.8rem}.line{animation:.4s ease-out forwards slideInLine}.char{animation:.35s ease-out forwards typeIn}.months-container,.poems-container{padding-left:16px;position:relative;overflow:visible;margin-left:0}.month-toggle,.year-toggle{padding:6px 8px;font-size:.75rem}.month-toggle small,.year-toggle small{font-size:.65rem}#theme-toggle{width:32px;height:32px;font-size:1.4rem}.poem-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--line-shadow)}.stats-footer{font-size:.85rem;margin-top:3rem;gap:.5rem;padding:1.5rem 0}#poem-container h1{font-size:1.8rem;line-height:1.4;margin-bottom:.8rem}}@media (max-width:600px){.disclaimer-content{padding:2rem 1.5rem;font-size:.95rem;margin:.5rem 1rem;border-radius:10px}.disclaimer-content h2{font-size:1.4rem;margin-bottom:1rem}.disclaimer-content ul{padding-left:1rem}.disclaimer-content li{font-size:.9rem}.disclaimer-actions{gap:.8rem}.disclaimer-actions button{padding:.75rem 1.25rem;font-size:.95rem;min-height:48px}}@media (max-width:480px){.author,.line,.poem-item strong{font-size:.95rem}body{font-size:13px;padding:.8rem}.content-wrapper>#poem-view,.content-wrapper>#poems-list,.content-wrapper>header{max-width:600px;padding:0 12px}h1{font-size:1.4rem;line-height:1.3}.author{margin-bottom:.9rem}#back-btn,#random-btn{min-height:44px;padding:12px 16px;font-size:1rem}.poem-item{padding:10px}.line{line-height:1.6;padding:.25rem 0}.month-toggle,.year-toggle{padding:5px 7px;font-size:.7rem}.stats-footer{font-size:.8rem;letter-spacing:.3px}.disclaimer-modal{padding:.5rem}.disclaimer-content{padding:1.8rem 1.2rem;font-size:.9rem;line-height:1.6}.disclaimer-content h2{font-size:1.3rem}.disclaimer-content p,.disclaimer-content ul{margin-bottom:.8rem}.disclaimer-content li{margin:.3rem 0}.disclaimer-actions{gap:.7rem}.disclaimer-actions button{padding:.7rem 1.2rem;font-size:.9rem;min-height:48px}}@media (prefers-reduced-motion:reduce){*,.char,.line,.word{animation:none!important;transition:none!important;opacity:1!important}}.year-wrapper.active::before{content:'';position:absolute;left:0;top:10px;bottom:0;width:3px;background:tomato;border-radius:2px;z-index:0}.year-wrapper.active .poem-item.year-toggle{background:rgba(255,99,71,.08);border-left:3px solid transparent;padding-left:calc(16px - 3px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.highlight-search,.year-wrapper.active .poem-item.year-toggle strong{color:tomato;text-shadow:0 0 4px rgba(255,99,71,.3)}.month-wrapper.active{position:relative;background:rgba(255,99,71,.03);border-radius:10px;overflow:hidden;margin:4px 0}.month-wrapper.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,tomato,orange);z-index:1}.month-wrapper.active .poem-item.month-toggle{position:relative;z-index:2;background:rgba(255,99,71,.1);border-left:3px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.1)}.month-wrapper.active .poem-item.month-toggle strong{color:#d32f2f;font-weight:600}.highlight-search strong{margin:0;padding:0}.poem-divider{width:80%;max-width:500px;margin:2.5rem auto 1.8rem;border-top:1px dashed tomato;position:relative;opacity:0;animation:.6s ease-out .7s forwards fadeInDivider}@keyframes fadeInDivider{to{opacity:1}}.poem-divider::after{content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,tomato,transparent);opacity:.6}.poem-actions{opacity:0;transform:translateY(10px);transition:.4s cubic-bezier(.2, 0, .2, 1)}.action-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@keyframes blink{0%,100%,90%{opacity:.9}95%{opacity:.2}}#poem-container .icon-robot .eye,.disclaimer-modal .icon-robot .eye{animation:3s infinite blink}