:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#29263a;background:#f7f3ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;min-width:0;background:radial-gradient(circle at 88% 0%,#e9e4f1 0,transparent 32rem),#f7f3ec}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid #b88534;outline-offset:3px}
.app-shell{max-width:1160px;margin:auto;padding:0 max(20px,env(safe-area-inset-right)) 30px max(20px,env(safe-area-inset-left))}
.has-vk-banner .app-shell{padding-bottom:110px}
.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:17px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}
.brand strong{font-weight:800}
.brand-mark{width:34px;height:34px;display:block;flex:none;border-radius:9px;object-fit:cover}
.header-action{border:0;background:transparent;color:#49416e;font-weight:650;padding:12px 4px}
.header-action span{margin-left:3px}
.header-action-short{display:none}
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;min-height:310px;border-radius:30px;background:#49416e;color:#fff9ed;padding:46px 52px;box-shadow:0 20px 42px rgba(51,43,74,.13)}
.hero:before{content:"";position:absolute;width:560px;height:560px;right:-180px;top:-290px;border:1px solid rgba(255,255,255,.14);border-radius:50%}
.hero:after{content:"";position:absolute;width:430px;height:430px;right:-95px;top:-224px;border:1px solid rgba(255,255,255,.11);border-radius:50%}
.hero-copy{position:relative;z-index:1}
.eyebrow{margin:0 0 12px;color:#8a7391;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero .eyebrow{color:#f4c96d}
h1,h2,h3,p{overflow-wrap:break-word}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.07;letter-spacing:-.045em;margin:0;max-width:650px}
.hero-description{max-width:525px;color:#e5dfea;line-height:1.6;margin:18px 0 24px;font-size:15px}
.date-pill{display:inline-flex;align-items:center;min-height:32px;margin:0;border:1px solid rgba(255,255,255,.23);border-radius:999px;padding:5px 12px;color:#f7e9bd;font-size:12px;font-weight:650}
.hero-illustration{position:relative;width:244px;height:224px;justify-self:center;display:grid;place-items:center}
.hero-orbit{position:absolute;inset:5px 14px;border:1px solid rgba(244,201,109,.55);border-radius:50%;transform:rotate(-25deg)}
.hero-orbit:before{content:"✦";position:absolute;left:5px;top:12px;font-size:24px;color:#f4c96d;animation:hero-orbit-spark 4.8s ease-in-out infinite}
.hero-book{position:relative;display:grid;place-items:center;width:155px;height:180px;border-radius:7px 20px 20px 7px;background:linear-gradient(110deg,#f0e5cc 0 12%,#fff9ed 13% 84%,#ddd1bd 100%);box-shadow:15px 17px 0 #292541,22px 24px 30px rgba(0,0,0,.24);color:#c69347;font-size:68px;transform:rotate(10deg);animation:hero-book-float 6s ease-in-out infinite}
.hero-book:before{content:"";position:absolute;left:23px;top:0;bottom:0;border-left:1px solid #d4c6b0}
.hero-book-spark{display:block;animation:hero-book-spark 4.8s ease-in-out infinite}
@keyframes hero-book-float{0%,100%{transform:translateY(0) rotate(10deg)}50%{transform:translateY(-6px) rotate(8deg)}}
@keyframes hero-book-spark{0%,100%{opacity:.82;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}
@keyframes hero-orbit-spark{0%,100%{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
.notice{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffaf0;border:1px solid #e7d7ad;color:#4d3c29;border-radius:16px;padding:14px 18px;margin-top:22px;font-size:14px}
.notice button{border:0;background:transparent;color:#49416e;font-weight:800;text-decoration:underline;padding:8px}
.notice-error{background:#fff2f0;border-color:#e9b6b2;color:#71352d}
.content-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:26px;align-items:start;margin-top:34px}
.sign-section,.reading-section{min-width:0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;min-height:58px;margin-bottom:15px}
.section-heading .eyebrow{margin-bottom:7px}
h2{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.1;font-weight:500;letter-spacing:-.035em;margin:0}
.section-aside{color:#8c8694;font-size:12px;white-space:nowrap;padding-bottom:4px}
.sign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sign-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:92px;border:1px solid #e7e2de;background:#fffcf7;border-radius:16px;color:#403c4c;box-shadow:0 4px 12px rgba(48,42,56,.025);transition:transform .15s,background .15s,border-color .15s}
.sign-button:hover{transform:translateY(-2px);border-color:#ad9bc0}
.sign-button[aria-pressed="true"]{background:#eeeaf4;border-color:#7b6d9e;box-shadow:inset 0 0 0 1px #7b6d9e}
.sign-icon{display:block;width:46px;height:46px;flex:none;object-fit:contain;padding:3px;border-radius:12px;background:#f3eef5}
.sign-name{font-size:13px;font-weight:700}
.section-hint{font-size:12px;color:#77717c;line-height:1.5;margin:14px 2px}
.reading-empty{min-height:330px;border:1px dashed #cfc5d8;border-radius:22px;background:#fbf9f7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:#766d7e}
.empty-symbol{font-size:58px;line-height:1;color:#b9a7cd}
.reading-empty h3{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500;color:#49416e;margin:15px 0 7px}
.reading-empty p{font-size:14px;margin:0;line-height:1.5}
.reading-card{border:1px solid #e8e2e4;border-radius:22px;background:#fffcf7;padding:26px;box-shadow:0 12px 34px rgba(41,35,55,.055);overflow-anchor:none}
.reading-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#726689;font-size:12px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.reading-sign{display:inline-flex;align-items:center;gap:6px}
.reading-sign-icon{width:24px;height:24px;object-fit:contain;padding:2px;border-radius:6px;background:#f3eef5}
.book-feature{display:flex;gap:22px;align-items:center;margin:23px 0}
.book-info{min-width:0}
.book-art{flex:none;width:135px;height:171px;border-radius:4px 11px 11px 4px;background:linear-gradient(145deg,#82749d,#49416e 70%);box-shadow:7px 9px 0 #d9d0c4,11px 13px 20px rgba(32,27,44,.15);display:grid;place-items:center;position:relative;overflow:hidden;background-size:cover;background-position:center}
.book-art:before{content:"✦";position:absolute;inset:0;z-index:1;display:grid;place-items:center;border-radius:inherit;background:linear-gradient(100deg,#e9dfcf 0 7%,#62577f 8%,#49416e 75%,#393253);color:#f4c96d;font-size:48px;transform-origin:left center;transform:perspective(520px) rotateY(-105deg);opacity:0;backface-visibility:hidden;pointer-events:none}
.book-art:after{content:"";position:absolute;z-index:2;left:11px;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.25)}
.reading-card.is-revealing .book-art:before{animation:book-cover-open 680ms cubic-bezier(.22,.75,.25,1) both}
@keyframes book-cover-open{0%{transform:perspective(520px) rotateY(0);opacity:1}70%{transform:perspective(520px) rotateY(-82deg);opacity:1}100%{transform:perspective(520px) rotateY(-105deg);opacity:0}}
.book-art-symbol{color:#f4c96d;font-size:53px;text-shadow:0 2px 18px rgba(0,0,0,.14)}
.book-art.has-image .book-art-symbol{display:none}
.book-label{margin:0 0 7px;color:#ad7c3d;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}
.book-info h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,2.5vw,34px);font-weight:500;line-height:1.13;letter-spacing:-.035em;margin:0}
.book-info>p:last-child{margin:10px 0 0;color:#77717c;font-size:14px;line-height:1.4}
.planet-line{border-top:1px solid #eee7e0;margin:0;padding-top:18px;color:#6c6083;font-size:13px;font-weight:700}
.prediction-text{font-size:16px;line-height:1.7;margin:14px 0 25px;color:#393540}
.reading-actions{display:flex;flex-wrap:wrap;gap:10px}
.primary-button,.quiet-button{min-height:45px;border-radius:12px;padding:10px 17px;font-size:13px;font-weight:750}
.primary-button{background:#49416e;color:#fff;border:1px solid #49416e}
.primary-button:hover{background:#383153}
.quiet-button{background:transparent;border:1px solid #d7cfdb;color:#49416e}
.quiet-button:hover{background:#f3eff5}
.date-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 3px;color:#827989;font-size:12px}
.date-navigation button{min-height:38px;border:0;background:transparent;color:#49416e;font-size:13px;font-weight:700;padding:7px}
.date-navigation button:disabled{opacity:.35;cursor:default}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e4dfe0;margin-top:54px;padding-top:22px;color:#77717c;font-size:13px}
.site-footer p{margin:0}
.site-footer div{display:flex;gap:18px;align-items:center}
.site-footer button{border:0;background:transparent;color:#49416e;font-weight:700;padding:8px 0}
.site-footer a{color:#49416e;text-decoration:none;font-weight:700}
dialog{width:min(560px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 30px));border:1px solid #e5dde8;border-radius:24px;background:#fffaf5;color:#29263a;padding:24px;box-shadow:0 24px 80px rgba(30,25,43,.28)}
dialog::backdrop{background:rgba(27,23,37,.62)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px}
.dialog-header h2{font-size:27px}
.dialog-header button{border:0;background:#eeeaf4;color:#49416e;border-radius:50%;width:38px;height:38px;font-size:26px;line-height:1}
dialog>p{font-size:14px;color:#766e7b;margin:10px 0 22px}
.apps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.app-link{display:flex;align-items:center;gap:11px;min-width:0;min-height:74px;padding:10px;background:#fff;border:1px solid #eee8ec;border-radius:14px;text-decoration:none}
.app-link:hover{border-color:#b9a9c7}
.app-link img{width:48px;height:48px;flex:none;border-radius:11px;object-fit:cover}
.app-link span{font-size:13px;font-weight:750;line-height:1.25}
.toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(420px,calc(100vw - 32px));z-index:10;background:#29263a;color:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 10px 30px rgba(0,0,0,.2);text-align:center;font-size:13px}
@media(max-width:820px){.hero{grid-template-columns:1fr 160px;min-height:275px;padding:36px}.hero-illustration{width:160px;height:170px}.hero-book{width:110px;height:130px;font-size:46px}.content-layout{grid-template-columns:1fr;gap:18px}.sign-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reading-empty{min-height:240px}}
@media(max-width:560px){.app-shell{padding:0 max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.site-header{min-height:64px}.brand{font-size:15px}.brand-mark{width:30px;height:30px}.header-action{font-size:12px}.hero{display:block;min-height:0;border-radius:23px;padding:27px 24px 29px}.hero-illustration{position:absolute;width:126px;height:138px;right:-34px;top:-33px;opacity:.33;transform:rotate(15deg)}.hero-book{width:90px;height:108px}.hero h1{font-size:34px;max-width:400px;padding-right:16px}.hero-description{font-size:13px;line-height:1.55;margin:14px 0 19px;max-width:300px}.content-layout{margin-top:24px}.section-heading{min-height:50px;margin-bottom:12px}h2{font-size:25px}.sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sign-button{min-height:78px;border-radius:13px;gap:5px}.sign-icon{width:40px;height:40px;border-radius:10px}.sign-name{font-size:12px}.section-hint{margin:11px 2px 0}.reading-card{padding:20px;border-radius:19px}.book-feature{gap:16px;margin:18px 0}.book-art{width:120px;height:160px}.book-info h3{font-size:25px}.prediction-text{font-size:15px}.notice{align-items:flex-start;flex-direction:column;gap:4px}.site-footer{margin-top:37px;align-items:flex-start;flex-direction:column;gap:12px}.site-footer div{gap:15px;flex-wrap:wrap}.apps-grid{grid-template-columns:1fr}dialog{padding:20px}}
@media(max-width:360px){.header-action-long{display:none}.header-action-short{display:inline}.hero h1{font-size:30px;line-height:1.1}.reading-topline{gap:6px;font-size:10px;letter-spacing:0}#reading-date{white-space:nowrap;text-align:right}.book-feature{display:grid;gap:16px;margin:20px 0 22px}.book-art{width:126px;height:168px}.book-info h3{font-size:28px;line-height:1.12}.book-info>p:last-child{font-size:14px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sign-button{transition:none}.hero-book,.hero-book-spark,.hero-orbit:before,.reading-card.is-revealing .book-art:before{animation:none}}
:root[data-theme="dark"]{color-scheme:dark;color:#f5f0ee;background:#1f1c29}
:root[data-theme="dark"] body{background:radial-gradient(circle at 88% 0%,#36304a 0,transparent 32rem),#1f1c29}
:root[data-theme="dark"] .brand,:root[data-theme="dark"] .header-action,:root[data-theme="dark"] .section-heading h2,:root[data-theme="dark"] .book-info h3{color:#f8f1ec}
:root[data-theme="dark"] .sign-button,:root[data-theme="dark"] .reading-card,:root[data-theme="dark"] .reading-empty,:root[data-theme="dark"] dialog,:root[data-theme="dark"] .app-link{background:#2b2737;border-color:#51495e;color:#f8f1ec}
:root[data-theme="dark"] .sign-button[aria-pressed="true"]{background:#463d59;border-color:#cfb4e6}
:root[data-theme="dark"] .reading-empty h3,:root[data-theme="dark"] .site-footer button,:root[data-theme="dark"] .site-footer a,:root[data-theme="dark"] .date-navigation button,:root[data-theme="dark"] .quiet-button{color:#eadcf8}
:root[data-theme="dark"] .prediction-text,:root[data-theme="dark"] .planet-line{color:#e2dce6}
:root[data-theme="dark"] .reading-topline,:root[data-theme="dark"] .date-navigation{color:#c9b5df}
:root[data-theme="dark"] .book-info>p:last-child,:root[data-theme="dark"] .section-hint,:root[data-theme="dark"] .site-footer,:root[data-theme="dark"] .reading-empty p,:root[data-theme="dark"] .section-aside{color:#bfb6c8}
:root[data-theme="dark"] .notice{background:#38312f;border-color:#69553e;color:#f5e7d0}
:root[data-theme="dark"] .notice-error{background:#4a2e33;border-color:#8d4a52;color:#ffe2e1}
:root[data-theme="dark"] .notice button{color:#f4c96d}
:root[data-theme="dark"] .book-art{box-shadow:7px 9px 0 #51475b,11px 13px 20px rgba(0,0,0,.24)}
:root[data-theme="dark"] .planet-line,:root[data-theme="dark"] .site-footer{border-color:#51495e}
