:root{--bg:#eff9ff;--surface:#fff;--panel:#f8fcff;--ink:#10194a;--muted:#465d8a;--line:#d9e7f6;--blue:#075be6;--soft:#e7f0ff;--science:#087d63;--computing:#7043b0;--engineering:#ad560d;--labs:#096c98;color-scheme:light}body{color:var(--ink);background:var(--bg)}.dark{--bg:#09152a;--surface:#13223c;--panel:#101e35;--ink:#e7efff;--muted:#b0c2e0;--line:#2c4060;--blue:#83b5ff;--soft:#203655;--science:#61d4b3;--computing:#c4a4ff;--engineering:#ffb87c;--labs:#77d1f9;color-scheme:dark}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #198bff;outline-offset:3px}button,.button,nav a{min-height:44px}button{border-radius:9px}button:active{transform:translateY(1px)}.skip{position:fixed;top:-80px;left:10px;padding:15px;background:var(--surface);z-index:100}.skip:focus{top:10px}.search{position:relative;max-width:400px;background:var(--surface);border-color:var(--line);padding:0 10px}.search input{height:44px;font-size:13px;color:var(--ink);outline:0}.search input::placeholder{color:var(--muted)}.search:focus-within{box-shadow:0 0 0 3px #198bff20;border-color:var(--blue)}input::-webkit-search-cancel-button{display:none}.search #search-clear{font-size:23px;min-width:44px}.suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px #00154422;padding:6px;max-height:350px;overflow:auto;z-index:30}.suggestions button{width:100%;display:flex;align-items:center;text-align:left;gap:10px;padding:8px}.suggestions button:hover{background:var(--soft)}.suggestions img{width:36px;height:36px;object-fit:contain}.suggestions b{display:block;font-size:12px}.suggestions small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.suggestions p{font-size:12px;color:var(--muted);padding:10px}.theme-select{height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px;font-size:12px;max-width:95px}.hero{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(120deg,var(--surface),var(--soft));border:1px solid var(--line)}.hero-copy{width:auto!important;background:none!important;padding:32px}.hero-art{position:static;inset:auto;height:auto;opacity:1!important;background:none}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}.hero aside{display:none}.hero h1{font-size:clamp(32px,3.2vw,54px)}.hero-copy>p{color:var(--muted)!important}.hero h2{font-size:18px}.primary{background:linear-gradient(135deg,#0575ff,#0751dc);border:1px solid #1377ff;border-radius:12px;color:#fff;min-height:44px}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--blue);min-height:44px}.panel{background:var(--panel)!important;border:1px solid var(--line);padding:18px;margin-top:16px}.section-head h2{font-size:23px}.section-head{gap:10px}.local-note{font-size:11px;color:var(--muted);text-align:right}.eyebrow{color:var(--blue)!important}.personal-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:14px 0}.personal-tabs button{padding:10px 14px;color:var(--muted);font-size:12px;border-bottom:2px solid transparent;white-space:nowrap}.personal-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:bold}.personal-tabs small{background:var(--soft);padding:3px 5px;border-radius:5px}.saved-empty{color:var(--muted);font-size:12px;line-height:1.6;padding:8px}.saved-empty b{color:var(--ink);display:block;font-size:14px}.saved-list{display:flex;gap:10px;overflow-x:auto;padding:5px 0}.saved-item{min-width:210px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface)}.saved-item img{width:40px;height:40px;object-fit:contain}.saved-item a{font-size:12px;font-weight:bold;flex:1;min-height:44px;display:flex;flex-direction:column;justify-content:center}.saved-item small{font-weight:normal;color:var(--muted);font-size:10px;margin-top:4px}.saved-item button{height:44px;min-width:44px}.featured{display:flex;align-items:center;gap:20px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(120deg,var(--soft),var(--surface));padding:22px;margin-top:16px}.featured img{width:85px;height:85px;object-fit:contain}.featured>div{flex:1}.featured h2{font-size:22px}.featured p{font-size:13px;color:var(--muted);line-height:1.5;margin:7px 0}.featured .eyebrow{font-size:9px}.filter-wrap{position:relative;padding-right:35px}.filters{margin:0;padding:4px 0 8px;scrollbar-width:none;scroll-behavior:smooth}.filters::-webkit-scrollbar{display:none}.filters button{min-height:44px;font-size:12px;background:var(--surface);color:var(--muted);border-color:var(--line)}.filters .selected{background:var(--blue);color:var(--bg)}.filter-next{position:absolute;right:0;top:4px;width:35px;font-size:26px;color:var(--blue);background:var(--panel)}.result-count{font-size:12px;color:var(--muted);margin:7px 0 14px}.grid{gap:12px}.card{display:flex;flex-direction:column;justify-content:initial;padding:0;min-height:290px;background:var(--surface)!important;border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:none;overflow:hidden}.card-science{--accent:var(--science)}.card-computing{--accent:var(--computing)}.card-engineering{--accent:var(--engineering)}.card-labs{--accent:var(--labs)}.card-top{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 0 12px}.category{font-size:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));padding:4px 6px;border-radius:5px}.favorite{height:44px;width:44px;font-size:21px;color:var(--muted)}.favorite[aria-pressed=true]{color:#ce3c77;background:#ff98bd15}.card-img{height:92px;width:120px;object-fit:contain;margin:2px auto 10px}.card-copy{padding:0 13px;flex:1}.card h3{font-size:14px;line-height:1.3;min-height:36px;margin:0}.card p{font-size:12px;color:var(--muted);line-height:1.45;min-height:34px;margin:5px 0 10px}.destination{font-size:10px;color:var(--muted);line-height:1.5;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.shared{color:var(--accent);font-weight:bold}.card-actions{display:flex;gap:3px;padding:6px;border-top:1px solid var(--line)}.card-actions a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:9px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:bold}.card-actions button{height:44px;width:44px;min-width:44px;color:var(--muted);font-size:18px}.card-actions button:hover,.card-actions button[aria-pressed=true]{background:var(--soft);color:var(--blue)}.empty{text-align:center;padding:30px;color:var(--muted)}.empty h3{color:var(--ink);margin-bottom:10px}.empty p{font-size:13px;line-height:1.5}.empty .primary{margin-top:10px;padding:12px 18px}.tool-links a{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);min-height:100px;padding:16px}.tool-links img{width:55px;height:55px;object-fit:contain}.tool-links small{margin:6px 0;color:var(--muted);line-height:1.5}.tool-links em{font-size:10px;font-style:normal;color:var(--blue)}.apps-grid{gap:12px}.app-card{background:var(--surface);border:1px solid var(--line);padding:18px;flex-wrap:wrap;gap:12px}.app-card img{width:56px;height:56px;object-fit:contain;padding:5px;background:var(--soft);border-radius:13px}.app-card>div{flex:1;min-width:140px}.app-card h3{font-size:14px}.app-card p{font-size:12px;line-height:1.5;color:var(--muted);font-weight:normal;margin:5px 0}.app-card small{font-size:10px;color:var(--muted);font-weight:normal}.app-card .primary{width:100%;padding:12px;font-size:12px;text-align:center}.muted{color:var(--muted)}footer{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:28px;padding:35px 18px;color:var(--muted)}footer b{font-size:18px;color:var(--ink)}footer p{font-size:12px;line-height:1.6;max-width:330px}footer i{font-size:12px;color:var(--blue)}footer h3{font-size:12px;color:var(--ink);margin-bottom:8px}footer a,footer button{display:flex;align-items:center;min-height:44px;font-size:12px;padding:0}footer .footer-message{font-size:19px;color:var(--blue);text-align:right;align-self:center;line-height:1.6}.bottom-nav{display:none}.back-top{position:fixed;bottom:24px;right:18px;width:44px;height:44px;background:var(--blue);color:var(--bg);z-index:18;box-shadow:0 5px 20px #001b5b30;border-radius:12px;font-size:23px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:12px 18px;border-radius:12px;font-size:12px;z-index:40;max-width:90%;opacity:0;pointer-events:none;transition:opacity .2s}.toast.visible{opacity:1}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);max-width:540px;width:calc(100% - 24px);max-height:85vh;overflow:auto;padding:28px}#close{width:44px;height:44px;right:8px;top:8px}dialog .detail-icon{width:96px;height:96px;object-fit:contain;margin-bottom:15px}dialog h2{font-size:26px;line-height:1.25;margin:0 25px 10px 0}dialog p{color:var(--muted);font-size:14px;line-height:1.65}.detail-category{color:var(--blue);font-size:11px;letter-spacing:1px;margin-bottom:8px}.detail-platform{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin:18px 0}.detail-platform b{font-size:13px}.detail-platform p{font-size:12px;margin:6px 0}.detail-platform small{font-size:11px;overflow-wrap:anywhere;color:var(--muted)}.detail-actions{display:flex;flex-wrap:wrap;gap:8px}.detail-actions .primary,.detail-actions .secondary{padding:12px 16px;font-size:12px}.related h3{font-size:13px;margin:20px 0 8px}.related button{min-height:44px;font-size:11px;border:1px solid var(--line);padding:8px 12px;margin:0 5px 6px 0;border-radius:22px}.dark .primary{color:white}.dark .hero{background:linear-gradient(120deg,var(--surface),var(--soft))}.dark .search,.dark header{background:var(--surface)}.dark nav a,.dark nav button{color:var(--muted)}.dark nav .active{background:var(--soft);color:var(--blue)}.dark .hero-art{background:none}.dark .hero-copy{background:none}.dark .filters .selected{color:var(--bg)}[hidden]{display:none!important}
@media(max-width:1250px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-copy{width:auto}.hero-art{position:static}.theme-select{max-width:85px;padding:8px 4px}header{gap:10px}}
@media(max-width:900px){header{padding:10px 14px;gap:10px}.search{max-width:none;flex-basis:100%}.hero{grid-template-columns:1.1fr 1fr}.hero-copy{padding:24px}.hero h1{font-size:35px}.hero h2{font-size:15px}.hero-copy>p{font-size:13px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured{flex-wrap:wrap}.featured .primary{padding:13px 18px}footer{grid-template-columns:2fr 1fr 1fr}.footer-message{grid-column:1/-1;text-align:left!important}}
@media(max-width:600px){main{padding:10px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:22px 20px}.hero h1{font-size:32px}.hero h2{font-size:14px}.hero-copy>p{font-size:12px;margin-bottom:0}.hero-art{height:85px;width:100%;min-height:0}.hero-art img{object-position:50% 53%}.actions{gap:8px;margin-top:14px}.actions a{font-size:11px;padding:12px 11px}.eyebrow{font-size:8px!important}.panel{padding:16px 10px;scroll-margin-top:140px}.section-head{margin:0 3px 12px}.section-head h2{font-size:21px}.section-head button{font-size:11px}.local-note{font-size:10px;max-width:90px}.personal-tabs{gap:0}.personal-tabs button{padding:10px 9px;font-size:11px}.featured{padding:16px;gap:12px}.featured img{width:60px;height:60px}.featured>div{min-width:190px}.featured h2{font-size:18px}.featured p{font-size:12px}.featured .primary{width:100%;font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{min-height:310px}.card-img{width:100px;height:80px}.card h3{font-size:13px}.card p{font-size:11px}.card-copy{padding:0 10px}.card-top{padding-left:8px}.category{font-size:9px}.destination{font-size:9px}.card-actions{flex-wrap:wrap}.card-actions a{order:1;flex-basis:100%}.card-actions button{flex:1;min-width:44px}.tool-links{grid-template-columns:1fr}.app-card{padding:14px;gap:10px}.app-card>div{min-width:0;flex-basis:100%}.app-card h3{font-size:13px}.app-card img{width:48px;height:48px}.app-card .primary{font-size:11px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);z-index:19;padding:5px 4px max(5px,env(safe-area-inset-bottom))}.bottom-nav a{min-width:66px;min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:10px;color:var(--muted);border-radius:11px}.bottom-nav a span{font-size:23px}.bottom-nav .active{background:var(--soft);color:var(--blue);font-weight:bold}.back-top{bottom:82px}.toast{bottom:84px}footer{grid-template-columns:1fr 1fr;padding:28px 10px 100px;gap:22px}.footer-brand{grid-column:1/-1}.footer-message{font-size:17px!important}body.searching .search{position:absolute;top:10px;left:10px;right:10px;max-width:none;z-index:35}.search kbd{display:none}.skip{z-index:60}}
@media(prefers-reduced-motion:reduce){html,.filters{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.card:hover{transform:none}}
#menu{min-width:44px;min-height:44px}.filter-next{width:44px;min-width:44px}.filter-wrap{padding-right:44px}.text-button{color:var(--blue);padding:10px;min-height:44px;font-size:12px}.hero-art img{display:block}.card-actions button:focus-visible{outline-offset:-3px}.card-img{mix-blend-mode:normal}
#theme.theme-select{font-size:12px;color:var(--ink);background:var(--surface);height:44px;padding:8px;width:95px}.hero-art{height:350px;min-height:0}.hero-copy{display:flex;flex-direction:column;justify-content:center}@media(max-width:900px){.hero-art{height:320px}}@media(max-width:600px){.hero-art{height:85px}.hero-copy{display:block}}@media(min-width:901px) and (max-width:1100px){header{flex-wrap:wrap}.search{order:5;max-width:none;flex-basis:100%}nav{margin-left:0}}
.logo{background:url('assets/brand.svg') center/contain no-repeat;width:52px;height:52px}body.dark .filters button.selected{background:var(--blue);color:#09152a;border-color:var(--blue)}@media(max-width:600px){html{scroll-padding-top:135px}.logo{width:44px;height:44px}}
