.site-header{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--color-border)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.logo{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-text);font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:-.02em}.logo-mark{display:block;width:36px;height:36px;border-radius:10px;object-fit:cover;box-shadow:0 2px 6px #0a0f0c1f}.logo-accent{color:var(--color-accent-hover)}.site-nav{display:flex;gap:.5rem;align-items:center}.site-nav a{padding:.5rem .9rem;border-radius:var(--radius-md);font-weight:500;font-size:.95rem;color:var(--color-text-muted);transition:background .15s ease,color .15s ease}.site-nav a:hover{color:var(--color-text);background:var(--color-surface)}.site-nav a.active{color:var(--color-text);background:var(--color-accent-soft)}@media (max-width: 560px){.logo-text{display:none}.site-nav a{padding:.5rem .7rem;font-size:.9rem}}.site-footer{margin-top:4rem;border-top:1px solid var(--color-border);background:var(--color-bg-subtle);padding:3rem 0 1.5rem}.site-footer-inner{display:grid;grid-template-columns:1.2fr 2fr;gap:3rem;margin-bottom:2rem}.footer-brand{max-width:320px}.footer-logo-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.footer-logo-mark{display:block;width:32px;height:32px;border-radius:8px;object-fit:cover}.footer-logo{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:-.02em}.footer-logo-accent{color:var(--color-accent-hover)}.footer-tagline{font-size:.92rem;line-height:1.6}.footer-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{font-family:var(--font-body);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:1rem}.footer-column a{display:block;font-size:.92rem;color:var(--color-text);margin-bottom:.5rem}.footer-column a:hover{color:var(--color-accent-hover)}.footer-bottom{padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:.85rem}@media (max-width: 760px){.site-footer-inner{grid-template-columns:1fr;gap:2rem}.footer-columns{grid-template-columns:repeat(2,1fr)}}.ad-wrapper{display:flex;justify-content:center;margin:1.5rem 0}.ad-slot-sidebar{min-height:600px;aspect-ratio:300 / 600;max-width:300px;margin:0}.hero{padding:4rem 0 3rem;text-align:center}.hero-title{margin:1rem 0 1.5rem;font-weight:600}.accent-word{display:inline-block;padding-right:.12em;padding-bottom:.08em;color:var(--color-accent-hover);font-style:italic;font-family:var(--font-display);background:linear-gradient(120deg,var(--color-accent) 0%,var(--color-mint) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hero-lead{max-width:640px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.65}.hero-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:900px;margin:0 auto}.picker-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:2rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease;position:relative;overflow:hidden}.picker-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 100% 0%,rgba(132,204,22,.08),transparent 50%);pointer-events:none;opacity:0;transition:opacity .22s ease}.picker-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.picker-card:hover:before{opacity:1}.picker-card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-soft);color:var(--color-accent-hover);border-radius:var(--radius-lg);margin-bottom:1.25rem}.picker-card-title{margin-bottom:.5rem;font-size:1.5rem}.picker-card-desc{font-size:.95rem;margin-bottom:1.5rem}.picker-card-cta{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text);font-weight:600;margin-bottom:.75rem;transition:gap .22s ease}.picker-card:hover .picker-card-cta{gap:.85rem}.picker-card-count{font-size:.8rem;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.features{padding:5rem 0 3rem}.features-title{margin-bottom:3rem;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem}.feature h3{font-size:1.15rem;margin-bottom:.5rem}.feature p{font-size:.95rem}.feature-dot{width:12px;height:12px;border-radius:50%;background:var(--color-accent);margin-bottom:1rem;box-shadow:0 0 0 6px var(--color-accent-soft)}.popular{padding:3rem 0 5rem}.popular h2{margin-bottom:2rem;text-align:center}.popular-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.popular-chip{padding:.6rem 1.1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:100px;font-size:.9rem;font-weight:500;color:var(--color-text);transition:all .18s ease}.popular-chip:hover{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover);transform:translateY(-2px)}.about-perloge{padding:2rem 0 5rem}.about-perloge-inner{max-width:760px;margin:0 auto;text-align:center}.about-perloge h2{margin-bottom:1.25rem;font-size:1.75rem}.about-perloge p{font-size:1rem;line-height:1.75}@media (max-width: 640px){.hero{padding:2.5rem 0 2rem}.hero-picker{grid-template-columns:1fr}}.page-header{text-align:center;margin-bottom:2.5rem}.page-header .badge{margin-bottom:1.25rem}.page-header h1{margin-bottom:.75rem}.page-lead{max-width:560px;margin:0 auto;font-size:1.05rem}.converter-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:flex-start}.converter-main{min-width:0;display:flex;flex-direction:column;gap:1.5rem}.converter-sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:90px}.converter-card{padding:2rem}.controls-row{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(120px,.8fr) minmax(200px,1fr);gap:1rem;align-items:end;margin-bottom:1rem}.controls-row .control{min-width:0}.control-mode .label{display:block}.cipher-desc{font-size:.92rem;padding:.85rem 1rem;background:var(--color-accent-soft);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);margin-bottom:1.5rem;line-height:1.55}.mode-toggle{display:inline-flex;padding:4px;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%}.mode-btn{flex:1;padding:.55rem 1rem;background:transparent;border-radius:8px;font-weight:600;font-size:.9rem;color:var(--color-text-muted);transition:all .15s ease}.mode-btn:hover:not(.active){color:var(--color-text)}.mode-btn.active{background:var(--color-bg-elevated);color:var(--color-text);box-shadow:var(--shadow-sm)}.textbox-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:stretch}.textbox-col{display:flex;flex-direction:column;min-width:0}.textbox-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.char-count{font-size:.8rem}.output-actions{display:flex;gap:.75rem}.action-link{background:none;color:var(--color-text-muted);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.25rem 0;transition:color .15s ease}.action-link:hover:not(:disabled){color:var(--color-accent-hover)}.action-link:disabled{opacity:.4;cursor:not-allowed}.swap-col{display:flex;align-items:center;justify-content:center;padding-top:2rem}.swap-btn{width:44px;height:44px;padding:0;border-radius:50%}.swap-btn:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-hover);border-color:var(--color-accent);transform:rotate(90deg)}.sidebar-info h3{font-size:1.1rem;margin-bottom:.75rem}.sidebar-info p{font-size:.92rem;line-height:1.6}.sidebar-chips{display:flex;flex-wrap:wrap;gap:.4rem}.sidebar-chip{padding:.35rem .7rem;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:100px;font-size:.82rem;font-weight:500;color:var(--color-text-muted);transition:all .15s ease}.sidebar-chip:hover{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.fact-list{list-style:none;margin-top:.75rem}.fact-list li{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-top:1px solid var(--color-border);font-size:.85rem}.fact-label{font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.error-box{margin-top:.75rem;padding:.75rem 1rem;background:var(--color-danger-light);border:1px solid #fca5a5;border-radius:var(--radius-sm);color:#991b1b;font-size:.9rem}.success-box{margin-top:1rem;padding:.75rem 1rem;background:var(--color-mint-light);border:1px solid #6ee7b7;border-radius:var(--radius-sm);color:#065f46;font-size:.92rem;font-weight:600}.warning-note{margin-top:.75rem;padding:.6rem .8rem;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:var(--radius-sm);font-size:.85rem;color:#78350f}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:var(--color-bg-subtle);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:center;min-height:220px}.dropzone:hover,.dropzone.drag-over{background:var(--color-accent-soft);border-color:var(--color-accent)}.dropzone.has-file{background:var(--color-bg-elevated);border-style:solid;border-color:var(--color-accent)}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.dropzone-icon{color:var(--color-text-muted);margin-bottom:1rem}.dropzone:hover .dropzone-icon,.dropzone.drag-over .dropzone-icon{color:var(--color-accent-hover)}.dropzone-primary{font-size:1.05rem;font-weight:500;margin-bottom:.25rem}.dropzone-link{color:var(--color-accent-hover);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.dropzone-hint{font-size:.85rem}.file-info{display:flex;align-items:center;gap:1rem;text-align:left}.file-info-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-soft);color:var(--color-accent-hover);border-radius:var(--radius-md)}.file-info-name{font-weight:600;word-break:break-all;line-height:1.3}.file-info-size{font-size:.85rem;margin-top:.15rem}.convert-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}@media (max-width: 1024px){.converter-layout{grid-template-columns:1fr}.converter-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.converter-sidebar>*{flex:1 1 280px;min-width:0}}@media (max-width: 760px){.converter-card{padding:1.25rem}.controls-row,.textbox-grid{grid-template-columns:1fr}.swap-col{padding-top:0;padding:.25rem 0}.swap-btn:hover:not(:disabled){transform:rotate(0)}.convert-actions{flex-direction:column-reverse}.convert-actions .btn{width:100%}}:root{--color-bg: #ffffff;--color-bg-subtle: #fafbf8;--color-bg-elevated: #ffffff;--color-surface: #f4f7ef;--color-text: #0a0f0c;--color-text-muted: #5b6b63;--color-text-subtle: #8a948e;--color-border: #e4e8e2;--color-border-strong: #cfd6cc;--color-accent: #84cc16;--color-accent-hover: #65a30d;--color-accent-light: #ecfccb;--color-accent-soft: #f7fee7;--color-mint: #10b981;--color-mint-light: #d1fae5;--color-danger: #dc2626;--color-danger-light: #fee2e2;--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Monaco, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(10, 15, 12, .04);--shadow-md: 0 4px 12px rgba(10, 15, 12, .06);--shadow-lg: 0 12px 32px rgba(10, 15, 12, .08);--shadow-accent: 0 8px 24px rgba(132, 204, 22, .25);--max-width: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(circle at 15% 0%,rgba(190,242,100,.18),transparent 45%),radial-gradient(circle at 90% 10%,rgba(16,185,129,.08),transparent 40%);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--color-text)}h1{font-size:clamp(2.25rem,5vw,3.75rem)}h2{font-size:clamp(1.75rem,3.5vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}a{color:var(--color-text);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.page{min-height:calc(100vh - 80px);padding:2.5rem 0 4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:all .18s ease;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--color-text);color:var(--color-accent);border-color:var(--color-text)}.btn-primary:hover{background:#1a201c;color:var(--color-accent-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--color-accent);color:var(--color-text);border-color:var(--color-accent)}.btn-accent:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-accent)}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-ghost:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm)}.select,.input,.textarea{width:100%;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease;font-size:.95rem}.select:focus,.input:focus,.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.textarea{resize:vertical;min-height:180px;font-family:var(--font-mono);line-height:1.5}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0f0c' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .85rem center;background-size:1.1rem;padding-right:2.5rem}.label{display:block;font-weight:600;font-size:.85rem;color:var(--color-text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:100px;background:var(--color-accent-soft);color:var(--color-accent-hover);font-size:.8rem;font-weight:600;border:1px solid var(--color-accent-light)}.ad-slot{background:transparent;border-radius:var(--radius-md);display:block}.ad-slot-banner{min-height:90px;margin:1.5rem 0}.ad-slot-rectangle{min-height:250px;aspect-ratio:300 / 250;max-width:300px;margin:1rem auto}.ad-slot-leaderboard{min-height:90px}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-center{text-align:center}.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .45s cubic-bezier(.2,.8,.2,1) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::selection{background:var(--color-accent);color:var(--color-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}
