:root{color-scheme:light dark}*{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;line-height:1.5}.nav2-container{display:inline-flex;border:1px solid #ccc;background-color:#f5f5f5;height:36px;line-height:36px;font-family:Arial,sans-serif}.nav2-item{padding:0 18px;border-right:1px solid #ccc;text-decoration:none;color:#111;display:flex;align-items:center}.nav2-item:last-child{border-right:none}.nav2-item:hover{background-color:#ddd}.nav2-item.active,.nav2-link.active{background-color:#2563eb;color:#fff}.nav2-mobile{display:none;align-items:center;gap:12px;background:#f5f5f5;color:#111;height:56px;padding:0 16px;border-bottom:1px solid #ccc}.nav2-burger{background:transparent;border:none;font-size:26px;color:#111;cursor:pointer}.nav2-title{font-size:20px;font-weight:600;color:#111}.nav2-toast{position:fixed;top:60px;left:0;width:180px;background:#f5f5f5;border:1px solid #ccc;box-shadow:0 4px 8px #00000026;z-index:999;padding-top:40px}.nav2-close{position:absolute;top:10px;right:10px;background:transparent;border:none;font-size:18px;cursor:pointer;color:#111}.nav2-close:hover{color:#000}.nav2-toast a{display:block;height:36px;line-height:36px;padding:0 18px;text-decoration:none;color:#111;border-bottom:1px solid #ccc}.nav2-toast a:last-child{border-bottom:none}.nav2-toast a:hover{background-color:#ddd}@media(max-width:760px){.nav2-container{display:none}.nav2-mobile{display:flex}}.footer{background-color:#494944;color:#f9f9f9;text-align:center;padding:20px 0;margin-top:40px;width:100%;border-top:3px solid #444;box-shadow:0 -2px 6px #0003}.footer-container{width:min(1280px,92%);margin:0 auto;padding:10px 20px}.footer-title{margin-bottom:15px;font-size:1.2rem;letter-spacing:1px;color:#fffacd}.footer-links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:30px;padding:0;margin:0}.footer-links li{min-width:160px}.footer-link{text-decoration:none;color:#f1f1f1;transition:color .3s ease,transform .3s ease}.footer-link:focus-visible{outline:2px solid #ffd700;outline-offset:4px}.footer-link:hover{color:gold;transform:scale(1.05)}.footer-item{display:flex;align-items:center;gap:8px;justify-content:flex-start}.footer-icon{flex-shrink:0;color:gold;transition:color .3s}.footer-link:hover .footer-icon{color:#fffacd}.footer-text{text-align:left}.footer-text p{margin:0;line-height:1.3;font-size:.9rem}.footer-credits{margin-top:25px;font-size:.85rem;color:#ccc}.footer-credits strong{color:#fffacd}@media(max-width:600px){.footer-links{flex-direction:column;align-items:center;gap:15px}.footer-item{justify-content:center}.footer-text{text-align:center}}@media(max-width:360px){.footer-links li{min-width:140px}}.nav{background:#494944;color:#fff}.nav-inner{width:min(1280px,92%);margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 0}.nav-logo{font-weight:700;color:#fffacd;font-size:1.2rem;letter-spacing:1px}.nav-links{margin-left:auto;display:flex;gap:12px}.nav-link{text-decoration:none;color:#f1f1f1;padding:6px 10px;border-radius:10px}.nav-link:hover{background:#1f2937}.nav-link.active{background:#2563eb;color:#f1f1f1}.layout{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.layout-main{width:min(1000px,92%);margin:24px auto}.home{min-height:100vh;width:100%;background:#fff;color:#111827}.home section{width:100%;padding:48px 0;display:flex;justify-content:center}.home-section-content{width:min(1100px,92%);margin:0 auto;text-align:center}.home-hero{border:1px solid #1f2937;border-radius:10px;background:#fff}.home-hero .home-section-content{color:#e5e7eb}.home-title{margin:0 0 6px;font-size:2rem;color:#111827}.home-subtitle{margin:0 auto 20px;max-width:700px;color:#111827}.home-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-ghost{display:inline-block;padding:10px 16px;border-radius:10px;font-weight:600;border:1px solid transparent;text-decoration:none}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1e40af}.btn-ghost{background:green;color:#fff}.btn-ghost:hover{background:#006400}.home-features .home-section-content ul{padding-left:20px;text-align:left;margin:0 auto;max-width:600px;line-height:1.6}.shots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.shots-grid img{width:100%;aspect-ratio:16 / 9;object-fit:contain;border:1px solid #1f2937;border-radius:10px;background:#fff;cursor:pointer;transition:transform .2s}.shots-grid img:hover{transform:scale(1.02)}@media(max-width:700px){.shots-grid{grid-template-columns:1fr}}.home-callout{background:#fff;border:1px solid #1f2937;border-radius:10px}.home-callout .home-section-content{color:#111827}.modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-image{position:relative;max-width:90%;max-height:90%}.modal-image img{width:100%;border-radius:10px}.modal-close{position:absolute;top:-10px;right:-10px;background:#2563eb;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-weight:700;cursor:pointer}.modal-close:hover{background:#1e40af}.about-page{width:100%;min-height:70vh;display:flex;justify-content:center;padding:48px 0;background:#fff;color:#111827}.about-hero{width:min(1100px,92%);text-align:center;background:radial-gradient(1200px 200px at 50% -10%,#e5edff 0%,transparent 60%) #fff;padding:36px 20px;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px #0000000d}.about-title{font-size:clamp(28px,3vw,38px);margin:0 0 12px}.about-subtitle{font-size:16px;line-height:1.6;color:#374151;max-width:760px;margin:0 auto 18px}.about-divider{width:30%;height:3px;background:#2563eb;border-radius:4px;margin:30px auto}.about-text{max-width:800px;margin:0 auto 14px;font-size:15px;line-height:1.7;color:#374151}.about-actions{margin-top:24px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.about-btn{background:#111827;color:#fff;border:1px solid #1f2937;padding:10px 16px;border-radius:10px;text-decoration:none;font-size:15px;transition:background-color .15s ease,transform .1s ease}.about-btn:hover{background:#1f2937;transform:translateY(-1px)}.about-btn.secondary{background:#2563eb;border-color:#1d4ed8}.about-btn.secondary:hover{background:#1d4ed8}.about-list{margin-bottom:20px;text-align:left;margin-left:10%;line-height:1.4}.notfound{text-align:center}.nf-back{display:inline-block;margin-top:10px;text-decoration:none;border:1px solid #2563eb;padding:6px 10px;border-radius:10px}.nf-back:hover{background:#2563eb;color:#fff}.card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.card-img{background:#f3f4f6}.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.card-img img{width:100%;height:160px;object-fit:contain;display:block}.card-body{padding:16px;text-align:left}.card-title{margin:0 0 8px;font-size:1.1rem;color:#111827}.card-desc{margin:0 0 12px;color:#374151;font-size:.95rem;line-height:1.4}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}.card-tag{font-size:.75rem;padding:4px 8px;border-radius:999px;background:#f3f4f6;color:#111827}.card-btn{width:100%;padding:10px 12px;border:0;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.card-btn:hover{background:#1d4ed8}.apps-page{width:100%;min-height:100vh;background:#fff;color:#111827;display:flex;flex-direction:column;align-items:center}.apps-header{width:min(1100px,92%);margin:32px auto 12px;text-align:center}.apps-subtitle{color:#111827;font-size:18px;margin-top:6px}.apps-grid{width:min(1100px,92%);margin:16px auto 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:980px){.apps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.apps-grid{grid-template-columns:1fr}}.appshtml-page{width:100%;color:#111827}.appshtml-header{padding:24px 0;text-align:center}.appshtml-header h1{margin:0 0 6px;font-size:28px}.appshtml-subtitle{margin:0;font-size:18px;color:#111827}.appshtml-grid{width:min(1100px,92%);margin:0 auto 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:1024px){.appshtml-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.appshtml-grid{grid-template-columns:1fr}}.appshtml-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;display:flex;flex-direction:column;min-height:280px}.appshtml-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #00000014;border-color:#d1d5db}.appshtml-thumb{width:100%;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}.appshtml-thumb img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .22s ease;background-color:#f3f4f6}.appshtml-card:hover .appshtml-thumb img{transform:scale(1.03)}.appshtml-card-body{padding:12px 14px 0;text-align:left}.appshtml-card-title{font-size:18px;margin:0 0 6px}.appshtml-card-desc{font-size:14px;color:#4b5563;margin:0 0 12px}.appshtml-actions{padding:0 14px 14px;margin-top:auto;display:flex;gap:10px}.appshtml-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:8px;border:1px solid #d1d5db;background:#2563eb;color:#fff;text-decoration:none;font-size:14px;transition:background-color .14s ease,border-color .14s ease,transform 80ms ease;cursor:pointer}.appshtml-btn:hover{background:#1d4ed8}.appshtml-btn:active{transform:translateY(1px)}.appythongui-page{width:100%;color:#111827}.appythongui-header{padding:24px 0;text-align:center}.appythongui-header h1{margin:0 0 6px;font-size:28px}.appythongui-subtitle{margin:0;font-size:18px;color:#111827}.appythongui-grid{width:min(1100px,92%);margin:0 auto 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:1024px){.appythongui-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.appythongui-grid{grid-template-columns:1fr}}.appythongui-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;display:flex;flex-direction:column;min-height:280px}.appythongui-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #00000014;border-color:#d1d5db}.appythongui-thumb{width:100%;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}.appythongui-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:transform .22s ease;background-color:#f3f4f6}.appythongui-card:hover .appythongui-thumb img{transform:scale(1.03)}.appythongui-card-body{padding:12px 14px 0;text-align:left}.appythongui-card-title{font-size:18px;margin:0 0 6px}.appythongui-card-desc{font-size:14px;color:#4b5563;margin:0 0 12px}.appythongui-actions{padding:0 14px 14px;margin-top:auto;display:flex;gap:10px}.appythongui-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:8px;border:1px solid #d1d5db;background:#2563eb;color:#fff;text-decoration:none;font-size:14px;transition:background-color .14s ease,border-color .14s ease,transform 80ms ease;cursor:pointer}.appythongui-btn:hover{background:#1d4ed8}.appythongui-btn:active{transform:translateY(1px)}.apps-python-page{width:100%;min-height:100vh;background:#fff;color:#111827;display:flex;flex-direction:column;align-items:center}.apps-python-header{width:min(1100px,92%);margin:32px auto 12px;text-align:center}.apps-python-subtitle{color:#111827;font-size:18px;margin-top:6px}.apps-python-grid{width:min(1100px,92%);margin:16px auto 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:980px){.apps-python-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.apps-python-grid{grid-template-columns:1fr}}.appythongui-detail{width:100%;color:#111827;display:flex;flex-direction:column;align-items:center;padding:24px 0 40px}.appythongui-detail-header{text-align:center;margin-bottom:16px;padding:0 16px}.appythongui-detail-title{margin:0 0 6px;font-size:28px}.appythongui-detail-desc{margin:0;font-size:15px;color:#6b7280}.appythongui-detail-screenshot{width:min(900px,92%);background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin:18px 0 16px}.appythongui-detail-screenshot img{width:100%;height:auto;display:block}.appythongui-detail-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:0 16px}.appythongui-detail-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:10px;border:1px solid #2563eb;background:#3b82f6;color:#fff;text-decoration:none;font-size:15px;transition:transform 80ms ease,filter .14s ease;cursor:pointer}.appythongui-detail-btn:hover{filter:brightness(1.05)}.appythongui-detail-btn:active{transform:translateY(1px)}.appythongui-detail-link{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border-radius:10px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;text-decoration:none;font-size:14px;transition:background-color .14s ease,border-color .14s ease,transform 80ms ease}.appythongui-detail-link:hover{background:#eef2ff;border-color:#c7d2fe}.appythongui-detail-link:active{transform:translateY(1px)}#root{width:100%;margin:0;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
