:root{--viewport-height: 100vh;--text-main: #201e1a;--bg-main: radial-gradient(circle at 20% -20%, #f5efe2 0%, #ece2cf 45%, #e6dcc9 100%);--bg-glow-a: rgba(171, 124, 80, .16);--bg-glow-b: rgba(108, 146, 169, .11);--panel-border: rgba(119, 100, 74, .22);--panel-bg: rgba(255, 252, 246, .72);--poem-card-bg: #f3e8d4;--date-label: #4f4639;--author-panel-bg: rgba(252, 248, 240, .82);--author-image-border: rgba(125, 105, 80, .28);--author-bio: #5b5246;--heart-border: #8a4c5f;--heart-bg: #fff8fa;--heart-text: #7d2f49;--heart-active-bg: #f4d9e1;--heart-active-text: #5a1d2f;--heart-active-border: #6f3447;--subtle-text: #6a5f50;--favourite-row-border: rgba(124, 105, 82, .28);--favourite-row-bg: rgba(255, 252, 246, .72);--favourite-poem-text: #2d2923;--status-text: #5a5246;--status-error: #9d2d2d;--tabs-border: rgba(124, 105, 82, .34);--tabs-bg: rgba(245, 236, 223, .78);--tab-text: #6a5f50;--tab-active-text: #232018;--tab-separator: rgba(118, 104, 85, .5);--brand-accent: #8e5163;--brand-accent-soft: rgba(142, 81, 99, .15);color:var(--text-main);background:var(--bg-main);font-family:Spectral,Iowan Old Style,Georgia,serif;line-height:1.45}@supports (height: 100dvh){:root{--viewport-height: 100dvh}}[data-theme=dark]{--text-main: #ece6d8;--bg-main: radial-gradient(circle at 25% -20%, #283140 0%, #1d252f 45%, #151c24 100%);--bg-glow-a: rgba(181, 122, 98, .14);--bg-glow-b: rgba(118, 153, 189, .14);--panel-border: rgba(130, 152, 179, .2);--panel-bg: rgba(24, 33, 43, .72);--poem-card-bg: #2a3543;--date-label: #e0d3ba;--author-panel-bg: rgba(34, 44, 56, .82);--author-image-border: rgba(146, 171, 201, .28);--author-bio: #b8c5d4;--heart-border: #8d5870;--heart-bg: #2a2028;--heart-text: #efc2d1;--heart-active-bg: #4a2b37;--heart-active-text: #ffe2ec;--heart-active-border: #a06b82;--subtle-text: #b6c2d2;--favourite-row-border: rgba(133, 155, 181, .3);--favourite-row-bg: rgba(35, 45, 58, .7);--favourite-poem-text: #d7dfee;--status-text: #c2cedd;--status-error: #ff9c9c;--tabs-border: rgba(136, 160, 187, .34);--tabs-bg: rgba(17, 25, 34, .78);--tab-text: #b9c6d8;--tab-active-text: #ffffff;--tab-separator: rgba(147, 170, 196, .52);--brand-accent: #d9a1b5;--brand-accent-soft: rgba(217, 161, 181, .16)}*{box-sizing:border-box;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}html,#root{min-height:100%}body{margin:0;min-height:var(--viewport-height);color:var(--text-main);background:var(--bg-main);position:relative}body:before,body:after{content:"";position:fixed;inset:auto;pointer-events:none;z-index:-1;filter:blur(40px)}body:before{top:-9rem;left:-4rem;width:min(40vw,360px);height:min(40vw,360px);border-radius:50%;background:var(--bg-glow-a)}body:after{right:-6rem;bottom:4rem;width:min(38vw,340px);height:min(38vw,340px);border-radius:50%;background:var(--bg-glow-b)}.page{min-height:var(--viewport-height);max-width:820px;margin:0 auto;padding:1.5rem 1.4rem 6.6rem}.content-wrap{min-height:calc(var(--viewport-height) - 8.8rem)}.loading-splash{min-height:calc(var(--viewport-height) - 12rem);display:flex;align-items:center;justify-content:center;padding:1.2rem}.loading-shell{width:min(420px,92vw);display:grid;justify-items:center;gap:.52rem;text-align:center}.loading-logo{width:min(280px,70vw);height:auto;opacity:.92;animation:fade-in-up .42s ease both}.loading-title{margin:.3rem 0 0;font-size:1.02rem;font-weight:600;color:var(--text-main);letter-spacing:.01em}.loading-subtitle{margin:0;color:var(--subtle-text);font-size:.92rem;max-width:34ch}.loading-progress{width:min(280px,82vw);height:.32rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--brand-accent) 20%,transparent)}.loading-progress-fill{display:block;width:42%;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--brand-accent) 82%,white 18%);animation:loading-progress 1.1s ease-in-out infinite}.theme-toggle{border:1px solid color-mix(in srgb,var(--panel-border) 80%,transparent);background:color-mix(in srgb,var(--panel-bg) 82%,transparent);color:var(--text-main);border-radius:999px;padding:.18rem;line-height:1;cursor:pointer;box-shadow:0 8px 20px #14110e24}.theme-toggle:hover{transform:translateY(-1px) scale(1.01)}.theme-toggle-track{--toggle-width: 3.7rem;--toggle-height: 1.9rem;--toggle-padding: .22rem;--toggle-thumb-size: 1.45rem;width:var(--toggle-width);height:var(--toggle-height);display:grid;grid-template-columns:1fr 1fr;place-items:center;position:relative}.theme-toggle-icon{font-size:.95rem;color:color-mix(in srgb,var(--text-main) 72%,var(--subtle-text) 28%);z-index:1}.theme-toggle-thumb{position:absolute;left:var(--toggle-padding);top:calc((var(--toggle-height) - var(--toggle-thumb-size)) / 2);width:var(--toggle-thumb-size);height:var(--toggle-thumb-size);border-radius:999px;background:color-mix(in srgb,var(--poem-card-bg) 62%,var(--panel-bg) 38%);box-shadow:0 2px 8px #14110e33;transform:translate(0);transition:transform .18s ease}.theme-toggle-dark .theme-toggle-thumb{transform:translate(calc((.75 * var(--toggle-width)) - var(--toggle-padding) - (.5 * var(--toggle-thumb-size))))}.app-theme-toggle{position:fixed;top:calc(1.4rem + env(safe-area-inset-top));right:max(1.4rem,calc(env(safe-area-inset-right) + .4rem));z-index:30}.panel{border:1px solid color-mix(in srgb,var(--panel-border) 65%,transparent);background:var(--panel-bg);border-radius:1.15rem;padding:1.2rem;box-shadow:0 16px 34px #14110e1a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade-in-up .36s ease both}.top-logo-wrap{margin-top:.6rem;margin-bottom:1.05rem;display:flex;justify-content:center}.top-logo{width:min(184px,48vw);height:auto;object-fit:contain;opacity:.96}.poem-card-wrap{position:relative;margin-top:.92rem;margin-bottom:1.55rem}.poem-card{border:0;background:var(--poem-card-bg);border-radius:1.08rem;padding:1.12rem 1.12rem 1.5rem;box-shadow:inset 0 0 0 1px #ffffff0f}.date-label{margin:0;color:var(--date-label);font-size:1rem;font-weight:600;letter-spacing:.01em}.notification-panel{border:0;border-radius:0;background:transparent;padding:0;margin:.2rem 0 1rem}.notification-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.notification-label{color:var(--text-main);font-size:.93rem;font-weight:600}.notification-switch{border:0;background:transparent;padding:0;cursor:pointer}.notification-switch:disabled{opacity:.62;cursor:not-allowed}.notification-switch-track{width:2.7rem;height:1.5rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--panel-border) 75%,transparent);background:color-mix(in srgb,var(--subtle-text) 26%,transparent);display:flex;align-items:center;padding:.12rem;transition:background-color .18s ease}.notification-switch-thumb{width:1.12rem;height:1.12rem;border-radius:50%;background:color-mix(in srgb,white 82%,var(--panel-bg) 18%);box-shadow:0 2px 8px #14110e3d;transform:translate(0);transition:transform .18s ease}.notification-switch-active .notification-switch-track{border-color:color-mix(in srgb,var(--brand-accent) 60%,var(--panel-border) 40%);background:color-mix(in srgb,var(--brand-accent) 42%,var(--brand-accent-soft) 58%)}.notification-switch-active .notification-switch-thumb{transform:translate(1.18rem)}.notification-note{margin:.42rem 0 0;color:var(--subtle-text);font-size:.82rem}.favourites-box{border:1px solid var(--favourite-row-border);border-radius:.92rem;background:var(--favourite-row-bg);padding:.9rem}.poem-title{font-size:2rem;line-height:1.12;margin:0 0 .9rem;letter-spacing:.007em}.poem-text{white-space:pre-wrap;margin:0;font-size:1.045rem;line-height:1.78;font-family:inherit;background:transparent;text-wrap:pretty;max-height:min(48vh,26rem);overflow-y:auto;padding-right:.35rem;scrollbar-width:thin}.author-panel{border:0;background:transparent;border-radius:0;padding:0;box-shadow:none}.author-block{display:flex;gap:.9rem;align-items:flex-start}.author-image{width:72px;height:72px;object-fit:cover;border-radius:.6rem;border:1px solid var(--author-image-border)}.author-name{margin:0;font-weight:700;letter-spacing:.012em;font-size:1.04rem}.author-bio{margin:.3rem 0 0;color:var(--author-bio);line-height:1.52}.heart-button{position:absolute;right:.9rem;bottom:0;transform:translateY(50%);border:0;border-radius:999px;background:color-mix(in srgb,var(--poem-card-bg) 64%,var(--panel-bg) 36%);color:var(--heart-text);cursor:pointer;width:3.05rem;height:3.05rem;display:grid;place-items:center;box-shadow:0 8px 18px #14110e1f}.heart-button:hover:enabled{transform:translateY(50%) scale(1.06);color:color-mix(in srgb,var(--brand-accent) 78%,var(--heart-text) 22%)}.heart-button-active{color:var(--heart-active-text)}.heart-button:disabled{opacity:.7;cursor:not-allowed}.heart-icon{width:1.48rem;height:1.48rem}.heart-icon path{stroke:currentColor;stroke-width:1.7;fill:transparent}.heart-button-active .heart-icon path{fill:currentColor}.section-title{margin:0;letter-spacing:.01em;font-size:1.42rem}.section-subtitle{margin:.4rem 0 0;color:var(--subtle-text);font-size:.9rem}.favourites-list{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.78rem}.favourite-row{border:0;border-radius:.92rem;padding:.78rem;background:color-mix(in srgb,var(--favourite-row-bg) 82%,var(--poem-card-bg) 18%)}.favourite-summary{cursor:pointer;list-style:none}.favourite-summary::-webkit-details-marker{display:none}.favourite-title{margin:0;font-weight:700;font-size:1.04rem}.favourite-meta{margin:.2rem 0 0;color:var(--subtle-text);font-size:.95rem}.favourite-poem-text{white-space:pre-wrap;margin:.82rem 0 0;font-size:.96rem;line-height:1.67;color:var(--favourite-poem-text);text-wrap:pretty}.empty-state,.status{color:var(--status-text)}.status-error{color:var(--status-error)}.bottom-tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:.54rem max(1rem,env(safe-area-inset-right)) calc(.54rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border-top:1px solid var(--tabs-border);background:var(--tabs-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -10px 26px #0f0c0a1a}.tab-btn{border:0;background:transparent;color:var(--tab-text);padding:.62rem .24rem;cursor:pointer;font-size:1rem;font-weight:500;border-radius:.7rem}.tab-btn-active{color:var(--tab-active-text);font-weight:700;background:color-mix(in srgb,var(--brand-accent-soft) 70%,transparent)}.tab-btn:hover{color:var(--tab-active-text)}.tab-logo{height:1.14rem;width:auto;display:block;margin:0 auto}.tab-heart-icon{width:1.2rem;height:1.2rem;vertical-align:middle}.tab-heart-icon path{stroke:currentColor;stroke-width:1.8;fill:transparent;transition:fill .16s ease}.tab-btn-active .tab-heart-icon path{fill:currentColor}.theme-toggle:focus-visible,.heart-button:focus-visible,.notification-switch:focus-visible,.tab-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-accent) 70%,white 30%);outline-offset:2px}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-progress{0%{transform:translate(-120%)}to{transform:translate(340%)}}@media (max-width: 600px){.poem-title{font-size:1.56rem}.poem-text{font-size:.99rem;line-height:1.6}.poem-card{padding:.96rem .96rem 1.34rem}.page{padding-left:1rem;padding-right:1rem;padding-bottom:6.3rem}.top-logo{width:min(168px,46vw)}}
