:root{--bg:#f6f8fa;--paper:#fff;--surface-2:#eef2f5;--ink:#0f1f2b;--muted:#64748b;--line:#e2e8ec;--teal:#0f766e;--teal-dark:#0b5e56;--teal-light:#e6f4f1;--navy:#0f766e;--radius:18px;--shadow:0 5px 24px #14344206;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}button{border:0}h1,h2,h3,p{margin:0}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #159e89;outline-offset:4px}input[type=radio]{accent-color:var(--teal)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:16px;padding:12px;background:white;z-index:100}.skip:focus{top:12px}.wrap{max-width:1400px;margin:auto;padding:0 28px}.header{background:white;border-bottom:1px solid var(--line)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px}.brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.brand img{height:36px;width:36px;object-fit:contain;border-radius:12px;flex-shrink:0}.brand-mark{height:42px;width:42px;background:var(--teal-dark);color:white;display:grid;place-items:center;border-radius:13px}.brand-mark .icon{width:26px;height:26px}.brand-name{font-weight:800;letter-spacing:-.9px;font-size:24px}.brand-name span{color:var(--teal)}.brand-sub{display:block;font-size:10px;letter-spacing:1.4px;color:var(--muted);margin-top:3px}.header-right{display:flex;align-items:center;gap:24px;font-size:13px;color:var(--muted)}.source-link{display:flex;align-items:center;gap:7px}.source-link:hover{color:var(--teal)}.live-dot{display:inline-block;background:#22a984;width:7px;height:7px;border-radius:50%;margin-right:7px}.hero{padding:45px 0 29px}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:750;color:var(--teal);display:flex;align-items:center;gap:8px;margin-bottom:15px}h1{font-size:clamp(29px,3.1vw,43px);letter-spacing:-1.6px;line-height:1.2}h1 span{color:var(--teal)}.hero-copy{color:var(--muted);font-size:14px;line-height:1.8;margin-top:14px;max-width:610px}.hero-note{flex:0 0 266px;position:relative;padding:23px;border:1px solid #d5e9e2;border-radius:var(--radius);background:linear-gradient(135deg,#e6f3ed,#f3f9f6);overflow:hidden}.hero-note:after{content:"";position:absolute;width:110px;height:110px;border:18px solid #08766908;border-radius:50%;right:-40px;bottom:-45px}.hero-note .icon{color:var(--teal);width:26px;height:26px;margin-bottom:12px}.hero-note strong{display:block;font-size:14px;margin-bottom:7px}.hero-note p{font-size:12px;line-height:1.7;color:#526e64}.search-box{margin-top:29px;display:flex;gap:13px;align-items:center;background:white;border:1px solid #d8e2e7;border-radius:14px;padding:9px 12px 9px 18px;box-shadow:var(--shadow)}.search-box>.icon{color:var(--teal);width:23px;height:23px}.search-box input{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:14px;height:42px;color:var(--ink)}.search-box:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #08766910}.key-hint{padding:5px 9px;border:1px solid var(--line);background:var(--bg);border-radius:6px;color:var(--muted);font-size:11px;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--bg);flex-shrink:0}.icon-btn:hover{background:#e5edee}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:23px}.stat{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--teal-light);color:var(--teal);flex-shrink:0}.stat:nth-child(2) .stat-icon{background:#edf2fe;color:#526aac}.stat:nth-child(3) .stat-icon{background:#fff4e5;color:#a5681c}.stat:nth-child(4) .stat-icon{background:#f1edfc;color:#7b5ab0}.stat-value{font-size:25px;font-weight:800;letter-spacing:-.8px;line-height:1.1}.stat-label{color:var(--muted);font-size:11px;margin-top:5px}.content{display:grid;grid-template-columns:236px minmax(0,1fr);gap:26px;padding-top:4px;padding-bottom:42px}.filters{align-self:start;position:sticky;top:20px;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.filter-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 20px;border-bottom:1px solid var(--line)}.filter-heading h2{font-size:14px;display:flex;gap:8px;align-items:center}.text-btn{background:none;padding:4px;color:var(--teal);font-size:11px;font-weight:650}.filter-content{padding:20px 14px}.filter-label{display:block;color:#6c7c89;text-transform:uppercase;letter-spacing:1.3px;font-size:10px;font-weight:750;margin:0 6px 12px}.categories{display:flex;flex-direction:column;gap:5px}.category-btn{display:flex;gap:9px;align-items:center;background:transparent;border-radius:9px;padding:11px 10px;text-align:left;font-size:12px;width:100%}.category-btn .icon{width:17px;height:17px;color:#80909b}.category-btn span:first-of-type{flex:1}.category-btn .count{font-size:10px;background:var(--bg);border-radius:5px;padding:3px 6px;color:var(--muted)}.category-btn[aria-pressed=true]{color:var(--teal);font-weight:700;background:var(--teal-light)}.category-btn[aria-pressed=true] .icon{color:var(--teal)}.category-btn[aria-pressed=true] .count{background:#d4eae2;color:var(--teal)}.category-btn:hover{background:#f0f6f4}fieldset{margin:22px 6px 0;padding:20px 0 0;border:0;border-top:1px solid var(--line)}fieldset legend{float:left;display:block;width:100%;margin:0 0 15px;padding:0}.radio{display:flex;align-items:center;gap:9px;clear:both;font-size:12px;padding:8px 0;color:#435967;cursor:pointer}.radio input{margin:0;width:15px;height:15px}.filter-tip{margin:0 20px 21px;background:#f6f8fa;border-radius:10px;padding:13px;font-size:11px;line-height:1.7;color:var(--muted)}.filter-tip .icon{width:15px;height:15px;vertical-align:-3px;margin-right:4px}.results-header{min-height:48px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.results-header h2{font-size:18px;letter-spacing:-.5px}.result-sub{font-size:11px;color:var(--muted);margin-top:6px}.sort-wrap{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.sort-wrap select{max-width:175px;padding:9px 26px 9px 11px;border:1px solid var(--line);border-radius:8px;background:white;color:#435967;font-size:11px}.active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.filter-chip{font-size:11px;border-radius:6px;background:#e5efec;color:var(--teal);padding:6px 9px;max-width:100%;overflow-wrap:anywhere;display:flex;gap:7px;align-items:center}.filter-chip .icon{width:12px;height:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.card{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);border-color:#bfd8d0;box-shadow:0 10px 28px #173b3410}.card-top{display:flex;gap:13px;align-items:center;margin-bottom:19px}.logo-box{width:53px;height:53px;padding:7px;flex-shrink:0;border:1px solid #e9edef;border-radius:12px;background:white;display:grid;place-items:center;overflow:hidden}.logo-box img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;grid-area:1/1}.logo-fallback{display:grid;place-items:center;color:var(--teal);width:100%;height:100%;grid-area:1/1;background:#f1f7f4;border-radius:6px}.logo-fallback .icon{width:28px;height:28px}.institution{font-size:13px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}.city{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted);margin-top:4px}.city .icon{width:12px;height:12px}.card-title{font-size:14px;line-height:1.375;font-weight:700;letter-spacing:normal;margin-bottom:6px;color:#0f172a;overflow-wrap:anywhere}.quota-line{font-size:11px;color:#526979;display:flex;align-items:center;gap:6px;margin-bottom:16px}.quota-line strong{color:var(--teal);font-size:13px}.quota-line .icon{width:15px;height:15px}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:6px 8px;border-radius:6px;background:#f0f3f7;color:#566a7c;line-height:1.3}.badge .icon{width:12px;height:12px}.badge.publish-badge{background:#f5efff;color:#7053a6}.badge.green{background:#e8f5ef;color:#157456}.badge.blue{background:#edf3fc;color:#49699e}
.badge.upcoming{background:#eef0ff;color:#5b51a3}.badge.amber{background:#fff3df;color:#95601d}.badge.red{background:#fff0eb;color:#ac5136}.card-summary{color:var(--muted);font-size:12px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:20px}.card-bottom{margin-top:auto;padding-top:16px;border-top:1px solid #eef1f3;display:flex;align-items:center;justify-content:space-between;gap:8px}.deadline{font-size:10px;color:var(--muted)}.deadline span{display:block;margin-top:5px;color:#3c5363;font-weight:650;font-size:12px}.detail-btn{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--teal);background:var(--teal-light);padding:11px 13px;border-radius:9px;font-size:11px;font-weight:750;white-space:nowrap}.detail-btn:hover{background:var(--teal-dark);color:white}.detail-btn .icon{width:15px;height:15px}.state-panel{padding:55px 24px;text-align:center;border:1px dashed #cbd9dc;border-radius:var(--radius);background:white}.state-panel>.icon{width:38px;height:38px;color:var(--teal);margin-bottom:17px}.state-panel h3{font-size:19px;margin-bottom:10px}.state-panel p{font-size:13px;line-height:1.8;color:var(--muted);max-width:420px;margin:0 auto 22px}.primary-btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:13px 18px;background:var(--teal-dark);color:white;font-weight:700;border-radius:10px;font-size:12px}.primary-btn:hover{background:#0b5e56}.skeleton{min-height:340px}.skeleton-line{height:13px;border-radius:5px;margin-bottom:13px;background:linear-gradient(90deg,#edf1f4 25%,#f9fafb 50%,#edf1f4 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-line.big{height:50px;width:53px;border-radius:12px;margin-bottom:24px}.skeleton-line.short{width:60%}.skeleton-line.space{margin-top:32px;height:37px}@keyframes shimmer{to{background-position:-200% 0}}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:30px 0 0;flex-wrap:wrap}.pagination button,.pagination-ellipsis{width:36px;height:36px;min-width:36px;padding:0;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.pagination-ellipsis{border-color:transparent;background:transparent;color:#94a3b8;pointer-events:none;user-select:none}@media(max-width:639px){.pagination button,.pagination-ellipsis{width:32px;min-width:32px;height:32px;font-size:12px}}.pagination button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.pagination button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.pagination button.active{background:var(--navy);border-color:var(--navy);color:white}.pagination button:disabled{cursor:default;opacity:.45}.pagination-info{text-align:center;margin:10px 0 0;color:var(--muted);font-size:11px}.end-note{text-align:center;padding:27px 10px 0;color:#81909b;font-size:11px;display:flex;gap:7px;justify-content:center;align-items:center}.end-note .icon{width:14px;height:14px}.footer{border-top:1px solid rgba(203,213,225,.8);background:rgba(255,255,255,.7);padding:4rem 0;backdrop-filter:blur(8px)}
.footer-inner{display:block}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2.5rem}.footer-brand-lockup{display:flex;align-items:center;gap:.75rem}.footer-logo{height:2rem;width:2rem;object-fit:contain;flex:0 0 auto}.footer-brand{font-size:1.05rem;font-weight:800;letter-spacing:-.025em;white-space:nowrap}.footer-tagline{margin:.65rem 0 0 2.75rem!important;font-size:.8rem!important;color:var(--muted);line-height:1.7!important;max-width:24rem!important}.footer-description{font-size:.75rem!important;color:var(--muted);line-height:1.8;max-width:36rem;margin:0}.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem 1.5rem;margin:2rem 0}.footer-links a{color:#475569;text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-links a:hover{color:#0f766e}.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(226,232,240,.8)}.footer-bottom p{font-size:.75rem;color:#94a3b8;line-height:1.7;margin:0;max-width:none}.footer a{transition:color .2s ease}html.dark .footer{border-top-color:rgba(30,41,59,.9);background:rgba(15,23,42,.7)}html.dark .footer-links a{color:#94a3b8}html.dark .footer-links a:hover{color:#2dd4bf}html.dark .footer-bottom{border-top-color:rgba(30,41,59,.9)}
@media(max-width:767px){.footer-top,.footer-bottom{display:block}.footer-description{margin-top:1.5rem}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom p+p{margin-top:.5rem}}.noscript{padding:20px;border:1px solid #e4b777;background:#fff5df;border-radius:12px;margin:20px 0;font-size:14px}dialog{padding:0;border:1px solid var(--line);border-radius:22px;max-width:800px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);box-shadow:0 25px 100px #0e293340;overflow:auto}dialog::backdrop{background:#0c233a99;backdrop-filter:blur(4px)}.modal-header{position:sticky;top:0;background:white;z-index:2;border-bottom:1px solid var(--line);padding:17px 25px;display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-header span{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:1.2px;color:var(--teal)}.modal-content{padding:26px}.modal-content h2{font-size:24px;line-height:1.4;letter-spacing:-.6px;margin-bottom:18px}.modal-content .institution{font-size:15px}.modal-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:17px;background:var(--bg);border-radius:12px;margin:22px 0}.fact dt{font-size:10px;color:var(--muted);margin-bottom:6px}.fact dd{font-size:12px;font-weight:650;margin:0;line-height:1.6;overflow-wrap:anywhere}.modal-section{margin-top:24px}.modal-section h3{font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.modal-section h3 .icon{color:var(--teal);width:18px;height:18px}.prose{font-size:13px;line-height:1.9;color:#4c6271;white-space:pre-line;overflow-wrap:anywhere}.ai-label{font-size:9px;font-weight:600;color:#7b659f;background:#f2edfa;border-radius:4px;padding:4px 6px;margin-left:auto}.role{border:1px solid var(--line);border-radius:11px;padding:15px;margin:10px 0}.role-header{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6;font-weight:700}.role-count{white-space:nowrap;color:var(--teal);font-size:11px}.role-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.role summary{font-size:11px;color:var(--teal);cursor:pointer;font-weight:650;margin-top:13px}.role ul{font-size:12px;line-height:1.85;color:#536979;padding-left:19px;margin-bottom:0;overflow-wrap:anywhere}.role li{margin-top:7px}.disclaimer{margin-top:24px;border:1px solid #eae3d5;background:#fffbf3;color:#8b724b;border-radius:10px;padding:13px;font-size:11px;line-height:1.8}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;bottom:0;background:white;border-top:1px solid var(--line);padding:16px 25px}.modal-actions .primary-btn .icon{width:17px;height:17px}.secondary-btn{background:var(--bg);border:1px solid var(--line);padding:12px 17px;border-radius:10px;font-size:12px}.pdf-unavailable{color:var(--muted);font-size:12px}.mobile-filter-toggle{display:none}
@media(min-width:1600px){.wrap{max-width:1510px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:20px}.content{grid-template-columns:220px minmax(0,1fr);gap:23px}.card-bottom{align-items:flex-start;flex-direction:column;gap:15px}.detail-btn{width:100%}}
@media(max-width:1000px){.wrap{padding:0 22px}.content{grid-template-columns:205px minmax(0,1fr);gap:20px}.card{padding:17px}.card-bottom{align-items:flex-start;flex-direction:column;gap:13px}.detail-btn{width:100%}.hero-note{flex-basis:230px}.stat{padding:16px 13px;gap:10px}.stat-icon{width:34px;height:34px}.stat-value{font-size:22px}.filter-heading{padding:18px 14px}.header-right>span{display:none}}
@media(max-width:760px){.header-inner{height:70px}.brand-name{font-size:21px}.brand-mark{height:37px;width:37px}.brand-sub{font-size:9px}.source-link{font-size:11px}.source-link .icon{width:14px;height:14px}.wrap{padding:0 18px}.hero{padding:30px 0 23px}.hero-note{display:none}h1{letter-spacing:-1px}.hero-copy{font-size:12px;margin-top:12px}.eyebrow{font-size:10px;letter-spacing:1.5px}.search-box{margin-top:23px;padding:6px 9px 6px 13px;gap:9px}.search-box input{font-size:12px}.key-hint{display:none}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px}.stat{padding:15px 13px}.stat-value{font-size:23px}.stat-label{font-size:10px}.content{display:block;padding-top:0}.filters{position:static;margin-bottom:23px}.filter-heading{padding:14px 16px}.mobile-filter-toggle{display:flex;align-items:center;gap:6px;background:var(--teal-light);color:var(--teal);font-size:11px;border-radius:7px;padding:7px 9px}.mobile-filter-toggle .icon{width:14px;height:14px}.filter-heading>.text-btn{margin-left:auto;margin-right:10px}.filter-content{padding:14px 12px}.filter-tip{display:none}.filters:not(.expanded) .filter-content{display:none}.categories{flex-direction:row;flex-wrap:wrap;gap:6px}.category-btn{width:auto;padding:9px;font-size:11px;border:1px solid var(--line)}.category-btn .icon{width:14px;height:14px}.category-btn .count{font-size:9px}fieldset{margin-top:15px;padding-top:16px;display:flex;flex-wrap:wrap;gap:4px 18px}fieldset legend{margin-bottom:8px}.radio{font-size:11px}.results-header h2{font-size:17px}.results-header{gap:7px}.sort-wrap>span{display:none}.sort-wrap select{max-width:155px;font-size:10px}.grid{gap:13px}.footer-inner{display:block}.footer p{margin-top:12px}.modal-content{padding:20px}.modal-header{padding:14px 20px}.modal-content h2{font-size:21px}.modal-facts{grid-template-columns:repeat(2,1fr);gap:17px}.modal-actions{padding:14px 18px}.modal-actions .primary-btn{font-size:11px;padding:12px}.modal-actions .secondary-btn{font-size:11px;padding:12px}.ai-label{font-size:8px}}
@media(max-width:540px){.grid{grid-template-columns:1fr}.card{padding:21px}.card-bottom{flex-direction:row;align-items:center;gap:10px}.detail-btn{width:auto}.card-title{font-size:14px}.card-summary{-webkit-line-clamp:2}.card-top{margin-bottom:17px}.institution{font-size:13px}.source-link span{display:none}.stat-icon{width:34px;height:34px}.results-header{margin-bottom:16px}.modal-actions{gap:8px}.modal-content h2{font-size:19px}dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:16px}.role-header{flex-wrap:wrap}.end-note{font-size:10px}}
.archive-switch{margin:0 0 1rem}.archive-switch .category-btn{width:100%;justify-content:flex-start}.archive-switch .category-btn[aria-pressed="true"]{background:#e5e7eb;color:#374151;border-color:#9ca3af}.archive-card{filter:grayscale(.35);opacity:.88}.badge.gray{background:#e5e7eb;color:#4b5563;border-color:#9ca3af}

/* Theme system and restrained atmospheric background */
html{background:var(--bg)}
body{position:relative;isolation:isolate;min-height:100vh;background:var(--bg);transition:background-color .25s ease,color .25s ease}
body::before,body::after{content:"";position:fixed;z-index:-1;pointer-events:none;width:30rem;height:30rem;border-radius:50%;filter:blur(70px);opacity:.16;transform:translate3d(0,0,0);animation:ambient-drift 24s ease-in-out infinite alternate}
body::before{top:-12rem;right:-8rem;background:#a8dfd0}body::after{bottom:-15rem;left:-10rem;background:#c8d8f5;animation-delay:-11s}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:42px;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 2px 10px #1434420a;transition:background-color .2s,border-color .2s,transform .2s}
.theme-toggle:hover{border-color:var(--teal);transform:translateY(-1px)}.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .moon-icon{display:none}.theme-toggle[aria-pressed="true"] .sun-icon{display:none}.theme-toggle[aria-pressed="true"] .moon-icon{display:block}
@keyframes ambient-drift{from{transform:translate3d(-12px,8px,0) scale(1)}to{transform:translate3d(16px,-14px,0) scale(1.06)}}
html.dark{--bg:#0f1115;--paper:#16191f;--surface-2:#1c2029;--ink:#f1f5f9;--muted:#94a3b8;--line:#262a34;--teal:#2dd4bf;--teal-dark:#0f766e;--teal-light:rgba(45,212,191,.16);--navy:#0f766e;--shadow:0 10px 30px rgba(0,0,0,.32);color-scheme:dark}
html.dark body::before{background:#0f766e;opacity:.2}html.dark body::after{background:#312e81;opacity:.16}
html.dark .header,html.dark .footer{background:rgba(15,17,21,.88);border-color:var(--line)}
html.dark .search-box,html.dark .card,html.dark .stat,html.dark .filters,html.dark dialog,html.dark .modal-content{background:var(--paper);border-color:var(--line);color:var(--ink)}
html.dark input,html.dark select{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
html.dark .hero-note{background:linear-gradient(135deg,rgba(15,118,110,.35),rgba(15,17,21,.65));border-color:rgba(45,212,191,.22)}
html.dark .hero-note p,html.dark .source-link,html.dark .footer p{color:var(--muted)}
html.dark .category-btn,html.dark .secondary-btn,html.dark .icon-btn{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
html.dark .category-btn[aria-pressed="true"]{background:rgba(45,212,191,.16);color:var(--teal);border-color:rgba(45,212,191,.35)}
html.dark .category-btn[aria-pressed="true"] .count{background:rgba(45,212,191,.22);color:var(--teal)}
html.dark .archive-switch .category-btn[aria-pressed="true"]{background:#334155;color:#cbd5e1;border-color:#64748b}
html.dark .badge{background:#1e293b;color:#cbd5e1;border-color:var(--line)}html.dark .badge.green{background:#123b36;color:#6ee7b7}html.dark .badge.blue{background:#173552;color:#93c5fd}
html.dark .badge.upcoming{background:#262a4a;color:#c4b5fd}html.dark .badge.red{background:#4a2028;color:#fdba74}html.dark .badge.gray{background:#334155;color:#cbd5e1}
html.dark .theme-toggle{background:var(--surface-2);color:#fbbf24;border-color:var(--line)}
@media (prefers-reduced-motion:reduce){body::before,body::after{animation:none!important}}

/* Yaklasanlar karti, guncel ilan kartinin tek kaynagini kullanir. */
.urgent-heading h2 .urgent-clock{width:1.15rem;height:1.15rem;color:#a18455;stroke-width:1.8}
.urgent-heading h2 .urgent-calendar{display:none}
.urgent-slide>.card{width:100%}
@media (min-width:640px){.brand img{height:40px;width:40px}}

/* Kamuİlanım mascot motion and interaction polish */
#chat-trigger {
  isolation: isolate;
  transition: transform .22s ease, filter .22s ease;
  animation: mascot-float 3.8s ease-in-out infinite;
}
#chat-trigger::before {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(8, 118, 105, .12);
  animation: mascot-pulse 2.6s ease-out infinite;
}
#chat-trigger svg {
  transform-origin: 50% 82%;
  transition: transform .22s ease;
}
#chat-trigger:hover {
  transform: translateY(-3px) scale(1.04);
  filter: drop-shadow(0 14px 19px rgba(0,0,0,.2)) !important;
}
#chat-trigger:hover svg { transform: rotate(-2deg); }
#chat-trigger:active { transform: translateY(0) scale(.96); }
#chat-trigger:focus-visible {
  outline: 3px solid rgba(8,118,105,.35);
  outline-offset: 6px;
  border-radius: 50%;
}
#chat-trigger svg circle[fill="#159570"] { animation: mascot-led 1.6s ease-in-out infinite; }

/* SVG-safe mascot motion: use the SVG viewport as the transform coordinate system. */
@keyframes botWaveMobile {
  0%, 100% { transform: rotate(0deg); }
  20% { transform: rotate(-25deg); }
  40% { transform: rotate(20deg); }
  60% { transform: rotate(-20deg); }
  80% { transform: rotate(15deg); }
}

/* Rect blink: height/y are reliable on SVG elements where scaleY is not. */
@keyframes eyeBlinkHeight {
  0%, 92%, 100% { height: 6px; y: 44px; opacity: 1; }
  94.5%, 95.5% { height: 1px; y: 46.5px; opacity: 0; }
  95% { height: 1px; y: 46.5px; opacity: 0; }
}

@keyframes eyeClosedLine {
  0%, 92%, 100% { opacity: 0; }
  94.5%, 95.5% { opacity: 1; }
  95% { opacity: 1; }
}

#bot-arm-right-group {
  animation: botWaveMobile 3s ease-in-out infinite;
  transform-box: view-box;
  transform-origin: 84px 60px;
}

#bot-left-eye-open {
  animation: eyeBlinkHeight 4s ease-in-out infinite;
}

#bot-left-eye-closed {
  animation: eyeClosedLine 4s ease-in-out infinite;
}

@keyframes mascot-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-7px) rotate(1deg); }
}
@keyframes mascot-pulse {
  0% { transform: scale(.82); opacity: .65; }
  70%, 100% { transform: scale(1.3); opacity: 0; }
}
@keyframes mascot-led {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; filter: drop-shadow(0 0 4px #159570); }
}
@media (prefers-reduced-motion: reduce) {
  #chat-trigger, #chat-trigger::before, #chat-trigger svg circle[fill="#159570"],
  #bot-arm-right-group, #bot-left-eye-open, #bot-left-eye-closed { animation: none; }
  #chat-trigger, #chat-trigger svg { transition: none; }
}

.urgent-section{margin:0 0 2rem;padding:1.25rem;border:1px solid rgba(251,191,36,.6);border-radius:1rem;background:rgba(255,255,255,.8);box-shadow:none}.urgent-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.urgent-kicker{display:none}.urgent-heading h2{display:flex;align-items:center;gap:.45rem;margin:0;color:var(--ink);font-size:1.05rem;font-weight:750;letter-spacing:-.01em}.urgent-heading h2:before{content:'\e';display:none}.urgent-heading h2 .urgent-calendar{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;margin-right:.1rem;border-radius:.65rem;background:linear-gradient(135deg,#facc15 0%,#f97316 52%,#dc2626 100%);color:#fff;box-shadow:0 5px 12px rgba(234,88,12,.2)}.urgent-heading h2 .urgent-calendar .icon{width:1.15rem;height:1.15rem;stroke-width:2.2}.urgent-counter{padding:.38rem .7rem;border-radius:.7rem;background:#fef3c7;color:#92400e;font-size:.78rem;font-weight:700;white-space:nowrap}.urgent-card-wrap{display:block}.urgent-slide{min-width:0}.urgent-item{position:relative;display:block;min-height:0;padding:1.15rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface);transition:opacity .18s ease,transform .18s ease}.urgent-item.is-changing{opacity:0;transform:translateX(8px)}.urgent-item-head{display:flex;align-items:flex-start;gap:.85rem}.urgent-logo{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:.75rem;background:#f1f5f9;color:#475569}.urgent-logo .logo-box{width:100%;height:100%;border:0;background:transparent}.urgent-content{min-width:0;flex:1}.urgent-badges{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding-right:2rem}.urgent-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .5rem;border-radius:.45rem;background:#ede9fe;color:#6d28d9;font-size:.68rem;font-weight:700}.urgent-status{background:#dcfce7;color:#166534}.urgent-name{margin:.58rem 0 .16rem;color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.urgent-title{margin:0;color:var(--ink);font-size:1rem;line-height:1.35;font-weight:750}.urgent-save{position:absolute;top:1.15rem;right:1.15rem;display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:.55rem;background:transparent;color:var(--muted);cursor:pointer}.urgent-save:hover{background:var(--surface-2);color:var(--ink)}.urgent-meta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0 0;color:var(--muted);font-size:.78rem}.urgent-meta span{display:inline-flex;align-items:center;gap:.3rem}.urgent-meta .icon{width:15px;height:15px}.urgent-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.urgent-deadline{display:flex;align-items:center;gap:.35rem;margin:0;color:#c2410c;font-size:.75rem;font-weight:600}.urgent-deadline .icon{width:16px;height:16px}.urgent-action{padding:0;border:0;background:none;color:var(--teal);font-size:.78rem;font-weight:700;cursor:pointer}.urgent-action:hover{text-decoration:underline}.urgent-navs{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.75rem}.urgent-nav{width:100%;padding:.65rem .8rem;border:1px solid var(--line);border-radius:.75rem;background:transparent;color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.urgent-nav:hover:not(:disabled){background:var(--surface-2);border-color:#cbd5e1}.urgent-nav:disabled{cursor:default;opacity:.5}@media (max-width:640px){.urgent-section{padding:1rem}.urgent-heading{gap:.5rem}.urgent-heading h2{font-size:.95rem}.urgent-heading h2 span{font-size:.7rem}.urgent-item{padding:1rem}.urgent-footer{align-items:flex-start;flex-direction:column;gap:.65rem}.urgent-action{align-self:flex-end}}html.dark .urgent-section{border-color:rgba(180,83,9,.4);background:rgba(30,41,59,.8)}html.dark .urgent-counter{background:#422006;color:#fde68a}html.dark .urgent-logo{background:#f1f5f9;color:#475569}html.dark .urgent-badge{background:#312e81;color:#ddd6fe}html.dark .urgent-status{background:#14532d;color:#bbf7d0}

/* Fixed visual treatment for the persistent navigation bar. */
.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background-color .2s ease, border-color .2s ease;
}
html.dark .header { background: rgba(15,23,42,.85); }
.header-right { margin-left: auto; }
.theme-toggle {
  width: 36px;
  min-width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 9999px;
  background: rgba(248,250,252,.8);
  border-color: #e2e8f0;
  box-shadow: none;
}
.theme-toggle:hover { transform: none; background: #f1f5f9; }
.theme-toggle svg { width: 16px; height: 16px; }
html.dark .theme-toggle { background: rgba(30,41,59,.8); border-color: #334155; }
html.dark .theme-toggle:hover { background: rgba(51,65,85,.6); }
@media (max-width: 540px) {
  .header-right { gap: 12px; }
  .header-right > span { font-size: 11px; }
}

/* Compact, fully clickable listing cards. */
.card { cursor:pointer; padding:16px; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.card:hover,.card:focus-visible { transform:translateY(-2px); border-color:rgba(15,118,110,.5); box-shadow:0 10px 24px rgba(15,118,110,.10); outline:none; }
.card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.card-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.card .logo-box { width:40px; height:40px; padding:6px; border-radius:10px; }
.card .institution { font-size:14px; font-weight:600; letter-spacing:normal; line-height:1.375; }
.card-date { display:flex; flex-direction:column; align-items:center; flex-shrink:0; gap:4px; margin-right:4px; padding-right:1px; text-align:center; color:#64748b; font-size:11px; font-weight:600; white-space:nowrap; }
.card-date-icon { display:flex; align-items:center; justify-content:center; color:#94a3b8; }
.card-date-icon .icon { width:18px; height:18px; }
.card-bottom,.detail-btn { display:none; }
.card-summary { margin-bottom:0; }
html.dark .card-title { color:#fff; }
html.dark .card-date { color:#cbd5e1; }
html.dark .card-date-icon { color:#64748b; }
@media (max-width:640px) { .card { padding:14px; } .card-top { gap:8px; } .card-date { font-size:10px; } }

/* Modal PDF actions: always remain a compact three-column row, including mobile. */
.modal-pdf-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;padding:10px;}
.modal-pdf-actions .modal-action{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:40px;padding:0 6px;border-radius:12px;font-size:11px;font-weight:600;line-height:1.25;white-space:nowrap;text-decoration:none;transition:background-color .2s ease,opacity .2s ease;color:inherit;gap:6px;}
@media(min-width:640px){.modal-pdf-actions{padding:12px;}.modal-pdf-actions .modal-action{font-size:12px;}}
.modal-pdf-actions .modal-action [class~="w-3.5"]{width:14px;height:14px;margin:0;flex:0 0 auto;}
.modal-pdf-actions .modal-action .icon{width:16px;height:16px;margin-right:6px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.modal-pdf-actions .modal-action .icon[class~="w-3.5"]{width:14px;height:14px;margin-right:0;}
.modal-action-secondary{border:1px solid #e2e8f0;background:#f8fafc;color:#334155!important;}
.modal-action-secondary:hover{background:#f1f5f9;}
.modal-action-primary{background:#0f766e;color:#fff!important;box-shadow:0 1px 2px rgb(0 0 0 / .08);}
.modal-action-primary:hover{background:#0b5e56;}
.modal-action-source{border:1px solid #a7f3d0;background:rgb(236 253 245 / .8);color:#0b5e56!important;}
.modal-action-source:hover{background:#d1fae5;}
.modal-pdf-actions .modal-action.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.5;}
html.dark .modal-action-secondary{border-color:#334155;background:#1e293b;color:#e2e8f0!important;}
html.dark .modal-action-secondary:hover{background:#334155;}
html.dark .modal-action-source{border-color:rgb(6 78 59 / .6);background:rgb(2 44 34 / .3);color:#a7f3d0!important;}
html.dark .modal-action-source:hover{background:rgb(6 78 59 / .5);}
@media(max-width:639px){.modal-pdf-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.modal-pdf-actions .modal-action{font-size:11px;}}

/* Detail modal layout: long institution names must never affect sibling geometry. */
.modal-content .modal-org-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
}
.modal-content .modal-org-header .logo-box {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 6px;
  border: 1px solid #f1f5f9;
  border-radius: 12px;
}
.modal-content .modal-org-copy {
  flex: 1 1 auto;
  min-width: 0;
  width: 0;
}
.modal-content .modal-org-copy .institution {
  min-width: 0;
  margin: 0;
  color: #0f172a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.modal-content .modal-org-copy .city {
  min-width: 0;
  max-width: 100%;
  margin-top: 2px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.modal-content .modal-title {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 12px 0 18px;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.modal-content .modal-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
  row-gap: 14px;
  width: 100%;
}
.modal-content .modal-facts .fact {
  min-width: 0;
  overflow: hidden;
}
.modal-content .modal-facts .fact dt,
.modal-content .modal-facts .fact dd {
  display: block;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.modal-content .modal-facts .fact dt {
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 500;
}
.modal-content .modal-facts .fact dd {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
html.dark .modal-content .modal-org-copy .institution { color: #fff; }
html.dark .modal-content .modal-org-header .logo-box { border-color: #1e293b; }
@media (min-width: 640px) {
  .modal-content .modal-org-copy .institution { font-size: 16px; }
  .modal-content .modal-facts .fact dt { font-size: 12px; }
  .modal-content .modal-facts .fact dd { font-size: 14px; }
}

/* Compact floating assistant card */
.kai-panel{position:fixed!important;bottom:6rem!important;right:1rem!important;z-index:10000;width:92vw!important;max-width:360px!important;height:480px!important;max-height:68vh!important;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(226,232,240,.8);border-radius:1.5rem;background:rgba(255,255,255,.95);box-shadow:0 25px 50px -12px rgba(15,23,42,.15);backdrop-filter:blur(12px);transform:scale(.95);transform-origin:bottom right;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.16,1,.3,1)}
.kai-panel.open{transform:scale(1);opacity:1;pointer-events:auto}
.kai-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem!important;background:linear-gradient(90deg,rgba(5,150,105,.9),rgba(15,118,110,.9))!important;border-bottom:1px solid rgba(52,211,153,.2);color:#fff}
.kai-head>div:not(.kai-avatar){margin-right:auto}.kai-avatar{display:flex!important;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex:0 0 1.75rem;border-radius:9999px;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);font-size:0}.kai-avatar svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8}.kai-head strong{font-size:.75rem;font-weight:700;letter-spacing:-.01em}.kai-head small{display:flex;align-items:center;gap:.3rem;margin-top:2px;font-size:10px;font-weight:500;color:#d1fae5}.kai-dot{width:5px;height:5px;border-radius:50%;background:#86efac;box-shadow:0 0 7px #86efac}
.kai-close{display:flex;align-items:center;justify-content:center;width:1.5rem!important;height:1.5rem!important;padding:0!important;border-radius:9999px!important;background:transparent!important;color:rgba(255,255,255,.9)!important;font-size:1rem!important;line-height:1;transition:background .2s}.kai-close:hover{background:rgba(255,255,255,.2)!important}
.kai-messages{flex:1;overflow-y:auto;padding:.75rem!important;display:flex;flex-direction:column;gap:.625rem;background:rgba(248,250,252,.5)!important;font-size:.75rem;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.kai-msg{max-width:85%;padding:.625rem .875rem;border-radius:1rem;line-height:1.55}.kai-msg.bot{align-self:flex-start;background:#fff;color:#334155;border:1px solid #f1f5f9;border-top-left-radius:.25rem;box-shadow:0 1px 2px rgba(15,23,42,.05);font-size:12px}.kai-msg.user{align-self:flex-end;margin-left:auto;background:#059669;color:#fff;border-radius:1rem;border-top-right-radius:.25rem;box-shadow:0 1px 2px rgba(15,23,42,.08);font-size:12px}
.kai-quick{display:flex;align-items:center;gap:.375rem;overflow-x:auto;padding:.375rem .75rem!important;border-top:1px solid #f1f5f9;background:rgba(255,255,255,.6);scrollbar-width:none}.kai-quick::-webkit-scrollbar{display:none}.kai-quick button{flex:0 0 auto;padding:.25rem .625rem!important;border:1px solid rgba(15,118,110,.25)!important;border-radius:9999px!important;background:#e6f4f1!important;color:#0f766e!important;font-size:11px!important;font-weight:500;white-space:nowrap;transition:all .2s}.kai-quick button:hover{background:#d7ece7!important;color:#0b5e56!important}
.kai-form{display:flex;gap:.5rem;padding:.625rem .75rem!important;border-top:1px solid #f1f5f9;background:#fff}.kai-form:focus-within{border-color:transparent}.kai-form .kai-input{min-width:0;width:100%;padding:.25rem 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#1e293b;outline:0;box-shadow:none!important;font-size:12px}.kai-form{align-items:center}.kai-form:before{content:'';position:absolute}.kai-form{position:relative}.kai-input{background:#f1f5f9!important;border:1px solid rgba(226,232,240,.7)!important;border-radius:9999px!important;padding:.5rem 2.75rem .5rem .875rem!important}.kai-send{width:1.75rem!important;height:1.75rem!important;flex:0 0 1.75rem;border:0!important;border-radius:9999px!important;background:#0f766e!important;color:#fff;font-size:0!important;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s;box-shadow:0 1px 2px rgba(0,0,0,.1)}.kai-send:after{content:'➤';font-size:12px}.kai-send:hover{background:#0b5e56!important}.kai-send:active{transform:scale(.95)}
@media(min-width:640px){.kai-panel{right:1.5rem!important;width:380px!important;max-width:380px!important}}
html.dark .kai-panel{border-color:#1e293b;background:rgba(15,23,42,.95)}html.dark .kai-messages{background:rgba(15,23,42,.5)!important}html.dark .kai-msg.bot{background:#1e293b;color:#e2e8f0;border-color:#334155}html.dark .kai-quick{border-color:#1e293b;background:rgba(15,23,42,.6)}html.dark .kai-quick button{background:#1e293b!important;color:#cbd5e1!important;border-color:#334155!important}html.dark .kai-form{background:#0f172a;border-color:#1e293b}html.dark .kai-input{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9}

/* Kamuİlanım — charcoal dark theme (single source of truth) */
html.dark, html.dark {
  --bg:#0f1115; --paper:#16191f; --ink:#f1f5f9; --muted:#94a3b8;
  --line:#262a34; --teal:#0d9488; --teal-dark:#0f766e;
  color-scheme:dark;
  background:#0f1115;
}
html.dark body, html.dark body {
  background:#0f1115 !important; color:#f1f5f9 !important;
}
html.dark body::before, html.dark body::after,
html.dark body::before, html.dark body::after { opacity:0 !important; }
html.dark .header, html.dark .footer,
html.dark .header, html.dark .footer { background:rgba(15,17,21,.88) !important; border-color:#262a34 !important; }
html.dark .search-box, html.dark .card,
html.dark .stat, html.dark .filters,
html.dark .search-box, html.dark .card, html.dark .stat, html.dark .filters {
  background:#16191f !important; border-color:#262a34 !important; box-shadow:none !important;
}
html.dark .card:hover, html.dark .card:focus-visible,
html.dark .card:hover, html.dark .card:focus-visible { border-color:#383f4f !important; box-shadow:none !important; }
html.dark .institution, html.dark .institution { color:#fff !important; font-weight:700; }
html.dark .city, html.dark .card-date,
html.dark .card-date-icon, html.dark .city, html.dark .card-date,
html.dark .card-date-icon { color:#94a3b8 !important; }
html.dark .card-title, html.dark .card-title { color:#f8fafc !important; }
html.dark .card-summary, html.dark .quota-line,
html.dark .card-summary, html.dark .quota-line { color:#94a3b8; }
/* Badges: institution / KPSS-free / deadline */
html.dark .badge, html.dark .badge { background:rgba(30,41,59,.7) !important; color:#93c5fd !important; border-color:#262a34 !important; }
html.dark .badge.green, html.dark .badge.green { background:rgba(6,78,59,.4) !important; color:#6ee7b7 !important; }
html.dark .badge.red, html.dark .badge.red { background:rgba(120,53,15,.35) !important; color:#fdba74 !important; }
html.dark .detail-btn, html.dark .modal-action-primary,
html.dark .detail-btn, html.dark .modal-action-primary { background:#0d9488 !important; color:#fff !important; font-weight:500; }
html.dark .detail-btn:hover, html.dark .modal-action-primary:hover,
html.dark .detail-btn:hover, html.dark .modal-action-primary:hover { background:#0f766e !important; }
/* Detail modal and its content surfaces */
html.dark dialog, html.dark .modal-content,
html.dark dialog, html.dark .modal-content { background:#16191f !important; border-color:#262a34 !important; color:#f1f5f9; }
html.dark .modal-header, html.dark .modal-actions,
html.dark .modal-header, html.dark .modal-actions { background:#16191f !important; border-color:#262a34 !important; }
html.dark .modal-facts, html.dark .modal-facts { background:#1c2029 !important; border-color:#2b303c !important; }
html.dark .role, html.dark .role { background:#1c2029 !important; border-color:#2b303c !important; }
html.dark .prose, html.dark .fact dt,
html.dark .prose, html.dark .fact dt { color:#cbd5e1 !important; }
html.dark .fact dd, html.dark .fact dd { color:#f1f5f9; }
html.dark #close-modal, html.dark #close-modal { background:#222734 !important; color:#cbd5e1 !important; }
html.dark #close-modal:hover, html.dark #close-modal:hover { background:#2c3344 !important; }
/* KAI assistant */
html.dark .kai-panel, html.dark .kai-panel { background:rgba(22,25,31,.95) !important; border-color:#262a34 !important; backdrop-filter:blur(16px); }
html.dark .kai-messages, html.dark .kai-messages { background:transparent !important; }
html.dark .kai-msg.bot, html.dark .kai-msg.bot { background:#1f242e !important; color:#f1f5f9 !important; border-color:#2c3240 !important; }
html.dark .kai-quick, html.dark .kai-quick { background:transparent !important; border-color:#2b303c !important; }
html.dark .kai-quick button, html.dark .kai-quick button { background:#1c2029 !important; border-color:#2b303c !important; color:#cbd5e1 !important; }
html.dark .kai-form, html.dark .kai-form { background:#16191f !important; border-color:#262a34 !important; }
html.dark .kai-input, html.dark .kai-input { background:#1c2029 !important; border-color:#2b303c !important; color:#f1f5f9 !important; }
html.dark .kai-send, html.dark .kai-send { background:#0d9488 !important; }
html.dark #chat-welcome-bubble, html.dark #chat-welcome-bubble { background:#16191f !important; color:#f1f5f9 !important; border-color:#262a34 !important; }

:root{--kai-canvas:#f6f8fa;--kai-surface:#fff;--kai-border:#e2e8ec;--kai-primary:#0f766e;--kai-primary-dark:#0b5e56;--kai-text:#0f1f2b;--kai-muted:#64748b}
html.dark{--kai-canvas:#0f1115;--kai-surface:#16191f;--kai-border:#262a34;--kai-primary:#0d9488;--kai-primary-dark:#14b8a6;--kai-text:#f1f5f9;--kai-muted:#94a3b8}
html,body{background:var(--kai-canvas);color:var(--kai-text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.header,.footer,.search-box,.card,.stat,.filters,.state-panel{background:var(--kai-surface);border-color:var(--kai-border)}
.header{background:color-mix(in srgb,var(--kai-surface) 92%,transparent);backdrop-filter:blur(14px)}
.card{border:1px solid var(--kai-border);border-radius:1rem;box-shadow:0 8px 24px rgb(15 23 42 / .04)}
html.dark .card{box-shadow:0 8px 24px rgb(0 0 0 / .12)}
.card:hover,.card:focus-visible{border-color:color-mix(in srgb,var(--kai-primary) 55%,var(--kai-border));transform:translateY(-1px)}
.card-title,.modal-title,.results-header h2{color:var(--kai-text)}
.card-date,.card-summary,.stat-label,.filter-label,.filter-tip{color:var(--kai-muted)}
.search-box input,.filters select,.filters input{background:var(--kai-surface);color:var(--kai-text);border-color:var(--kai-border)}
button,.status-btn,.mobile-filter-toggle{border-radius:.75rem}
.primary,.status-btn.active,.mobile-filter-toggle{background:var(--kai-primary);border-color:var(--kai-primary);color:#fff}
#chat-window.kai-panel{width:min(360px,calc(100vw - 24px));height:auto;max-height:68vh;min-height:360px;right:16px;bottom:88px;border:1px solid var(--kai-border);border-radius:1.25rem;background:color-mix(in srgb,var(--kai-surface) 95%,transparent);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgb(15 23 42 / .22)}
.kai-head{background:linear-gradient(135deg,#0f766e,#059669);padding:14px 16px}
.kai-messages{background:transparent;padding:14px}
.kai-msg{border-radius:14px;color:var(--kai-text)}
.kai-msg.bot{background:var(--kai-surface);border-color:var(--kai-border)}
.kai-msg.user{background:var(--kai-primary)}
.kai-quick{border-color:var(--kai-border);background:transparent}
.kai-quick button{background:color-mix(in srgb,var(--kai-primary) 8%,var(--kai-surface));border-color:color-mix(in srgb,var(--kai-primary) 30%,var(--kai-border));color:var(--kai-primary)}
.kai-form{border-color:var(--kai-border);background:transparent;padding:10px 12px}
.kai-input{background:var(--kai-surface);color:var(--kai-text);border:1px solid var(--kai-border);border-radius:999px;padding-inline:14px}
.kai-send{background:var(--kai-primary);border-radius:999px}
.kai-job-card{border:1px solid var(--kai-border);border-radius:1rem;padding:.75rem;background:var(--kai-surface);transition:border-color .2s,transform .2s}
.kai-job-card:hover{border-color:var(--kai-primary);transform:translateY(-1px)}
.kai-job-title,.kai-job-institution{color:var(--kai-text)}
.kai-job-meta{color:var(--kai-muted)}
.modal-content{background:var(--kai-surface);border-color:var(--kai-border);color:var(--kai-text)}
@media(max-width:639px){#chat-window.kai-panel{right:12px;bottom:80px;max-height:68vh}}

/* DESIGN.md implementation: Linear-inspired charcoal system (dark theme only) */
html.dark { --ui-bg:#0f1115; --ui-panel:#16191f; --ui-panel-raised:#1c2029; --ui-border:#262a34; --ui-text:#f1f5f9; --ui-muted:#94a3b8; --ui-accent:#2dd4bf; --ui-accent-hover:#5eead4; }
html.dark { background:var(--ui-bg)!important; color-scheme:dark; }
html.dark body { background:var(--ui-bg)!important; color:var(--ui-text)!important; }
html.dark .header { background:rgba(15,17,21,.88)!important; border-color:var(--ui-border)!important; }
html.dark .card, html.dark .filters, html.dark .filter-content, html.dark .search-box, html.dark .stat-card, html.dark .urgent-section { background:var(--ui-panel)!important; border-color:var(--ui-border)!important; color:var(--ui-text); }
.card { border-radius:12px; }
html.dark .card:hover, html.dark .card:focus-visible { border-color:rgba(45,212,191,.55)!important; background:var(--ui-panel-raised)!important; box-shadow:0 12px 32px rgba(0,0,0,.3); }
html.dark .card .institution, html.dark .card-title, html.dark .filter-heading, html.dark .filter-label { color:var(--ui-text)!important; }
html.dark .card-summary, html.dark .card-date, html.dark .filter-tip, html.dark .card-meta, html.dark .muted { color:var(--ui-muted)!important; }
html.dark input, html.dark select, html.dark textarea, html.dark .search-box input, html.dark #search, html.dark #sort, html.dark #categories { background:var(--ui-panel)!important; color:var(--ui-text)!important; border-color:var(--ui-border)!important; }
input::placeholder { color:#94a3b8!important; }
input:focus, select:focus, textarea:focus, button:focus-visible, .card:focus-visible { outline:2px solid var(--teal)!important; outline-offset:2px; }
button, .filter-button { transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
#chat-window.kai-panel { width:92vw!important; max-width:360px!important; height:480px!important; max-height:68vh!important; right:24px!important; bottom:100px!important; overflow:hidden; border-radius:14px!important; }
html.dark #chat-window.kai-panel { background:var(--ui-panel)!important; border:1px solid var(--ui-border)!important; box-shadow:0 18px 48px rgba(0,0,0,.45)!important; }
html.dark .kai-head { background:var(--ui-panel)!important; border-bottom:1px solid var(--ui-border)!important; color:var(--ui-text)!important; }
html.dark .kai-head small, html.dark .kai-dot { color:var(--ui-muted)!important; }
html.dark .kai-messages { background:var(--ui-bg)!important; }
html.dark .kai-msg.bot { background:var(--ui-panel-raised)!important; color:var(--ui-text)!important; border:1px solid var(--ui-border)!important; }
html.dark .kai-quick { background:var(--ui-panel)!important; border-color:var(--ui-border)!important; }
.kai-quick { overflow-x:auto; }
html.dark .kai-quick button, html.dark .kai-filter-button { background:var(--ui-panel-raised)!important; color:var(--ui-accent)!important; border-color:var(--ui-border)!important; }
html.dark .kai-quick button:hover, html.dark .kai-filter-button:hover { background:rgba(45,212,191,.16)!important; border-color:var(--ui-accent)!important; }
html.dark .kai-job-card { background:var(--ui-panel-raised)!important; border-color:var(--ui-border)!important; box-shadow:none!important; }
html.dark .kai-job-institution { color:var(--ui-accent)!important; }html.dark .kai-job-title { color:var(--ui-text)!important; }html.dark .kai-job-meta { color:var(--ui-muted)!important; }
html.dark .kai-job-button, html.dark .kai-send { background:var(--ui-accent)!important; color:#0b1210!important; }html.dark .kai-job-button:hover, html.dark .kai-send:hover { background:var(--ui-accent-hover)!important; }
html.dark .kai-form { background:var(--ui-panel)!important; border-color:var(--ui-border)!important; }html.dark .kai-input { background:var(--ui-panel-raised)!important; color:var(--ui-text)!important; }
#chat-welcome-bubble { white-space:normal!important; max-width:min(280px,80vw); }
html.dark #chat-welcome-bubble { background:var(--ui-panel)!important; color:var(--ui-text)!important; border-color:var(--ui-border)!important; }
#chat-trigger { width:56px!important; height:56px!important; filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))!important; }
#chat-trigger svg { width:56px!important; height:56px!important; }
@media(max-width:639px){#chat-window.kai-panel{right:12px!important;bottom:84px!important;}#ai-mascot-wrapper{right:12px!important;bottom:12px!important;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* Canonical Tailwind-style theme contract: darkMode: 'class' (html.dark). */
html { color-scheme: light; }
html.dark { color-scheme: dark; }
body.bg\[\#f8fafc\] { background-color:#f8fafc; color:#0f172a; }
html.dark body.bg\[\#f8fafc\] { background-color:#0f1115; color:#f1f5f9; }
.header { background-color:rgba(255,255,255,.9); border-color:#e2e8f0; }
html.dark .header { background-color:rgba(22,25,31,.9); border-color:#262a34; }
.stats .stat { background:#fff; border:1px solid rgba(226,232,240,.8); box-shadow:0 1px 2px rgba(15,23,42,.05); }
.stats .stat .stat-value { color:#0f172a; font-weight:800; }
.stats .stat .stat-label { color:#64748b; font-weight:500; }
html.dark .stats .stat { background:#16191f; border-color:#262a34; box-shadow:none; }
html.dark .stats .stat .stat-value { color:#f8fafc; }
html.dark .stats .stat .stat-label { color:#94a3b8; }
.search-box { background:#fff; border-color:#e2e8f0; }
.search-box input { color:#0f172a; }
html.dark .search-box { background:#16191f; border-color:#262a34; }
html.dark .search-box input { color:#fff; }
.card { background:#fff; border-color:#e2e8f0; }
.card .institution, .card .card-title, .card h3 { color:#0f172a; }
.card:hover { border-color:#0f766e; }
html.dark .card { background:#16191f; border-color:#262a34; }
html.dark .card .institution, html.dark .card .card-title, html.dark .card h3 { color:#f8fafc; }
html.dark .card:hover { border-color:#2dd4bf; }
.urgent-heading h2 { color:#0f172a; }
html.dark .urgent-heading h2 { color:#f1f5f9; }

/* Integrated discovery panel: search and filters are one deliberate interaction surface. */
.discovery-panel{width:100%;margin:0 0 24px;padding:16px;border-radius:16px!important;box-shadow:0 1px 3px rgba(15,23,42,.06);}
.discovery-kicker{margin-bottom:8px;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}
.discovery-title{margin:0 0 12px;color:var(--ink);font-size:16px;font-weight:800;line-height:1.3}
.discovery-search{display:flex;align-items:center;gap:8px;position:relative;margin-bottom:10px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:#94a3b8}
.discovery-search input{min-width:0;flex:1;padding:10px 0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}
.discovery-search input::placeholder{color:#94a3b8}.search-bar-group{display:flex;align-items:stretch;gap:8px;margin-bottom:12px;padding:0;border:0;background:transparent}.search-input-wrap{position:relative;flex:1;min-width:0}.search-input-icon{position:absolute;inset:0 auto 0 14px;display:flex;align-items:center;pointer-events:none;color:#94a3b8}.search-input-icon svg{width:16px;height:16px}.search-input-wrap input{box-sizing:border-box;width:100%;height:44px;padding:0 16px 0 40px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#0f172a;outline:0;font-size:12px;transition:border-color .2s,box-shadow .2s}.search-input-wrap input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgb(16 185 129 / .12)}.search-input-wrap input::placeholder{color:#94a3b8}.search-bar-group .discovery-search-btn{height:44px;padding:0 20px;display:flex;align-items:center;justify-content:center;border-radius:12px;box-shadow:0 1px 2px rgb(15 23 42 / .08);font-size:12px}.search-bar-group #clear-search{height:44px;width:44px}.discovery-search .search-input-wrap+ .discovery-search-btn{flex:0 0 auto}@media(max-width:480px){.search-bar-group{gap:6px}.search-bar-group .discovery-search-btn{padding:0 16px}}.discovery-search-btn{padding:9px 15px;border:0;border-radius:10px;background:#059669;color:#fff;font-size:11px;font-weight:800;cursor:pointer;transition:background .2s}.discovery-search-btn:hover{background:#047857}
.discovery-panel .filter-heading{margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.discovery-panel .filter-content{margin-top:12px;padding:14px 12px;border-top:1px solid var(--line)}
.filter-content.hidden{display:none}.toggle-filter-btn .icon{transition:transform .2s ease}.mobile-filter-toggle[aria-expanded="true"] .icon{transform:rotate(180deg)}
.discovery-panel:not(.expanded) .filter-content{display:none}
@media(max-width:640px){.discovery-search{align-items:stretch}.discovery-search-btn{padding-inline:12px}}

/* Compact, touch-friendly filter controls */
#filter-content > .filter-label { display:block; margin:14px 0 7px; }
#filter-content > .filter-label:first-child { margin-top:0; }
#filter-content .filter-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#filter-content .category-btn { width:100%; min-width:0; justify-content:center; border:1px solid rgba(203,213,225,.8); background:#fff; color:#475569; padding:9px 7px; }
html.dark #filter-content .category-btn { background:#16191f; color:#cbd5e1; border-color:#262a34; }
#filter-content .category-btn.active, #filter-content .category-btn[aria-pressed="true"] { background:#059669; color:#fff; border-color:#059669; box-shadow:0 1px 2px rgba(15,23,42,.08); }
#filter-content .category-btn:hover { background:#f0fdf4; }
html.dark #filter-content .category-btn:hover { background:#1d2930; }
#filter-content .category-btn.active:hover, #filter-content .category-btn[aria-pressed="true"]:hover { background:#059669; color:#fff; }
#filter-content .categories .category-btn { gap:0; }
#filter-content fieldset { margin-top:15px; padding-top:15px; }
#filter-content .kpss-segment { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; overflow:hidden; border:1px solid rgba(203,213,225,.8); border-radius:9px; }
#filter-content .kpss-option { border:0; border-right:1px solid rgba(203,213,225,.8); background:#fff; color:#475569; padding:9px 5px; font:inherit; font-size:12px; cursor:pointer; }
#filter-content .kpss-option:last-child { border-right:0; }
html.dark #filter-content .kpss-segment { border-color:#262a34; }
html.dark #filter-content .kpss-option { background:#16191f; color:#cbd5e1; border-color:#262a34; }
#filter-content .kpss-option.active { background:#059669; color:#fff; box-shadow:0 1px 2px rgba(15,23,42,.08); }

/* Production layout guard: prevent long content and utility classes from collapsing the desktop grid. */
*,*::before,*::after{box-sizing:border-box}
.header-inner{width:100%;min-width:0}
.header-right{min-width:0;white-space:nowrap}
main.wrap{width:100%;min-width:0}
.content{width:100%;min-width:0}
.content>section{min-width:0}
#job-list{width:100%;min-width:0;align-items:stretch}
#job-list>.card,#job-list>article{min-width:0;width:100%;max-width:100%;overflow:hidden}
#job-list .card-title,#job-list .institution,#job-list .card-summary{overflow-wrap:anywhere;word-break:normal}
#job-list .card-top,#job-list .card-body,#job-list .card-bottom{min-width:0}
@media (min-width:768px){
  .wrap{width:100%;}
  .content{grid-template-columns:minmax(0,1fr);align-items:start}
  #job-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
}
@media (min-width:1600px){#job-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}}
@media (max-width:767px){
  .header-right>span{display:none}
  .header-right{gap:8px}
  .content{display:block}
  #job-list{grid-template-columns:1fr}
}

main.w-full.max-w-7xl{width:100%;max-width:80rem;margin-left:auto;margin-right:auto;padding:1.5rem 1rem}
#job-list.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;width:100%;margin-top:1.5rem}
#job-list>.col-span-full{grid-column:1 / -1;width:100%}
#job-list>.card{width:100%;height:100%;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
@media (min-width:640px){main.w-full.max-w-7xl{padding-left:1.5rem;padding-right:1.5rem}}
@media (min-width:768px){#job-list.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){main.w-full.max-w-7xl{padding-left:2rem;padding-right:2rem}#job-list.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.col-span-full{grid-column:1/-1}.col-span-full.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.col-span-full.flex{display:flex;align-items:center;justify-content:center}.col-span-full .flex-grow{flex:1 1 0%}.col-span-full .border-t{border-top:1px solid #e2e8f0}.col-span-full .mx-3{margin-left:.75rem;margin-right:.75rem}.col-span-full .inline-flex{display:inline-flex;align-items:center}.col-span-full .rounded-full{border-radius:9999px}.col-span-full .bg-slate-100{background:#f1f5f9}.col-span-full .border{border:1px solid #e2e8f0}.col-span-full .w-1\.5{width:.375rem}.col-span-full .h-1\.5{height:.375rem}.col-span-full .bg-emerald-500{background:#10b981}.col-span-full .text-xs{font-size:.75rem}.col-span-full .font-semibold{font-weight:600}.col-span-full .text-slate-700{color:#334155}

/* Deterministic card geometry: prevent grid items from sharing/overlapping rows. */
#job-list {
  display: grid !important;
  grid-auto-flow: row;
  grid-auto-rows: max-content;
  align-items: stretch;
  justify-items: stretch;
  width: 100%;
  min-width: 0;
}
#job-list > .card {
  display: flex;
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: auto !important;
  min-height: 0;
  margin: 0;
  align-self: stretch;
  overflow: hidden;
}
#job-list > .card > * { min-width: 0; }
#job-list .card-top { display: flex; align-items: flex-start; width: 100%; min-width: 0; }
#job-list .card-identity { display: flex; align-items: flex-start; flex: 1 1 auto; min-width: 0; }
#job-list .card-identity > div:last-child { min-width: 0; overflow: hidden; }
#job-list .card-date { flex: 0 0 auto; max-width: 42%; min-width: 0; }
#job-list .card-date > span:last-child { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#job-list .card-title { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
@media (min-width: 768px) {
  #job-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 17px; row-gap: 17px; }
}
@media (min-width: 1600px) {
  #job-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  #job-list { grid-template-columns: minmax(0, 1fr) !important; row-gap: 16px; }
}

/* Final card geometry: the list itself owns spacing; utility stack margins are intentionally absent. */
#job-list {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-auto-flow: row;
  grid-auto-rows: max-content;
  align-content: start;
  align-items: stretch;
  justify-items: stretch;
  gap: 17px;
}
#job-list > .card {
  display: flex !important;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  align-self: stretch;
  overflow: hidden;
}
#job-list > .card .card-top,
#job-list > .card .card-title,
#job-list > .card .quota-line,
#job-list > .card .badges,
#job-list > .card .card-summary,
#job-list > .card .card-bottom { width: 100%; min-width: 0; box-sizing: border-box; }
@media (min-width: 768px) {
  #job-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 1600px) {
  #job-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  #job-list { grid-template-columns: minmax(0, 1fr) !important; gap: 16px; }
}

#job-list { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; }
#job-list > .job-card { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
#job-list > [style*="grid-column"] { grid-column: 1 / -1 !important; width: 100% !important; }

.chat-trigger svg{width:28px}.kai-panel{position:absolute;right:0;bottom:74px;width:360px;height:520px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 24px 70px #0f172a2b;transform:translateY(18px) scale(.96);opacity:0;pointer-events:none;transition:.25s}.kai-panel.open{transform:none;opacity:1;pointer-events:auto}.kai-head{display:flex;align-items:center;gap:10px;padding:16px;background:linear-gradient(135deg,#123d32,#159570);color:#fff}.kai-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ffffff2b}.kai-head strong,.kai-head small{display:block}.kai-head strong{font-size:14px}.kai-head small{font-size:11px}.kai-dot{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#86efac}.kai-close{margin-left:auto;border:0;background:none;color:#fff;font-size:24px;cursor:pointer}.kai-messages{flex:1;overflow:auto;padding:16px;background:#f8fafc}.kai-msg{max-width:84%;margin:0 0 11px;padding:10px 12px;border-radius:14px;color:#263b35;font:13px/1.45 inherit;white-space:pre-wrap}.kai-msg.bot{border-top-left-radius:4px;background:#fff;border:1px solid #e2e8f0}.kai-msg.user{margin-left:auto;border-top-right-radius:4px;background:#159570;color:#fff}.kai-quick{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid #e2e8f0}.kai-quick button{flex:0 0 auto;padding:7px 9px;border:1px solid #b9d8cc;border-radius:99px;background:#f0fdf7;color:#167052;font:11px inherit;cursor:pointer}.kai-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0}.kai-input{min-width:0;flex:1;padding:11px 12px;border:1px solid #dbe3e0;border-radius:12px;outline:0;font:13px inherit}.kai-send{width:40px;border:0;border-radius:12px;background:#159570;color:#fff;cursor:pointer}@keyframes kaiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}html.dark .kai-panel,html.dark .kai-form{background:#0f172a}html.dark .kai-messages{background:#111c2e}html.dark .kai-msg.bot{background:#182538;color:#dbe7e3}.kai-panel{position:fixed;right:12px;bottom:84px;width:calc(100vw - 24px);height:min(520px,calc(100vh - 105px))}

/* Sevimli dijital asistan maskotu */
@keyframes mascot-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes mascot-blink{0%,91%,100%{transform:scaleY(1)}94%,97%{transform:scaleY(.1)}}
@keyframes mascot-wave{0%,100%{transform:rotate(0deg)}25%{transform:rotate(20deg)}55%{transform:rotate(-10deg)}75%{transform:rotate(0deg)}}
@keyframes mascot-shadow{0%,100%{transform:scaleX(1);opacity:.22}50%{transform:scaleX(.72);opacity:.11}}
.kai-widget{isolation:isolate}









/* AI ilan kartları */
.kai-results{display:grid;gap:10px;margin-top:10px;max-height:18rem;overflow-y:auto;padding-right:.25rem}.kai-results::-webkit-scrollbar{width:6px}.kai-results::-webkit-scrollbar-thumb{background:#b9d8cc;border-radius:99px}.kai-results::-webkit-scrollbar-track{background:transparent}.kai-filter-button{display:block;width:100%;margin-top:2px;padding:8px 10px;border:1px solid #b9d8cc;border-radius:9px;background:#f0fdf7;color:#167052;font:700 11px inherit;cursor:pointer}.kai-filter-button:hover{background:#dff7eb}.kai-job-card{background:#fff;border:1px solid #dcebe5;border-radius:14px;padding:12px;box-shadow:0 4px 14px rgba(15,78,63,.07)}.kai-job-head{display:flex;gap:10px;align-items:flex-start}.kai-job-logo{width:36px;height:36px;object-fit:contain;border-radius:10px;background:#eff8f4;padding:5px;flex:0 0 36px}.kai-job-logo-fallback{display:grid;place-items:center;font-weight:800;color:#0e7669;font-size:16px}.kai-job-institution{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#0e7669;line-height:1.25}.kai-job-title{font-size:13px;font-weight:750;line-height:1.35;color:#173c35;margin-top:3px}.kai-job-meta{display:flex;justify-content:space-between;gap:8px;color:#607d73;font-size:11px;margin:10px 0}.kai-job-button{display:block;width:max-content;margin-left:auto;border:0;border-radius:9px;background:#159570;color:#fff;padding:9px 10px;font:700 12px inherit;cursor:pointer}.kai-job-button:hover{background:#0e7669}.kai-msg.bot:has(.kai-results){max-width:100%}

/* SVG animations: SVG transforms require an explicit box and origin. */
#chat-trigger .mascot-eye {
  transform-box: fill-box;
  transform-origin: center;
  animation: mascot-blink 5.2s ease-in-out infinite;
}
#chat-trigger .mascot-arm {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  animation: mascot-wave 2.8s ease-in-out infinite;
}
@keyframes mascot-blink { 0%, 91%, 100% { transform: scaleY(1); } 94%, 97% { transform: scaleY(.1); } }
@keyframes mascot-wave { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(20deg); } 55% { transform: rotate(-10deg); } 75% { transform: rotate(0deg); } }
@media (prefers-reduced-motion: reduce) {
  #chat-trigger .mascot-eye, #chat-trigger .mascot-arm { animation: none; }
}
<style>
#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full{display:flex;align-items:center;justify-content:center;position:relative;margin:1.5rem 0;padding:0 .5rem;color:#334155;font-size:.75rem;font-weight:600;letter-spacing:.025em}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full:first-child{margin-top:1rem}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:first-child,#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:last-child{flex:1 1 0;border-top:1px solid #e2e8f0}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:first-child{margin-right:.75rem}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:last-child{margin-left:.75rem}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:nth-child(2){display:flex;align-items:center;gap:.5rem;padding:.25rem .875rem;border:1px solid #e2e8f0;border-radius:9999px;background:#f1f5f9;box-shadow:0 1px 2px rgba(15,23,42,.04);white-space:nowrap}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:nth-child(2)>span:first-child{width:.375rem;height:.375rem;border-radius:9999px;background:#10b981;flex:0 0 auto}@media(prefers-color-scheme:dark){#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full{color:#e2e8f0}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:first-child,#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:last-child{border-color:#262a34}#job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:nth-child(2){background:#16191f;border-color:#262a34}}html.dark #job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full{color:#e2e8f0}html.dark #job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:first-child,html.dark #job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:last-child{border-color:#262a34}html.dark #job-list>.relative.flex.items-center.justify-center.my-6.px-2.w-full>div:nth-child(2){background:#16191f;border-color:#262a34}

/* --- KESİN VE SAĞLAM GRID DÜZENİ --- */
.content,
.content > section#results {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Cards must always occupy a real grid track; no viewport breakpoint is required. */
#job-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 1.25rem !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 1.5rem auto !important;
  align-items: stretch !important;
}

#job-list > .job-card {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.job-date-divider {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Ana içerik ve sonuç alanını tam genişliğe zorla */
.content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

section#results {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* Filtre paneli sayfayı daraltmasın */
aside#filters, .discovery-panel {
  width: 100% !important;
  max-width: 100% !important;
}

/* İlan Grid'ini net olarak 3 sütuna bağla */
#job-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 1.5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 1.5rem 0 !important;
}
