:root{--bg:#f5f5f0;--panel:#fff;--text:#26382f;--muted:#7a847b;--line:#e5e8df;--green:#295c45;--soft:#edf3eb;--gold:#c59e52;--nav:#19372c;--shadow:0 8px 30px #20362905;--radius:14px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-family:Georgia,'Times New Roman',serif;font-size:40px;line-height:1.18;font-weight:400;letter-spacing:-1.3px}h2{font-size:17px;font-weight:650;letter-spacing:-.25px}h3{font-size:15px}label{display:block;font-size:12px;font-weight:600;color:var(--muted)}input,select,textarea{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:7px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#659276;box-shadow:0 0 0 3px #6f9c7420}input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--green);flex-shrink:0}input[type=date],input[type=datetime-local]{min-width:0}select[multiple]{padding:6px}select[multiple] option{padding:7px 10px;border-radius:4px}select[multiple] option:checked{background:var(--soft);color:var(--green)}hr{border:0;border-top:1px solid var(--line);margin:26px 0}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--nav);color:#dae5d8;padding:29px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 35px;font:30px/1 Georgia,serif;color:#fff}.brand small{display:block;font:8px/1.8 -apple-system,Arial,sans-serif;letter-spacing:1.6px;margin-top:7px;color:#a7bba9}.brand-mark{width:39px;height:42px;position:relative;font:bold italic 45px/32px Georgia,serif;color:#e9d4a1}.brand-mark span{position:absolute;right:-2px;top:-6px;font:45px Georgia,serif;color:#afc6a3}.nav-label{font-size:9px;letter-spacing:2px;color:#8ca695;padding:0 17px;margin:0 0 13px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;font-size:12px;color:#b8ccbf;border-radius:8px;transition:background .18s}.sidebar nav a:hover{background:#ffffff0b;color:#fff}.sidebar nav a.active{background:#e8eddf;color:#244331;font-weight:650}.sidebar nav a>span{font-size:21px;line-height:22px;width:22px;text-align:center}.sidebar kbd{margin-left:auto;font:10px monospace;opacity:.35}.sidebar-bottom{margin-top:auto;padding:25px 13px 0}.sidebar-bottom p{font-size:11px;color:#8da996;line-height:1.8;margin:12px 0 20px}.local-dot{font-size:10px;color:#c4d6bf}.local-dot:before,.status i{content:'';display:inline-block;width:6px;height:6px;background:#a9c98b;border-radius:50%;margin-right:8px}.sidebar-link{display:block;background:none;border:0;color:#b6cbbb;font-size:11px;padding:6px 0;font-weight:400}.sidebar-link:hover{color:white}.version{font-size:7px;letter-spacing:1px;color:#8ba18d;display:block;margin-top:24px}.workspace{margin-left:226px}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--panel)}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{padding:0 14px;opacity:.4}.breadcrumb strong{font-weight:500;color:var(--text)}.topbar-right{display:flex;align-items:center;gap:14px}.status{font-size:10px;color:var(--muted)}.status i{background:#6a986b;margin-right:5px}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:29px;height:29px;display:inline-flex;justify-content:center;align-items:center;color:var(--muted);padding:0}main{max-width:1510px;margin:auto;padding:34px 42px 0}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--green);font-weight:700;margin-bottom:9px}.page-heading p{font-size:12px;color:var(--muted);margin-top:12px}.edition-badge{font-size:10px;border:1px solid var(--line);padding:7px 11px;border-radius:20px;background:#f0f1e9;white-space:nowrap;color:#828b78}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:22px;min-width:0}.input-panel{padding:18px 24px 15px}.panel-top{display:flex;justify-content:space-between;align-items:center}.panel-top>label{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.inline-actions,.button-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#phrase{font:25px/1.6 Georgia,serif;letter-spacing:-.3px;border:0;border-radius:0;padding:8px 0 3px;min-height:91px;max-height:320px;box-shadow:none;margin:0;color:var(--text)}.input-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:14px;margin-top:13px}#text-stats{font-size:10px}.text-button{border:0;background:none;color:var(--green);font-size:11px;padding:5px 0}.text-button:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:7px;padding:9px 13px;font-size:11px;font-weight:550;line-height:1.5;text-align:center;white-space:nowrap}.button.primary{background:var(--green);color:#fff}.button.primary:hover{filter:brightness(1.12)}.button.subtle{background:var(--soft);color:var(--green)}.button.outline{background:transparent;border-color:var(--line);color:var(--text)}.button.danger{background:#fbeaea;color:#aa4242}.button:disabled{opacity:.5;cursor:wait}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:27px 0 15px;gap:12px}.toolbar-title{display:flex;align-items:center;gap:8px}.count-badge{display:inline-block;background:#e9ede3;color:#7b8775;border-radius:5px;padding:1px 6px;font:10px/1.8 monospace;vertical-align:middle}.options-strip{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 12px}.option-tag{font-size:9px;background:var(--soft);color:var(--muted);padding:2px 8px;border-radius:4px}.cipher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.cipher-card{position:relative;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:15px 18px 14px;min-width:0;transition:transform .12s,border-color .12s}.cipher-card:hover{transform:translateY(-2px);border-color:#a9b8a0}.cipher-card.selected{border-color:var(--green);background:var(--soft);box-shadow:0 0 0 1px var(--green)}.cipher-card.selected:after{content:'↙';position:absolute;right:14px;top:12px;color:var(--green);font-size:11px}.cipher-card .cipher-name{display:block;font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.cipher-card .cipher-value{display:block;font:38px/1.35 Georgia,serif;letter-spacing:-1px;margin:4px 0;color:var(--green);overflow-wrap:anywhere}.cipher-card .cipher-meta{font:9px/1.5 monospace;color:var(--muted)}.cipher-card:nth-child(4n+2) .cipher-value{color:#947642}.cipher-card:nth-child(4n+3) .cipher-value{color:#667a9d}.cipher-card:nth-child(4n+4) .cipher-value{color:#8b6c8a}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail-layout{grid-template-columns:minmax(0,1.85fr) minmax(230px,1fr)}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.panel-title .eyebrow{font-size:8px;margin-bottom:4px}.breakdown-label{font-size:11px;color:var(--muted);margin-bottom:16px}.word-blocks{display:flex;gap:16px;flex-wrap:wrap}.word-block{display:flex;flex-direction:column;gap:5px}.letter-row{display:flex;gap:4px;direction:ltr}.letter-box{text-align:center;min-width:27px;border-radius:5px;overflow:hidden}.letter-box b{display:block;font-size:16px;font-weight:500;background:var(--soft);padding:3px 5px}.letter-box small{display:block;font:9px/2 monospace;color:var(--muted)}.word-total{text-align:center;border-top:1px solid var(--line);font:10px/2 monospace;color:var(--green)}.breakdown-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:10px}.breakdown-total strong{font:26px Georgia,serif;color:var(--green)}.insight-value{font:53px/1.25 Georgia,serif;color:var(--green);margin:17px 0 12px;overflow-wrap:anywhere}.insight-links{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 19px}.pill{display:inline-block;background:var(--soft);color:var(--green);padding:4px 9px;border-radius:20px;font-size:10px;border:0}.small{font-size:11px}.muted{color:var(--muted)}.notebook .panel-title{margin-bottom:7px}.history-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.history-row:last-child{border:0}.history-phrase{background:none;border:0;padding:0;text-align:left;color:var(--text);max-width:65%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.history-values{font:10px monospace;color:var(--muted)}.delete-entry{border:0;background:transparent;color:var(--muted);padding:0 5px}.empty-state{text-align:center;padding:24px;color:var(--muted)}.empty-state>span{display:block;font:32px Georgia,serif;color:#a2b39b;margin-bottom:10px}.empty-state h3{color:var(--text);font-weight:500;font-size:13px}.empty-state p{font-size:11px;margin-top:6px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin:14px 0}.form-grid.four{grid-template-columns:repeat(4,1fr)}.compact-form{display:flex;gap:16px;align-items:end}.compact-form label{flex:1}.check-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:400}.inline-label{display:flex;align-items:center;gap:9px;font-weight:400}.inline-label input{width:70px;margin:0}.notice{font-size:12px;color:var(--muted);margin:16px 0}.notice:empty{display:none}.notice.error,.error-box{color:#a84242;background:#fcf1ed;border-radius:8px;padding:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:9px;letter-spacing:.4px;color:var(--muted);font-weight:550;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td.number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.match-cell{background:#e4efdc!important;color:#315b35!important;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:20px 0}.metric{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}.metric span{font-size:10px;color:var(--muted);display:block}.metric strong{display:block;font:29px/1.4 Georgia,serif;color:var(--green);margin-top:8px;overflow-wrap:anywhere}.result-line{display:block;font:23px/1.6 ui-monospace,Consolas,monospace;color:var(--green);margin-top:18px;overflow-wrap:anywhere}.date-range{display:flex;gap:24px;align-items:center}.date-range label{flex:1}.date-range input{font:23px Georgia,serif;padding:14px}.date-arrow{font-size:24px;color:#aab6a2;margin-top:20px}.info-list{display:grid;gap:10px;margin-top:18px}.info-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:12px}.info-item>span{color:var(--muted)}.info-item strong{font-weight:500;text-align:right;overflow-wrap:anywhere;min-width:0}.verse{padding:16px 0;border-bottom:1px solid var(--line)}.verse:first-child{padding-top:0}.verse-ref{font-size:10px;color:var(--green);font-weight:650;margin-bottom:7px}.verse p{font:17px/1.8 Georgia,serif}.verse .button{margin-top:10px}.chart-layout{display:grid;grid-template-columns:minmax(280px,1.1fr) 1fr;gap:24px}.chart-svg{display:block;width:100%;max-height:450px}.sky-table td,.sky-table th{padding:8px}.retro{font-size:9px;color:#b6784a;background:#faf1df;padding:1px 4px;border-radius:3px}.moon-visual{width:74px;height:74px;background:#1e392e;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 0 0 8px var(--soft);margin:16px auto 25px}.moon-visual:after{content:'';position:absolute;inset:0;background:#d9cba6;border-radius:50%;transform:translateX(var(--phase,30%))}.phase-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.phase-item{background:var(--soft);border-radius:7px;padding:12px;font-size:11px}.phase-item b{display:block;font-weight:550;margin-bottom:4px}details summary{cursor:pointer;color:var(--green);font-size:12px;padding:10px 0}.prose h2{margin:24px 0 10px}.prose h2:first-child{margin-top:0}.prose p{font-size:13px;color:var(--muted);margin:0 0 12px;max-width:85ch}.prose .button-row{margin-top:24px}footer{font-size:10px;letter-spacing:1px;display:flex;gap:16px;padding:28px 0 23px;color:#9ba494;border-top:1px solid var(--line);margin-top:23px}footer span{font-size:9px;letter-spacing:0}footer span:last-child{margin-left:auto}dialog{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;padding:26px;width:min(720px,94vw);max-height:88vh;box-shadow:0 30px 100px #10261d40}dialog::backdrop{background:#10261d66;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-header h2{font:27px Georgia,serif}.dialog-footer{position:sticky;bottom:-26px;background:var(--panel);border-top:1px solid var(--line);padding:16px 0 0;margin-top:22px;display:flex;justify-content:space-between;gap:12px}dialog>label,dialog form>label{margin:15px 0}.presets{margin:16px 0}.cipher-group-title{font-size:10px;letter-spacing:1px;color:var(--muted);margin:20px 0 10px}.picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cipher-option{border:1px solid var(--line);border-radius:7px;padding:10px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:400;cursor:pointer;color:var(--text)}.cipher-option:has(input:checked){background:var(--soft);border-color:#a3b99c}.cipher-option .text-button{margin-left:auto}.alphabet-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin-top:20px}.alphabet-cell{text-align:center;padding:9px;background:var(--soft);border-radius:6px}.alphabet-cell b{display:block;font-size:20px;font-weight:400}.alphabet-cell span{font:11px monospace;color:var(--muted)}#keyboards{border-top:1px solid var(--line);padding:10px 0}#keyboards button{border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--text);margin:3px;width:29px;height:31px;font-size:17px}#toast{position:fixed;bottom:25px;left:calc(50% + 113px);transform:translateX(-50%) translateY(15px);opacity:0;pointer-events:none;background:#203c2f;color:white;border-radius:9px;padding:12px 22px;font-size:12px;z-index:100;box-shadow:0 10px 25px #0002;transition:all .18s;max-width:80vw}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.skip{position:fixed;top:-50px;left:10px;background:var(--green);color:white;padding:10px;z-index:200}.skip:focus{top:10px}:focus-visible{outline:2px solid #8ca260;outline-offset:3px}body.dark{--bg:#15211d;--panel:#1d2c25;--text:#e1e8dc;--muted:#a0b19f;--line:#33453a;--green:#96bd91;--soft:#2a3d30;--nav:#10271c;color-scheme:dark}body.dark .button.primary{background:#527d50;color:#fff}body.dark .edition-badge{background:#253b2c}body.dark .match-cell{background:#355b32!important;color:#d4f0c5!important}.mono{font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;margin-top:18px}.search-progress{width:100%;accent-color:var(--green);height:7px}.source-badge{font-size:9px;color:var(--muted);background:var(--soft);border-radius:4px;padding:3px 6px}.pair-table td:first-child{min-width:180px}.word-ignored{margin-top:12px;font-size:10px;color:#af794b}.loading{opacity:.65}.natal-note{font-size:10px;padding:8px 12px;background:var(--soft);border-radius:7px;margin-top:10px}
@media(min-width:1500px){main{padding-top:45px}.page-heading{margin-bottom:32px}h1{font-size:45px}.cipher-card{padding:19px 22px}.cipher-card .cipher-value{font-size:44px}}
@media(max-width:1150px){.sidebar{width:195px;padding:26px 11px}.brand{font-size:28px}.brand small{font-size:7px}.workspace{margin-left:195px}main{padding:28px 26px 0}.topbar{padding:0 26px}.sidebar nav a{font-size:11px;gap:8px}.sidebar kbd{display:none}.cipher-grid{gap:10px}.cipher-card{padding:13px}.edition-badge{display:none}.detail-layout{grid-template-columns:1.6fr 1fr}h1{font-size:33px}#toast{left:calc(50% + 97px)}.button{padding:9px 10px}.chart-layout{grid-template-columns:1fr}.topbar-right .status{display:none}}


/* Nombre completo, con espacio reservado para el icono y las dos líneas. */
.brand{gap:9px;align-items:flex-start;font-size:25px;letter-spacing:-.4px}
.brand-mark{display:block;width:34px;height:34px;flex:0 0 34px;object-fit:contain;margin-top:4px}
.brand-name{display:block;min-width:0;line-height:1.02}
.brand-name>span{display:block;font-size:21px;line-height:1.2;letter-spacing:.1px}
.brand-name>small{font-size:6px;letter-spacing:.65px;line-height:1.7;margin-top:8px;white-space:nowrap}
@media(min-width:901px) and (max-width:1150px){.brand{padding-left:5px;padding-right:5px;font-size:23px}.brand-mark{width:30px;height:30px;flex-basis:30px}.brand-name>span{font-size:20px}.brand-name>small{font-size:5.5px;letter-spacing:.45px}}
/* La mascota forma parte del pie: no se superpone al contenido ni recibe pulsaciones. */
.site-footer{align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:18px;padding-bottom:18px}
.footer-signature{display:flex;align-items:center;gap:14px;min-width:0;max-width:100%}
.site-mascot{display:block;width:84px;height:112px;flex:0 0 auto;object-fit:contain;opacity:.82;pointer-events:none;user-select:none;-webkit-user-select:none}
.footer-wordmark{min-width:0;color:var(--muted);font-size:11px;letter-spacing:1.8px}
.footer-wordmark>span{display:block;margin-top:5px;font-size:10px;letter-spacing:0;line-height:1.6;overflow-wrap:break-word}
.site-footer>.footer-credit{font-size:10px;line-height:1.6}
@media print{.sidebar,.topbar,button,.button,footer,#toast,dialog{display:none!important}.workspace{margin:0}main{padding:0}.page-heading h1{font-size:28px}body{background:#fff}.panel{break-inside:avoid;box-shadow:none}.cipher-grid{grid-template-columns:repeat(4,1fr)}}
