:root{--bg:#f8f9fa;--text:#868e96;--text-h:#212529;--text-inv:#fff;--border:#dee2e6;--accent:#4c6ef5;--accent-light:#4c6ef51a;--error:#fa5252}@media (prefers-color-scheme:dark){:root{--bg:#000;--text:#ced4da;--text-h:#fff;--text-inv:#212529;--border:#495057;--accent:#4c6ef5;--accent-light:#4c6ef51a;--error:#fa5252}}:root[data-theme=light]{--bg:#f8f9fa;--text:#868e96;--text-h:#212529;--text-inv:#fff;--border:#dee2e6;--accent:#4c6ef5;--accent-light:#4c6ef51a;--error:#fa5252}:root[data-theme=dark]{--bg:#212529;--text:#ced4da;--text-h:#fff;--text-inv:#212529;--border:#495057;--accent:#4c6ef5;--accent-light:#4c6ef51a;--error:#fa5252}:root[data-theme=amoled]{--bg:#000;--text:#ced4da;--text-h:#fff;--text-inv:#212529;--border:#495057;--accent:#4c6ef5;--accent-light:#4c6ef51a;--error:#fa5252}@font-face{font-family:Nunito;font-style:normal;font-display:fallback;font-weight:200 1000;src:url(/site-assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:fallback;font-weight:200 1000;src:url(/site-assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:italic;font-display:fallback;font-weight:200 1000;src:url(/site-assets/nunito-latin-ext-wght-italic-CmZo11nB.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:italic;font-display:fallback;font-weight:200 1000;src:url(/site-assets/nunito-latin-wght-italic-ZB3Aladm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:fallback;font-weight:400 900;src:url(/site-assets/playfair-display-latin-ext-wght-normal-CT1r92Rl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:fallback;font-weight:400 900;src:url(/site-assets/playfair-display-latin-wght-normal-BOwq7MWX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-display:fallback;font-weight:400 900;src:url(/site-assets/playfair-display-latin-ext-wght-italic-ze_cPdSg.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-display:fallback;font-weight:400 900;src:url(/site-assets/playfair-display-latin-wght-italic-DmbndNpe.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--shadow:#00000014 0 4px 24px;--sp-0:0px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-14:56px;--sp-16:64px;--fs-xs:13px;--fs-sm:14px;--fs-base:16px;--fs-md:17px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:26px;--fs-4xl:40px;--fs-6xl:64px;--brand-font:"Playfair Display", serif;--radius-sm:14px;--radius-md:20px;--radius-full:100px;--app-width:1100px;--logo-size:180px;--proj-logo-size:60px;--screenshot-size:200px;--badge-width:130px;--desc-max-width:520px;font-family:Nunito,sans-serif;font-size:var(--fs-lg);color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--shadow:#0006 0 4px 24px}}:root[data-theme=dark],:root[data-theme=amoled]{--shadow:#0006 0 4px 24px}@media (prefers-color-scheme:dark){.page-nav-brand img,.site-logo{filter:brightness(0)invert()}}:root[data-theme=dark] .page-nav-brand img,:root[data-theme=dark] .site-logo,:root[data-theme=amoled] .page-nav-brand img,:root[data-theme=amoled] .site-logo{filter:brightness(0)invert()}:root[data-theme=light] .page-nav-brand img,:root[data-theme=light] .site-logo{filter:none}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--text-h);margin:0;font-family:Nunito,sans-serif;font-weight:800}h1{font-size:var(--fs-6xl);letter-spacing:-1px}@media (width<=768px){h1{font-size:var(--fs-4xl)}}h2{font-size:var(--fs-2xl)}p{margin:0}#app{width:var(--app-width);flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;display:flex}.header-links{gap:var(--sp-4);margin-top:var(--sp-3);flex-wrap:wrap;justify-content:center;display:flex}.btn-icon{flex-shrink:0;width:18px;height:18px}.header-btn{margin-top:var(--sp-2);padding:10px var(--sp-6);background:var(--accent-light);color:var(--accent);font-weight:700;font-size:var(--fs-base);border-radius:var(--radius-full);text-decoration:none;transition:background .2s,box-shadow .2s;display:inline-block}.header-btn:hover{background:var(--accent);color:var(--text-inv);box-shadow:var(--shadow)}.project-header{align-items:center;gap:var(--sp-4);display:flex}@media (width<=768px){.project-header{justify-content:center}}.project-logo{width:var(--proj-logo-size);height:var(--proj-logo-size);border-radius:var(--radius-sm);box-shadow:var(--shadow);flex-shrink:0}.app-store-badge{text-decoration:none;transition:opacity .2s,transform .2s;display:inline-block}.app-store-badge svg{width:var(--badge-width);height:auto;display:block}.app-store-badge:hover{opacity:.8;transform:translateY(-1px)}.learn-more-link{color:var(--accent);font-weight:700;font-size:var(--fs-base);text-decoration:none;display:inline-block}.learn-more-link:hover{text-decoration:underline}.page-nav{padding:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}@media (width<=768px){.page-nav{padding:var(--sp-3) var(--sp-5)}}.back-link{color:var(--accent);font-weight:700;font-size:var(--fs-md);text-decoration:none}.back-link:hover{text-decoration:underline}.page-nav-brand{justify-content:center;display:flex}.page-nav-brand img{border-radius:var(--radius-sm);width:44px;height:44px;display:block}.detail-hero{text-align:center;padding:var(--sp-12) var(--sp-8) var(--sp-10);align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}@media (width<=768px){.detail-hero{padding:var(--sp-10) var(--sp-5) var(--sp-8)}}.detail-hero .project-logo{width:90px;height:90px}.detail-hero h1{font-size:var(--fs-4xl);margin-top:var(--sp-1)}@media (width<=768px){.detail-hero h1{font-size:var(--fs-2xl)}}.detail-tagline{font-size:var(--fs-lg);color:var(--text);max-width:520px}.product-hero{align-items:center;gap:var(--sp-12);padding:var(--sp-12) var(--sp-8) var(--sp-10);border-top:1px solid var(--border);display:flex}@media (width<=768px){.product-hero{padding:var(--sp-10) var(--sp-5) var(--sp-8);gap:var(--sp-8);flex-direction:column}}.product-hero-text{text-align:center;align-items:center;gap:var(--sp-4);flex-direction:column;flex:1;display:flex}.product-hero-text .project-header{align-items:center}.product-hero-text h1{font-size:var(--fs-4xl)}@media (width<=768px){.product-hero-text h1{font-size:var(--fs-2xl)}}.product-hero-media{flex-shrink:0}.product-hero-media img{border-radius:var(--radius-md);width:280px;box-shadow:var(--shadow);display:block}@media (width<=768px){.product-hero-media img{width:200px}}.intro-section{border-top:1px solid var(--border);padding:var(--sp-8) var(--sp-8);text-align:center}.intro-section p{font-size:var(--fs-md);color:var(--text);max-width:720px;margin:0 auto;line-height:1.7}.intro-section p+p{margin-top:var(--sp-4)}@media (width<=768px){.intro-section{padding:var(--sp-7) var(--sp-5)}}.feature-card{align-items:center;gap:var(--sp-4);flex-direction:column;display:flex}.feature-card img{border-radius:var(--radius-md);width:160px;box-shadow:var(--shadow);display:block}.feature-card h3{font-size:var(--fs-lg)}.feature-card p{font-size:var(--fs-base);color:var(--text);margin:0;line-height:1.7}footer{border-top:1px solid var(--border);padding:var(--sp-7) var(--sp-8);text-align:center;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.footer-contact{color:var(--accent);font-weight:700;text-decoration:none}.footer-contact:hover{text-decoration:underline}.site-nav{padding:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.site-nav{padding:var(--sp-3) var(--sp-5)}}.site-nav-brand{font-family:var(--brand-font);font-weight:700;font-size:var(--fs-xl);color:var(--text-h);text-decoration:none}.site-nav-links{gap:var(--sp-5);flex-wrap:wrap;display:flex}.site-nav-links a{color:var(--accent);font-weight:700;font-size:var(--fs-base);text-decoration:none}.site-nav-links a:hover{text-decoration:underline}.page-body{padding:var(--sp-6) var(--sp-8) var(--sp-10);width:100%;max-width:820px;margin:0 auto}.page-body h2{margin:var(--sp-8) 0 var(--sp-3)}.page-body p,.page-body li{font-size:var(--fs-md);color:var(--text);line-height:1.7}.page-body p{margin-bottom:var(--sp-4)}.page-body ul{padding-left:var(--sp-6)}.page-body .lede{font-size:var(--fs-lg)}@media (width<=768px){.page-body{padding:var(--sp-8) var(--sp-5)}}.page-title{font-size:var(--fs-4xl);text-align:center;padding:var(--sp-10) var(--sp-5) 0}@media (width<=768px){.page-title{font-size:var(--fs-2xl);padding-top:var(--sp-8)}}.compare-wrap{margin:var(--sp-6) 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.compare{border-collapse:collapse;width:100%;min-width:560px}.compare th,.compare td{padding:var(--sp-3) var(--sp-4);text-align:center;border-bottom:1px solid var(--border);font-size:var(--fs-base)}.compare tr:last-child td,.compare tr:last-child th{border-bottom:none}.compare thead th{vertical-align:bottom;color:var(--text-h);font-weight:800;font-size:var(--fs-lg)}.compare thead th small{font-size:var(--fs-sm);color:var(--text);font-weight:600;display:block}.compare th[scope=row]{text-align:left;color:var(--text-h);font-weight:600}.compare th[scope=row] small{color:var(--text);font-weight:400;font-size:var(--fs-sm);display:block}.compare .plus{background:var(--accent-light)}.compare .yes{color:var(--accent);font-weight:800;font-size:var(--fs-xl)}.compare .no{color:var(--border);font-size:var(--fs-xl)}.compare .note{font-size:var(--fs-sm);color:var(--text)}.callout{background:var(--accent-light);border-radius:var(--radius-sm);padding:var(--sp-5);margin:var(--sp-6) 0}.callout p:last-child{margin-bottom:0}.app-grid{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);max-width:480px;margin:0 auto;display:grid}@media (width<=768px){.app-grid{gap:var(--sp-4)}}.app-tile{aspect-ratio:1;justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-h);font-size:var(--fs-xs);text-align:center;flex-direction:column;font-weight:700;line-height:1.2;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex}.app-tile img{aspect-ratio:1;object-fit:contain;border-radius:var(--radius-sm);width:56%}.app-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.app-tile-empty{color:var(--text);font-size:var(--fs-sm);pointer-events:none;border-style:dashed}.feature-row{border-top:1px solid var(--border);padding:var(--sp-8) var(--sp-8) var(--sp-12)}@media (width<=768px){.feature-row{padding:var(--sp-7) var(--sp-5) var(--sp-10)}}.feature-row-inner{align-items:center;gap:var(--sp-10);display:flex}.feature-row-inner img{border-radius:var(--radius-md);width:200px;box-shadow:var(--shadow);flex-shrink:0;display:block}@media (width<=768px){.feature-row-inner img{width:140px}}@media (width<=768px){.feature-row-inner{text-align:center;flex-direction:column;align-items:center}}.feature-row-text h2{font-size:var(--fs-xl);margin-bottom:var(--sp-4)}.feature-row-text p{font-size:var(--fs-base);color:var(--text);max-width:520px;margin:0;line-height:1.7}@media (width>=769px){.feature-row-inner.image-right{flex-direction:row-reverse}}.feature-row-text ul{padding-left:var(--sp-6);margin:var(--sp-3) 0;max-width:520px}.feature-row-text li{font-size:var(--fs-base);color:var(--text);line-height:1.7}.feature-row-text .callout{margin:var(--sp-4) 0 0;max-width:520px}.post-card{padding:var(--sp-5) 0;border-bottom:1px solid var(--border)}.post-card:last-child{border-bottom:none}.post-card h2{margin:0 0 var(--sp-2);font-size:var(--fs-xl)}.post-card h2 a{color:var(--text-h);text-decoration:none}.post-card h2 a:hover{color:var(--accent)}.post-card p{margin-bottom:0}.post-date{font-size:var(--fs-sm);color:var(--text);margin-bottom:var(--sp-1)}.post .post-title{font-size:var(--fs-4xl);margin-bottom:var(--sp-6)}.post img{border-radius:var(--radius-md);max-width:100%}.post blockquote{margin:var(--sp-4) 0;padding-left:var(--sp-4);border-left:3px solid var(--accent)}.not-found{text-align:center}.not-found .header-btn{margin:var(--sp-1)}.img-placeholder{aspect-ratio:9/19;width:200px;padding:var(--sp-4);background:var(--accent-light);border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--fs-sm);text-align:center;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=768px){.img-placeholder{width:140px}}.home-hero{text-align:center;padding:var(--sp-10) var(--sp-5) var(--sp-8);align-items:center;gap:var(--sp-6);flex-direction:column;justify-content:center;min-height:calc(100svh - 120px);display:flex}.hero-row{justify-content:center;align-items:center;gap:var(--sp-12);width:100%;display:flex}@media (width<=768px){.hero-row{gap:var(--sp-8);flex-direction:column}}.hero-img{max-width:100%;max-height:560px;display:block}.hero-img.img-placeholder{width:260px}@media (width<=768px){.hero-img.img-placeholder{width:200px}}.home-actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;width:400px;max-width:100%;display:grid}.home-actions h1{font-family:var(--brand-font);font-size:var(--fs-4xl);white-space:nowrap;letter-spacing:0;margin-bottom:var(--sp-3);grid-column:1/-1}.home-actions .header-btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);white-space:nowrap;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--radius-full);flex-direction:row;margin:0;line-height:1.3;display:flex}.home-actions .header-btn.primary{background:var(--accent);color:var(--text-inv);border-color:var(--accent);grid-column:1/-1}.home-actions .header-btn.wide{grid-column:1/-1}.home-actions .header-btn.primary:hover{box-shadow:var(--shadow)}.home-version{font-size:var(--fs-xs);color:var(--text);margin-top:var(--sp-2);grid-column:1/-1}:root{--brand-font:"Nunito", sans-serif}
