.ec-app{--ec-canvas:#f5f7fb;--ec-card:#fff;--ec-raised:#f8faff;--ec-text:#142033;--ec-muted:#667187;--ec-line:#dfe5ef;--ec-blue:#2866e8;--ec-violet:#6846eb;--ec-cyan:#20a5c8;--ec-green:#17875d;--ec-red:#bc354b;--ec-orange:#c36b1d;box-sizing:border-box;position:relative;max-width:1240px;margin:32px auto;overflow:hidden;color:var(--ec-text);background:var(--ec-canvas);border:1px solid var(--ec-line);border-radius:24px;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;box-shadow:0 1px 3px rgba(16,24,40,.05),0 24px 72px rgba(30,46,82,.11)}
.ec-app *,.ec-app *:before,.ec-app *:after{box-sizing:border-box}
.ec-app button,.ec-app input,.ec-app textarea{font:inherit}.ec-app button{cursor:pointer}.ec-app [hidden]{display:none!important}
.ec-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 30px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--ec-line)}
.ec-brand-lockup{display:flex;align-items:center;gap:12px}.ec-logo{display:grid;width:42px;height:42px;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ec-blue),var(--ec-violet));border-radius:12px;font-size:24px;box-shadow:0 7px 18px rgba(64,73,220,.22)}
.ec-kicker,.ec-overline,.ec-result-kicker{display:block;color:var(--ec-blue);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.ec-hero h2{margin:0!important;padding:0!important;color:var(--ec-text)!important;font-size:24px!important;line-height:1.2!important;letter-spacing:-.025em}
.ec-security-badge{display:flex;align-items:center;gap:8px;padding:9px 12px;color:var(--ec-green);background:#e9f7f1;border:1px solid #cdeadd;border-radius:9px;font-size:13px;font-weight:750}.ec-security-badge>span{font-size:9px}
.ec-intro{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:34px 32px 28px;background:radial-gradient(circle at 90% 0,rgba(104,70,235,.1),transparent 34%),linear-gradient(145deg,#f8fbff,#f6f3ff)}
.ec-intro h3{margin:0 0 6px!important;padding:0!important;color:var(--ec-text)!important;font-size:28px!important;line-height:1.25!important;letter-spacing:-.035em}.ec-intro p{max-width:700px;margin:0;color:var(--ec-muted)}
.ec-one-rule{display:flex;flex:none;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,.75);border:1px solid var(--ec-line);border-radius:12px;box-shadow:0 3px 12px rgba(31,48,84,.05)}.ec-one-rule strong{color:var(--ec-blue);font-size:34px;line-height:1}.ec-one-rule span{color:var(--ec-muted);font-size:12px;line-height:1.35}.ec-one-rule b{color:var(--ec-text)}
.ec-panel{padding:0 28px 30px}.ec-main-panel{padding-top:24px}.ec-workspace{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}
.ec-card{min-width:0;padding:26px;background:var(--ec-card);border:1px solid var(--ec-line);border-radius:16px;box-shadow:0 2px 4px rgba(16,24,40,.03),0 12px 30px rgba(35,48,77,.05)}
.ec-card-head{display:flex;align-items:center;gap:13px;margin-bottom:22px}.ec-card-icon{display:grid;flex:0 0 42px;height:42px;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ec-blue),var(--ec-violet));border-radius:11px;font-size:20px;font-weight:800}.ec-icon-unlock{background:linear-gradient(145deg,#138e9f,#26b581)}
.ec-card h3{margin:1px 0 0!important;padding:0!important;color:var(--ec-text)!important;font-size:22px!important;line-height:1.25!important;letter-spacing:-.02em}
.ec-card-head p{max-width:440px;margin:4px 0 0;color:var(--ec-muted);font-size:12px}.ec-step-label{display:flex;align-items:center;gap:8px;margin:21px 0 9px;color:var(--ec-text);font-size:12px;font-weight:800}.ec-step-label>span{display:grid;width:23px;height:23px;place-items:center;color:#fff;background:var(--ec-blue);border-radius:7px;font-size:11px}
.ec-card label:not(.ec-switch){display:block;margin:17px 0 7px;color:var(--ec-text);font-size:13px;font-weight:800}
.ec-carrier-box{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:center;padding:18px;background:linear-gradient(145deg,#f3f7ff,#f9f7ff);border:1px solid #dae3f5;border-radius:13px}
.ec-field-title{display:block;color:var(--ec-muted);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.ec-carrier-preview{display:block;margin-top:4px;font-size:52px;line-height:1.2}.ec-carrier-box small{display:block;margin-top:8px;color:var(--ec-muted);font-size:12px}
.ec-input,.ec-output,.ec-search,.ec-password input{width:100%!important;margin:0!important;padding:13px 14px!important;color:var(--ec-text)!important;background:var(--ec-card)!important;border:1px solid var(--ec-line)!important;border-radius:10px!important;box-shadow:inset 0 1px 2px rgba(16,24,40,.025)!important;line-height:1.55!important;outline:none!important}
.ec-input,.ec-output{min-height:132px;resize:vertical}.ec-decode-input{font-size:26px!important;line-height:1.3!important}.ec-output{background:var(--ec-raised)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:14px!important}
.ec-input:focus,.ec-output:focus,.ec-search:focus,.ec-password input:focus{border-color:var(--ec-blue)!important;box-shadow:0 0 0 3px rgba(40,102,232,.13)!important}
.ec-input.is-invalid,.ec-password input.is-invalid{border-color:var(--ec-red)!important;box-shadow:0 0 0 3px rgba(188,53,75,.12)!important}
.ec-meta-row{display:flex;justify-content:space-between;gap:16px;margin-top:7px;color:var(--ec-muted);font-size:11px}
.ec-encryption-control{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:15px;background:var(--ec-raised);border:1px solid var(--ec-line);border-radius:11px}.ec-encryption-control small{display:block;margin-top:2px;color:var(--ec-muted);font-size:11px}
.ec-switch input{position:absolute;opacity:0;pointer-events:none}.ec-switch-track{display:grid;grid-template-columns:1fr 1fr;width:94px;padding:3px;background:#dce2eb;border-radius:9px}.ec-switch-track b{display:grid;height:30px;place-items:center;color:#758096;border-radius:7px;font-size:11px;transition:.18s}.ec-switch input:not(:checked)+.ec-switch-track b:first-child,.ec-switch input:checked+.ec-switch-track b:last-child{color:#fff;background:linear-gradient(135deg,var(--ec-blue),var(--ec-violet));box-shadow:0 2px 7px rgba(49,65,190,.22)}.ec-switch input:focus-visible+.ec-switch-track{outline:3px solid rgba(40,102,232,.25);outline-offset:2px}
.ec-password-wrap{margin-top:14px;padding:16px;background:#fbfcff;border:1px solid var(--ec-line);border-radius:12px}.ec-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ec-password-grid label{margin-top:0!important}
.ec-password{display:flex;position:relative}.ec-password input{padding-right:46px!important}.ec-reveal{position:absolute!important;top:2px;right:2px;width:41px!important;height:41px!important;padding:0!important;color:var(--ec-muted)!important;background:transparent!important;border:0!important;box-shadow:none!important}.ec-password-wrap>small{display:block;margin-top:7px;color:var(--ec-muted);font-size:11px}
.ec-password-tools,.ec-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ec-password-tools button,.ec-inline-actions button{min-height:36px;padding:6px 10px;color:var(--ec-text);background:var(--ec-card);border:1px solid var(--ec-line);border-radius:8px;font-size:12px;font-weight:750}.ec-password-tools button:hover,.ec-inline-actions button:hover{border-color:var(--ec-blue)}
.ec-strength-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:12px}.ec-strength-row strong{min-width:74px;color:var(--ec-muted);font-size:11px;text-align:right}.ec-strength{height:5px;overflow:hidden;background:#e8ecf2;border-radius:5px}.ec-strength span{display:block;width:0;height:100%;background:var(--ec-red);transition:.2s}.ec-strength[data-score="2"] span{background:var(--ec-orange)}.ec-strength[data-score="3"] span{background:#2b86d9}.ec-strength[data-score="4"] span{background:var(--ec-green)}.ec-weak-warning{margin-top:9px;padding:8px 10px;color:#805017;background:#fff5e8;border:1px solid #efd6b5;border-radius:8px;font-size:11px;font-weight:700}
.ec-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px;min-height:44px!important;margin:0!important;padding:9px 15px!important;border-radius:9px!important;box-shadow:none!important;cursor:pointer!important;font-size:14px!important;font-weight:800!important;line-height:1.3!important;text-align:center!important;text-decoration:none!important;white-space:normal!important}
.ec-primary{width:100%;margin-top:18px!important;color:#fff!important;background:linear-gradient(135deg,var(--ec-blue),var(--ec-violet))!important;border:0!important;box-shadow:0 7px 18px rgba(61,70,211,.2)!important}.ec-secondary{color:var(--ec-blue)!important;background:#eef4ff!important;border:1px solid #ceddf8!important}.ec-ghost{color:var(--ec-muted)!important;background:transparent!important;border:1px solid var(--ec-line)!important}
.ec-button:hover{filter:brightness(1.035);transform:translateY(-1px)}.ec-button:disabled{cursor:wait!important;filter:saturate(.45);opacity:.7;transform:none}.ec-button.is-loading:after{width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;content:"";animation:ec-spin .7s linear infinite}@keyframes ec-spin{to{transform:rotate(360deg)}}
.ec-result-card{margin-top:20px;padding:22px;text-align:center;background:linear-gradient(145deg,#f3f8ff,#f7f4ff);border:1px solid #d6e1f4;border-radius:14px}.ec-result-emoji{min-height:88px;margin:6px 0;font-size:68px;line-height:1.25}.ec-result-card>strong{display:block;color:var(--ec-green)}.ec-result-card>p{margin:5px auto 0;color:var(--ec-muted);font-size:12px}.ec-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.ec-result-actions .ec-button{width:100%;margin:0!important}.ec-plain-actions{grid-template-columns:1fr}.ec-encode-another{width:100%;margin-top:8px!important}.ec-share-warning,.ec-platform-note{margin-top:12px;padding:10px 12px;border-radius:9px;font-size:11px;line-height:1.45;text-align:left}.ec-share-warning{color:#805017;background:#fff5e8;border:1px solid #efd6b5}.ec-platform-note{color:#53627a;background:#edf4ff;border:1px solid #d5e3f7}
.ec-inspection{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border-radius:10px}.ec-inspection>span{font-size:18px}.ec-inspection strong{display:block}.ec-inspection p{margin:2px 0 0;font-size:12px}.ec-inspection.is-valid{color:#176b4a;background:#e9f7f1;border:1px solid #cdeadd}.ec-inspection.is-invalid{color:#8a5623;background:#fff4e8;border:1px solid #f2d7b7}.ec-inline-emoji{font-size:18px}
.ec-password-notice{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px;color:#624b0e;background:#fff7da;border:1px solid #ecd994;border-radius:9px}.ec-password-notice>span{font-size:24px}.ec-password-notice p{margin:1px 0 0;font-size:12px}
.ec-state{margin-top:14px;padding:14px;border-radius:10px}.ec-state strong{display:block}.ec-state p{margin:3px 0 0;font-size:13px}.ec-state-error{color:#8f2c3b;background:#fcebed;border:1px solid #efcbd1}
.ec-empty-state{display:flex;align-items:center;gap:11px;margin-top:14px;padding:13px;color:var(--ec-muted);background:var(--ec-raised);border:1px dashed var(--ec-line);border-radius:10px}.ec-empty-state>span{display:grid;flex:0 0 34px;height:34px;place-items:center;color:var(--ec-blue);background:#eaf1ff;border-radius:9px;font-weight:800}.ec-empty-state strong{display:block;color:var(--ec-text);font-size:13px}.ec-empty-state p{margin:1px 0 0;font-size:11px}
.ec-decoded-result{text-align:left}.ec-decoded-result .ec-result-kicker{color:var(--ec-green)}.ec-decoded-result .ec-button{margin-top:10px!important}
.ec-modal{position:fixed;z-index:999998;inset:0;display:grid;place-items:center;padding:20px}.ec-modal-backdrop{position:absolute;inset:0;background:rgba(9,16,30,.62);backdrop-filter:blur(5px)}.ec-modal-card{position:relative;width:min(760px,100%);max-height:min(720px,90vh);overflow:auto;padding:24px;background:var(--ec-card);border:1px solid var(--ec-line);border-radius:17px;box-shadow:0 28px 90px rgba(5,12,28,.3)}.ec-modal-card header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.ec-modal-card h3{margin:0!important;font-size:24px!important}.ec-modal-close{display:grid;width:42px;height:42px;place-items:center;color:var(--ec-muted);background:var(--ec-raised);border:1px solid var(--ec-line);border-radius:10px;font-size:26px}
.ec-emoji-categories{display:flex;gap:7px;margin:14px 0;padding-bottom:5px;overflow-x:auto}.ec-emoji-categories button{flex:none;min-height:38px;padding:7px 11px;color:var(--ec-muted);background:var(--ec-raised);border:1px solid var(--ec-line);border-radius:8px;font-size:12px;font-weight:750}.ec-emoji-categories button[aria-pressed=true]{color:#fff;background:var(--ec-blue);border-color:var(--ec-blue)}
.ec-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.ec-emoji{display:grid;min-width:0;min-height:58px;place-items:center;background:var(--ec-raised);border:1px solid var(--ec-line);border-radius:10px;font-size:27px}.ec-emoji:hover{background:#eef4ff;border-color:var(--ec-blue);transform:translateY(-1px)}.ec-empty{grid-column:1/-1;color:var(--ec-muted);text-align:center}
.ec-toast{position:fixed;z-index:999999;right:20px;bottom:20px;max-width:390px;padding:12px 16px;color:#fff;background:#263142;border-radius:9px;box-shadow:0 12px 32px rgba(16,24,40,.22);opacity:0;pointer-events:none;transform:translateY(10px);transition:.18s}.ec-toast.is-visible{opacity:1;transform:translateY(0)}.ec-toast.is-error{background:#a72f42}.ec-toast.is-success{background:#176b4a}
.ec-footer{padding:18px 28px 24px;color:var(--ec-muted);border-top:1px solid var(--ec-line);font-size:11px;text-align:center}.ec-footer span{display:block;margin-bottom:4px;color:var(--ec-text);font-weight:800}.ec-footer p{max-width:860px;margin:4px auto}
.ec-unavailable{padding:20px;color:#812735;background:#fcebed;border:1px solid #efcbd1;border-radius:10px}.ec-app :focus-visible{outline:3px solid rgba(40,102,232,.3)!important;outline-offset:2px!important}.ec-modal-open{overflow:hidden}
.ec-theme-dark{--ec-canvas:#151820;--ec-card:#1d212b;--ec-raised:#242935;--ec-text:#fff;--ec-muted:rgba(255,255,255,.65);--ec-line:rgba(255,255,255,.16)}.ec-theme-dark .ec-hero{background:rgba(29,33,43,.9)}.ec-theme-dark .ec-intro{background:linear-gradient(145deg,#171b24,#211b2c)}.ec-theme-dark .ec-one-rule{background:rgba(29,33,43,.75)}.ec-theme-dark .ec-carrier-box{background:linear-gradient(145deg,#20283a,#28233b);border-color:var(--ec-line)}.ec-theme-dark .ec-password-wrap{background:#181c24}.ec-theme-dark .ec-security-badge{color:#85d8ae;background:rgba(31,148,98,.14);border-color:rgba(86,187,142,.3)}
@media(prefers-color-scheme:dark){.ec-theme-auto{--ec-canvas:#151820;--ec-card:#1d212b;--ec-raised:#242935;--ec-text:#fff;--ec-muted:rgba(255,255,255,.65);--ec-line:rgba(255,255,255,.16)}.ec-theme-auto .ec-hero{background:rgba(29,33,43,.9)}.ec-theme-auto .ec-intro{background:linear-gradient(145deg,#171b24,#211b2c)}.ec-theme-auto .ec-one-rule{background:rgba(29,33,43,.75)}.ec-theme-auto .ec-carrier-box{background:linear-gradient(145deg,#20283a,#28233b);border-color:var(--ec-line)}.ec-theme-auto .ec-password-wrap{background:#181c24}}
@media(max-width:820px){.ec-app{margin:16px 0;border-radius:16px}.ec-hero{align-items:flex-start;flex-direction:column;padding:18px 20px}.ec-intro{align-items:flex-start;flex-direction:column;padding:25px 20px 20px}.ec-intro h3{font-size:24px!important}.ec-panel{padding:20px 18px 22px}.ec-workspace{grid-template-columns:1fr}.ec-app[data-default-tab=decode] .ec-decode-card{order:-1}.ec-card{padding:20px}}
@media(max-width:520px){.ec-security-badge{font-size:12px}.ec-one-rule{width:100%}.ec-carrier-box{grid-template-columns:96px 1fr;padding:14px}.ec-carrier-preview{font-size:46px}.ec-password-grid,.ec-result-actions{grid-template-columns:1fr}.ec-emoji-grid{grid-template-columns:repeat(5,1fr)}.ec-modal{padding:10px}.ec-modal-card{padding:17px}.ec-card{padding:17px}.ec-encryption-control{align-items:flex-start;flex-direction:column}.ec-password-tools button,.ec-inline-actions button{min-height:44px}.ec-toast{right:12px;bottom:12px;left:12px;max-width:none}}
@media(max-width:360px){.ec-app{margin:0;border-radius:0}.ec-hero,.ec-intro{padding-right:15px;padding-left:15px}.ec-panel{padding:16px 10px}.ec-card{padding:14px}.ec-carrier-box{grid-template-columns:1fr;text-align:center}.ec-carrier-box .ec-button{width:100%}.ec-card-head{align-items:flex-start}.ec-card h3{font-size:20px!important}.ec-password-tools,.ec-inline-actions{display:grid;grid-template-columns:1fr}.ec-password-tools button,.ec-inline-actions button{width:100%}.ec-emoji-grid{grid-template-columns:repeat(4,1fr)}}

/* Classical cipher archive — modern interface, historical visual language. */
.ec-app{--ec-canvas:var(--ec-brand-background,#f4efe5);--ec-card:#fffdf8;--ec-raised:#f7f1e6;--ec-text:#292720;--ec-muted:#6f685c;--ec-line:var(--ec-brand-border,#d9cdb9);--ec-blue:var(--ec-brand-primary,#8b612c);--ec-violet:var(--ec-brand-secondary,#69472a);--ec-cyan:#8d6d42;--ec-green:#3f765d;--ec-red:#98483e;--ec-orange:var(--ec-brand-accent,#a56b2b);background-color:var(--ec-canvas);background-image:radial-gradient(circle at 10% 0,rgba(153,108,51,.09),transparent 30%),radial-gradient(circle at 92% 12%,rgba(86,64,38,.08),transparent 28%);border-color:#cbbda7;box-shadow:0 2px 4px rgba(55,43,26,.06),0 26px 80px rgba(63,48,27,.14)}
.ec-app:before{position:absolute;z-index:0;inset:0;pointer-events:none;background-image:repeating-radial-gradient(circle at 84% 18%,transparent 0 34px,rgba(108,78,40,.08) 35px 36px,transparent 37px 48px),linear-gradient(rgba(91,69,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(91,69,42,.025) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;content:"";opacity:.55}
.ec-app>:not(.ec-modal):not(.ec-toast){position:relative;z-index:1}
.ec-hero{background:rgba(255,253,248,.9);border-bottom-color:#d8ccb8}.ec-logo{background:linear-gradient(145deg,#9d743d,#684525);box-shadow:0 7px 18px rgba(104,69,37,.22)}.ec-kicker,.ec-overline,.ec-result-kicker,.ec-archive-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.13em}
.ec-hero h2,.ec-intro h3,.ec-card h3,.ec-modal-card h3{font-family:Georgia,"Times New Roman",serif;font-weight:700}.ec-security-badge{color:#426b56;background:#edf4eb;border-color:#cadbc9}
.ec-intro{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;align-items:center;gap:24px;background:linear-gradient(145deg,rgba(255,253,248,.9),rgba(240,231,214,.82));border-bottom:1px solid rgba(137,102,55,.15)}
.ec-archive-label{display:block;margin-bottom:7px;color:#8b612c;font-size:10px;font-weight:800;text-transform:uppercase}.ec-alphabet-strip{max-width:580px;margin-top:14px;overflow:hidden;color:#8b612c;font:700 10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.38em;white-space:nowrap;opacity:.52;animation:ec-alphabet-drift 16s ease-in-out infinite}
@keyframes ec-alphabet-drift{0%,100%{letter-spacing:.34em;opacity:.42}50%{letter-spacing:.43em;opacity:.66}}
.ec-cipher-wheel{position:relative;width:168px;height:168px;color:#76542d;border:1px solid rgba(126,88,43,.35);border-radius:50%;box-shadow:inset 0 0 0 7px rgba(143,103,53,.06),inset 0 0 0 10px rgba(126,88,43,.16),0 10px 30px rgba(80,58,31,.1)}.ec-cipher-wheel:before,.ec-cipher-wheel:after{position:absolute;inset:21px;border:1px dashed rgba(126,88,43,.33);border-radius:50%;content:""}.ec-cipher-wheel:after{inset:49px;border-style:solid}.ec-wheel-ring{position:absolute;inset:0;border-radius:50%}.ec-wheel-ring span{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px;color:currentColor;font:700 9px/14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center}.ec-wheel-outer span{transform:rotate(calc(var(--ec-i) * 13.846deg)) translateY(-74px) rotate(calc(var(--ec-i) * -13.846deg))}.ec-wheel-inner{inset:25px;animation:ec-wheel-turn 42s linear infinite}.ec-wheel-inner span{font-size:8px;opacity:.75;transform:rotate(calc(var(--ec-i) * 30deg)) translateY(-48px) rotate(calc(var(--ec-i) * -30deg))}.ec-wheel-center{position:absolute;top:50%;left:50%;display:grid;width:48px;height:48px;place-items:center;background:rgba(255,253,248,.88);border:1px solid #cdbb9f;border-radius:50%;box-shadow:0 3px 12px rgba(74,54,30,.14);font-size:22px;transform:translate(-50%,-50%)}@keyframes ec-wheel-turn{to{transform:rotate(360deg)}}
.ec-one-rule{background:rgba(255,253,248,.83);border-color:#d5c7b2;box-shadow:0 4px 14px rgba(65,48,26,.07)}.ec-one-rule strong{color:#8b612c}
.ec-card{position:relative;overflow:hidden;background:rgba(255,253,248,.96);border-color:#d6c9b5;box-shadow:0 2px 4px rgba(61,47,28,.035),0 14px 34px rgba(65,48,25,.07)}.ec-card:before{position:absolute;top:12px;right:12px;width:76px;height:76px;border:1px solid rgba(139,97,44,.11);border-radius:50%;box-shadow:inset 0 0 0 9px rgba(139,97,44,.022),inset 0 0 0 18px rgba(139,97,44,.035);content:"";pointer-events:none}.ec-decode-card:before{right:auto;left:12px;border-style:dashed}
.ec-card-icon{background:linear-gradient(145deg,#98703b,#684625);box-shadow:0 5px 14px rgba(92,63,31,.2);font-size:18px}.ec-icon-unlock{background:linear-gradient(145deg,#5b7967,#345b4c)}.ec-step-label>span{background:#8b612c}.ec-field-title,.ec-step-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ec-carrier-box{background:linear-gradient(145deg,#fbf7ee,#f4ecdf);border-color:#d7c7ad}.ec-carrier-box>div:first-child{text-align:center}.ec-carrier-orbit{position:relative;width:82px;height:82px;margin:7px auto 0}.ec-carrier-orbit:before,.ec-carrier-orbit:after{position:absolute;inset:0;border:1px solid rgba(139,97,44,.45);border-radius:50%;content:""}.ec-carrier-orbit:after{inset:8px;border-style:dashed;opacity:.62}.ec-orbit-marks{position:absolute;inset:-5px;border:4px dotted rgba(139,97,44,.28);border-radius:50%;transition:transform .6s ease}.ec-carrier-preview{position:absolute;z-index:1;top:50%;left:50%;margin:0;font-size:42px;transform:translate(-50%,-50%)}.ec-carrier-orbit:hover .ec-orbit-marks{transform:rotate(28deg)}.ec-encode-card.is-processing .ec-orbit-marks{animation:ec-carrier-spin .7s linear infinite}@keyframes ec-carrier-spin{to{transform:rotate(360deg)}}.ec-payload-flow{color:#98703b;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.09em;opacity:.68}.ec-payload-flow span{display:inline-block;animation:ec-payload-pulse 2.8s ease-in-out infinite}@keyframes ec-payload-pulse{50%{opacity:.25;transform:scale(.8)}}
.ec-input,.ec-output,.ec-search,.ec-password input{background:#fffdfa!important;border-color:#d8cbb7!important}.ec-input:focus,.ec-output:focus,.ec-search:focus,.ec-password input:focus{border-color:#98703b!important;box-shadow:0 0 0 3px rgba(139,97,44,.13)!important}.ec-encryption-control,.ec-empty-state{background:#f7f1e6;border-color:#d9cdb9}.ec-password-wrap{background:#faf6ee;border-color:#d9cdb9}.ec-switch input:not(:checked)+.ec-switch-track b:first-child,.ec-switch input:checked+.ec-switch-track b:last-child,.ec-primary{background:linear-gradient(135deg,#9b713b,#6b4728)!important}.ec-secondary{color:#79532b!important;background:#f7f0e4!important;border-color:#d8c5a7!important}.ec-button:hover{filter:brightness(1.04)}
.ec-result-card{position:relative;background:linear-gradient(145deg,#fbf7ee,#f3eadb);border-color:#d6c5aa}.ec-result-technical{display:block;max-width:100%;margin-top:8px;color:#75664f;font:700 10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.07em;overflow-wrap:anywhere;white-space:normal}.ec-result-emoji{position:relative;width:max-content;margin:6px auto;font-size:68px}.ec-result-emoji:after{position:absolute;bottom:-2px;left:50%;padding:4px 7px;color:#fff;background:#443523;border-radius:5px;content:attr(data-label);font:700 10px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:.18s;white-space:nowrap}.ec-result-emoji:hover:after{opacity:1;transform:translate(-50%,0)}.ec-seal{position:absolute;top:15px;right:14px;padding:7px 9px;color:#875f2d;border:2px double rgba(135,95,45,.58);border-radius:50%;font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;transform:rotate(-8deg);animation:ec-seal-stamp .45s cubic-bezier(.2,.8,.25,1.2) both}@keyframes ec-seal-stamp{from{opacity:0;transform:scale(1.7) rotate(-8deg)}to{opacity:.8;transform:scale(1) rotate(-8deg)}}.ec-unlock-mark{margin-bottom:4px;font-size:30px;text-align:center;animation:ec-unlock .5s ease-out both}@keyframes ec-unlock{from{opacity:0;transform:translateY(5px) scale(.8)}to{opacity:1;transform:none}}
.ec-cipher-process{position:absolute;z-index:7;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:280px;padding:24px;color:#31291f;background:rgba(250,246,237,.94);backdrop-filter:blur(5px);text-align:center}.ec-process-wheel{position:relative;display:grid;width:112px;height:112px;margin-bottom:16px;place-items:center;border:1px solid #b79d78;border-radius:50%;box-shadow:inset 0 0 0 10px rgba(139,97,44,.08),inset 0 0 0 12px rgba(139,97,44,.18)}.ec-process-wheel span{position:absolute;inset:18px;border:2px dotted #9a7443;border-radius:50%;animation:ec-process-spin .9s linear infinite}.ec-decode-process .ec-process-wheel span{animation-direction:reverse}.ec-process-icon{position:relative;z-index:1;font-size:30px}.ec-process-status{font-family:Georgia,"Times New Roman",serif;font-size:18px}.ec-process-status:after{display:inline-block;width:1ch;content:"";animation:ec-caret .8s steps(1) infinite}@keyframes ec-caret{50%{border-right:1px solid currentColor}}.ec-process-scramble{margin-top:8px;color:#896537;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.15em}@keyframes ec-process-spin{to{transform:rotate(360deg)}}
.ec-share-warning{color:#765021;background:#fbf0dd;border-color:#dfc89f}.ec-platform-note{color:#5e574b;background:#f3eee5;border-color:#d8cdbd}
.ec-modal-card{background:#fffdf8;border-color:#d3c4ae}.ec-emoji-categories button,.ec-emoji{background:#f7f1e6;border-color:#d9cdb9}.ec-emoji-categories button[aria-pressed=true]{background:#8b612c;border-color:#8b612c}.ec-emoji:hover{background:#f2e7d5;border-color:#98703b}
.ec-theme-dark{--ec-canvas:var(--ec-brand-background,#171612);--ec-card:#211f1a;--ec-raised:#2a2720;--ec-text:#f1e8d8;--ec-muted:rgba(241,232,216,.67);--ec-line:var(--ec-brand-border,rgba(199,166,113,.25));--ec-blue:var(--ec-brand-primary,#c29a5c);--ec-violet:var(--ec-brand-secondary,#8d6537);background-color:var(--ec-canvas);background-image:radial-gradient(circle at 12% 0,rgba(184,139,72,.08),transparent 30%),radial-gradient(circle at 90% 10%,rgba(125,89,43,.11),transparent 28%);border-color:#4b4031}.ec-theme-dark:before{opacity:.24}.ec-theme-dark .ec-hero{background:rgba(31,29,24,.93);border-color:#4a4032}.ec-theme-dark .ec-intro{background:linear-gradient(145deg,#1d1b17,#252017)}.ec-theme-dark .ec-security-badge{color:#c9decf;background:rgba(69,105,81,.2);border-color:rgba(128,163,138,.3)}.ec-theme-dark .ec-one-rule,.ec-theme-dark .ec-wheel-center{background:rgba(35,32,26,.9);border-color:#564936}.ec-theme-dark .ec-cipher-wheel{color:#d1aa6a;border-color:#6d583b}.ec-theme-dark .ec-card{background:rgba(32,30,25,.97);border-color:#4e4232}.ec-theme-dark .ec-carrier-box{background:linear-gradient(145deg,#29251e,#31291f);border-color:#574832}.ec-theme-dark .ec-input,.ec-theme-dark .ec-output,.ec-theme-dark .ec-search,.ec-theme-dark .ec-password input{background:#191814!important;border-color:#544837!important}.ec-theme-dark .ec-encryption-control,.ec-theme-dark .ec-password-wrap,.ec-theme-dark .ec-empty-state{background:#29261f;border-color:#4d4232}.ec-theme-dark .ec-result-card{background:linear-gradient(145deg,#2a261e,#31291e);border-color:#594932}.ec-theme-dark .ec-cipher-process{color:#f1e8d8;background:rgba(29,27,22,.95)}.ec-theme-dark .ec-modal-card{background:#211f1a;border-color:#544634}.ec-theme-dark .ec-emoji-categories button,.ec-theme-dark .ec-emoji{background:#2a2720;border-color:#504434}
@media(prefers-color-scheme:dark){.ec-theme-auto{--ec-canvas:#171612;--ec-card:#211f1a;--ec-raised:#2a2720;--ec-text:#f1e8d8;--ec-muted:rgba(241,232,216,.67);--ec-line:rgba(199,166,113,.25);--ec-blue:#c29a5c;--ec-violet:#8d6537;background-color:var(--ec-canvas);background-image:radial-gradient(circle at 12% 0,rgba(184,139,72,.08),transparent 30%),radial-gradient(circle at 90% 10%,rgba(125,89,43,.11),transparent 28%);border-color:#4b4031}.ec-theme-auto:before{opacity:.24}.ec-theme-auto .ec-hero{background:rgba(31,29,24,.93);border-color:#4a4032}.ec-theme-auto .ec-intro{background:linear-gradient(145deg,#1d1b17,#252017)}.ec-theme-auto .ec-card{background:rgba(32,30,25,.97);border-color:#4e4232}.ec-theme-auto .ec-carrier-box{background:linear-gradient(145deg,#29251e,#31291f);border-color:#574832}.ec-theme-auto .ec-input,.ec-theme-auto .ec-output,.ec-theme-auto .ec-search,.ec-theme-auto .ec-password input{background:#191814!important;border-color:#544837!important}.ec-theme-auto .ec-cipher-process{color:#f1e8d8;background:rgba(29,27,22,.95)}}
@media(max-width:1000px){.ec-intro{grid-template-columns:minmax(0,1fr) 150px}.ec-cipher-wheel{width:144px;height:144px}.ec-wheel-outer span{transform:rotate(calc(var(--ec-i) * 13.846deg)) translateY(-62px) rotate(calc(var(--ec-i) * -13.846deg))}.ec-wheel-inner span{transform:rotate(calc(var(--ec-i) * 30deg)) translateY(-36px) rotate(calc(var(--ec-i) * -30deg))}.ec-one-rule{grid-column:1/-1;width:max-content}}
@media(max-width:520px){.ec-intro{grid-template-columns:1fr}.ec-cipher-wheel{width:132px;height:132px;margin:0 auto}.ec-wheel-outer span{transform:rotate(calc(var(--ec-i) * 13.846deg)) translateY(-56px) rotate(calc(var(--ec-i) * -13.846deg))}.ec-wheel-inner{inset:21px}.ec-wheel-inner span{transform:rotate(calc(var(--ec-i) * 30deg)) translateY(-34px) rotate(calc(var(--ec-i) * -30deg))}.ec-one-rule{width:100%}.ec-seal{top:11px;right:9px;transform:scale(.88) rotate(-8deg)}.ec-cipher-process{min-height:230px}.ec-alphabet-strip{letter-spacing:.2em}}
.ec-app{border-color:var(--ec-brand-border,#cbbda7)}.ec-primary{background:linear-gradient(135deg,var(--ec-brand-button,#8b612c),var(--ec-brand-secondary,#69472a))!important}.ec-logo{background:linear-gradient(145deg,var(--ec-brand-primary,#9d743d),var(--ec-brand-secondary,#684525))}.ec-custom-logo{display:block;max-width:150px;max-height:42px;margin-left:10px;object-fit:contain}.ec-logo img{width:100%;height:100%;object-fit:cover}.ec-classified-labels{display:flex;justify-content:center;gap:6px;margin-top:12px}.ec-classified-labels span{padding:3px 6px;color:var(--ec-blue);border:1px solid color-mix(in srgb,var(--ec-blue) 35%,transparent);border-radius:4px;font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.ec-security-panel{margin-top:12px;padding:12px;color:var(--ec-muted);background:rgba(255,255,255,.42);border:1px solid var(--ec-line);border-radius:9px;text-align:left}.ec-security-panel>strong{display:block;margin-bottom:6px;color:var(--ec-text);font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.ec-security-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0;padding:0;list-style:none}.ec-security-panel li{font-size:10px}.ec-carrier-orbit.is-selected{animation:ec-carrier-lock .6s cubic-bezier(.2,.8,.25,1.2)}@keyframes ec-carrier-lock{0%{transform:scale(.9)}55%{transform:scale(1.1)}100%{transform:scale(1)}}.ec-password input.is-shaking{animation:ec-field-shake .3s ease-in-out}@keyframes ec-field-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.ec-inspection.is-warning-animated>span{animation:ec-warning-pulse .6s ease-out}@keyframes ec-warning-pulse{50%{transform:scale(1.18)}}.ec-decoded-result:not([hidden]) .ec-output{animation:ec-message-reveal .4s ease-out both}@keyframes ec-message-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ec-mobile-tool-tabs{display:none}
.ec-wheel-off .ec-cipher-wheel{display:none}.ec-wheel-off .ec-intro{grid-template-columns:minmax(0,1fr) auto}.ec-particles-off .ec-payload-flow{display:none}.ec-animations-off *,.ec-success-motion-off .ec-seal,.ec-success-motion-off .ec-unlock-mark{animation:none!important;transition:none!important}.ec-texture-off:before{display:none}.ec-cipher-minimal:before{opacity:.12}.ec-cipher-minimal .ec-alphabet-strip,.ec-cipher-minimal .ec-card:before{display:none}.ec-cipher-mechanical:before{opacity:.78}.ec-cipher-mechanical .ec-cipher-wheel{box-shadow:inset 0 0 0 7px rgba(143,103,53,.09),inset 0 0 0 12px rgba(126,88,43,.2),0 10px 34px rgba(80,58,31,.16)}.ec-intensity-low .ec-payload-flow,.ec-intensity-low .ec-alphabet-strip{opacity:.34}.ec-intensity-high .ec-cipher-wheel{filter:contrast(1.08)}.ec-theme-dark .ec-security-panel{background:rgba(255,255,255,.035)}.ec-theme-dark .ec-custom-logo{filter:brightness(1.1)}
@media(max-width:520px){.ec-custom-logo{max-width:100px;max-height:32px;margin-left:0}.ec-brand-lockup{flex-wrap:wrap}.ec-security-panel ul{grid-template-columns:1fr}.ec-classified-labels{flex-wrap:wrap}}
@media(max-width:1024px){.ec-mobile-tool-tabs{display:flex!important;flex-flow:row nowrap!important;align-items:stretch;gap:5px;width:100%;max-width:100%;margin-bottom:16px;padding:5px;box-sizing:border-box;background:rgba(255,253,248,.78);border:1px solid var(--ec-line);border-radius:12px;box-shadow:0 4px 16px rgba(65,48,25,.06);overflow:hidden}.ec-mobile-tool-tab{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;width:50%;min-height:48px;margin:0;padding:9px 8px;box-sizing:border-box;white-space:nowrap;color:var(--ec-muted);background:transparent;border:1px solid transparent;border-radius:8px;font-weight:800}.ec-mobile-tool-tab[aria-selected=true]{color:#fff;background:linear-gradient(135deg,var(--ec-brand-button,#8b612c),var(--ec-brand-secondary,#69472a));border-color:transparent;box-shadow:0 4px 12px rgba(75,53,29,.18)}.ec-workspace{grid-template-columns:1fr}.ec-mobile-view-encode .ec-decode-card,.ec-mobile-view-decode .ec-encode-card{display:none}.ec-mobile-view-encode .ec-encode-card,.ec-mobile-view-decode .ec-decode-card{display:block}.ec-theme-dark .ec-mobile-tool-tabs{background:rgba(32,30,25,.88)}}
@media(prefers-reduced-motion:reduce){.ec-app *{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}

/* v1.5 enhanced cipher motion: lightweight transform/opacity effects only. */
.ec-cipher-wheel:after{animation:ec-wheel-breathe 5.8s ease-in-out infinite}
.ec-cipher-wheel:before{animation:ec-wheel-reverse 58s linear infinite}
.ec-cipher-wheel .ec-wheel-center:after{position:absolute;inset:-11px;border:1px solid color-mix(in srgb,var(--ec-blue) 45%,transparent);border-top-color:transparent;border-radius:50%;content:"";animation:ec-center-orbit 9s linear infinite}
@keyframes ec-wheel-breathe{0%,100%{opacity:.42;transform:scale(.98)}50%{opacity:.86;transform:scale(1.03)}}
@keyframes ec-wheel-reverse{to{transform:rotate(-360deg)}}
@keyframes ec-center-orbit{to{transform:rotate(360deg)}}
.ec-card:after{position:absolute;z-index:0;top:0;bottom:0;left:-34%;width:22%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(164,112,46,.055),transparent);content:"";transform:skewX(-12deg);animation:ec-archive-scan 12s ease-in-out infinite}
.ec-card>*{position:relative;z-index:1}
.ec-decode-card:after{animation-delay:4.5s}
@keyframes ec-archive-scan{0%,76%{left:-34%;opacity:0}80%{opacity:1}96%,100%{left:115%;opacity:0}}
.ec-primary{position:relative;overflow:hidden}
.ec-primary:after{position:absolute;top:-50%;bottom:-50%;left:-35%;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);content:"";transform:rotate(16deg);transition:left .55s ease}
.ec-primary:hover:after,.ec-primary:focus-visible:after{left:118%}
.ec-mobile-tool-tab[aria-selected=true]{position:relative;overflow:hidden}
.ec-mobile-tool-tab[aria-selected=true]:after{position:absolute;right:12%;bottom:5px;left:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);content:"";animation:ec-tab-signal 2.4s ease-in-out infinite}
@keyframes ec-tab-signal{0%,100%{opacity:.28;transform:scaleX(.55)}50%{opacity:.9;transform:scaleX(1)}}
.ec-result-card:not([hidden]) .ec-result-emoji{animation:ec-carrier-secured .72s cubic-bezier(.2,.8,.25,1.18) both}
.ec-result-card:not([hidden]) .ec-result-emoji:before{position:absolute;z-index:-1;inset:10%;border:1px solid color-mix(in srgb,var(--ec-blue) 50%,transparent);border-radius:50%;box-shadow:0 0 24px color-mix(in srgb,var(--ec-blue) 18%,transparent);content:"";animation:ec-secure-aura 2.8s ease-out 1}
@keyframes ec-carrier-secured{0%{opacity:0;transform:scale(.72) rotate(-5deg)}65%{opacity:1;transform:scale(1.08) rotate(1deg)}100%{transform:none}}
@keyframes ec-secure-aura{0%{opacity:0;transform:scale(.4)}35%{opacity:1}100%{opacity:0;transform:scale(1.75)}}
.ec-payload-flow span:nth-child(1){animation-delay:0s}.ec-payload-flow span:nth-child(2){animation-delay:.22s}.ec-payload-flow span:nth-child(3){animation-delay:.44s}.ec-payload-flow span:nth-child(4){animation-delay:.66s}.ec-payload-flow span:nth-child(5){animation-delay:.88s}
.ec-encode-card.is-processing .ec-carrier-preview{animation:ec-carrier-focus .85s ease-in-out infinite alternate}
@keyframes ec-carrier-focus{to{filter:drop-shadow(0 0 11px rgba(156,111,48,.36));transform:translate(-50%,-50%) scale(1.08)}}
.ec-intensity-low .ec-card:after,.ec-intensity-low .ec-cipher-wheel:after{animation-duration:18s}
.ec-intensity-high .ec-card:after{animation-duration:7s}
.ec-animations-off .ec-primary:after,.ec-animations-off .ec-card:after{display:none}
@media(max-width:520px){.ec-card:after{display:none}.ec-cipher-wheel:before{animation-duration:75s}}
@media(prefers-reduced-motion:reduce){.ec-cipher-wheel:before,.ec-cipher-wheel:after,.ec-cipher-wheel .ec-wheel-center:after,.ec-card:after,.ec-mobile-tool-tab[aria-selected=true]:after,.ec-result-card:not([hidden]) .ec-result-emoji,.ec-result-card:not([hidden]) .ec-result-emoji:before,.ec-encode-card.is-processing .ec-carrier-preview{animation:none!important}.ec-primary:after{display:none}}