html * {
  font-family: "Vazirmatn", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100 900;
  font-style: normal;
}

:root{
		--paper:#F6F7F3;
		--paper-alt:#EEF0E9;
		--card:#FFFFFF;
		--ink:#1C2541;
		--ink-soft:#5B6478;
		--ink-faint:#98A0B3;
		--accent:#2C6E63;
		--accent-dark:#1F5148;
		--gold:#C99A3D;
		--border:#E4E6DE;
		--border-strong:#CACDC0;
		--radius:10px;
		--radius-sm:6px;
		--max:1200px;
		--shadow:0 1px 2px rgba(28,37,65,.04), 0 6px 20px rgba(28,37,65,.05);
		--shadow-hover:0 4px 10px rgba(28,37,65,.06), 0 14px 32px rgba(28,37,65,.08);
	}

	*{box-sizing:border-box;}
	html,body{margin:0;padding:0;}
	*:focus{outline:none;}
	*:focus-visible{outline:none;}

	body{
		background:var(--paper);
		color:var(--ink);
		font-size:16px;
		line-height:1.55;
		-webkit-font-smoothing:antialiased;
	}

	a{color:inherit;text-decoration:none;}

	.wrap{max-width:var(--max);margin:0 auto;padding:0 20px;}

	.topbar{
		background:var(--card);
		border-bottom:1px solid var(--border);
		box-shadow:var(--shadow);
		position:relative;
		z-index:2;
	}
	.topbar-inner{
		max-width:var(--max);
		margin:0 auto;
		padding:8px 20px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:16px;
		flex-wrap:wrap;
	}
	.brand{
		display:flex;
		align-items:center;
		gap:10px;
		flex:0 0 auto;
	}
	.seal{
		width:36px;
		height:36px;
		flex:none;
		border-radius:8px;
		object-fit:contain;
		background:var(--paper-alt);
	}
	.brand-text{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		line-height:1.15;
		gap:1px;
	}
	.brand-ata{
		font-weight:700;
		font-size:18px;
		letter-spacing:.04em;
		color:var(--ink);
	}
	.brand-sub{
		font-size:9.5px;
		font-weight:500;
		letter-spacing:.01em;
		color:var(--ink-soft);
		white-space:nowrap;
	}
	.brand-count{
		font-size:11px;
		color:var(--ink-faint);
		font-weight:600;
	}
	.topbar-start{
		display:flex;
		align-items:center;
		gap:14px;
		flex:0 0 auto;
	}
	.topbar-nav{
		display:flex;
		align-items:center;
		justify-content:flex-end;
		flex-wrap:wrap;
		gap:8px;
		list-style:none;
		margin:0;
		padding:0;
		flex:0 0 auto;
	}
	.topbar-nav a{
		display:inline-flex;
		align-items:center;
		gap:6px;
		font-size:13px;
		padding:5px 10px;
		border:1px solid var(--border-strong);
		border-radius:5px;
		white-space:nowrap;
		transition:border-color .15s ease,color .15s ease;
		background: var(--paper-alt)
	}
	.topbar-nav a:hover,
	.topbar-nav a:focus-visible{
		border-color:var(--accent);
		color:var(--accent-dark);
	}
	.topbar-nav svg{width:14px;height:14px;flex:none;}
	.topbar-end{
		display:flex;
		align-items:center;
		gap:10px;
		flex:0 0 auto;
	}
	.lang-switch{
		display:flex;
		align-items:center;
		gap:4px;
		list-style:none;
		margin:0;
		padding:0;
	}
	.lang-switch a{
		display:inline-block;
		font-size: 12px;
		line-height: 1.2;
		padding: 6px 7px;
		border:1px solid #c8c8c8;
		border-radius:4px;
		font-weight:400;
		transition:border-color .15s ease,color .15s ease;
	}
	.lang-switch a:hover,
	.lang-switch a.is-active{
		border-color:var(--accent);
		color:var(--accent-dark);
		font-weight:400;
	}
	.entry-count-badge{
		font-size:12.5px;
		color:var(--ink-soft);
		background:var(--paper-alt);
		border-radius:999px;
		padding:6px 13px;
		white-space:nowrap;
		border: 1px solid var(--accent-dark);
	}
	.entry-count-badge strong{color:var(--accent-dark);font-weight:700;}

	@media (max-width:800px){
		.topbar-start,
		.topbar-end{width:100%;}
		.topbar-end{justify-content:flex-end;}
	}

	.letters-bar{padding:10px 0;}
	.letters-row{
		display:flex;
		flex-wrap:nowrap;
		justify-content:center;
		gap:2px;
		overflow-x:auto;
		padding-bottom:4px;
		scrollbar-width:thin;
	}
	.letters-row::-webkit-scrollbar{height:5px;}
	.letters-row::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;}
	.letter-col{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:2px;
		flex:0 0 auto;
		max-width:30px;
		min-width:30px;
	}
	.letter-col a{
		display:block;
		width:100%;
		text-align:center;
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius-sm);
		padding:4px 0;
		font-size:14px;
		font-weight:400;
		color:var(--ink);
		transition:background-color .15s ease, border-color .15s ease, color .15s ease;
	}
	.alternatve-azb a{background:rgba(255, 255, 255, 0.26);}
	.letter-col a:hover{
		background:var(--card);
		border-color:var(--accent);
		color:var(--accent-dark);
	}
	.letter-col .azb-from a{
		direction:rtl;
		unicode-bidi:isolate;
		max-width:30px;
		min-width:30px;
	}
	.letter-col .letter-count{
		font-size:11px;
		color:var(--ink-faint);
		margin-top:10px;
		transform:rotate(90deg);
	}
	@media (max-width:640px){
		.letter-col{min-width:36px;}
		.letter-col a{font-size:12px;padding:3px 6px;}
	}

	.hero{padding:30px 0 56px;text-align:center;}
	.hero h1{margin:0 0 8px;font-size:48px;font-weight:700;letter-spacing:.005em;}
	.hero p.desc{margin:0 0 34px;color:var(--ink-soft);font-size:15px;}
	.back-link{
		display:inline-block;
		font-size:13.5px;
		font-weight:600;
		color:var(--accent-dark);
		background:var(--card);
		border:1px solid var(--border-strong);
		border-radius:999px;
		padding:7px 16px;
		margin-bottom:22px;
		transition:border-color .15s ease;
	}
	.back-link:hover{border-color:var(--accent);}

	.search-wrap{position:relative;max-width:600px;margin:0 auto;text-align:start;}
	.search-form{display:block;position:relative;}
	.search-form input[type="text"]{
		width:100%;
		padding:15px 48px 15px 18px;
		font-size:16px;
		color:var(--ink);
		background:var(--card);
		border:1px solid var(--border-strong);
		border-radius:var(--radius);
		transition:border-color .15s ease;
	}
	.search-form input[type="text"]:hover,
	.search-form input[type="text"]:focus{border-color:var(--accent);}
	.search-form button{
		position:absolute;
		top:50%;
		right:6px;
		transform:translateY(-50%);
		width:38px;
		height:38px;
		padding:0;
		display:flex;
		align-items:center;
		justify-content:center;
		color:var(--accent-dark);
		background:transparent;
		border:none;
		border-radius:var(--radius-sm);
		cursor:pointer;
	}
	.search-form button:hover{color:var(--accent);}
	.search-form button svg{width:20px;height:20px;}
	.search-suggest{
		display:none;
		position:absolute;
		top:calc(100% + 6px);
		left:0;
		right:0;
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		box-shadow:var(--shadow-hover);
		z-index:8;
		overflow:hidden;
		pointer-events:none;
		text-align:start;
	}
	.search-suggest.is-open{display:block;}
	.search-suggest-item{
		padding:10px 16px;
		font-size:14.5px;
		border-bottom:1px solid var(--border);
		color:var(--ink);
	}
	.search-suggest-item:last-child{border-bottom:none;}
	.search-suggest-item .azb{
		color:var(--ink-soft);
	}
	.search-suggest-empty{
		padding:12px 16px;
		font-size:13.5px;
		color:var(--ink-faint);
	}

	@media (max-width:640px){
		.hero{padding:52px 0 40px;}
		.hero h1{font-size:24px;}
	}

	.section{padding:0 0 40px;}
	.section-title{
		font-size:12.5px;
		font-weight:600;
		text-transform:uppercase;
		letter-spacing:.09em;
		color:var(--ink-faint);
		margin:0 0 16px;
	}

	.wotd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px;}
	.wotd-grid .wotd-card{margin-bottom:0;}
	@media (max-width:800px){.wotd-grid{grid-template-columns:1fr;}}
	.wotd-card,.entry-card{
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		box-shadow:var(--shadow);
		padding:30px 32px;
		margin-bottom:8px;
		display:block;
		position:relative;
		overflow:hidden;
		color:inherit;
		transition:border-color .15s ease, box-shadow .15s ease;
	}
	a.wotd-card:hover,a.entry-card:hover{
		border-color:var(--accent);
		box-shadow:var(--shadow-hover);
	}
	.entry-card{padding:22px 24px;margin-bottom:14px;}
	.wotd-tag{
		display:inline-block;
		font-size:11.5px;
		font-weight:700;
		letter-spacing:.08em;
		text-transform:uppercase;
		color:var(--accent-dark);
		background:rgba(44,110,99,.09);
		border-radius:999px;
		padding:5px 12px;
		margin-bottom:16px;
	}
	.entry-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
	.entry-word,.wotd-word{font-size:21px;font-weight:700;color:var(--ink);}
	.wotd-word{font-size:28px;}
	.type-box{
		display:inline-block;
		font-size:12.5px;
		color:var(--ink-soft);
		background:var(--paper-alt);
		border-radius:var(--radius-sm);
		padding:4px 10px;
		margin-bottom:14px;
	}
	.wotd-explanation,.entry-explanation{font-size:16.5px;color:var(--ink);margin:0 0 10px;}
	.entry-explanation{font-size:15.5px;}
	.wotd-scientific,.entry-scientific{
		font-size:13.5px;
		font-style:italic;
		color:var(--ink-faint);
		border-top:1px solid var(--border);
		padding-top:12px;
		margin-top:14px;
	}
	.empty-state{
		color:var(--ink-soft);font-size:14.5px;
		border:1px dashed var(--border-strong);
		border-radius:var(--radius);padding:20px;
		text-align:center;
	}

	@media (max-width:640px){
		.wotd-card{padding:22px 20px;}
		.wotd-word{font-size:22px;}
	}

	.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
	@media (max-width:800px){.tile-grid{grid-template-columns:1fr;}}
	.tile{
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		padding:14px 18px 16px;
	}
	.tile h3{
		margin:0 0 8px;
		font-size:12.5px;
		font-weight:600;
		letter-spacing:.02em;
		color:var(--ink-soft);
		text-transform:uppercase;
		border-bottom:1px solid var(--border);
		padding-bottom:8px;
	}
	.kv-list{list-style:none;margin:0;padding:0;}
	.kv-list li{
		display:flex;justify-content:space-between;gap:8px;
		padding:4px 0;font-size:13.5px;
		border-bottom:1px dotted var(--border);
	}
	.kv-list li:last-child{border-bottom:none;}
	.kv-list .k{color:var(--ink-soft);}
	.kv-list .v{color:var(--ink);font-weight:500;text-align:right;white-space:nowrap;}
	.kv-list--grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;}
	.kv-list--grid li{grid-column:span 1;}
	@media (max-width:520px){.kv-list--grid{grid-template-columns:1fr;}}

	.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
	@media (max-width:920px){.category-grid{grid-template-columns:repeat(2,1fr);}}
	@media (max-width:480px){.category-grid{grid-template-columns:1fr;}}
	.category-tile{
		display:flex;
		flex-direction:column;
		gap:10px;
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		box-shadow:var(--shadow);
		padding:20px 20px 18px;
		transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
		align-items:center;
	}
	.category-tile:hover{
		border-color:var(--accent);
		box-shadow:var(--shadow-hover);
		transform:translateY(-2px);
	}
	.category-icon{
		width:38px;height:38px;
		display:flex;align-items:center;justify-content:center;
		background:rgba(44,110,99,.09);
		border-radius:var(--radius-sm);
		color:var(--accent-dark);
	}
	.category-icon svg{width:20px;height:20px;}
	.category-name{
		unicode-bidi:isolate;
		text-align:center;
		font-size:16px;
		font-weight:600;
		color:var(--ink);
	}
	.category-desc{font-size:13px;color:var(--ink-faint);}
	.category-desc strong{color:var(--ink-soft);font-weight:600;}

	.table-card{
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		box-shadow:var(--shadow);
		overflow-x:auto;
	}
	.list-table{width:100%;border-collapse:collapse;font-size:14px;}
	.list-table th{
		position:sticky;top:0;
		background:var(--paper-alt);
		color:var(--ink-soft);
		font-size:11.5px;font-weight:600;
		text-transform:uppercase;letter-spacing:.06em;
		text-align:left;padding:12px 16px;
		border-bottom:1px solid var(--border-strong);
		white-space:nowrap;
	}
	.list-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top;}
	.list-table tbody tr:last-child td{border-bottom:none;}
	.list-table tbody tr:hover{background:rgba(44,110,99,.04);}
	.word-latin{font-weight:700;font-size:16px;color:var(--ink);white-space:nowrap;}
	.word-arabic{
		direction:rtl;text-align:right;
		font-size:15px;color:var(--ink-soft);white-space:nowrap;
	}
	.type-pill{
		display:inline-block;font-size:11.5px;color:var(--accent-dark);
		background:rgba(44,110,99,.09);border-radius:999px;padding:3px 10px;white-space:nowrap;
	}
	.explanation{max-width:520px;line-height:1.7;color:var(--ink);}
	.scientific{font-style:italic;font-size:13px;color:var(--ink-faint);white-space:nowrap;}
	.meta{font-size:13px;color:var(--ink-faint);white-space:nowrap;}

	.filter-bar{
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		box-shadow:var(--shadow);
		padding:18px 20px;
		margin-bottom:16px;
	}
	.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
	@media (max-width:920px){.filter-grid{grid-template-columns:repeat(2,1fr);}}
	@media (max-width:480px){.filter-grid{grid-template-columns:1fr;}}
	.filter-field{display:flex;flex-direction:column;gap:6px;}
	.filter-label{
		font-size:11.5px;font-weight:600;text-transform:uppercase;
		letter-spacing:.06em;color:var(--ink-faint);
	}
	.filter-field input,.filter-field select{
		width:100%;padding:9px 12px;font-size:14px;
		color:var(--ink);background:var(--card);
		border:1px solid var(--border-strong);border-radius:var(--radius-sm);
		transition:border-color .15s ease;
	}
	.filter-field input:hover,.filter-field input:focus,
	.filter-field select:hover,.filter-field select:focus{border-color:var(--accent);}
	.filter-actions{display:flex;align-items:center;gap:10px;margin-top:16px;}
	.filter-btn{
		padding:9px 18px;font-size:14px;font-weight:600;
		color:#fff;background:var(--accent);border:1px solid var(--accent);
		border-radius:var(--radius-sm);cursor:pointer;
		transition:background-color .15s ease,border-color .15s ease;
	}
	.filter-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);}
	.filter-btn--ghost{color:var(--ink-soft);background:var(--card);border-color:var(--border-strong);}
	.filter-btn--ghost:hover{color:var(--accent-dark);border-color:var(--accent);background:var(--card);}
	.contribute-login{
		max-width:420px;margin:0 auto 48px;padding:28px 24px;
		background:var(--card);border:1px solid var(--border);
		border-radius:var(--radius);box-shadow:var(--shadow);
		display:flex;flex-direction:column;gap:14px;
	}
	.contribute-login .filter-btn{align-self:flex-start;}
	.contribute-login-error{margin:0;font-size:13.5px;color:#a33;}

	.pagination{
		display:flex;align-items:center;justify-content:space-between;gap:12px;
		padding:16px 20px;border-top:1px solid var(--border);
	}
	.page-btn{
		padding:8px 16px;font-size:14px;font-weight:600;color:var(--accent-dark);
		background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);
		transition:border-color .15s ease,background-color .15s ease;
	}
	.page-btn:hover{border-color:var(--accent);}
	.page-btn.disabled{opacity:.45;pointer-events:none;}
	.page-info{color:var(--ink-soft);font-size:13.5px;}

	.placeholder-card,.markdown-card{
		background:var(--card);
		border:1px solid var(--border);
		border-radius:var(--radius);
		box-shadow:var(--shadow);
		padding:36px 32px;
		max-width:860px;
		margin:0 auto 40px;
	}
	.placeholder-card p{margin:0;color:var(--ink-soft);font-size:16px;}
	.placeholder-card a{color:var(--accent-dark);border-bottom:1px solid var(--border-strong);}
	.placeholder-card a:hover{border-color:var(--accent);}
	.markdown-card{line-height:1.75;}
	.markdown-card h1,.markdown-card h2,.markdown-card h3{margin:1.4em 0 .5em;}
	.markdown-card p{margin:0 0 1em;}
	.markdown-card ul,.markdown-card ol{padding-inline-start:1.4em;}

	.word-meta{font-size:13px;color:var(--ink-faint);margin-top:12px;}

	#daily-word::before{
		content:'☀️';
		position:absolute;font-size:120px;top:-55px;right:-10px;opacity:0.3;
	}
	#random-word::before{
		content:'🎲';
		position:absolute;font-size:120px;top:-55px;right:-10px;opacity:0.3;
	}

	footer{
		border-top:1px solid var(--border);
		background:var(--paper-alt);
		padding:24px 0;
		margin-top:10px;
	}
	footer .wrap{
		display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;
		font-size:13px;color:var(--ink-soft);
	}
	footer a{color:var(--ink-soft);border-bottom:1px solid var(--border-strong);transition:border-color .15s ease;}
	footer a:hover{border-color:var(--accent);}
	.footer-count{font-weight:600;color:var(--accent-dark);}

	html[dir="rtl"] .brand-text{align-items:flex-start;}
	html[dir="rtl"] .search-form input[type="text"]{padding:15px 18px 15px 48px;}
	html[dir="rtl"] .search-form button{right:auto;left:6px;}
	html[dir="rtl"] .list-table th{text-align:right;}
	html[dir="rtl"] .kv-list .v{text-align:left;}
	html[dir="rtl"] #daily-word::before,
	html[dir="rtl"] #random-word::before{right:auto;left:-10px;}
	html[dir="rtl"] .word-arabic{text-align:left;}

	#letter-ghayn-notice {
		font-weight: 800;
		border-bottom: 1px solid var(--accent-dark);
	}

	.contribute-tabs{
		display:flex;flex-wrap:wrap;gap:8px;align-items:center;
		margin-bottom:16px;
	}
	.contribute-tab{
		display:inline-flex;align-items:center;
		padding:8px 14px;font-size:13.5px;font-weight:600;
		color:var(--ink-soft);background:var(--card);
		border:1px solid var(--border-strong);border-radius:999px;
		transition:border-color .15s ease,color .15s ease,background-color .15s ease;
	}
	.contribute-tab:hover{border-color:var(--accent);color:var(--accent-dark);}
	.contribute-tab.is-active{
		color:#fff;background:var(--accent);border-color:var(--accent);
	}
	.contribute-tab--orange{
		color:#b45a12;border-color:#e09a4b;background:#fff7ee;
	}
	.contribute-tab--orange:hover{color:#8f4308;border-color:#c47b2b;}
	.contribute-tab--orange.is-active{
		color:#fff;background:#c47b2b;border-color:#c47b2b;
	}
	.contribute-tab--end{margin-inline-start:auto;}
	.verify-letter{
		flex-direction:column;align-items:center;gap:2px;
		min-width:2.4rem;line-height:1.15;
	}
	.verify-letter-latin{font-size:18px;font-weight:700;color:var(--ink);}
	.verify-letter-azb{font-size:18px;color:var(--ink-soft);}
	.verify-types{min-width:9rem;max-width:14rem;}
	.verify-types .type-pill{display:inline-block;margin:0 4px 4px 0;}
	.type-picker-head{display:flex;align-items:flex-start;gap:6px;}
	.type-picker-pills{flex:1;min-height:1.4rem;}
	.type-edit-btn{
		width:28px;height:28px;padding:0;flex:none;
		display:inline-flex;align-items:center;justify-content:center;
		color:var(--accent-dark);background:rgba(44,110,99,.09);
		border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;
	}
	.type-edit-btn svg{width:14px;height:14px;}
	.type-edit-btn:hover{border-color:var(--accent);background:rgba(44,110,99,.16);}
	.type-picker-select{
		width:100%;min-height:5.5rem;margin-top:6px;font-size:12px;
		color:var(--ink);background:var(--card);
		border:1px solid var(--border-strong);border-radius:var(--radius-sm);
	}
	.contribute-toolbar{display:flex;align-items:center;gap:10px;margin:12px 0;}
	.contribute-glyphs{
		flex:1;min-width:12rem;height:36px;padding:0 12px;
		font-size:15px;letter-spacing:.04em;color:var(--ink);
		background:var(--paper-alt);border:1px solid var(--border-strong);
		border-radius:var(--radius-sm);
	}
	.contribute-filter-row td{padding:6px 16px;background:var(--paper-alt);vertical-align:middle;}
	.verify-filter{
		width:9.5rem;height:26px;padding:0 8px;font-size:12px;
		color:var(--ink);background:var(--card);
		border:1px solid var(--border-strong);border-radius:var(--radius-sm);
	}
	.contribute-table th:first-child,
	.contribute-table td:first-child{width:1%;white-space:nowrap;text-align:left;vertical-align:middle;}
	.contribute-table .verify-col-headword{width:1%;white-space:nowrap;vertical-align:top;}
	.contribute-table input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent);}
	.verify-check-label{
		display:inline-flex;align-items:center;gap:8px;
		font-size:11.5px;font-weight:600;text-transform:none;letter-spacing:0;
		color:var(--ink-soft);cursor:pointer;white-space:nowrap;
	}
	.verify-field{display:flex;flex-direction:column;gap:4px;}
	.verify-col-headword .verify-field{width:9.5rem;}
	.verify-field input,
	.verify-field textarea{
		width:100%;padding:8px 10px;font-size:14px;
		color:var(--ink);background:var(--card);
		border:1px solid var(--border-strong);border-radius:var(--radius-sm);
	}
	.verify-field textarea{
		min-width:16rem;min-height:4.5rem;resize:vertical;
		font-size:12px;line-height:1.55;color:var(--ink-soft);
	}
	.verify-field input:hover,
	.verify-field input:focus,
	.verify-field textarea:hover,
	.verify-field textarea:focus{border-color:var(--accent);}
	.verify-script{font-size:13.5px;color:#3434348a;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
	.origin-btn{
		width:36px;height:36px;padding:0;
		display:inline-flex;align-items:center;justify-content:center;
		color:var(--accent-dark);background:rgba(44,110,99,.09);
		border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;
	}
	.origin-btn svg{width:18px;height:18px;}
	.origin-btn:hover{border-color:var(--accent);background:rgba(44,110,99,.16);}
	.origin-modal{
		position:fixed;inset:0;z-index:40;
		display:flex;align-items:center;justify-content:center;
		padding:16px;
	}
	.origin-modal[hidden]{display:none;}
	.origin-modal-backdrop{
		position:absolute;inset:0;border:0;padding:0;
		background:rgba(28,37,65,.72);cursor:pointer;
	}
	.origin-modal-dialog{
		position:relative;z-index:1;
		display:flex;flex-direction:column;
		width:min(96vw,1400px);height:min(96vh,960px);
		background:var(--card);border-radius:var(--radius);
		box-shadow:var(--shadow-hover);overflow:hidden;
	}
	.origin-modal-bar{
		display:flex;align-items:center;justify-content:space-between;gap:12px;
		padding:10px 14px;border-bottom:1px solid var(--border);flex:none;
	}
	.origin-modal-title{font-size:13px;font-weight:600;color:var(--ink-soft);}
	.origin-modal-close{
		width:32px;height:32px;padding:0;border:0;background:transparent;
		font-size:22px;line-height:1;color:var(--ink-soft);cursor:pointer;
	}
	.origin-modal-close:hover{color:var(--ink);}
	.origin-modal-stage{
		flex:1;min-height:0;overflow:hidden;position:relative;
		background:#111;cursor:zoom-in;touch-action:none;
	}
	.origin-modal-stage.is-zoomed{cursor:zoom-out;}
	.origin-modal-stage.is-panning{cursor:grabbing;}
	.origin-modal-stage img{
		position:absolute;top:50%;left:50%;
		max-width:100%;max-height:100%;
		transform:translate(-50%,-50%);
		transform-origin:center center;
		user-select:none;
	}
	body.origin-modal-open{overflow:hidden;}