@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#26352d;--muted:#69776b;--cream:#f4f1e6;--paper:#fffcf3;--leaf:#dceac0;--orange:#f49b51;--pink:#ef9bb7;--blue:#9fc8e8;--line:#d9ddcc;--navy:#172526;--shadow:0 15px 40px #26352d14}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #397dc0;outline-offset:3px}.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}.topbar{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font:700 21px/.95 'Space Grotesk';letter-spacing:-1px}.brand small{display:block;font:10px/1.5 'DM Sans';letter-spacing:.2px;color:var(--muted)}.brand-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--orange);box-shadow:inset 0 2px #fff8,0 3px 0 #ce783b;color:#fff;font:bold 25px 'Space Grotesk';text-shadow:0 1px #9d582a}.topbar nav{display:flex;gap:32px;font-size:12px;font-weight:700}.topbar nav a:hover,.top-link:hover,footer a:hover{text-decoration:underline}.top-link{font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:8px 15px}.intro{max-width:1180px;margin:auto;padding:70px 30px 75px;display:grid;grid-template-columns:1fr 270px;gap:80px;align-items:center}.eyebrow{font:500 10px/1.4 'DM Mono',monospace;letter-spacing:1.8px;color:#9b683e;margin:0 0 14px}.intro h1,.section-head h2,.feed-title h2,.about h2{font:500 clamp(42px,6vw,69px)/.99 'Space Grotesk';letter-spacing:-4px;margin:0}.intro h1 em{font-style:normal;color:#6c8758}.lead{font-size:16px;color:#596a5c;max-width:510px;margin:23px 0}.intro-link{display:inline-flex;gap:20px;align-items:center;padding:11px 16px;background:var(--ink);color:white;border-radius:7px;font-size:12px;font-weight:700}.intro-link span{font-size:17px;color:var(--orange)}.intro-sticker{height:240px;width:240px;justify-self:center;border-radius:50%;background:#f5ac5b;box-shadow:0 10px 0 #d98a45,inset 0 8px #ffffff55;display:flex;flex-direction:column;justify-content:space-between;padding:30px;color:#46371f;transform:rotate(8deg);font:500 10px/1.4 'DM Mono';letter-spacing:1px}.intro-sticker b{text-align:center;font:90px/.7 sans-serif;color:#74895d}.intro-sticker small{align-self:flex-end;text-align:right;font:11px/1.3 'DM Sans';letter-spacing:0}.directory{background:#e7eddc;padding:68px max(5vw,24px) 74px;border-block:1px solid #d5dec9}.section-head{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head h2,.feed-title h2{font-size:36px;letter-spacing:-1.7px}.section-head>div>p:last-child,.feed-title>div>p:last-child{font-size:12px;color:var(--muted);margin:9px 0 0}.search input{width:220px;border:1px solid #cdd5c3;border-radius:8px;padding:11px 14px;background:#ffffff9c;font-size:12px;color:var(--ink)}.filterbar{max-width:1180px;margin:27px auto 20px;display:flex;gap:8px;flex-wrap:wrap}.filter,.pill-button{border:1px solid #cdd5c3;background:#f8f9f2;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:600}.filter:hover,.pill-button:hover{background:white}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter span{color:#eba351;margin-left:4px}.explorer{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:54px;align-items:center}.phone-wrap{display:flex;flex-direction:column;align-items:center}.phone{width:292px;padding:11px 11px 13px;border-radius:43px;background:linear-gradient(115deg,#e9e9e2,#888e87 14%,#f9f9f2 25%,#767d78 95%);box-shadow:0 20px 35px #27362a35,inset 0 1px 2px #fff}.phone-frame{border:4px solid #172121;border-radius:34px;padding:7px;background:#172121}.phone-screen{height:560px;position:relative;overflow:hidden;border-radius:26px;padding:12px 14px 76px;background-color:#cfdfa9;background-image:radial-gradient(ellipse at 20% 15%,#f7edb8 0,transparent 36%),radial-gradient(ellipse at 86% 72%,#a9c482 0,transparent 40%),linear-gradient(135deg,#b8d196,#e1e8b6 49%,#b7ce99);box-shadow:inset 0 0 20px #46573a22}.statusbar{display:flex;justify-content:space-between;font:600 9px 'DM Sans';padding:0 4px}.phone-title{display:flex;justify-content:space-between;align-items:center;padding:18px 4px 13px;font:600 15px 'Space Grotesk';text-shadow:0 1px #ffffff9c}.phone-title button{border:0;background:#fff7;border-radius:50%;width:25px;height:25px;color:#a45f23}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px;max-height:330px;overflow-y:auto;scrollbar-width:thin;align-content:start}.app-icon{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.app-icon .glyph{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;border:1px solid #ffffffa3;box-shadow:0 3px 5px #24352d44,inset 0 2px 2px #ffffffa0;color:#fff;font:700 22px 'Space Grotesk';text-shadow:0 1px 2px #0007;overflow:hidden;transition:transform .14s,box-shadow .14s}.app-icon .glyph:before{content:'';position:absolute;inset:0 0 50%;background:linear-gradient(#ffffff65,#fff0);pointer-events:none}.app-icon .glyph b{position:relative}.app-icon:hover .glyph,.app-icon.selected .glyph{transform:translateY(-3px) scale(1.04);box-shadow:0 5px 8px #24352d55,0 0 0 2px #fff}.app-icon small{max-width:61px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font:500 8px/1.25 'DM Sans';color:#24342b;text-shadow:0 1px #ffffffbd}.app-icon .heart{position:absolute;right:-2px;top:-6px;color:#d5505d;font:bold 12px sans-serif;text-shadow:0 1px white}.phone-caption{text-align:center;margin-top:16px;font:9px 'DM Mono';color:#35452e}.dock{position:absolute;bottom:9px;left:10px;right:10px;height:58px;background:#f3f2d49c;backdrop-filter:blur(9px);border:1px solid #ffffff96;border-radius:18px;display:flex;justify-content:space-evenly;align-items:center}.dock button,.dock a{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:8px}.dock-glyph{width:29px;height:29px;border-radius:9px;background:linear-gradient(#faf8e9,#dedabf);box-shadow:0 2px 3px #3d4b3155;display:grid;place-items:center;font:700 17px 'Space Grotesk';color:#52634b}.dock small{font-size:8px}.home-button{width:34px;height:34px;margin:8px auto 0;border-radius:50%;border:2px solid #a9ada4;background:linear-gradient(145deg,#c6c9c1,#f1f1ec);display:grid;place-items:center}.home-button span{width:13px;height:13px;border:1.5px solid #999d94;border-radius:4px}.phone-note{max-width:270px;text-align:center;font-size:10px;color:#6e7968;margin:18px 0 0}.detail-card{position:relative;min-height:340px;padding:32px 35px;border:1px solid #d8ddcf;border-radius:15px;background:var(--paper);box-shadow:var(--shadow)}.detail-top{display:flex;align-items:center;gap:17px;margin-bottom:22px}.detail-glyph{width:62px;height:62px;flex:none;display:grid;place-items:center;border-radius:16px;color:white;font:bold 27px 'Space Grotesk';text-shadow:0 1px 2px #0007;box-shadow:inset 0 3px #ffffff80,0 4px 8px #29372935}.detail-top h3{font:600 23px 'Space Grotesk';letter-spacing:-.7px;margin:0}.detail-top p{font-size:10px;color:var(--muted);margin:3px 0}.status-tag{display:inline-block;margin-top:4px;border-radius:999px;background:#ebefdF;padding:3px 8px;font:9px 'DM Mono';color:#65764d}.detail-summary{font-size:14px;color:#4c5b4f;margin:0 0 22px;max-width:680px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-columns h4{margin:0 0 7px;font:500 10px 'DM Mono';letter-spacing:1px;text-transform:uppercase;color:#92623c}.detail-columns ul{list-style:none;padding:0;margin:0}.detail-columns li{font-size:11px;color:#59665c;padding:3px 0 3px 15px;position:relative}.detail-columns li:before{content:'+';position:absolute;left:0;color:#718956;font-weight:bold}.detail-columns .tradeoffs li:before{content:'•';color:#c17842}.fit-row{border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:10px;color:#667362}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.detail-actions a,.detail-actions button{border:1px solid var(--ink);border-radius:7px;padding:9px 13px;font-size:10px;font-weight:700;background:var(--ink);color:white}.detail-actions .source-link{background:transparent;color:var(--ink)}.favorite-toggle{position:absolute;right:20px;top:18px;border:0;border-radius:50%;width:34px;height:34px;background:#f3f1e5;font-size:17px;color:#cf6d62}.app-list{max-width:1180px;margin:28px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.list-card{border:1px solid #d1dac8;border-radius:9px;background:#f4f5ed;padding:13px;display:flex;align-items:center;gap:10px;text-align:left}.list-card:hover,.list-card.selected{background:white;border-color:#abbc99}.list-card .mini-glyph{width:35px;height:35px;display:grid;place-items:center;flex:none;border-radius:9px;color:white;font-weight:bold;text-shadow:0 1px 2px #0007;box-shadow:inset 0 2px #ffffff80}.list-card b{display:block;font-size:11px}.list-card small{display:block;font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-note{max-width:1180px;margin:19px auto 0;font-size:10px;color:#727c6c}.empty-results{grid-column:1/-1;padding:25px;text-align:center;color:var(--muted);font-size:12px}.zao-section{max-width:1180px;margin:auto;padding:74px 25px}.feed-title{display:flex;align-items:end;justify-content:space-between;gap:25px}.notice{background:#e9efdd;border:1px solid #d8e1ca;border-radius:7px;padding:10px 13px;font-size:10px;color:#617057;margin:20px 0}.feed-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:13px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:0;border-radius:999px;padding:7px 11px;background:transparent;font-size:10px;color:#64716a}.tabs .active{background:var(--ink);color:white}.feed-toolbar .search input{width:200px}.feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:35px}.post{border-bottom:1px solid var(--line);padding:19px 0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px}.avatar{width:38px;height:38px;background:#e1e8d6;border-radius:50%;display:grid;place-items:center;font:600 15px 'Space Grotesk';overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.post-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.profile-link{background:none;border:0;padding:0;font-weight:700;font-size:12px;color:var(--ink)}.handle,.time{font-size:10px;color:var(--muted)}.time{margin-left:auto}.post-text{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:7px 0 12px}.post-text a{color:#356958;text-decoration:underline}.post-actions{display:flex;gap:18px;font-size:10px;color:#67736f}.post-actions button{background:none;border:0;padding:0;color:inherit;font-size:10px}.post-actions a:hover,.post-actions button:hover{text-decoration:underline}.feed-aside{align-self:start;margin-top:25px;background:#e9eddc;border-radius:10px;padding:18px;font-size:11px}.feed-aside p{font-size:10px;color:var(--muted)}.text-button{border:0;background:none;padding:0;font-size:10px;text-decoration:underline}.more{display:block;margin:22px auto}.more[hidden]{display:none}.empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}.about{text-align:center;padding:65px 20px;background:#e5ead8}.about h2{font-size:40px;letter-spacing:-2px}.about>p:not(.eyebrow){max-width:500px;margin:16px auto 20px;color:#63705f;font-size:13px}.about-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.about-actions a{font-size:10px;font-weight:700;border:1px solid #b5c0a8;border-radius:999px;padding:9px 14px}footer{background:var(--paper);padding:25px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:15px}footer .brand{font-size:17px}footer .brand-icon{width:30px;height:30px;font-size:21px}footer>span,footer>a:last-child{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:38px;width:min(650px,92vw);max-height:85vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#142b3280;backdrop-filter:blur(3px)}.close{position:absolute;right:13px;top:8px;background:none;border:0;font-size:27px;color:inherit}.small{font-size:10px;color:var(--muted)}button:disabled{opacity:.5;cursor:wait}
@media(max-width:950px){.intro{gap:35px}.explorer{gap:27px;grid-template-columns:300px minmax(0,1fr)}.detail-card{padding:27px 22px}.app-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.topbar{height:65px;padding:0 18px}.topbar nav{gap:15px}.topbar nav a:first-child{display:none}.top-link{font-size:10px;padding:7px 10px}.brand{font-size:18px}.intro{padding:48px 24px 55px;grid-template-columns:1fr;gap:32px}.intro h1{font-size:51px;letter-spacing:-3px}.intro-sticker{width:180px;height:180px;padding:23px;justify-self:end;margin-right:25px}.intro-sticker b{font-size:65px}.directory{padding:48px 18px}.section-head{align-items:start;flex-direction:column}.section-head h2,.feed-title h2{font-size:30px}.section-head .search,.section-head .search input{width:100%}.filterbar{margin-top:20px}.explorer{grid-template-columns:1fr;gap:27px}.phone{width:276px}.phone-screen{height:540px}.detail-card{min-height:0}.detail-columns{gap:13px}.app-list{grid-template-columns:repeat(2,1fr);gap:7px}.list-card{padding:9px;gap:8px}.list-card .mini-glyph{width:30px;height:30px}.list-card b{font-size:10px}.list-card small{font-size:8px}.zao-section{padding:50px 18px}.feed-title{align-items:start}.feed-title p{max-width:330px}.feed-layout{grid-template-columns:1fr}.feed-aside{margin-top:0}.feed-toolbar{align-items:stretch;flex-direction:column}.feed-toolbar .search input{width:100%}.post{gap:9px}.about h2{font-size:34px}footer{flex-wrap:wrap}footer>span{order:3;width:100%}}@media(max-width:390px){.topbar nav a:last-child{display:none}.app-grid{gap:13px 4px}.app-icon .glyph{width:44px;height:44px}.detail-card{padding:25px 17px}.detail-columns li{font-size:10px}}
/* Castcaster UI refinement: keep the retro shelf, remove nested scrolling, and make discovery states legible. */
.intro{padding-top:58px;padding-bottom:62px}
.directory{background:linear-gradient(145deg,#e9eedf 0%,#e3ead8 58%,#e9eddf 100%)}
.section-head h2{max-width:740px}
.section-head .search input{min-height:46px;border-color:#c6d0bc;background:#fbfcf6;box-shadow:0 2px 8px #26352d08}
.filterbar{gap:9px;margin-bottom:8px}
.filter{min-height:40px;padding:8px 15px;transition:background .16s ease,color .16s ease,transform .16s ease}
.filter:active{transform:translateY(1px)}
.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 4px 12px #26352d20}
.app-results{max-width:1180px;min-height:20px;margin:0 auto 15px;color:#687565;font:10px/1.5 'DM Mono',monospace;letter-spacing:.25px}
.explorer{align-items:start;gap:clamp(34px,5vw,68px)}
.phone{filter:drop-shadow(0 15px 22px #26352d20)}
.phone-screen{height:640px}
.app-grid{max-height:none;overflow:visible;gap:9px 8px}
.app-icon{min-height:64px;border-radius:12px;transition:background .16s ease,transform .16s ease}
.app-icon:hover{background:#ffffff45;transform:translateY(-2px)}
.app-icon.selected{background:#ffffff74}
.app-icon .glyph{box-shadow:0 4px 7px #24352d36,inset 0 2px 2px #ffffffbd}
.app-icon small{font-size:8.5px;font-weight:600}
.detail-card{border-color:#d6ddcf;box-shadow:0 18px 48px #26352d12,0 2px 7px #26352d08;transition:box-shadow .2s ease,transform .2s ease}
.detail-card:hover{box-shadow:0 22px 55px #26352d18,0 3px 8px #26352d0a}
.detail-actions a,.detail-actions button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding-inline:16px}
.source-link{border-color:#b9c3b1!important}
.app-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.list-card{min-height:64px;border-color:#d4ddca;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.list-card:hover,.list-card.selected{transform:translateY(-2px);box-shadow:0 7px 18px #26352d10;border-color:#9eaf8d}
.list-card:focus-visible,.app-icon:focus-visible,.filter:focus-visible,.detail-actions a:focus-visible,.favorite-toggle:focus-visible{outline:3px solid #52799b;outline-offset:3px}
@media(max-width:950px){.app-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.intro{padding-top:42px;padding-bottom:48px}.directory{padding-top:42px}.section-head{gap:18px}.section-head .search input{min-height:46px}.filterbar{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.filter{flex:none}.app-results{margin-bottom:12px}.explorer{gap:22px}.phone-screen{height:580px}.app-grid{gap:6px 4px}.app-icon{min-height:57px}.app-icon .glyph{width:42px;height:42px}.app-icon small{font-size:8px}.app-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.list-card{min-height:58px}.detail-card{padding:25px 20px}}
@media(max-width:390px){.app-grid{gap:5px 2px}.app-icon{min-height:54px}.app-icon .glyph{width:39px;height:39px}.app-icon small{font-size:7.5px}.app-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:700px){.intro>div:first-child{min-width:0;max-width:100%}.intro h1{font-size:clamp(38px,10.8vw,47px);letter-spacing:-2.5px;max-width:100%;overflow-wrap:break-word}.lead{max-width:100%;font-size:15px}.intro-sticker{width:154px;height:154px;justify-self:center;margin:0;padding:20px}.intro-sticker b{font-size:58px}}
.empty-detail{min-height:300px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px;max-width:600px}
.empty-heart{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#f4eee2;color:#c56d5e;font-size:27px;margin-bottom:18px}
.empty-detail h3{margin:0 0 7px;font:600 24px 'Space Grotesk';letter-spacing:-.6px}
.empty-detail>p:not(.eyebrow){max-width:390px;margin:0 0 20px;color:var(--muted);font-size:13px}
.empty-detail .primary{min-height:42px;border:0;border-radius:7px;padding:0 15px;background:var(--ink);color:#fff;font-size:11px;font-weight:700}
.empty-results{margin:0;padding:25px 12px}
@media(max-width:700px){.empty-detail{min-height:250px;padding:25px 21px}}
.compare-tray{position:fixed;z-index:20;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100vw - 28px));display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d8dfcf;border-radius:15px;background:#fffcf3f2;box-shadow:0 14px 45px #26352d2a;backdrop-filter:blur(14px)}
.compare-tray[hidden]{display:none}
.compare-tray>div{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.35}
.compare-tray strong{font:600 12px 'Space Grotesk'}
.compare-tray span{font-size:9px;color:var(--muted)}
.compare-tray button{min-height:40px;border-radius:8px;padding:0 13px;font-size:10px;font-weight:700}
.compare-open{border:0;background:var(--ink);color:white}
.compare-clear{border:1px solid var(--line);background:transparent}
.compare-toggle{background:#eef1e7!important;color:var(--ink)!important;border-color:#cbd5c1!important}
.compare-toggle[aria-pressed=true]{background:#e4ecd8!important;border-color:#98aa85!important}
dialog:has(.compare-view){width:min(1120px,96vw);padding:32px;max-height:92vh;overflow:auto}
.compare-view>h2{margin:0;font:600 30px 'Space Grotesk';letter-spacing:-1.4px}
.compare-intro{margin:7px 0 20px;color:var(--muted);font-size:12px}
.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:stretch}
.compare-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fffdf7}
.compare-card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.compare-card-top .detail-glyph{width:48px;height:48px;flex:none;border-radius:13px;font-size:22px}
.compare-card-top h3{margin:0 0 3px;font:600 17px 'Space Grotesk'}
.compare-card-top .status-tag{font-size:8px}
.compare-summary{min-height:64px;margin:0 0 12px;color:#58665a;font-size:11px}
.compare-points{margin-top:10px}
.compare-points h4{margin:0 0 5px;font:500 9px 'DM Mono';letter-spacing:.8px;text-transform:uppercase;color:#92623c}
.compare-points ul{list-style:none;padding:0;margin:0}
.compare-points li{position:relative;padding:3px 0 3px 13px;color:#59665c;font-size:10px;line-height:1.45}
.compare-points li::before{content:'+';position:absolute;left:0;color:#718956;font-weight:bold}
.compare-points.tradeoffs li::before{content:'•';color:#c17842}
.compare-card .fit-row{font-size:9px;line-height:1.5}
.compare-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.compare-links a{border:1px solid #bfcab5;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:700}
.compare-links a:first-child{background:var(--ink);border-color:var(--ink);color:white}
.topbar nav a{display:inline-flex;align-items:center;min-height:44px}
.post-actions{align-items:center;gap:12px;flex-wrap:wrap}
.post-actions button,.post-actions a{display:inline-flex;align-items:center;min-height:34px;padding:2px 2px}
@media(max-width:700px){.compare-tray{gap:8px;padding:10px}.compare-tray span{max-width:155px}.compare-tray button{padding:0 10px}.compare-grid{grid-template-columns:1fr}.compare-summary{min-height:0}dialog:has(.compare-view){padding:28px 15px 18px}}

/* Final Castcaster direction: app-first workstation structure with the phone shelf retained. */
:root{--ink:#172729;--muted:#667471;--cream:#f3f2e9;--paper:#fffef9;--leaf:#dceac0;--orange:#ef9c55;--line:#d9dfd4;--navy:#172526;--shadow:0 18px 48px #17272912}
html{scroll-padding-top:88px}body{background:#f5f4ed;color:var(--ink)}
.topbar{height:76px;padding-inline:max(4vw,24px);background:#fffef9ed;backdrop-filter:blur(16px);border-color:#e4e8df}
.topbar nav{gap:clamp(12px,2.2vw,30px)}.topbar nav a{color:#4e5e5c}.topbar nav a:hover,.topbar nav a:focus-visible{color:#bd6d37}
.intro{max-width:1440px;min-height:300px;padding:48px max(4vw,24px) 52px;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(32px,8vw,110px)}
.intro h1{font-size:clamp(44px,5.4vw,72px);line-height:.98;letter-spacing:-4px;max-width:720px}.intro h1 em{color:#657b5e;font-style:normal}.intro .lead{max-width:540px;font-size:14px;line-height:1.65}.intro-link{font-weight:700}
.intro-card{justify-self:end;width:min(100%,330px);min-height:190px;padding:22px 24px 18px;border:1px solid #dfe5d7;border-radius:15px;background:linear-gradient(145deg,#edf2e4,#e3ebd9);box-shadow:0 12px 30px #293b2910;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transform:rotate(1deg)}
.intro-card-kicker,.intro-card-foot{font:500 9px/1.3 'DM Mono',monospace;letter-spacing:1px;color:#71806e}.intro-card strong{font:600 24px/1.08 'Space Grotesk',sans-serif;letter-spacing:-.8px}.intro-card p{margin:6px 0 16px;color:#64716a;font-size:11px;line-height:1.55}.intro-card-foot{width:100%;padding-top:12px;border-top:1px solid #cfd9c7;display:flex;justify-content:space-between}.intro-card-foot span:last-child{font-size:15px;color:#b96d38}
.directory{display:grid;grid-template-columns:minmax(176px,205px) minmax(360px,1fr) minmax(290px,350px);grid-template-rows:auto auto auto auto;align-items:start;gap:0 24px;padding:42px max(4vw,24px) 58px;background:linear-gradient(145deg,#edf1e6,#e7eddf 58%,#e9eee3);border-color:#dfe5d9}
.section-head{grid-column:1/-1;grid-row:1;max-width:none;width:100%;align-items:end;margin:0 0 25px}.section-head h2{font-size:clamp(30px,3vw,39px);letter-spacing:-1.7px}.section-head>div>p:last-child{max-width:540px}
.section-head .search{width:min(380px,34vw)}.section-head .search input{width:100%;height:48px;border:1px solid #cfd8ca;border-radius:10px;background:#fffefb;padding:0 15px;font-size:12px;box-shadow:0 3px 10px #22322208}
.filterbar{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;padding:13px 12px;border:1px solid #dce3d6;border-radius:13px;background:#f8f9f3}.rail-label{margin:1px 0 5px 7px;font:500 9px 'DM Mono',monospace;letter-spacing:1.1px;color:#87918a}
.filter{min-height:42px;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:8px;border:1px solid transparent;border-radius:8px;padding:0 10px;background:transparent;color:#596663;text-align:left;font-size:11px;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.filter:hover{background:#edf1e9}.filter[aria-pressed=true]{background:#1c3131;border-color:#1c3131;color:#f8f8ee;box-shadow:0 4px 12px #17272918}.filter:focus-visible{outline:3px solid #8ba77a;outline-offset:2px}
.app-results{grid-column:2;grid-row:2;margin:8px 0 10px;max-width:none;min-height:20px;color:#65726d;font-size:9px}
.explorer{display:contents}.phone-wrap{grid-column:1;grid-row:3;align-items:center;margin-top:20px}.phone{width:208px;padding:9px 9px 11px;border-radius:34px}.phone-frame{border-radius:26px;padding:5px}.phone-screen{height:455px;border-radius:22px;padding:12px 10px 10px}.statusbar{font-size:8px}.phone-title{font-size:14px;margin:18px 4px 14px}.phone-title button{width:27px;height:27px}.app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 3px}.app-icon{min-height:55px;gap:4px}.app-icon .glyph{width:37px;height:37px;border-radius:10px;font-size:15px}.app-icon small{max-width:61px;font-size:7px}.dock{margin-top:auto;padding-top:8px}.dock-glyph{width:30px;height:30px}.phone-caption{min-height:24px;font-size:8px}.phone-note{max-width:210px;font-size:9px;line-height:1.5}.home-button{width:28px;height:28px;margin-top:8px}
.app-list{grid-column:2;grid-row:3;max-width:none;width:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px}.list-card{min-height:72px;padding:10px;border-color:#d8e0d3;border-radius:10px;background:#f9faf5}.list-card:hover,.list-card.selected{transform:translateY(-1px);border-color:#aab99f;background:#fffefb;box-shadow:0 7px 18px #1727290c}.list-card b{font-size:11px}.list-card small{font-size:8px;line-height:1.4}
.glyph,.mini-glyph,.detail-glyph{overflow:hidden}.glyph img,.mini-glyph img,.detail-glyph img{display:block;width:100%;height:100%;object-fit:contain;padding:12%;border-radius:inherit;background:#fff}.glyph.is-monogram,.mini-glyph.is-monogram,.detail-glyph.is-monogram{font-family:'Space Grotesk',sans-serif;font-weight:700}
.detail-card{grid-column:3;grid-row:2/4;position:sticky;top:96px;min-height:0;padding:25px 24px;border-color:#dce3d7;border-radius:14px;background:#fffefb;box-shadow:0 15px 38px #1d30230d}.detail-glyph{width:54px;height:54px;border-radius:13px}.detail-top{gap:13px}.detail-top h3{font-size:22px;letter-spacing:-.7px}.detail-top .status-tag{max-width:210px}.detail-summary{font-size:12px;line-height:1.6}.detail-columns{gap:15px}.detail-columns h4{font-size:9px}.detail-columns li{font-size:10px;line-height:1.55}.fit-row,.identity-note{font-size:10px;line-height:1.55}.detail-actions{gap:7px}.detail-actions a,.detail-actions button{min-height:40px;padding-inline:11px;font-size:9px}.research-note{grid-column:1/-1;grid-row:4;max-width:none;margin:24px 0 0;padding-top:15px;border-top:1px solid #d8e0d3;font-size:10px;line-height:1.65;color:#68756f}.research-note a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.compare-tray{background:#1c3131f5;border-color:#344747;color:white}.compare-tray span{color:#bdc9c0}.compare-tray .compare-open{background:#d8e7be;color:#24352d}.compare-tray .compare-clear{color:#eef2e8;border-color:#60716a}
.zao-section{padding-top:62px;padding-bottom:62px}.feed-title h2{font-size:34px}.feed-aside{border-radius:12px}.post{border-color:#e5e8df}
@media(max-width:1050px){.directory{grid-template-columns:minmax(160px,185px) minmax(0,1fr);column-gap:20px}.detail-card{grid-column:2;grid-row:4;position:static;margin-top:18px}.research-note{grid-row:5}.phone-wrap{grid-column:1;grid-row:3}.app-list{grid-column:2;grid-row:3}.app-results{grid-column:2}.directory .section-head{grid-column:1/-1}.app-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.topbar{height:64px;padding-inline:16px}.topbar nav{gap:12px}.topbar nav a{font-size:9px}.topbar nav a:first-child{display:inline-flex}.topbar nav a:nth-child(2){display:none}.top-link{font-size:9px}.brand{font-size:17px}.intro{min-height:0;padding:34px 20px 34px;grid-template-columns:minmax(0,1fr);gap:18px}.intro h1{font-size:clamp(39px,11vw,52px);letter-spacing:-2.7px}.intro .lead{font-size:13px}.intro-card{justify-self:start;width:100%;min-height:134px;transform:none;padding:14px 16px}.intro-card strong{font-size:20px}.intro-card p{margin:4px 0 9px}.directory{display:flex;flex-direction:column;align-items:stretch;padding:34px 16px 43px;gap:0}.section-head{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin:0 0 16px}.section-head h2{font-size:30px}.section-head .search{width:100%}.filterbar{order:1;flex-direction:row;overflow-x:auto;align-items:center;gap:6px;margin:0 0 5px;padding:8px;border-radius:10px;scrollbar-width:thin}.rail-label{display:none}.filter{width:auto;min-height:38px;flex:none;padding-inline:11px;white-space:nowrap}.app-results{order:2;margin:4px 0 10px}.app-list{order:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.list-card{min-height:65px;padding:8px;gap:8px}.list-card .mini-glyph{width:32px;height:32px}.list-card b{font-size:10px}.list-card small{font-size:7px}.phone-wrap{order:4;margin:22px auto 0}.phone{width:225px}.phone-screen{height:470px}.app-icon .glyph{width:39px;height:39px}.app-icon small{font-size:7px}.phone-note{max-width:220px}.detail-card{order:5;margin-top:19px;padding:22px 18px}.detail-columns{gap:14px}.detail-columns li{font-size:10px}.research-note{order:6;margin-top:18px}.zao-section{padding:42px 16px}.feed-title{gap:12px}.feed-title h2{font-size:29px}.feed-layout{grid-template-columns:minmax(0,1fr)}.feed-aside{margin-top:10px}footer{gap:15px;padding-inline:18px}footer>span{font-size:9px}}
@media(max-width:370px){.topbar nav a:last-child{display:none}.app-list{grid-template-columns:1fr}.list-card{min-height:58px}.compare-tray{width:calc(100vw - 16px);gap:5px;padding:8px}.compare-tray span{font-size:8px}.compare-tray button{min-height:36px;padding-inline:7px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

@media(max-width:700px){.intro h1{font-size:clamp(38px,10vw,49px);letter-spacing:-2.2px;overflow-wrap:anywhere}.intro>div:first-child,.intro h1,.intro .lead{min-width:0;max-width:100%}.directory,.directory>*{min-width:0;max-width:100%}.section-head,.section-head>div,.section-head .search,.section-head .search input,.app-results,.app-list,.list-card,.detail-card{min-width:0;max-width:100%}.app-list{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.list-card>span:not(.mini-glyph){min-width:0}.list-card small{white-space:normal;overflow-wrap:anywhere}.filterbar{max-width:100%}}

@media(max-width:700px){.app-grid{width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.app-icon{width:100%;min-width:0}.app-icon small{width:100%;max-width:100%;overflow-wrap:anywhere;line-height:1.15}}

/* Castcaster workspace: keep discovery columns on the same starting line. */
.directory{display:block;padding:38px max(3.2vw,22px) 52px}
.intro{min-height:0;padding:36px max(4vw,24px) 40px;gap:clamp(28px,5vw,72px)}
.intro h1{font-size:clamp(42px,5.2vw,60px);letter-spacing:-3.2px}
.intro .lead{margin:16px 0;font-size:15px}
.directory .section-head{margin-bottom:23px}
.directory .section-head h2{font-size:clamp(30px,2.8vw,38px)}
.directory .section-head>div>p:last-child{font-size:14px;line-height:1.55}
.directory .section-head .search-control{width:min(390px,36vw);flex:none}
.search-control{display:flex;align-items:center;gap:8px;min-width:0}
.search-control .search{width:100%;min-width:0}
.search-control .search input{width:100%;height:48px;font-size:14px}
.clear-search{flex:none;min-height:44px;padding:0 12px;border:1px solid #bdcbb8;border-radius:8px;background:#fffefb;font-size:13px;font-weight:600}
.clear-search:hover{background:#e8efdf}
.clear-search[hidden]{display:none}
.workspace-grid{display:grid;grid-template-columns:minmax(188px,218px) minmax(370px,1fr) minmax(330px,390px);align-items:start;gap:0 22px}
.left-rail{min-width:0;grid-column:1;grid-row:1}
.left-rail .filterbar{max-width:none;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px;border:1px solid #dce3d6;border-radius:13px;background:#f8f9f3}
.rail-label{margin:1px 0 5px 7px;font-size:10px}
.left-rail .filter{width:100%;min-height:44px;padding-inline:11px;font-size:14px}
.phone-wrap{margin:15px 0 0;align-items:center}
.phone{width:min(100%,210px);padding:8px 8px 10px;border-radius:32px}
.phone-frame{border-radius:25px;padding:5px}
.phone-screen{height:355px;border-radius:21px;padding:10px 9px 9px}
.phone-title{padding:13px 4px 10px;font-size:15px}
.app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 3px;max-height:210px}
.app-icon{min-height:55px}
.app-icon .glyph{width:38px;height:38px}
.app-icon small{max-width:100%;font-size:10px;line-height:1.2}
.phone-caption{margin-top:9px;min-height:23px;font:11px/1.3 'DM Sans',sans-serif}
.dock{height:52px}
.dock-glyph{width:30px;height:30px}
.dock small{font-size:10px}
.home-button{width:27px;height:27px;margin-top:6px}
.phone-note{max-width:210px;margin-top:9px;font-size:11px;line-height:1.45}
.catalog-column{min-width:0;grid-column:2;grid-row:1}
.app-results{min-height:24px;margin:4px 0 9px;font-size:13px;line-height:1.4;color:#50615a}
.app-list{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px}
.list-card{min-width:0;min-height:72px;padding:10px;gap:10px;border-radius:10px}
.list-card .mini-glyph{width:38px;height:38px}
.list-card>span:last-child{min-width:0}
.list-card b{font-size:14px;line-height:1.25}
.list-card small{font-size:12px;line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.list-card small{color:#45584f;display:block;-webkit-line-clamp:unset;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.detail-card{grid-column:3;grid-row:1;position:sticky;top:92px;margin:0;padding:25px 24px;min-height:0}
.detail-top h3{font-size:25px}
.detail-top p{font-size:13px;line-height:1.4}
.status-tag{font-size:11px}
.detail-summary{font-size:15px;line-height:1.65}
.detail-columns{gap:18px}
.detail-columns h4{font:600 12px/1.4 'DM Sans',sans-serif;letter-spacing:.02em;text-transform:none}
.detail-columns li{font-size:14px;line-height:1.55;padding-block:4px}
.fit-row,.identity-note{font-size:13px;line-height:1.6}
.detail-actions a,.detail-actions button{min-height:44px;padding:9px 12px;font-size:12px}
.favorite-toggle{width:44px;height:44px}
.research-note{margin:20px 0 0;font-size:12px;line-height:1.6}
.compare-tray{font-size:14px}
.compare-tray button{min-height:44px}
.zao-section{padding-top:48px;padding-bottom:50px}
.feed-title h2{font-size:clamp(30px,3vw,36px)}
.feed-coverage{margin:7px 0 12px;color:#65746b;font-size:12px;line-height:1.5}
.channel-label{border:1px solid #d9dfcf;border-radius:999px;padding:2px 7px;color:#53684e;font-size:10px;line-height:1.25}
.feed-results{line-height:1.5}
.feed-toolbar .tabs button{white-space:nowrap}
.feed-toolbar .tabs button:focus-visible,#more:focus-visible,#refresh:focus-visible{outline:3px solid #c47b37;outline-offset:2px}
@media(max-width:700px){.feed-coverage{font-size:12px}.feed-toolbar .tabs{overflow-x:auto;flex-wrap:nowrap;padding:2px 1px 6px}.feed-toolbar .tabs button{flex:none}.channel-label{font-size:10px}}
.feed-title>div>p:last-child{font-size:14px;line-height:1.5}
.feed-title .pill-button,.feed-toolbar .tabs button{min-height:44px;font-size:13px}
.feed-toolbar .search-control{width:min(360px,42vw)}
.feed-toolbar .search input{height:44px;width:100%;font-size:14px}
.feed-results{margin:12px 0 0;color:#55665d;font-size:13px}
.feed-layout{grid-template-columns:minmax(0,1fr) 230px;gap:28px;margin-top:0}
.post{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:19px 0}
.avatar{width:42px;height:42px;font-size:16px}
.profile-link{font-size:14px}
.handle,.time{font-size:12px}
.post-text{font-size:15px;line-height:1.65;margin:8px 0 11px}
.post-preview:not(.is-expanded){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;white-space:pre-wrap}
.post-expand{display:block;min-height:36px;margin:-5px 0 4px;font-size:13px}
.post-actions{gap:20px;font-size:13px}
.post-actions button,.post-actions a{min-height:44px;font-size:13px}
.feed-aside{margin-top:18px;padding:19px;font-size:14px}
.feed-aside p{font-size:13px;line-height:1.55}
.text-button{min-height:40px;font-size:13px}
.more{min-height:46px;padding-inline:20px;font-size:14px}
.empty{font-size:14px}
.notice{font-size:13px;line-height:1.5}
@media(max-width:1180px) and (min-width:701px){.workspace-grid{grid-template-columns:minmax(170px,195px) minmax(0,1fr);gap:0 20px}.detail-card{grid-column:2;grid-row:2;position:static;margin-top:20px}.catalog-column{grid-column:2;grid-row:1}.left-rail{grid-column:1;grid-row:1/3}.app-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns li{font-size:14px}}
@media(max-width:700px){.intro{padding:24px 20px 26px;gap:12px}.intro-card{display:none}.intro .lead{margin:12px 0}.intro-link{min-height:44px;padding:9px 14px}.directory{padding:32px 16px 40px}.directory .section-head{margin-bottom:17px}.directory .section-head h2{font-size:30px}.directory .section-head>div>p:last-child{font-size:14px}.directory .section-head .search-control{width:100%}.search-control .search input{min-height:46px}.workspace-grid{display:flex;flex-direction:column;gap:0}.left-rail{display:contents}.left-rail .filterbar{order:1;width:100%;flex-direction:row;overflow-x:auto;align-items:center;gap:6px;margin:0 0 4px;padding:8px;scrollbar-width:thin}.rail-label{display:none}.left-rail .filter{width:auto;min-height:44px;flex:none;padding-inline:12px;white-space:nowrap;font-size:13px}.catalog-column{order:2;width:100%}.app-results{margin:7px 0 9px;font-size:13px}.app-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.list-card{min-height:64px;padding:8px;gap:8px}.list-card .mini-glyph{width:34px;height:34px}.list-card b{font-size:13px}.list-card small{font-size:11px}.phone-wrap{order:3;width:100%;margin:19px 0 0}.phone{width:230px}.phone-screen{height:340px}.app-grid{max-height:195px}.app-icon small{font-size:10px}.phone-note{font-size:12px}.detail-card{order:4;width:100%;margin-top:20px;padding:21px 18px;position:static}.detail-top h3{font-size:22px}.detail-summary{font-size:14px}.detail-columns li{font-size:13px}.research-note{order:5;margin-top:16px;font-size:12px}.zao-section{padding:38px 16px}.feed-title{align-items:flex-start}.feed-title h2{font-size:28px}.feed-title>div>p:last-child{font-size:13px}.feed-toolbar{gap:10px}.feed-toolbar .search-control{width:100%}.feed-toolbar .tabs button{font-size:12px}.feed-results{font-size:12px}.feed-layout{grid-template-columns:minmax(0,1fr);gap:4px}.post{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:16px 0}.avatar{width:36px;height:36px}.profile-link{font-size:13px}.handle,.time{font-size:11px}.post-text{font-size:14px}.feed-aside{margin-top:8px}.about{padding:48px 18px}}
@media(max-width:370px){.directory{padding-inline:12px}.app-list{grid-template-columns:1fr}.list-card{min-height:58px}.list-card b{font-size:14px}.left-rail .filter{padding-inline:10px;font-size:12px}.phone{width:218px}.compare-tray{width:calc(100vw - 16px)}}
.list-card[aria-pressed=true]{border-color:#778d68;background:#fffefb;box-shadow:inset 3px 0 #70875f,0 3px 10px #1727290b}
.list-card:focus-visible,.app-icon:focus-visible,.detail-actions button:focus-visible,.detail-actions a:focus-visible,.clear-search:focus-visible,.post-expand:focus-visible{outline:3px solid #315f88;outline-offset:3px;z-index:1}
@media(max-width:700px){.phone-wrap{order:3;margin:19px 0 0}.catalog-column{order:2}}
@media(max-width:700px){.feed-toolbar .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;flex-wrap:initial;padding:0}.feed-toolbar .tabs button{white-space:normal;line-height:1.25}}
