*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #1a1a1a;--border: #2a2a2a;--text: #f0f0f0;--muted: #888;--accent: #6ee7b7;--radius: 12px}body.light{--bg: #f8f8f8;--surface: #fff;--border: #e0e0e0;--text: #111;--muted: #666;--accent: #059669}body.light .landing{background-image:radial-gradient(circle,#d0d0d0 1px,transparent 1px)}body.light .hero-gradient{background:linear-gradient(120deg,#059669,#2563eb 60%,#7c3aed);-webkit-background-clip:text;background-clip:text}body.light .landing-nav{background:#f8f8f8e6}body.light .code-block{background:#1e1e2e}body.light .tech-card{background:#fff}body.light .collab-banner{background:linear-gradient(135deg,#0596690d,#2563eb0d)}body.light .faq-item{background:#fff}body.light .faq-q:hover{background:#f0f0f0}body.light .madeby-project-card:hover{background:#f0faf5}body.light .nav-logo-mark{box-shadow:0 0 12px #0596694d}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;min-height:100vh}.page{max-width:700px;margin:0 auto;padding:48px 24px 80px;display:flex;flex-direction:column;gap:28px}.header h1{font-size:2rem;font-weight:700;letter-spacing:-.03em}.header p{margin-top:6px;color:var(--muted);font-size:.95rem}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:64px 32px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:#6ee7b70a}.upload-icon{font-size:3rem;margin-bottom:16px}.upload-zone h2{font-size:1.2rem;font-weight:600}.upload-zone p{margin-top:6px;color:var(--muted);font-size:.9rem}.upload-hint{font-size:.8rem;margin-top:8px}.crop-panel{display:flex;flex-direction:column;gap:20px}.crop-canvas{position:relative;width:100%;height:420px;background:#000;border-radius:var(--radius);overflow:hidden}.crop-controls{display:flex;flex-direction:column;gap:16px}.crop-label{display:flex;flex-direction:column;gap:8px;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.crop-label input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.crop-actions{display:flex;gap:10px;flex-wrap:wrap}.progress-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:16px}.progress-label{font-size:1rem;font-weight:500;display:flex;align-items:center;gap:10px}.progress-track{height:6px;background:var(--border);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}.progress-note{font-size:.82rem;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.editor{display:flex;flex-direction:column;gap:16px}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px}.tab-btn{flex:1;padding:8px;border:none;border-radius:7px;background:transparent;color:var(--muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.tab-btn.active{background:var(--accent);color:#0f0f0f}.preview-wrap{border-radius:var(--radius);overflow:hidden;line-height:0}.preview-canvas{display:block;max-width:100%;height:auto}.compare{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:#000;line-height:0}.compare-img{display:block;width:100%;height:auto}.compare-after{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.compare-after-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.compare-divider{position:absolute;top:0;bottom:0;width:2px;background:#fff;transform:translate(-50%);pointer-events:none}.compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 2px 8px #0006}.compare-label{position:absolute;bottom:12px;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:6px;pointer-events:none}.compare-label-before{right:12px}.compare-label-after{left:12px}.checker{background-image:linear-gradient(45deg,#444 25%,transparent 25%),linear-gradient(-45deg,#444 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#444 75%),linear-gradient(-45deg,transparent 75%,#444 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.control-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.control-label{font-size:.82rem;color:var(--muted);white-space:nowrap;min-width:44px}.control-val{font-size:.82rem;color:var(--muted);min-width:36px;text-align:right}.control-row input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer;min-width:80px}.control-row input[type=color]{width:32px;height:32px;border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:2px;background:transparent}.seg-group{display:flex;gap:4px;flex-wrap:wrap}.seg-btn{padding:5px 12px;border-radius:6px;font-size:.82rem;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:background .12s;white-space:nowrap}.seg-btn.active{background:var(--accent);color:#0f0f0f;border-color:var(--accent)}.seg-btn:hover:not(.active){background:var(--surface)}.accordion{border:1px solid var(--border);border-radius:10px;overflow:hidden}.acc-header{width:100%;padding:12px 16px;background:var(--surface);border:none;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.acc-header:hover{background:#222}.acc-arrow{color:var(--muted);font-size:.75rem}.acc-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border)}.text-input{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem}.text-input:focus{outline:none;border-color:var(--accent)}.select{padding:5px 10px;background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:.85rem;cursor:pointer}.check-label{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer;white-space:nowrap}.export-panel{display:flex;flex-direction:column;gap:20px}.export-section{display:flex;flex-direction:column;gap:12px}.export-section h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.export-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.export-btn{padding:14px 8px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color .15s,background .15s}.export-btn:hover:not(:disabled){border-color:var(--accent);background:#1e2e29}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn span{font-size:.9rem;font-weight:600}.export-btn small{font-size:.72rem;color:var(--muted);text-align:center}.anim-btns{display:flex;gap:10px}.muted-text{font-size:.85rem;color:var(--muted)}.muted-text a{color:var(--accent)}.history-panel{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.history-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;background:#111;border:1px solid var(--border)}.history-item img{width:100%;height:100%;object-fit:contain}.history-item:hover .history-delete{opacity:1}.history-delete{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#000000b3;border:none;color:#fff;font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center}.page-header-row{display:flex;align-items:center;gap:12px}.page-title{flex:1;font-size:1.1rem;font-weight:600;text-align:center}.landing{min-height:100vh;background:var(--bg);background-image:radial-gradient(circle,#2a2a2a 1px,transparent 1px);background-size:28px 28px}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10;background:#0f0f0fd9}.landing-nav-brand{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;letter-spacing:-.03em;text-decoration:none;color:var(--text)}.nav-brand-tld{color:var(--accent)}.nav-logo-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#6ee7b7,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:1rem;color:#0f0f0f;flex-shrink:0;box-shadow:0 0 12px #6ee7b759}.ccie-badge{display:inline-flex;align-items:center;gap:12px;padding:8px 14px;border-radius:10px;text-decoration:none;border:1px solid rgba(212,175,55,.35);background:#0a184066;transition:border-color .15s,background .15s,box-shadow .15s;margin-top:10px}.ccie-badge:hover{border-color:#d4af37b3;background:#0a1840b3;box-shadow:0 0 16px #d4af371f}.ccie-badge-img{width:44px;height:44px;flex-shrink:0}.ccie-badge-text{display:flex;flex-direction:column}.ccie-title{font-size:.68rem;font-weight:700;color:#d4af37;letter-spacing:.07em;text-transform:uppercase}.ccie-num{font-size:.83rem;color:var(--text);font-family:ui-monospace,monospace;margin-top:1px}.ccie-badge-footer{margin-top:12px}.hero{max-width:720px;margin:0 auto;padding:80px 32px 60px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.hero-pill{display:inline-block;padding:5px 14px;border-radius:99px;border:1px solid rgba(110,231,183,.35);background:#6ee7b712;color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:.05em}.hero-title{font-size:clamp(2.4rem,7vw,4rem);font-weight:800;letter-spacing:-.04em;line-height:1.1}.hero-gradient{background:linear-gradient(120deg,#6ee7b7,#3b82f6 60%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{color:var(--muted);font-size:1.1rem;max-width:480px;line-height:1.6}.hero-drop{width:100%;max-width:440px;border:2px dashed var(--border);border-radius:16px;padding:40px 32px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s;display:flex;flex-direction:column;align-items:center;gap:8px}.hero-drop:hover,.hero-drop.drag-over{border-color:var(--accent);background:#6ee7b70a}.hero-drop-icon{font-size:2.5rem}.hero-drop-label{font-size:1.05rem;font-weight:600}.hero-drop-sub{font-size:.85rem;color:var(--muted)}.hero-trust{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.hero-trust span{padding:5px 12px;border-radius:99px;background:var(--surface);border:1px solid var(--border);font-size:.8rem;color:var(--muted);white-space:nowrap}.features-section{max-width:960px;margin:0 auto;padding:40px 32px 60px}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;transition:border-color .15s,transform .15s}.feature-card:hover{border-color:#6ee7b766;transform:translateY(-2px)}.feature-icon{font-size:1.8rem;margin-bottom:12px}.feature-card h3{font-size:1rem;font-weight:600;margin-bottom:6px}.feature-card p{font-size:.85rem;color:var(--muted);line-height:1.55}.philosophy{background:linear-gradient(180deg,transparent,rgba(110,231,183,.03) 50%,transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:64px 32px}.philosophy-inner{max-width:640px;margin:0 auto}.philosophy-quote{font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.3;margin-bottom:20px}.philosophy-body{color:var(--muted);font-size:1rem;line-height:1.75;max-width:520px}.section-inner{max-width:800px;margin:0 auto}.section-tag{display:inline-block;padding:4px 12px;border-radius:6px;background:#6ee7b71a;border:1px solid rgba(110,231,183,.25);color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}.section-tag-blue{background:#3b82f61a;border-color:#3b82f640;color:#93c5fd}.section-title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1.15;margin-bottom:14px}.section-sub{color:var(--muted);font-size:1rem;line-height:1.65;max-width:580px;margin-bottom:36px}.tech-section{padding:64px 32px;border-top:1px solid var(--border)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:28px}.tech-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .15s}.tech-card:hover{border-color:#6ee7b74d}.tech-choice{font-size:.9rem;font-weight:700;margin-bottom:8px;font-family:ui-monospace,monospace;color:var(--accent)}.tech-reason{font-size:.85rem;color:var(--muted);line-height:1.6}.tech-stack-row{display:flex;gap:8px;flex-wrap:wrap}.tech-badge{padding:4px 10px;border-radius:6px;background:#1a1a1a;border:1px solid var(--border);font-size:.78rem;color:var(--muted);font-family:ui-monospace,monospace}.import-section{padding:64px 32px;border-top:1px solid var(--border)}.import-steps{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}.import-step{display:flex;gap:20px;align-items:flex-start}.step-num{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#0f0f0f;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.step-body{flex:1;min-width:0}.step-title{font-size:1rem;font-weight:600;margin-bottom:12px}.step-note{font-size:.82rem;color:var(--muted);margin-top:10px;line-height:1.55}.inline-code{font-family:ui-monospace,monospace;font-size:.8rem;background:#1a1a1a;padding:2px 6px;border-radius:4px;border:1px solid var(--border)}.code-block{background:#0a0a0a;border:1px solid #222;border-radius:12px;padding:20px 24px;font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.85rem;line-height:1.85;overflow-x:auto;margin-bottom:4px}.code-line{display:block;white-space:pre}.code-muted{color:#4a5568}.code-keyword{color:#c084fc}.code-fn{color:#6ee7b7}.code-str{color:#fbbf24}.code-punct{color:#94a3b8}.dev-links{display:flex;gap:12px;flex-wrap:wrap}.collab-banner{background:linear-gradient(135deg,#6ee7b70f,#3b82f60f);border-top:1px solid rgba(110,231,183,.2);border-bottom:1px solid rgba(110,231,183,.2);padding:48px 32px}.collab-inner{max-width:720px;margin:0 auto;display:flex;gap:24px;align-items:flex-start}.collab-emoji{font-size:2.2rem;flex-shrink:0;margin-top:4px}.collab-title{font-size:1.2rem;font-weight:700;margin-bottom:10px}.collab-body{font-size:.9rem;color:var(--muted);line-height:1.65;margin-bottom:18px;max-width:540px}.faq-section{padding:64px 32px;border-top:1px solid var(--border)}.faq-list{display:flex;flex-direction:column;gap:2px}.faq-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);transition:border-color .15s}.faq-item+.faq-item{margin-top:6px}.faq-item[open]{border-color:#6ee7b74d}.faq-q{padding:16px 20px;cursor:pointer;font-size:.95rem;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"+";color:var(--muted);font-size:1.1rem;font-weight:300;transition:transform .2s}.faq-item[open] .faq-q:after{content:"−"}.faq-q:hover{background:#1f1f1f}.faq-a{padding:14px 20px 18px;font-size:.88rem;color:var(--muted);line-height:1.7;border-top:1px solid var(--border)}.faq-a a{color:var(--accent);text-decoration:none}.faq-a a:hover{text-decoration:underline}.faq-a strong{color:var(--text)}.landing-nav-right{display:flex;align-items:center;gap:16px}.landing-nav-link{color:var(--muted);text-decoration:none;font-size:.88rem}.landing-nav-link:hover{color:var(--text)}.madeby-section{padding:64px 32px;border-top:1px solid var(--border)}.madeby-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:40px;align-items:start}.madeby-col-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px;font-weight:600}.ccie-cert-link{display:block;text-decoration:none}.ccie-cert-img{width:100%;border-radius:10px;border:1px solid rgba(212,175,55,.3);transition:border-color .15s,box-shadow .15s;display:block}.ccie-cert-link:hover .ccie-cert-img{border-color:#d4af37b3;box-shadow:0 0 20px #d4af3726}.ccie-cert-caption{display:block;font-size:.72rem;color:#d4af37;margin-top:8px;letter-spacing:.04em}.madeby-profile-card{display:flex;gap:14px;align-items:flex-start}.madeby-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0}.madeby-bio{flex:1}.madeby-name{font-size:1rem;font-weight:700;margin-bottom:8px}.madeby-about{font-size:.83rem;color:var(--muted);line-height:1.6;margin-bottom:12px}.madeby-links{display:flex;gap:16px}.madeby-link{font-size:.82rem;color:var(--muted);text-decoration:none}.madeby-link:hover{color:var(--text)}.madeby-project-card{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:border-color .15s,background .15s}.madeby-project-card:hover{border-color:var(--accent);background:#1a2a23}.madeby-project-logo{width:44px;height:44px;border-radius:8px;object-fit:contain;flex-shrink:0}.madeby-project-name{font-size:.95rem;font-weight:600}.madeby-project-desc{font-size:.78rem;color:var(--muted);margin-top:2px}@media (max-width: 760px){.madeby-inner{grid-template-columns:1fr}}.landing-footer{border-top:1px solid var(--border);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.footer-left{display:flex;flex-direction:column;gap:4px}.footer-brand{font-size:.9rem;font-weight:600}.footer-tagline{font-size:.8rem;color:var(--muted)}.footer-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.footer-links a{color:var(--muted);text-decoration:none;font-size:.85rem}.footer-links a:hover{color:var(--text)}.footer-dmca{color:#555!important;font-size:.78rem!important}.footer-dmca:hover{color:var(--muted)!important}@media (max-width: 600px){.hero{padding:48px 20px 40px}.features-section{padding:24px 20px 40px}.tech-section,.import-section,.faq-section,.philosophy,.collab-banner{padding:40px 20px}.landing-nav{padding:14px 20px}.code-block{font-size:.78rem;padding:16px 14px}.collab-inner,.import-step{flex-direction:column;gap:12px}.step-num{width:26px;height:26px}.tech-grid{grid-template-columns:1fr}}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}.shortcut-hint{font-size:.78rem;color:var(--muted)}.status-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--accent);color:#0f0f0f;padding:10px 22px;border-radius:99px;font-size:.9rem;font-weight:600;pointer-events:none;z-index:999;animation:fadeUp .2s ease}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover:not(:disabled){background:#252525;border-color:#444}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0f0f0f;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#5dd4a3;border-color:#5dd4a3}.icon-btn{padding:8px 12px;font-size:1.1rem}.error-panel{background:#2a1515;border:1px solid #5a2020;border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:12px}.error-panel strong{color:#ff8080}.error-panel p{color:var(--muted);font-size:.9rem;word-break:break-all}@media (max-width: 480px){.page{padding:24px 16px 60px}.export-grid{grid-template-columns:repeat(2,1fr)}.crop-canvas{height:300px}}
