@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--color-bg:#0a0a0a;--color-bg-elevated:#111;--color-bg-subtle:#1a1a1a;--color-surface:#222;--color-border:#2a2a2a;--color-border-hover:#444;--color-text-primary:#f0f0f0;--color-text-secondary:#999;--color-text-muted:#666;--color-accent:#fff;--color-accent-dim:#ffffff14;--color-accent-glow:#ffffff0a;--color-blue:#3b82f6;--color-blue-glow:#3b82f626;--color-violet:#8b5cf6;--color-violet-glow:#8b5cf626;--color-emerald:#10b981;--color-emerald-glow:#10b98126;--color-amber:#f59e0b;--color-amber-glow:#f59e0b26;--color-rose:#f43f5e;--color-rose-glow:#f43f5e26;--color-cyan:#06b6d4;--color-cyan-glow:#06b6d426;--gradient-primary:linear-gradient(135deg, #fff, #a0a0a0);--gradient-warm:linear-gradient(135deg, var(--color-amber), var(--color-rose));--gradient-cool:linear-gradient(135deg, var(--color-emerald), var(--color-cyan));--gradient-subtle:linear-gradient(135deg, #3b82f614, #8b5cf614);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Playfair Display", Georgia, serif;--font-mono:"SF Mono", "Fira Code", "JetBrains Mono", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--transition-fast:.2s var(--ease-out-expo);--transition-medium:.4s var(--ease-out-expo);--transition-slow:.7s var(--ease-out-expo);--max-width:1100px;--border-radius:12px;--border-radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);font-weight:400;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{color:var(--color-accent);background:#ffffff26}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}@media (width<=768px){.container{padding:0 var(--space-md)}}.hero{min-height:100vh;padding:var(--space-3xl) 0;flex-direction:column;justify-content:center;display:flex;position:relative}.hero__grain{pointer-events:none;z-index:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.hero .container{z-index:1;position:relative}.hero__layout{grid-template-columns:minmax(0,.95fr) minmax(340px,.9fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.hero__content{max-width:620px}.hero__portrait{isolation:isolate;pointer-events:none;justify-content:center;align-items:flex-end;min-height:clamp(480px,66vh,720px);display:flex;position:relative}.hero__portrait:before{content:"";filter:blur(28px);opacity:.7;background:radial-gradient(at 52% 42%,#ffffff13,#0000 48%),radial-gradient(at 56% 58%,#f59e0b14,#0000 54%);position:absolute;inset:16% 0 4%}.hero__portrait:after{content:"";background:linear-gradient(to top, var(--color-bg) 8%, #0a0a0a00);z-index:2;height:32%;position:absolute;inset:auto 6% 0}.hero__portrait img{object-fit:contain;object-position:center bottom;width:min(100%,560px);max-height:clamp(520px,78vh,820px);opacity:var(--hero-avatar-opacity,.58);filter:grayscale()contrast(1.08)brightness(1.14)drop-shadow(0 36px 70px #00000061);mix-blend-mode:screen;z-index:1;position:relative;-webkit-mask-image:radial-gradient(58% 68% at 51% 43%,#000 38%,#000000d1 54%,#0000006b 68%,#0000 84%);mask-image:radial-gradient(58% 68% at 51% 43%,#000 38%,#000000d1 54%,#0000006b 68%,#0000 84%)}.hero__status{align-items:center;gap:var(--space-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-xl);font-size:.8rem;font-weight:500;display:inline-flex}.hero__status-dot{background:var(--color-amber);width:8px;height:8px;box-shadow:0 0 12px var(--color-amber-glow);border-radius:50%;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.hero__name{font-family:var(--font-serif);letter-spacing:-.03em;background:var(--gradient-primary);-webkit-text-fill-color:transparent;margin-bottom:var(--space-lg);-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,8vw,6.5rem);font-weight:400;line-height:1.05}.hero__name em{-webkit-text-fill-color:var(--color-text-secondary);font-style:italic}.hero__description{color:var(--color-text-secondary);max-width:620px;margin-bottom:var(--space-xl);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.8}.hero__description strong{color:var(--color-text-primary);font-weight:500}.hero__cta-group{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.hero__cta{align-items:center;gap:var(--space-sm);letter-spacing:.04em;color:var(--color-bg);background:var(--gradient-primary);transition:all var(--transition-fast);border:none;border-radius:100px;padding:14px 32px;font-size:.9rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.hero__cta:before{content:"";background:linear-gradient(90deg,#0000,#0000000d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.hero__cta:hover:before{left:100%}.hero__cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px #ffffff26}.hero__cta--outline{color:var(--color-text-primary);border:1px solid var(--color-border);background:0 0}.hero__cta--outline:hover{border-color:var(--color-amber);background:var(--color-amber-glow);box-shadow:0 8px 32px var(--color-amber-glow)}.hero__scroll-indicator{bottom:var(--space-xl);align-items:center;gap:var(--space-sm);color:var(--color-text-muted);letter-spacing:.15em;text-transform:uppercase;flex-direction:column;font-size:.7rem;animation:3s ease-in-out infinite float;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-text-muted), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scroll-line}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}@keyframes scroll-line{0%{opacity:0;transform-origin:top;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}to{opacity:0;transform-origin:bottom;transform:scaleY(0)}}.services{padding:var(--space-3xl) 0;border-top:1px solid var(--color-border)}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);font-size:.75rem;font-weight:600;display:flex}.section-label:before{content:"";background:var(--color-text-muted);width:24px;height:1px;display:inline-block}.section-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-accent);margin-bottom:var(--space-2xl);max-width:700px;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.15}.services__grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.service-card{padding:var(--space-xl) var(--space-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition-medium);position:relative;overflow:hidden}.service-card:before{content:"";background:var(--gradient-warm);opacity:0;width:100%;height:2px;transition:opacity var(--transition-medium);position:absolute;top:0;left:0}.service-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 20px 60px #0006}.service-card:hover:before{opacity:1}.service-card__icon{margin-bottom:var(--space-lg);opacity:.6;color:var(--color-amber);transition:all var(--transition-fast);font-size:1.8rem}.service-card:hover .service-card__icon{opacity:1;color:var(--color-rose);transform:scale(1.1)}.service-card__title{margin-bottom:var(--space-sm);color:var(--color-text-primary);font-size:1.2rem;font-weight:600}.service-card__description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7}.portfolio{padding:var(--space-3xl) 0;border-top:1px solid var(--color-border)}.portfolio__list{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.portfolio-card{padding:var(--space-xl) var(--space-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition-medium);position:relative;overflow:hidden}.portfolio-card:after{content:"";background:var(--gradient-warm);width:0;height:2px;transition:width .5s var(--ease-out-expo);position:absolute;bottom:0;left:0}.portfolio-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 20px 60px #0006}.portfolio-card:hover:after{width:100%}.portfolio-card__header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;display:flex}.portfolio-card__meta{align-items:center;gap:var(--space-md);display:flex}.portfolio-card__type{letter-spacing:.1em;text-transform:uppercase;color:var(--color-rose);background:var(--color-rose-glow);border:1px solid #f43f5e33;border-radius:100px;padding:3px 10px;font-size:.7rem;font-weight:600}.portfolio-card__period{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.portfolio-card__link{color:var(--color-text-muted);transition:all var(--transition-fast);padding:4px}.portfolio-card__link:hover{color:var(--color-rose);transform:translateY(-2px)}.portfolio-card__role{color:var(--color-text-primary);margin-bottom:var(--space-xs);font-size:1.2rem;font-weight:600}.portfolio-card__company{color:var(--color-text-secondary);margin-bottom:var(--space-md);align-items:center;gap:6px;font-size:.9rem;display:flex}.portfolio-card__description{color:var(--color-text-secondary);margin-bottom:var(--space-lg);font-size:.92rem;line-height:1.7}.portfolio-card__tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.portfolio-card__tag{color:var(--color-text-muted);border:1px solid var(--color-border);transition:all var(--transition-fast);border-radius:100px;padding:4px 12px;font-size:.75rem;font-weight:500}.portfolio-card:hover .portfolio-card__tag{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.tech-stack{padding:var(--space-3xl) 0;border-top:1px solid var(--color-border);overflow:hidden}.marquee-wrapper{margin-top:var(--space-xl);position:relative;overflow:hidden}.marquee-wrapper:before,.marquee-wrapper:after{content:"";z-index:2;pointer-events:none;width:120px;height:100%;position:absolute;top:0}.marquee-wrapper:before{background:linear-gradient(to right, var(--color-bg), transparent);left:0}.marquee-wrapper:after{background:linear-gradient(to left, var(--color-bg), transparent);right:0}.marquee-track{gap:var(--space-xl);width:max-content;animation:35s linear infinite marquee;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-item{align-items:center;gap:var(--space-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border);white-space:nowrap;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:100px;flex-shrink:0;padding:12px 24px;font-size:.9rem;font-weight:500;display:flex}.tech-item:hover{border-color:var(--color-border-hover);color:var(--color-text-primary);background:var(--color-surface);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.tech-item__icon{opacity:.7;font-size:1.2rem}.tech-item:hover .tech-item__icon{opacity:1}.contact{padding:var(--space-3xl) 0;border-top:1px solid var(--color-border)}.contact__layout{grid-template-columns:minmax(0,.9fr) minmax(360px,.95fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.contact__content{text-align:left;max-width:560px}.contact__heading{font-family:var(--font-serif);letter-spacing:-.03em;background:var(--gradient-warm);-webkit-text-fill-color:transparent;margin-bottom:var(--space-lg);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.1}.contact__subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-xl);font-size:1.1rem;line-height:1.7}.contact__email{align-items:center;gap:var(--space-sm);color:var(--color-text-primary);border:1px solid var(--color-border);transition:all var(--transition-fast);margin-bottom:var(--space-2xl);border-radius:100px;padding:16px 40px;font-size:1.15rem;font-weight:500;display:inline-flex}.contact__email:hover{border-color:var(--color-rose);background:var(--color-rose-glow);box-shadow:0 8px 32px var(--color-rose-glow);transform:translateY(-2px)}.contact__socials{justify-content:flex-start;gap:var(--space-md);display:flex}.contact-form{width:100%;padding:var(--space-lg);border:1px solid var(--color-border);background:#111111c7;border-radius:8px;box-shadow:0 24px 80px #00000042}.contact-form form{gap:var(--space-md);display:grid}.contact-form__grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-form label{gap:8px;display:grid}.contact-form span{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0f0f0f;border-radius:8px;outline:none}.contact-form input,.contact-form select{min-height:46px;padding:0 12px}.contact-form textarea{resize:vertical;min-height:132px;padding:12px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#f59e0b8c;box-shadow:0 0 0 3px #f59e0b14}.contact-form__status{border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem}.contact-form__status--success{color:#6ee7b7;background:#10b98114;border:1px solid #10b9814d}.contact-form__status--error{color:#fb7185;background:#f43f5e14;border:1px solid #f43f5e4d}.contact-form__submit{justify-content:center;align-items:center;gap:var(--space-sm);min-height:48px;color:var(--color-bg);background:var(--gradient-primary);transition:all var(--transition-fast);border-radius:8px;padding:0 22px;font-weight:700;display:inline-flex}.contact-form__submit:hover{transform:translateY(-2px);box-shadow:0 8px 32px #ffffff1f}.contact-form__submit:disabled{cursor:wait;opacity:.7}.social-link{border:1px solid var(--color-border);width:48px;height:48px;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.social-link:hover{color:var(--color-amber);border-color:var(--color-amber);background:var(--color-amber-glow);box-shadow:0 8px 24px var(--color-amber-glow);transform:translateY(-3px)}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);letter-spacing:.04em;font-size:.8rem}@media (width<=768px){.hero{padding:var(--space-2xl) 0;min-height:90vh}.hero__layout{gap:var(--space-lg);grid-template-columns:1fr}.hero__content{max-width:100%}.hero__portrait{min-height:320px;margin-bottom:calc(var(--space-lg) * -1);order:-1}.hero__portrait img{width:min(82vw,360px);max-height:380px;opacity:calc(var(--hero-avatar-opacity,.58) * .9)}.hero__scroll-indicator{display:none}.services__grid,.portfolio__list{grid-template-columns:1fr}.hero__cta-group{flex-direction:column;align-items:flex-start}.portfolio-card__header{gap:var(--space-md);flex-wrap:wrap}.contact__email{overflow-wrap:anywhere;justify-content:center;max-width:100%;padding-inline:24px}.contact__socials{gap:var(--space-sm)}.contact__layout,.contact-form__grid{grid-template-columns:1fr}}@media (width<=480px){.hero__name{font-size:2.5rem}.hero__status{letter-spacing:.08em}.service-card,.portfolio-card{padding:var(--space-lg) var(--space-md)}.section-title{font-size:1.8rem}.contact__heading{font-size:2rem}.contact__email{width:100%;font-size:.98rem}}.admin-shell{background:radial-gradient(circle at top left, #f59e0b1a, transparent 32rem), var(--color-bg);min-height:100vh;color:var(--color-text-primary);grid-template-columns:260px minmax(0,1fr);display:grid}.admin-login-shell{background:radial-gradient(circle at top left, #f59e0b1f, transparent 30rem), var(--color-bg);min-height:100vh;color:var(--color-text-primary);place-items:center;padding:24px;display:grid}.admin-login{border:1px solid var(--color-border);background:#111111e6;border-radius:8px;gap:16px;width:min(100%,430px);padding:28px;display:grid;box-shadow:0 24px 80px #00000052}.admin-login h1{font-family:var(--font-serif);margin:0;font-size:clamp(2.2rem,8vw,3.5rem);font-weight:400;line-height:1.05}.admin-sidebar{border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0a0aeb;height:100vh;padding:28px 18px;position:sticky;top:0}.admin-brand{gap:2px;padding:14px 12px 24px;display:grid}.admin-brand span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}.admin-brand strong{font-family:var(--font-serif);font-size:2rem;font-weight:400}.admin-nav{gap:8px;display:grid}.admin-nav__item{text-align:left;width:100%;color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:8px;padding:12px 14px}.admin-nav__item:hover,.admin-nav__item.is-active{color:var(--color-text-primary);border-color:var(--color-border);background:var(--color-bg-elevated)}.admin-main{width:100%;max-width:1180px;padding:34px}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.admin-kicker,.section-heading span{color:var(--color-amber);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:700}.admin-header h1,.section-heading h2{font-family:var(--font-serif);margin:0;font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1.05}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-button{color:#0a0a0a;cursor:pointer;min-height:42px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:linear-gradient(135deg,#fff,#f59e0b);border:1px solid #f59e0b59;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.admin-button:hover{transform:translateY(-1px);box-shadow:0 10px 28px #f59e0b24}.admin-button:disabled{cursor:wait;opacity:.7}.admin-button input[type=file]{display:none}.admin-button--ghost{color:var(--color-text-primary);background:var(--color-bg-elevated);border-color:var(--color-border)}.admin-button--compact{min-height:36px;padding:0 14px;font-size:.84rem}.admin-status-row{margin-bottom:18px}.admin-status{border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-bg-elevated);border-radius:8px;align-items:center;padding:12px 14px;display:flex}.admin-status--success{color:#6ee7b7;background:#10b98114;border-color:#10b9814d}.admin-status--warning{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b4d}.admin-status--error{color:#fb7185;background:#f43f5e14;border-color:#f43f5e4d}.admin-token{gap:6px;display:grid}.admin-token span,.admin-field span,.color-field span{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.admin-token input,.admin-field input,.admin-field textarea,.color-field input,.json-editor{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0f0f0f;border-radius:8px;outline:none}.admin-token input,.admin-field input,.color-field input{min-height:44px;padding:0 12px}.admin-field--range div{grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:12px;display:grid}.admin-field--range input[type=range]{accent-color:var(--color-amber);padding:0}.admin-field--range output{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:right}.admin-field--toggle{grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-field--toggle input[type=checkbox]{appearance:none;background:var(--color-bg-elevated);cursor:pointer;border-radius:999px;width:48px;min-height:28px;padding:0;position:relative}.admin-field--toggle input[type=checkbox]:before{content:"";background:var(--color-text-muted);width:18px;height:18px;transition:transform var(--transition-fast), background var(--transition-fast);border-radius:50%;position:absolute;top:4px;left:4px}.admin-field--toggle input[type=checkbox]:checked{background:#f59e0b2e;border-color:#f59e0b8c}.admin-field--toggle input[type=checkbox]:checked:before{background:var(--color-amber);transform:translate(20px)}.admin-field--toggle small{grid-column:1/-1}.admin-field textarea{resize:vertical;min-height:128px;padding:12px}.admin-token input:focus,.admin-field input:focus,.admin-field textarea:focus,.color-field input:focus,.json-editor:focus{border-color:#f59e0b8c;box-shadow:0 0 0 3px #f59e0b14}.admin-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.admin-metric{border:1px solid var(--color-border);background:#111111c7;border-radius:8px;padding:18px}.admin-metric span{color:var(--color-text-muted);margin-bottom:8px;font-size:.8rem;display:block}.admin-metric strong{font-size:1.7rem}.admin-panel{border:1px solid var(--color-border);background:#111111db;border-radius:8px;padding:24px;box-shadow:0 24px 80px #00000042}.section-heading{margin-bottom:22px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-field{gap:8px;margin-bottom:16px;display:grid}.admin-field small{color:var(--color-text-muted)}.admin-avatar-upload__body{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.admin-avatar-upload img{border:1px solid var(--color-border);object-fit:contain;background:#050505;border-radius:8px;width:86px;height:86px}.option-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.option-row .admin-field{margin-bottom:0}.option-row__actions{gap:8px;margin-bottom:16px;display:flex}.option-row__actions button{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-secondary);background:var(--color-bg-elevated);cursor:pointer;border-radius:8px}.option-row__actions button:hover{color:var(--color-text-primary);border-color:#f59e0b73}.admin-favicon-upload__body{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.admin-favicon-upload__preview{border:1px solid var(--color-border);background-color:#050505;background-image:linear-gradient(45deg,#121212 25%,#0000 25%),linear-gradient(-45deg,#121212 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#121212 75%),linear-gradient(-45deg,#0000 75%,#121212 75%),none;background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;border-radius:8px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex}.admin-favicon-upload img{object-fit:contain;width:32px;height:32px}.field-group,.editable-card{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;padding:18px}.field-group h3{margin:0 0 14px;font-size:1rem}.list-editor{gap:14px;margin-top:10px;display:grid}.list-editor__header,.editable-card header{justify-content:space-between;align-items:center;gap:12px;display:flex}.list-editor__header{color:var(--color-text-muted);margin-bottom:4px}.editable-card header{margin-bottom:16px}.editable-card header div{flex-wrap:wrap;gap:8px;display:flex}.editable-card header button{border:1px solid var(--color-border);min-height:30px;color:var(--color-text-secondary);background:var(--color-bg-elevated);border-radius:8px;padding:0 10px}.editable-card header button:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.color-field{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;gap:8px;padding:14px;display:grid}.color-field div{grid-template-columns:52px minmax(0,1fr);gap:8px;display:grid}.color-field input[type=color]{min-height:44px;padding:4px}.json-editor{resize:vertical;min-height:560px;font-family:var(--font-mono);margin-bottom:14px;padding:16px;font-size:.88rem;line-height:1.55}@media (width<=920px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--color-border);height:auto;position:static}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main{padding:22px}.admin-header,.admin-grid,.admin-summary{grid-template-columns:1fr}.admin-header{display:grid}}@media (width<=520px){.admin-login{padding:20px}.admin-main{padding:16px}.admin-sidebar{padding:18px 14px}.admin-nav{grid-template-columns:1fr}.admin-actions,.admin-actions .admin-button{width:100%}.admin-panel,.field-group,.editable-card{padding:16px}.theme-grid{grid-template-columns:1fr}}
