@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";:root{--tg-bg-color: #0b0c10;--tg-text-color: #f6f1e8;--tg-hint-color: rgba(246, 241, 232, .7);--tg-link-color: #7ab7ff;--tg-button-color: #d6b24d;--tg-button-text-color: #0b0c10;--tg-secondary-bg-color: rgba(255, 255, 255, .06);--color-bg: var(--tg-bg-color);--color-surface: rgba(255, 255, 255, .06);--color-surface-2: rgba(255, 255, 255, .12);--color-border: rgba(255, 255, 255, .12);--color-border-strong: rgba(255, 255, 255, .2);--color-text: var(--tg-text-color);--color-muted: var(--tg-hint-color);--color-accent: var(--tg-button-color);--color-link: var(--tg-link-color);--color-paper: rgba(19, 22, 28, .96);--color-paper-2: rgba(24, 27, 34, .96);--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--shadow: 0 18px 40px rgba(0, 0, 0, .38);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .28);--bottom-nav-height: 76px;--reading-width: 680px;--font-body: "Manrope", "Helvetica Neue", Arial, sans-serif;--font-display: "Fraunces", "Times New Roman", serif;--font-book: "Cormorant Garamond", "Times New Roman", serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(900px 600px at 10% -10%,rgba(214,178,77,.14),transparent 60%),radial-gradient(800px 520px at 92% 4%,rgba(122,183,255,.1),transparent 60%),linear-gradient(180deg,#ffffff05,#0000000f),var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}#root{min-height:100%}.container{max-width:880px;margin:0 auto;padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.container.with-bottom-nav{padding-bottom:calc(20px + var(--bottom-nav-height) + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--color-bg) 76%,transparent);border-bottom:1px solid var(--color-border)}.topbar-inner{max-width:880px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;flex-direction:column;line-height:1.1}.brand-title{font-family:var(--font-display);letter-spacing:.4px;font-size:21px}.brand-subtitle{font-size:12px;color:var(--color-muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.icon-btn:active{transform:translateY(1px)}.cards{display:grid;grid-template-columns:1fr;gap:16px}.feed-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card{border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-paper),var(--color-paper-2));border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.card:active{transform:translateY(1px)}.card-hero{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:linear-gradient(135deg,#d6b24d33,#ffffff0f)}.card-hero img{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:16px 16px 14px}.card-title{font-family:var(--font-display);font-size:20px;line-height:1.25;margin:0 0 8px;letter-spacing:.2px}.card-dek{margin:0 0 12px;color:var(--color-muted);font-size:14px;line-height:1.45}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-muted);font-size:12px;letter-spacing:.02em}.meta-badges{display:inline-flex;gap:8px}.badge{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 65%,transparent);padding:4px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}.article{border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-paper),var(--color-paper-2));border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);position:relative}.article-hero{width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#d6b24d33,#ffffff0f)}.article-hero img{width:100%;height:100%;object-fit:cover;display:block}.article-body{padding:26px 22px 12px}.article-header{max-width:var(--reading-width);margin:0 auto 12px}.article-title{font-family:var(--font-display);font-size:clamp(28px,4vw,38px);line-height:1.1;margin:0 0 10px;letter-spacing:-.2px}.article-dek{margin:0 0 16px;color:var(--color-muted);line-height:1.5;font-size:16px}.article-meta{display:flex;align-items:center;gap:10px;color:var(--color-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.meta-sep{width:4px;height:4px;border-radius:999px;background:var(--color-muted);display:inline-block}.article-content{max-width:var(--reading-width);margin:0 auto;line-height:1.8;font-size:clamp(16px,1.7vw,18px);font-family:var(--font-body);letter-spacing:.1px;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}.article-content>h1:first-of-type{display:none}.article-content h1,.article-content h2,.article-content h3{font-family:var(--font-display);line-height:1.2}.article-content h2{margin-top:26px;margin-bottom:12px;font-size:22px}.article-content h3{margin-top:20px;margin-bottom:10px;font-size:18px}.article-content p{margin:0 0 16px}.article-content p:first-of-type:first-letter{float:left;font-family:var(--font-display);font-size:3.2em;line-height:.85;margin-right:8px;margin-top:4px;color:var(--color-accent)}.article-content img{width:100%;border-radius:var(--radius-md);margin:18px 0;box-shadow:var(--shadow-soft);display:block}.article-content ul,.article-content ol{padding-left:20px;margin:0 0 18px}.article-content li{margin:6px 0}.article-content blockquote{margin:18px 0;padding:12px 16px;border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-paper) 80%,transparent);border-radius:var(--radius-sm)}.article-content hr{border:none;border-top:1px solid var(--color-border);margin:20px 0}.article-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.book-article{border:none;background:transparent;box-shadow:none;overflow:visible}.book-article .actions{margin-top:16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-paper) 70%,transparent)}.book-reader{--reader-scale: 1;--page-bg: #f8f2e7;--page-text: #2b2418;--page-border: rgba(44, 34, 20, .12);--page-shadow: 0 16px 40px rgba(20, 14, 8, .24);--page-highlight: rgba(255, 255, 255, .65);--page-rule: rgba(86, 70, 50, .08);--book-accent: #d6b24d;--book-frame: rgba(14, 15, 20, .86);--book-frame-glow: rgba(214, 178, 77, .22);--book-gutter: 18px;color:var(--page-text)}.book-reader[data-mode=standard] .book-frame:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 25% 20%,rgba(255,244,214,.45),transparent 45%),radial-gradient(circle at 80% 25%,rgba(255,255,255,.35),transparent 50%),radial-gradient(circle at 70% 85%,rgba(0,0,0,.25),transparent 55%);opacity:.5;mix-blend-mode:screen;animation:frameDrift 18s ease-in-out infinite;pointer-events:none}.book-reader[data-mode=standard] .book-page{animation:pageBreath 16s ease-in-out infinite;will-change:transform,box-shadow}.book-reader[data-mode=standard] .book-page:before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.35),transparent 45%),radial-gradient(circle at 75% 35%,rgba(0,0,0,.08),transparent 55%),radial-gradient(circle at 40% 80%,rgba(0,0,0,.06),transparent 50%),repeating-linear-gradient(0deg,rgba(0,0,0,.025) 0 1px,transparent 1px 4px);opacity:.55;background-size:160% 160%;background-position:0% 0%;mix-blend-mode:multiply;animation:paperFlow 22s ease-in-out infinite;pointer-events:none;z-index:0}.book-reader[data-mode=standard] .book-page-left:after,.book-reader[data-mode=standard] .book-page-right:after{animation:paperSheen 14s ease-in-out infinite}.book-reader[data-mode=sepia]{--page-bg: #f3e5cf;--page-text: #3a2b1c;--page-border: rgba(67, 47, 30, .18);--page-shadow: 0 18px 45px rgba(33, 24, 14, .24);--page-highlight: rgba(255, 248, 235, .7);--page-rule: rgba(113, 82, 50, .12);--book-accent: #c6893a;--book-frame-glow: rgba(198, 137, 58, .22)}.book-reader[data-mode=night]{--page-bg: #1a1c21;--page-text: #e5ddd1;--page-border: rgba(229, 221, 209, .12);--page-shadow: 0 18px 40px rgba(2, 2, 4, .6);--page-highlight: rgba(255, 255, 255, .08);--page-rule: rgba(255, 255, 255, .08);--book-accent: #7ab7ff;--book-frame: rgba(6, 7, 11, .92);--book-frame-glow: rgba(122, 183, 255, .18)}.book-reader[data-mode=studio]{--page-bg: #fdf9f1;--page-text: #1e1a14;--page-border: rgba(23, 18, 12, .14);--page-shadow: 0 16px 36px rgba(20, 14, 8, .18);--page-highlight: rgba(255, 255, 255, .8);--page-rule: rgba(60, 46, 30, .1);--book-accent: #4b77b4;--book-frame-glow: rgba(75, 119, 180, .18)}.book-controls{display:flex;justify-content:flex-end;margin-bottom:12px}.book-control{position:relative}.book-control-toggle{border-radius:999px;border:1px solid color-mix(in srgb,var(--page-border) 70%,transparent);background:color-mix(in srgb,var(--page-bg) 85%,transparent);color:var(--page-text);padding:6px 12px;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.book-control-toggle:active{transform:translateY(1px)}.book-control-caret{font-size:10px;opacity:.7}.book-control-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(280px,82vw);border-radius:16px;border:1px solid var(--page-border);background:color-mix(in srgb,var(--page-bg) 90%,transparent);box-shadow:0 18px 40px #00000040;padding:12px;display:grid;gap:12px;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.book-control-section{display:grid;gap:8px}.book-control-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:color-mix(in srgb,var(--page-text) 65%,transparent)}.book-control-row{display:flex;flex-wrap:wrap;gap:8px}.book-chip{border-radius:999px;border:1px solid color-mix(in srgb,var(--page-border) 70%,transparent);background:color-mix(in srgb,var(--page-bg) 85%,transparent);color:var(--page-text);padding:6px 12px;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.book-chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--book-accent) 70%,var(--page-border));background:color-mix(in srgb,var(--book-accent) 25%,var(--page-bg))}.book-chip:active{transform:translateY(1px)}.book-stage{display:grid;gap:12px}.book-frame{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:26px;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,var(--book-frame-glow),transparent 55%),radial-gradient(120% 120% at 50% 100%,rgba(0,0,0,.55),transparent 60%),linear-gradient(180deg,#ffffff0a,#00000059),var(--book-frame);box-shadow:0 30px 60px #00000059}.book-rive-wrap{position:absolute;inset:0;z-index:1}.book-rive{width:100%;height:100%}.book-overlay{position:absolute;inset:7% 8% 12%;z-index:2;display:flex}.book-pages{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--book-gutter);font-size:calc(16px * var(--reader-scale, 1))}.book-page{position:relative;border-radius:16px;padding:18px 20px;background:linear-gradient(135deg,var(--page-highlight),transparent 45%),repeating-linear-gradient(0deg,var(--page-rule) 0 1px,transparent 1px 24px),var(--page-bg);border:1px solid var(--page-border);box-shadow:var(--page-shadow);overflow:hidden}.book-page:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:0}.book-page-left:after{background:linear-gradient(90deg,rgba(0,0,0,.15),transparent 45%)}.book-page-right:after{background:linear-gradient(270deg,rgba(0,0,0,.14),transparent 45%)}.book-page-inner{height:100%;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px;scrollbar-width:none;position:relative;z-index:1}.book-page-inner::-webkit-scrollbar{display:none}.book-title-block{display:grid;gap:10px}.book-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:color-mix(in srgb,var(--page-text) 70%,transparent)}.book-cover{width:100%;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;border:1px solid var(--page-border);box-shadow:0 12px 30px #0003}.book-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-end{margin-top:auto;text-align:center;font-size:12px;color:color-mix(in srgb,var(--page-text) 60%,transparent)}.book-reader .article-content{max-width:none;margin:0;color:var(--page-text);font-family:var(--font-book);line-height:1.75;font-size:1em}.book-reader .article-dek{color:color-mix(in srgb,var(--page-text) 70%,transparent)}.book-reader .article-meta{color:color-mix(in srgb,var(--page-text) 65%,transparent)}.book-reader .meta-sep{background:color-mix(in srgb,var(--page-text) 65%,transparent)}.book-reader .article-content p:first-of-type:first-letter{color:var(--book-accent)}.book-reader .article-content h1,.book-reader .article-content h2,.book-reader .article-content h3{font-family:var(--font-display);color:var(--page-text)}.book-reader .article-content img{width:100%;margin:16px 0;border-radius:12px;box-shadow:0 12px 26px #00000038}.book-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--page-text)}.book-nav-btn{border-radius:999px;padding:8px 16px;border:1px solid var(--page-border);background:color-mix(in srgb,var(--page-bg) 82%,transparent);color:inherit;font-weight:600;cursor:pointer}.book-nav-btn:disabled{opacity:.5;cursor:not-allowed}.book-progress{font-size:12px;text-transform:uppercase;letter-spacing:.08em}@media(max-width:720px){.book-frame{aspect-ratio:3 / 4}.book-overlay{inset:10% 9% 14%}.book-pages{grid-template-columns:1fr}.book-page-right{display:none}}@media(max-width:520px){.article-body{padding:22px 16px 10px}.article-meta{font-size:11px;letter-spacing:.06em}.article-content p:first-of-type:first-letter{font-size:2.8em}.book-page{padding:16px 14px}.book-controls{margin-bottom:10px}.book-control-toggle{font-size:11px;padding:5px 10px}.book-control-panel{width:min(260px,88vw)}.book-chip{font-size:11px;padding:5px 10px}.book-nav{flex-wrap:wrap;justify-content:center}}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 18px;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-paper) 85%,transparent)}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--color-border-strong);background:color-mix(in srgb,var(--color-paper) 70%,var(--color-surface-2));color:var(--color-text);cursor:pointer;font-weight:600;letter-spacing:.02em}.action-btn[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-accent) 70%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 22%,var(--color-surface-2))}.action-btn:disabled{opacity:.6;cursor:not-allowed}.section{margin-top:18px}.section-title{font-family:var(--font-display);font-size:20px;margin:0 0 10px}.comment{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-paper) 85%,transparent);border-radius:var(--radius-md);padding:12px 14px}.comment+.comment{margin-top:10px}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--color-muted);margin-bottom:6px}.comment-author{color:var(--color-text);font-weight:600}.comment-text{white-space:pre-wrap;line-height:1.6}.comment-form{display:flex;gap:10px}.comment-input{flex:1;border-radius:14px;border:1px solid var(--color-border);background:var(--color-paper);color:var(--color-text);padding:10px 12px;outline:none}.comment-submit{border-radius:14px;border:1px solid color-mix(in srgb,var(--color-accent) 70%,var(--color-border));background:var(--color-accent);color:var(--tg-button-text-color);padding:10px 14px;font-weight:700;cursor:pointer}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0b0b0d33,#0b0b0deb);border-top:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav-inner{max-width:820px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bottom-nav-item{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--color-border);background:#ffffff0f;color:var(--color-muted);font-size:12px;font-weight:600;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.bottom-nav-item.active{color:var(--color-text);background:#ffffff24;border-color:#fff3}.bottom-nav-item.accent{color:#16120a;background:linear-gradient(135deg,#d4af37f2,#ffd26ed9);border-color:transparent}.bottom-nav-item:active{transform:translateY(1px)}.sheet-scrim{position:fixed;inset:0;z-index:30;background:#04050899;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(820px,100%);background:#111318;border-radius:22px 22px 0 0;border:1px solid rgba(255,255,255,.08);padding:18px 18px 24px;box-shadow:0 -20px 50px #0006}.sheet-handle{width:44px;height:4px;border-radius:999px;margin:0 auto 12px;background:#ffffff2e}.sheet-header h3{margin:0 0 6px;font-family:var(--font-display);font-size:20px}.sheet-header p{margin:0 0 16px;color:var(--color-muted);font-size:13px;line-height:1.5}.linklike{background:none;border:none;color:var(--color-link);padding:0;font:inherit;cursor:pointer}.sheet-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--color-muted);margin-bottom:16px}.sheet-input{border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;padding:10px 12px;color:var(--color-text);font-size:14px}.sheet-input::placeholder{color:#fff6}.sheet-steps{display:grid;gap:10px;margin-bottom:18px}.sheet-step{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:#ffffff0a;color:var(--color-text);font-size:13px;line-height:1.4}.step-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#d4af3733;color:var(--color-accent);font-weight:600;font-size:12px}.sheet-actions{display:grid;gap:10px}.sync-status{font-size:12px;text-align:center;color:var(--color-muted)}.sync-status-active{color:#c8e7a6}.sync-status-missing,.sync-status-error{color:#ffb4a2}.btn-primary{border:none;border-radius:999px;padding:12px 16px;background:linear-gradient(135deg,#d4af37f2,#ffd26ed9);color:#14110b;font-weight:700;font-size:14px;cursor:pointer}.btn-ghost{border-radius:999px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--color-text);font-weight:600;font-size:13px;cursor:pointer}.btn-small{padding:8px 12px;font-size:12px}.muted{color:var(--color-muted)}.error{color:#ff7b7b}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes frameDrift{0%,to{transform:translateZ(0)}50%{transform:translate3d(-12px,10px,0)}}@keyframes paperFlow{0%,to{transform:translateZ(0) rotate(0);background-position:0% 0%}50%{transform:translate3d(12px,-8px,0) rotate(1deg);background-position:100% 100%}}@keyframes paperSheen{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(8px);opacity:.75}}@keyframes pageBreath{0%,to{box-shadow:var(--page-shadow)}50%{box-shadow:0 22px 48px #140e0847}}.cards>.card:not(.skeleton){animation:rise-in .55s ease both}.cards>.card:nth-child(2){animation-delay:.06s}.cards>.card:nth-child(3){animation-delay:.12s}.cards>.card:nth-child(4){animation-delay:.18s}.article{animation:rise-in .6s ease both}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.skeleton{border-radius:var(--radius-lg);background:linear-gradient(90deg,#ffffff0f,#ffffff1f,#ffffff0f);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
