:root{--primary: #2c3e50;--secondary: #34495e;--accent: #3498db;--bg-color: #fcfcfc;--text-color: #333;--muted-text: #666;--border-color: #eee;--header-bg: #fff;--container-width: 900px;--sans: 'Inter', system-ui, -apple-system, sans-serif;--serif: 'EB Garamond', Georgia, serif}@font-face{font-family:"NotoSerif";src:url("/assets/NotoSerif-Regular-1fb427c8.ttf") format("truetype");font-display:swap}@font-face{font-family:"NotoSerifToto";src:url("/assets/NotoSerifToto-Regular-8510e3d0.ttf") format("truetype");font-display:swap}@font-face{font-family:"NotoSerifBengali";src:url("/assets/NotoSerifBengali-Regular-7f05daae.ttf") format("truetype");font-display:swap}*{box-sizing:border-box}body{font-family:var(--sans);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;margin:0;display:flex;flex-direction:column;min-height:100vh}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.main-header{background-color:var(--header-bg);border-bottom:1px solid var(--border-color);padding:.75rem 0;box-shadow:0 2px 4px rgba(0,0,0,.02)}.nav-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}h1#title{font-size:2rem;margin:0;font-family:"Libre Baskerville",serif;color:var(--primary);line-height:1.2}.entry-total-count{font-size:.9rem;font-family:var(--sans);color:var(--muted-text);font-weight:400;display:block;margin-top:-0.2rem}.brand{font-size:1.25rem;font-weight:800;color:var(--primary);text-decoration:none;letter-spacing:-0.5px;display:flex;align-items:center;gap:.6rem}#main-logo{height:150px !important;width:auto !important;margin:0;mix-blend-mode:multiply;display:block}.nav-links{display:flex;flex-direction:row;gap:1.5rem;align-items:center}.nav-links a{color:var(--muted-text);text-decoration:none;font-size:.95rem;font-weight:600;transition:color .2s}.nav-links a:hover{color:var(--accent)}.nav-links a.btn-login{background:var(--primary);color:#fff;padding:.6rem 1.25rem;border-radius:8px;font-weight:700;transition:all .2s}.nav-links a.btn-login:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px rgba(52,152,219,.2)}@media(max-width: 768px){.nav-bar{flex-direction:column;gap:1.5rem;text-align:center}.nav-links{margin-top:1rem;flex-direction:row;justify-content:center;width:100%}#main-logo{height:100px !important}}.flash{padding:1rem;margin:1rem 0;border-radius:6px;font-size:.9rem}.flash.notice{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.flash.alert{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}main{flex:1;padding:2rem 0}h1,h2,h3{color:var(--primary);margin-top:0}h1{font-size:2.5rem;font-weight:800;margin-bottom:2rem}.dictionary-list{list-style:none;padding:0;margin:2rem 0}.dictionary-entry{padding:1.5rem 0;border-bottom:1px solid var(--border-color)}.dictionary-entry:last-child{border-bottom:none}.entry-headword-wrap{display:flex;align-items:baseline;gap:1rem;margin-bottom:.5rem}.headwords-list{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:baseline}.headword-item{display:flex;align-items:baseline;gap:.5rem}.entry-headword{font-family:NotoSerif;font-size:1.8rem;font-weight:800;color:var(--primary);margin:0}.entry-headword a{text-decoration:none;color:inherit;transition:color .2s ease}.entry-headword a:hover{color:var(--accent)}.txo-qaaa-in-x-toto{font-family:"NotoSerifToto"}.txo-beng-fonipa-x-emic{font-family:"NotoSerifBengali","NotoSerif",system-ui}.entry-lang-tag{font-size:.75rem;text-transform:uppercase;background:#eee;padding:2px 6px;border-radius:4px;color:var(--muted-text);font-weight:600;font-family:var(--sans)}.senses-container{font-family:var(--serif);font-size:1.2rem;padding-left:1rem}.sense-item{margin-bottom:.5rem}.sense-number{font-weight:800;font-style:italic;margin-right:.5rem}.grammatical-info{font-style:italic;color:var(--muted-text);font-size:1.1rem;margin-right:.5rem}.gloss-text{color:var(--text-color)}.search-form{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:1rem;border-radius:8px;border:1px solid var(--border-color)}.search-field{flex:1;padding:.8rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-family:var(--sans);font-size:1rem}.btn{padding:.8rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:opacity .2s;text-decoration:none;display:inline-block}.btn-primary{background-color:var(--primary);color:#fff}.btn-accent{background-color:var(--accent);color:#fff}.btn:hover{opacity:.9}.sort-controls{margin-bottom:2rem;font-size:.9rem;color:var(--muted-text);display:flex;align-items:center;gap:.8rem}.sort-select{padding:.5rem 2rem .5rem .8rem;border:1px solid var(--border-color);border-radius:6px;background-color:#fff;font-family:var(--sans);font-size:.9rem;color:var(--primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - .8rem) center}.sort-select:focus{outline:none;border-color:var(--accent)}@media(max-width: 600px){.search-form{flex-direction:column}.sort-controls{flex-direction:column;align-items:flex-start;gap:.4rem}.sort-select{width:100%}}.form-section{margin-bottom:3rem;background:#fdfdfd;padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.form-section h3{border-bottom:2px solid var(--primary);padding-bottom:.5rem;margin-bottom:1.5rem}.headwords-entry-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:1.5rem}.headword-field{background:#fff;padding:1rem;border-radius:8px;border:1px solid var(--border-color)}.btn-link{background:none;border:none;padding:0;font-family:var(--sans);font-weight:600;cursor:pointer;text-decoration:underline}.sense-fields-card{transition:box-shadow .2s;background:#fff}.sense-fields-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.05)}.main-footer{padding:2rem 0;border-top:1px solid var(--border-color);color:var(--muted-text);font-size:.85rem;text-align:center}.main-footer .footer-links{margin-top:.5rem}.main-footer .footer-links a{color:var(--muted-text);text-decoration:none;margin:0 .5rem}.main-footer .footer-links a:hover{color:var(--accent);text-decoration:underline}.main-footer .language-switcher{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--border-color)}.main-footer .language-switcher a{color:var(--muted-text);text-decoration:none;margin:0 .75rem;font-weight:500;transition:color .2s}.main-footer .language-switcher a:hover{color:var(--accent)}.main-footer .language-switcher a[href*="locale=bn"],.main-footer .language-switcher a[href*="locale=ne"]{font-size:1.1rem}.pagination{margin:2rem 0;text-align:center;font-family:var(--sans)}.pagination span{padding:.5rem 1rem;margin:0 2px;border:1px solid var(--border-color);border-radius:4px}.pagination a{text-decoration:none;color:var(--primary)}.pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}.dictionary-entry-detail{background:#fff;padding:3rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 20px rgba(0,0,0,.03)}.sense-block{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px dashed var(--border-color)}.sense-block:last-child{border-bottom:none}.sense-heading{margin-bottom:1rem}.sense-content{font-family:var(--serif);font-size:1.3rem}.definitions ul{margin-top:.5rem;padding-left:1.5rem}.lang-code{font-family:var(--sans);font-size:.8rem;color:var(--muted-text)}.traits-section,.comments-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--primary)}.traits-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:1.5rem}.trait-item dt{font-weight:700;font-size:.8rem;text-transform:uppercase;color:var(--muted-text)}.trait-item dd{margin:0;font-size:1.1rem;color:var(--primary)}.comment-item{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1rem}.comment-author{font-weight:700;font-size:.85rem;color:var(--accent);margin-bottom:.2rem}.comment-body{font-size:.95rem}.muted{color:var(--muted-text);font-style:italic}.comment-form-wrap{margin-top:2rem;background:#fff;padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.actions-bar{margin-bottom:1rem;text-align:right}.entry-header{margin-bottom:1rem}.form-label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem}.file-input{display:block;width:100%;padding:.5rem 0;margin-bottom:1.5rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:1rem;margin:1.5rem 0}.checkbox-item{display:flex;align-items:center;gap:.5rem}.custom-checkbox{width:18px;height:18px;cursor:pointer}.checkbox-label{font-size:.95rem;cursor:pointer}.import-form{max-width:500px}.keyboard-container{position:relative;display:flex;align-items:center;gap:.5rem}.keyboard-trigger{background:none;border:1px solid var(--border-color);border-radius:4px;padding:.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s;height:38px;width:38px;color:var(--muted-text)}.keyboard-trigger:hover{background-color:#f0f0f0;border-color:var(--accent);color:var(--accent)}.keyboard-trigger svg{width:20px;height:20px}.keyboard-popover{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:1rem;display:flex;flex-wrap:wrap;gap:.4rem;max-width:300px;z-index:1000;display:none}.keyboard-popover.is-visible{display:flex}.keyboard-char-btn{background:#f8f9fa;border:1px solid var(--border-color);border-radius:4px;padding:.4rem .6rem;font-size:1.1rem;cursor:pointer;transition:background-color .1s;min-width:32px;text-align:center}.keyboard-char-btn:hover{background-color:var(--accent);color:#fff;border-color:var(--accent)}.keyboard-char-btn:active{transform:translateY(1px)}.import-container{max-width:600px;margin:2rem 0}.progress-container{width:100%;height:24px;background-color:#eee;border-radius:12px;overflow:hidden;margin:1.5rem 0;border:1px solid var(--border-color)}.progress-bar{height:100%;background-color:var(--accent);transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700}.import-results{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid var(--border-color)}.results-summary{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.failure-list{list-style:none;padding:0}.failure-item{padding:1rem;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;margin-bottom:.75rem}.failure-id{font-weight:700;color:#c53030;display:block;font-size:.9rem}.failure-error{font-size:.85rem;color:#742a2a}.auth-container{display:flex;justify-content:center;align-items:flex-start;padding-top:5vh;min-height:calc(100vh - 300px)}.auth-card{background:#fff;padding:3rem;border-radius:16px;border:1px solid var(--border-color);box-shadow:0 10px 25px rgba(0,0,0,.05);width:100%;max-width:450px;text-align:center}.auth-card h2{font-family:var(--serif);font-size:2.2rem;margin-bottom:2rem;font-weight:800;color:var(--primary)}.auth-card .field{text-align:left;margin-bottom:1.5rem}.auth-card .field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:var(--secondary)}.auth-card .field input[type=email],.auth-card .field input[type=password],.auth-card .field input[type=text]{width:100%;padding:.8rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-family:var(--sans);font-size:1rem;background-color:#f9f9f9;transition:all .2s}.auth-card .field input[type=email]:focus,.auth-card .field input[type=password]:focus,.auth-card .field input[type=text]:focus{outline:none;background-color:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(52,152,219,.1)}.auth-card .field .checkbox-wrap{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted-text)}.auth-card .field .checkbox-wrap input[type=checkbox]{width:18px;height:18px;cursor:pointer}.auth-card .actions{margin-top:2rem}.auth-card .actions input[type=submit]{width:100%;padding:1rem;font-size:1.1rem;font-weight:700;border:none;background-color:var(--primary);color:#fff;border-radius:8px;cursor:pointer;transition:opacity .2s}.auth-card .actions input[type=submit]:hover{opacity:.9}.auth-card .auth-links{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.auth-card .auth-links a{color:var(--accent);text-decoration:none;font-size:.9rem;font-weight:500}.auth-card .auth-links a:hover{text-decoration:underline}.auth-card #error_explanation{margin-bottom:2rem;padding:1.25rem;background:#fff5f5;border:1px solid #feb2b2;border-radius:10px;text-align:left}.auth-card #error_explanation h2{font-size:.95rem;color:#c53030;margin-bottom:.75rem;font-family:var(--sans);font-weight:700}.auth-card #error_explanation ul{margin:0;padding-left:1.25rem;font-size:.85rem;color:#742a2a;list-style-type:disc}.auth-card #error_explanation ul li{margin-bottom:.25rem}
