.card-wrapper{perspective:1200px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;display:flex}.card-wrapper:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:var(--radius-sm)}.card-wrapper:not(.is-empty):hover .card-inner:not(.is-flipped),.card-wrapper:not(.is-empty):focus-visible .card-inner:not(.is-flipped){transform:translateY(-4px)}.card-inner{aspect-ratio:9/16;width:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.card-inner.is-flipped{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border-radius:var(--radius-sm);border:1px solid var(--hairline);position:absolute;inset:0;overflow:hidden}.card-back{background:var(--canvas-card);z-index:1}.card-back.back-hidden{visibility:hidden}.card-front{background:var(--canvas-card);z-index:2;transform:rotateY(180deg)}.card-img{object-fit:cover;width:100%;height:100%;display:block}.card-placeholder{font-family:var(--font-display);letter-spacing:-.6px;color:var(--hairline);pointer-events:none;background:var(--canvas-card);z-index:0;justify-content:center;align-items:center;font-size:32px;font-weight:400;display:flex;position:absolute;inset:0}.card-img,.card-img[style*="display: none"]{z-index:1;position:relative}.card-img[style*="display: none"]+.card-placeholder,.card-img[style*=display\:none]+.card-placeholder{z-index:1}.back-placeholder{background:var(--canvas-card);color:var(--mute);font-size:48px}.card-footer{justify-content:center;align-items:center;width:100%;margin-top:10px;display:flex;position:relative}.card-number{border:1px solid var(--hairline);border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.06em;text-align:center;color:var(--mute);background:0 0;padding:3px 12px;font-size:12px;font-weight:400;display:inline-block}.card-wrapper.is-empty{cursor:default}.empty-face{background:var(--canvas-card);border:1px solid var(--hairline);opacity:.6;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .2s;display:flex}.card-wrapper.is-empty:hover .empty-face{opacity:.75}.empty-label{font-family:var(--font-display);color:var(--mute);letter-spacing:.1em;font-size:14px;font-weight:400}.deferred-placeholder{background:var(--canvas-card);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.deferred-placeholder-text{font-family:var(--font-display);letter-spacing:-.6px;color:var(--hairline);font-size:32px;font-weight:400}.deferred-placeholder.is-loading .deferred-placeholder-text{color:var(--mute);animation:1.2s ease-in-out infinite deferred-pulse}@keyframes deferred-pulse{0%,to{opacity:.3}50%{opacity:.7}}.card-back .deferred-placeholder{background:var(--canvas-card)}.card-back .deferred-placeholder-text{color:var(--mute);font-size:48px}@media (width<=480px){.card-number{padding:2px 10px;font-size:11px}.card-download{width:22px;height:22px;font-size:10px}}.card-download{border-radius:var(--radius-pill);border:1px solid var(--hairline);width:26px;height:26px;color:var(--mute);cursor:pointer;opacity:.5;background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;text-decoration:none;transition:opacity .2s,color .2s,border-color .2s;display:inline-flex;position:absolute;right:0}.card-download:hover{opacity:1;color:var(--ink);border-color:var(--mute)}.card-download--hidden{visibility:hidden;pointer-events:none}.card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px;max-width:1300px;margin:0 auto;padding:32px 24px;display:grid}@media (width<=768px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;padding:24px 16px}}@media (width<=480px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;padding:16px 12px}}@media (width>=1400px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.gallery-overlay{z-index:2000;background:#000000f5;flex-direction:column;justify-content:center;align-items:center;animation:.25s galleryFadeIn;display:flex;position:fixed;inset:0}@keyframes galleryFadeIn{0%{opacity:0}to{opacity:1}}.gallery-empty{color:var(--text-dim);font-size:1.1rem}.gallery-close{z-index:10;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;line-height:1;transition:background .2s,border-color .2s;display:flex;position:absolute;top:1rem;right:1rem}.gallery-close:hover{background:#ffffff1f;border-color:#ffffff4d}.gallery-body{align-items:center;gap:clamp(.5rem,2vw,2rem);max-width:95vw;display:flex}.gallery-arrow{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;line-height:1;transition:background .2s;display:flex}.gallery-arrow:hover{background:#ffffff29}.gallery-arrow:active{background:#ffffff38}.gallery-card{perspective:1200px;aspect-ratio:9/16;cursor:pointer;height:max(300px,65vh);animation:.3s ease-out cardEnter}@keyframes cardEnter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gallery-card-inner{width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.gallery-card-inner.is-flipped{transform:rotateY(180deg)}.gallery-face{backface-visibility:hidden;border-radius:12px;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 40px #00000080}.gallery-img{object-fit:contain;background:#111;width:100%;height:100%;display:block}.gallery-face .deferred-placeholder{z-index:1;background:#111;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gallery-face .deferred-placeholder-text{letter-spacing:-.6px;color:#ffffff1f;font-family:Geist,Inter,system-ui,sans-serif;font-size:32px;font-weight:400}.gallery-face .deferred-placeholder.is-loading .deferred-placeholder-text{color:#ffffff4d;animation:1.2s ease-in-out infinite deferred-pulse}.gallery-face--back .deferred-placeholder-text{color:#fff3;font-size:48px}.gallery-face--back .deferred-placeholder.is-loading .deferred-placeholder-text{color:#ffffff59}.gallery-face--back{transform:rotateY(180deg)}.gallery-bar{color:#fff;background:linear-gradient(#0000,#000000b3);justify-content:center;align-items:center;gap:1.2rem;padding:1rem 1.5rem;font-size:.95rem;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-number{color:#fff9;font-family:Geist Mono,SF Mono,Cascadia Code,monospace;font-size:.85rem}.gallery-counter{font-weight:600}.gallery-download{color:#fff;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;line-height:1;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.gallery-download:hover{background:#ffffff1f;border-color:#fff6}.gallery-flip-hint{color:#ffffff8c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #fff3;border-radius:999px;padding:.35rem .9rem;font-size:.8rem;line-height:1;transition:all .2s}.gallery-flip-hint:hover{color:#fff;border-color:#ffffff59}@media (width<=640px){.gallery-arrow{width:36px;height:36px;font-size:1.5rem}.gallery-body{gap:.3rem}.gallery-card{height:max(260px,55vh)}.gallery-bar{gap:.8rem;padding:.8rem 1rem;font-size:.85rem}}.guide-page{min-height:100vh;padding-bottom:64px}.guide-content{max-width:720px;margin:0 auto;padding:48px 24px}.guide-section{margin-bottom:0}.section-heading{font-family:var(--font-display);color:var(--ink);align-items:baseline;gap:12px;margin:0 0 16px;font-size:20px;font-weight:400;line-height:28px;display:flex}.section-step{font-family:var(--font-mono);letter-spacing:.08em;color:var(--mute);font-size:14px;font-weight:400}.section-divider{background:var(--hairline);height:1px;margin:36px 0}.guide-desc{font-family:var(--font-display);color:var(--body);margin:0 0 20px;font-size:16px;font-weight:400;line-height:1.8}.guide-desc strong{color:var(--ink);font-weight:400}.guide-desc code{font-family:var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mute);background:var(--canvas-soft);border-radius:var(--radius-sm);padding:2px 8px;font-size:14px}.spec-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.spec-item{background:var(--canvas-card);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:16px;display:flex}.spec-label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--mute);font-size:12px;font-weight:400}.spec-value{font-family:var(--font-mono);color:var(--ink);font-size:16px;font-weight:400}.prompt-card{background:var(--canvas-card);border:1px solid var(--hairline);border-radius:var(--radius-sm);margin-bottom:0;overflow:hidden}.prompt-summary{cursor:pointer;font-family:var(--font-display);color:var(--body);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:16px;font-weight:400;line-height:1.6;list-style:none;display:flex}.prompt-summary::-webkit-details-marker{display:none}.prompt-summary:before{content:"+ ";font-family:var(--font-mono);color:var(--mute);margin-right:8px;font-size:14px}details[open]>.prompt-summary:before{content:"− "}.prompt-code{font-family:var(--font-mono);color:var(--mute);white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--hairline);margin:0;padding:16px;font-size:12px;font-weight:400;line-height:1.7;overflow-x:auto}.step-list{color:var(--body);line-height:2;font-family:var(--font-display);letter-spacing:.02em;margin:0;padding-left:24px;font-size:16px;font-weight:400}.step-list li{padding-left:4px}.step-list li::marker{font-family:var(--font-mono);color:var(--mute)}.step-list code{font-family:var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mute);background:var(--canvas-soft);border-radius:var(--radius-sm);padding:2px 8px;font-size:14px}.template-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.template-card{background:var(--canvas-card);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex-direction:column;transition:border-color .2s;display:flex;overflow:hidden}.template-card:hover{border-color:var(--canvas-mid)}.template-preview{aspect-ratio:9/16;background:var(--canvas);position:relative;overflow:hidden}.template-preview img{object-fit:cover;width:100%;height:100%;display:block}.download-btn{font-family:var(--font-display);color:var(--ink);-webkit-backdrop-filter:blur(6px);letter-spacing:.04em;z-index:2;background:#e5e5e5eb;border:none;border-top:1px solid #00000014;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.download-btn:before{content:"";background:currentColor;width:14px;height:14px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.download-btn:hover{background:#c8c8c8f2}.template-info{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.template-info h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:16px;font-weight:400}.template-info p{font-family:var(--font-display);color:var(--mute);flex:1;margin:0;font-size:14px;font-weight:400;line-height:1.5}.prompt-gen{background:var(--canvas-card);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:20px}.prompt-fields{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.prompt-field{flex-direction:column;gap:6px;display:flex}.prompt-field span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--mute);text-transform:uppercase;font-size:12px;font-weight:400}.prompt-field input{font-family:var(--font-display);color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-sm);outline:none;padding:8px 12px;font-size:14px;font-weight:400;transition:border-color .2s}.prompt-field input:focus{border-color:var(--canvas-mid)}.prompt-field input::placeholder{color:var(--mute)}.prompt-copy-btn{background:var(--ink);width:100%;color:var(--canvas);border-color:var(--ink);letter-spacing:.04em;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:10px 16px;font-size:15px;font-weight:500;line-height:1;display:flex}.prompt-copy-btn:before{content:"";background:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.prompt-copy-btn:hover{background:var(--body);border-color:var(--body);color:var(--canvas)}.prompt-output{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--body);white-space:pre-wrap;word-break:break-word;max-height:360px;margin:0;padding:16px;font-size:12px;font-weight:400;line-height:1.7;position:relative;overflow:auto}.prompt-output-wrap{position:relative}.prompt-updated{color:var(--mute);text-align:right;font-size:11px;font-family:var(--font-mono);margin:8px 0 0}.prompt-output-copy{border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--canvas-card);color:var(--mute);cursor:pointer;font-size:12px;line-height:18px;font-family:var(--font-display);z-index:1;padding:4px 10px;transition:background .2s,color .2s;position:absolute;top:8px;right:8px}.prompt-output-copy:hover{background:var(--ink);color:var(--canvas);border-color:var(--ink)}@media (width<=768px){.guide-content{padding:32px 16px}.section-divider{margin:28px 0}.section-heading{font-size:18px}.template-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.spec-grid{grid-template-columns:1fr 1fr;gap:8px}.guide-content{padding:24px 12px}.section-heading{font-size:16px}.template-grid{grid-template-columns:1fr}}.upload-page{flex-direction:column;min-height:100vh;display:flex}.upload-hero{text-align:center;max-width:640px;margin:0 auto;padding:80px 24px 48px}.upload-hero h1{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;margin:0 0 8px;font-size:40px;font-weight:300}.upload-hero .hero-sub{font-family:var(--font-display);color:var(--mute);margin:0;font-size:15px;line-height:1.6}.upload-main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:0 24px 80px}.upload-card{background:var(--canvas-card);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex-direction:column;gap:24px;padding:32px;display:flex}.upload-field{flex-direction:column;gap:8px;display:flex}.upload-label{font-family:var(--font-display);color:var(--ink);letter-spacing:.03em;text-transform:uppercase;font-size:13px;font-weight:500}.upload-label .required{color:var(--accent,#e44);font-style:normal}.upload-input{font-family:var(--font-mono);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.upload-input:focus{border-color:var(--canvas-mid)}.upload-input:disabled{opacity:.75;cursor:not-allowed}.upload-input--ok{background:#22c55e0a;border-color:#16a34a}.upload-input--occupied{background:#ef44440a;border-color:#dc2626}.upload-input--occupied:focus{border-color:#dc2626}.upload-hint{font-family:var(--font-display);color:var(--mute);font-size:12px}.upload-hint--warn{color:#dc2626}.upload-password-row{gap:10px;display:flex}.upload-password-row .upload-input{flex:1}.upload-verify-btn{font-family:var(--font-display);letter-spacing:.04em;background:var(--ink);color:var(--canvas);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:10px 24px;font-size:14px;font-weight:500;transition:background .2s,opacity .2s}.upload-verify-btn:hover{background:var(--body)}.upload-verify-btn:disabled{opacity:.5;cursor:not-allowed}.upload-verified-badge{font-family:var(--font-display);letter-spacing:.04em;color:#16a34a;border-radius:var(--radius-sm);white-space:nowrap;background:#22c55e14;border:1px solid #22c55e33;flex-shrink:0;align-items:center;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.divider--thin{opacity:.5;margin:0}.upload-dropzone{border:2px dashed var(--hairline);border-radius:var(--radius-sm);background:var(--canvas);cursor:pointer;justify-content:center;align-items:center;min-height:200px;transition:border-color .2s,background .2s;display:flex;position:relative}.upload-dropzone:hover{border-color:var(--canvas-mid);background:var(--canvas-card)}.upload-dropzone.has-file{border-style:solid;border-color:var(--hairline);padding:0}.upload-file-input{display:none}.upload-placeholder{text-align:center;color:var(--mute);padding:40px 20px}.upload-placeholder-icon{color:var(--canvas-mid);margin-bottom:12px;font-size:36px;font-weight:200;line-height:1;display:block}.upload-placeholder p{font-family:var(--font-display);margin:0;font-size:14px;line-height:1.6}.upload-preview-wrap{justify-content:center;align-items:center;width:100%;min-height:200px;padding:16px;display:flex;position:relative}.upload-preview{object-fit:contain;border-radius:4px;max-width:100%;max-height:400px}.upload-preview-remove{font-family:var(--font-display);border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--canvas-card);color:var(--mute);cursor:pointer;padding:6px 14px;font-size:12px;transition:background .2s,color .2s;position:absolute;top:8px;right:8px}.upload-preview-remove:hover{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.upload-submit{width:100%;font-family:var(--font-display);letter-spacing:.04em;background:var(--ink);color:var(--canvas);border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;padding:14px 24px;font-size:15px;font-weight:500;transition:background .2s,opacity .2s;display:flex}.upload-submit:hover{background:var(--body)}.upload-submit:disabled{opacity:.5;cursor:not-allowed}.upload-status{border-radius:var(--radius-sm);font-family:var(--font-display);align-items:center;gap:8px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.upload-status--success{color:#16a34a;background:#22c55e14;border:1px solid #22c55e26}.upload-status--error{color:#dc2626;background:#ef444414;border:1px solid #ef444426}.upload-status--uploading{color:#2563eb;background:#3b82f614;border:1px solid #3b82f626}.status-icon{font-size:16px;line-height:1}.spinner-sm{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=500px){.upload-card{gap:18px;padding:20px}.upload-hero{padding:60px 20px 36px}.upload-hero h1{font-size:32px}.upload-main{padding:0 16px 64px}}.auth-screen{background:var(--canvas);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{text-align:center;width:100%;max-width:380px}.auth-eyebrow{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin:0 0 8px;font-size:11px}.auth-title{font-family:var(--font-display);letter-spacing:-.3px;color:var(--ink);margin:0 0 6px;font-size:24px;font-weight:400}.auth-sub{color:var(--mute);margin:0 0 28px;font-size:14px}.auth-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.auth-input{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-card);width:100%;color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;box-sizing:border-box;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s}.auth-input:focus{border-color:var(--mute)}.auth-input::placeholder{color:var(--hairline);letter-spacing:normal}.auth-submit{border:1px solid var(--ink);border-radius:var(--radius-pill);background:var(--ink);color:#fff;width:100%;font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;padding:12px 0;font-size:14px;font-weight:400;transition:opacity .2s}.auth-submit:disabled{opacity:.35;cursor:not-allowed}.auth-submit:not(:disabled):hover{opacity:.85}.auth-error{color:#e5484d;margin:0;font-size:13px}:root{--canvas:#0a0a0a;--canvas-soft:#1a1c20;--canvas-card:#191919;--canvas-mid:#363a3f;--hairline:#212327;--ink:#fff;--ink-hover:#fafaf7;--body:#dadbdf;--mute:#7d8187;--on-primary:#0a0a0a;--accent-sunset:#ff7a17;--accent-sunset-soft:#ffc285;--accent-dusk:#7c3aed;--accent-twilight:#c4b5fd;--accent-breeze:#a0c3ec;--accent-midnight:#0d1726;--radius-sm:8px;--radius-pill:9999px;--font-display:"Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", "PingFang SC", "Microsoft YaHei", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--canvas);color:var(--body);font-family:var(--font-display);min-height:100vh;font-size:16px;font-weight:400;line-height:1.75}.loading-screen{min-height:100vh;color:var(--mute);font-family:var(--font-display);flex-direction:column;justify-content:center;align-items:center;gap:24px;font-size:16px;font-weight:400;display:flex}.spinner{border:2px solid var(--hairline);border-top-color:var(--ink);border-radius:var(--radius-pill);width:32px;height:32px;animation:.8s linear infinite spin}.error{color:var(--accent-sunset)}.nav-bar{z-index:10;background:var(--canvas);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.nav-bar .logo{font-family:var(--font-display);color:var(--ink);letter-spacing:-.4px;font-size:16px;font-weight:400;text-decoration:none}.nav-actions{align-items:center;gap:8px;display:flex}.hero{text-align:center;padding:64px 24px 48px}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink);margin-bottom:16px;font-size:14px;font-weight:400}.hero-title{font-family:var(--font-display);letter-spacing:-1.8px;color:var(--ink);margin:0 0 12px;font-size:72px;font-weight:400;line-height:72px}.hero-sub{font-family:var(--font-display);color:var(--body);margin:0 0 32px;font-size:18px;font-weight:400;line-height:1.8}.stats-row{justify-content:center;align-items:center;gap:8px;margin-bottom:0;display:flex}.stats-pill{border:1px solid var(--hairline);border-radius:var(--radius-pill);font-family:var(--font-display);color:var(--body);background:0 0;align-items:center;gap:8px;padding:4px 16px;font-size:14px;font-weight:400;display:inline-flex}.stats-pill strong{color:var(--ink);font-weight:400}.stats-check{color:var(--mute);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.stats-check input{width:15px;height:15px;accent-color:var(--ink);cursor:pointer;margin:0}.btn-pill{border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--ink);font-family:var(--font-display);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.btn-pill:hover{background:var(--canvas-soft);border-color:#ffffff40}.btn-pill-primary{background:var(--ink);color:var(--on-primary);border-color:var(--ink)}.btn-pill-primary:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.btn-pill-sm{padding:4px 12px;font-size:14px}.btn-pill-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-pill-accent:hover{background:var(--accent-hover,#e56a00);border-color:var(--accent-hover,#e56a00)}main{padding-bottom:64px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 24px;display:flex}.empty-state p{color:var(--mute);font-size:18px;font-weight:400}.divider{background:var(--hairline);height:1px;margin:0}.footer{text-align:center;border-top:1px solid var(--hairline);font-family:var(--font-mono);letter-spacing:.06em;color:var(--mute);padding:48px 24px;font-size:13px;font-weight:400}.flip-all-btn{z-index:100;background:var(--accent);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:2rem;align-items:center;gap:.4rem;padding:.7rem 1.2rem;font-size:.95rem;font-weight:600;line-height:1;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #00000040}.flip-all-btn:active{transform:scale(.94);box-shadow:0 2px 8px #0003}@media (hover:hover){.flip-all-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000004d}}@media (width<=768px){.hero{padding:48px 20px 36px}.hero-title{letter-spacing:-1.2px;font-size:48px;line-height:48px}.hero-sub{font-size:16px;line-height:24px}.hero-eyebrow{letter-spacing:1.2px;font-size:12px}.footer{padding:32px 24px}}@media (width<=480px){.hero{padding:36px 16px 28px}.hero-title{letter-spacing:-.8px;font-size:36px;line-height:40px}.hero-sub{font-size:14px;line-height:20px}}
