.support-gate[data-astro-cid-n4e2r5u5]{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,var(--color-background-alt-black) 62%,transparent);backdrop-filter:blur(6px)}.support-gate[data-astro-cid-n4e2r5u5][hidden]{display:none}.support-gate-card[data-astro-cid-n4e2r5u5]{width:min(100%,31rem);padding:2rem;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-background);box-shadow:var(--shadow-lg);text-align:center}.support-gate-card[data-astro-cid-n4e2r5u5]>img[data-astro-cid-n4e2r5u5]{border-radius:.8rem;box-shadow:var(--shadow)}.support-gate-card[data-astro-cid-n4e2r5u5] h2[data-astro-cid-n4e2r5u5]{margin:.75rem 0 .4rem}.support-gate-card[data-astro-cid-n4e2r5u5]>p[data-astro-cid-n4e2r5u5]{color:var(--color-text-light)}.support-share-actions[data-astro-cid-n4e2r5u5]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1.25rem}.support-status[data-astro-cid-n4e2r5u5]{min-height:1.4rem;margin:.75rem 0 0}.support-gate-card[data-astro-cid-n4e2r5u5] .support-privacy[data-astro-cid-n4e2r5u5]{margin:.65rem 0 0;font-size:.7rem;color:var(--color-text-light)}.support-skip[data-astro-cid-n4e2r5u5]{margin-top:.25rem;padding:.25rem;border:0;color:var(--color-text-light);background:transparent;font-size:.8rem;text-decoration:underline;text-underline-offset:3px}.support-skip[data-astro-cid-n4e2r5u5]:hover{color:var(--color-primary);background:transparent}@media(max-width:420px){.support-share-actions[data-astro-cid-n4e2r5u5]{grid-template-columns:1fr}}:root{--color-primary: #1c62ed;--color-primary-dark: #1557d6;--color-accent: #3b7eff;--color-background: #ffffff;--color-background-alt: #f9fafb;--color-background-alt-black: #1f2937;--color-text: #1f2937;--color-text-light: #6b7280;--color-text-white: #ffffff;--color-neutral: #6b7280;--color-border: #e5e7eb;--font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--container-max-width: 1200px;--border-radius: .5rem;--border-radius-lg: 1rem;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}@media(prefers-color-scheme:dark){:root{--color-background: #0f172a;--color-background-alt: #1e293b;--color-text: #f1f5f9;--color-text-light: #94a3b8;--color-border: #334155;--color-primary: #3b7eff;--color-primary-dark: #1c62ed}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}body{display:flex;flex-direction:column}main{flex:1 0 auto;width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-2xl)}.site-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border);color:var(--color-text-light);font-size:.8rem}.footer-main,.footer-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.footer-links a{text-decoration:underline;text-underline-offset:2px}.footer-links a:hover{color:var(--color-primary)}.footer-install{padding:0;border:0;border-radius:0;color:var(--color-primary);background:transparent;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.footer-install:hover:not(:disabled){background:transparent;color:var(--color-primary-dark)}.footer-credit{opacity:.85}.footer-stat{opacity:.7;font-variant-numeric:tabular-nums}.footer-stat[hidden]{display:none}.footer-stat:before{content:"·";margin-right:.75rem;opacity:.6}.footer-lang{color:var(--color-text-light);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.footer-lang:hover{color:var(--color-primary)}.site-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-background) 88%,transparent);backdrop-filter:blur(8px)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:var(--font-weight-bold);font-size:1.15rem}.brand-icon{width:28px;height:28px;border-radius:.4rem}.brand-accent{color:var(--color-primary)}.site-header nav{display:flex;align-items:center;gap:.35rem}.site-header nav a{padding:.4rem .85rem;border-radius:999px;color:var(--color-text-light);font-weight:var(--font-weight-semibold);transition:background-color .2s ease,color .2s ease}.site-header nav a:hover{color:var(--color-text)}.site-header nav a.active{background:var(--color-primary);color:var(--color-text-white)}.by-techtown{display:inline-flex;align-items:center;gap:.4rem;margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--color-border);color:var(--color-text-light);font-size:.8rem;font-weight:var(--font-weight-medium)}.by-techtown .by-label{line-height:1}.tt-logo{height:16px;width:auto;display:block}.tt-logo .tt-word{fill:var(--color-text)}.tt-logo .tt-dot,.by-techtown:hover .tt-word{fill:var(--color-primary)}body[data-gate] .gated-content[data-gated]{display:none}html[data-authed=true] body[data-gate] .gated-content[data-gated]{display:block}html[data-authed=true] #authGate{display:none}html:not([data-authed]) #authGate{visibility:hidden}.auth-gate{text-align:center}.auth-gate .lead{margin-left:auto;margin-right:auto;max-width:32rem}h1{font-size:2.25rem;font-weight:var(--font-weight-bold);margin:.2rem 0 .4rem;letter-spacing:-.01em}h2{font-weight:var(--font-weight-semibold)}.lead{color:var(--color-text-light);margin-top:0;font-size:var(--font-size-lg, 1.125rem)}.panel{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin:var(--spacing-md) 0;box-shadow:var(--shadow)}button{font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;border:2px solid transparent;background:var(--color-background);color:var(--color-text);padding:.55rem 1rem;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease}button:hover:not(:disabled){background:var(--color-background-alt)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--color-primary);color:var(--color-text-white);border-color:var(--color-primary)}button.primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}button.ghost{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}button.ghost:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-white)}label{font-weight:var(--font-weight-medium);font-size:.9rem;color:var(--color-text-light)}input[type=text],textarea,select{width:100%;font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:.55rem .7rem}input[type=text]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}textarea{min-height:120px;resize:vertical;line-height:1.4}video,.preview-img{border-radius:var(--border-radius);border:1px solid var(--color-border);object-fit:cover}.cam-toggle,.cam-view{display:inline-grid}.cam-toggle>*,.cam-view>*{grid-area:1 / 1}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.grid-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.hint{color:var(--color-text-light);font-size:.85rem}.spinner{width:18px;height:18px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-primary);display:inline-block;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media print{.no-print{display:none!important}}
