*{box-sizing:border-box} :root{--ink:#1c1a1b;--charcoal:#565264;--mauve:#a6808c;--almond:#ccb7ae;--line:#cecccf;--bg:#f4f5f7}body{margin:0;background:var(--bg);color:var(--ink);font-family:Heebo,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--mauve);outline-offset:5px}.top{max-width:1512px;margin:auto;min-height:78px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:0 48px}.small-logo{font-weight:900;font-size:28px;letter-spacing:-2px;white-space:nowrap}.small-logo span{font-weight:400;margin-right:8px}.issue,.eyebrow,.number,.domain{font-family:'IBM Plex Mono',Heebo,monospace;font-size:12px}.top nav{display:flex;gap:28px;margin-inline-start:auto;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 22px;background:var(--charcoal);color:white;font-weight:600;font-size:14px;border:0;min-height:46px}.button:hover{background:#706677}.button span{font-size:21px}.menu{display:none}main{max-width:1512px;margin:auto;padding:0 48px}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid var(--ink);padding:30px 0 27px;gap:30px}.wordmark{font-size:176px;font-weight:900;letter-spacing:-14px;line-height:.98;display:flex;align-items:center;gap:18px}.wordmark .asterisk{font-size:148px;font-weight:400;color:var(--mauve);line-height:1;transform:rotate(12deg);display:inline-block;margin:0 20px}.masthead-copy{width:430px}.eyebrow{display:block;letter-spacing:.3px}.masthead h1{font-size:32px;line-height:1.2;margin:16px 0 12px;font-weight:800;letter-spacing:-1px}.masthead p{font-size:15px;line-height:1.8;color:#706677;margin:0}.browse{padding:27px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:25px}.categories{display:flex;gap:26px;overflow:auto;scrollbar-width:none;align-items:center}.categories button{background:none;border:0;border-bottom:4px solid transparent;white-space:nowrap;padding:10px 0;font-size:19px;font-weight:700;color:var(--charcoal)}.categories button.active{border-color:var(--mauve);color:var(--ink)}.search{display:flex;border-bottom:1px solid #7c7680;align-items:center;min-width:230px;gap:12px}.search input{background:none;border:0;padding:12px 0;width:100%;outline:none;font-size:13px}.search:focus-within{border-bottom:2px solid var(--mauve)}.search span{font-size:24px}.sectionline{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;font-size:12px;color:#706677}.sectionline select{background:transparent;border:0;color:#706677;cursor:pointer;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:310px;grid-auto-flow:dense;gap:20px}.card{display:flex;flex-direction:column;min-width:0;transition:transform .2s;position:relative;overflow:hidden;background:var(--almond)}.card:hover{transform:translateY(-3px)}.card.feature{grid-column:span 2;grid-row:span 2}.card.tall{grid-row:span 2}.preview{flex:1;min-height:90px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.domain{position:absolute;left:13px;top:13px;background:var(--bg);color:var(--ink);padding:5px 9px;font-size:10px;z-index:2;direction:ltr}.card-info{padding:16px 20px 17px}.card .meta{display:flex;justify-content:space-between;font-size:10px;opacity:.85}.card h2{font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:9px 0 12px;font-weight:800}.card p{font-size:12px;line-height:1.6;border-top:1px solid currentColor;padding-top:10px;margin:0}.card.feature h2{font-size:54px;letter-spacing:-2px}.card.feature .card-info{padding:24px 28px}.card.feature p{font-size:16px}.card.tall h2{font-size:34px}.card.tall p{font-size:14px}.tagline{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;opacity:.8}.card:not(.feature):not(.tall) .tagline{display:none}.color1{background:#565264;color:#fff}.color2{background:#a6808c}.color3{background:#706677;color:#fff}.color4{background:#d6cfcb}.art-sages{background:#e8dfd4}.conversation{position:relative;display:flex;gap:14px;align-items:center;padding:32px;transform:rotate(-5deg)}.portrait{width:135px;height:164px;background:#a6808c;border-radius:65px 65px 0 0;display:flex;align-items:center;justify-content:center;font-size:100px;font-family:Georgia;color:#f4eee7;box-shadow:inset 0 0 0 1px #565264}.portrait:nth-child(2){background:#565264;transform:translateY(35px);height:190px}.portrait:nth-child(3){background:#ccb7ae;transform:translateY(-15px)}.bubble{position:absolute;bottom:22px;right:45px;padding:12px 18px;background:#f4f5f7;transform:rotate(3deg);font-weight:700;font-size:16px;border:1px solid #565264}.art-kings{background:#333e3a}.king-board{display:grid;grid-template-columns:repeat(3,50px);gap:5px;transform:rotate(-13deg)}.king-board span{background:#a8b29b;color:#293b31;height:50px;text-align:center;font:40px Georgia}.king-board span:nth-child(even){background:#dcc8a9}.art-temple{background:#c5ae97}.temple{width:150px;height:100px;border:15px solid #e9d7bc;border-bottom-width:10px;transform:perspective(400px) rotateY(-25deg) rotateX(15deg);background:repeating-linear-gradient(90deg,#765c47 0 11px,#dec6a1 11px 24px);box-shadow:16px 20px 0 #a08569}.art-map{background:#d5c7ad;background-image:repeating-linear-gradient(21deg,transparent 0 27px,#b6a88d 28px 29px,transparent 30px 60px),repeating-linear-gradient(111deg,transparent 0 44px,#b6a88d 45px 46px,transparent 47px 95px)}.map-block{width:160px;height:210px;background:#ddcfb4;border:14px double #8b806a;transform:rotate(-23deg);display:flex;align-items:center;justify-content:center;font:38px Georgia;color:#7c705c;box-shadow:18px 15px 0 #9b9079}.art-letters{background:#dddce5}.bigletters{font-size:120px;font-weight:900;color:#706677;letter-spacing:-15px;transform:rotate(-12deg)}.art-holiday{background:#c3c5b1}.circles{display:flex;gap:12px}.circles i{display:block;width:65px;height:65px;border-radius:50%;background:#f0d59f;border:9px solid #776e5b}.circles i:nth-child(2){background:#a6808c;transform:translateY(25px)}.art-week{background:#bbb8c8}.pages{font-size:90px;font-weight:900;transform:rotate(10deg);color:#f4f5f7;text-shadow:7px 7px #706677}.art-talmud{background:#cdb9ae}.study{border:2px solid #565264;padding:14px 22px;font-size:37px;font-weight:800;transform:rotate(-6deg);outline:1px solid #565264;outline-offset:8px}.intro{margin:60px 0;display:grid;grid-template-columns:1fr 2fr;gap:70px;border-top:1px solid var(--line);padding-top:30px}.intro h2{font-size:34px;line-height:1.3;margin:0}.intro p{font-size:17px;line-height:1.95;margin:0;max-width:800px}.moreline{margin:30px 0;display:flex;justify-content:center}.text-link{border-bottom:1px solid;padding-bottom:5px;font-size:14px}footer{background:var(--charcoal);color:#fff;margin-top:60px;padding:45px max(32px,calc((100vw - 1416px)/2)) 20px}footer h2{font-size:70px;line-height:1.12;letter-spacing:-2px;margin:18px 0 24px}.light{background:var(--almond);color:var(--ink)}.bottom{border-top:1px solid #8c8797;margin-top:40px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.page-head{padding:50px 0 30px;border-bottom:4px solid}.page-head h1{font-size:64px;line-height:1.15;letter-spacing:-2px;margin:15px 0}.page-head p{font-size:19px;max-width:750px;line-height:1.7}.back{display:inline-block;margin:26px 0;font-size:13px}.detail{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;margin:10px 0 60px}.detail .preview{height:440px}.detail h1{font-size:52px;line-height:1.15;margin:20px 0}.detail p{font-size:17px;line-height:1.9}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid var(--line);padding:5px 10px;font-size:12px}.notice{padding:15px;background:#e9e5e5;font-size:13px;line-height:1.7;margin:20px 0}.submit-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;margin:40px 0}.submit-layout h1{font-size:62px;line-height:1.15;margin:12px 0}.submit-layout p{line-height:1.9}.form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form label{display:flex;flex-direction:column;gap:8px;font-size:13px}.form input,.form select,.form textarea{border:1px solid #bcb6bf;background:transparent;padding:12px;min-width:0;width:100%;border-radius:0}.form .full{grid-column:1/-1}.form textarea{min-height:120px;resize:vertical}.upload{border:1px dashed #a6808c;padding:24px;cursor:pointer}.upload img{max-height:160px;max-width:100%;object-fit:contain}.empty{grid-column:1/-1;padding:70px;text-align:center;border:1px solid var(--line)}.success{padding:35px;background:#d6cfcb;line-height:1.8}.related{font-size:28px;margin-top:40px}html{scroll-behavior:smooth}@media(min-width:1500px){.grid{grid-auto-rows:330px}}@media(max-width:1100px){.top,main{padding-inline:28px}.top{gap:20px}.top nav{gap:18px}.wordmark{font-size:145px}.wordmark .asterisk{font-size:110px;margin:0}.masthead-copy{width:380px}.categories{gap:20px}.categories button{font-size:16px}.search{min-width:180px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:300px}.card.tall{grid-row:span 1}.card.tall h2{font-size:24px}.card.tall p{font-size:12px}.card.tall .tagline{display:none}.top .issue{font-size:10px}.detail{gap:25px}}@media(max-width:700px){.top,main{padding-inline:20px}.top{min-height:66px;gap:15px}.top .issue{font-size:9px}.top .button{margin-inline-start:auto;padding:8px 12px;font-size:11px;gap:12px;min-height:40px}.top .small-logo{display:none}.menu{display:block;background:none;border:0;font-size:24px;padding:6px}.top nav{display:none;position:absolute;z-index:10;top:65px;inset-inline:0;background:var(--bg);padding:25px;border-bottom:1px solid;flex-direction:column;font-size:17px}.top nav.open{display:flex}.masthead{display:block;padding:26px 0 23px}.wordmark{font-size:132px;letter-spacing:-12px;justify-content:space-between}.wordmark .asterisk{font-size:112px;margin-left:16px}.masthead-copy{width:auto;margin-top:20px}.masthead h1{font-size:29px;margin:12px 0}.masthead p{font-size:13px;line-height:1.8}.masthead .eyebrow{font-size:10px}.browse{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 0 18px}.categories{gap:23px;margin-inline-end:-20px;padding-inline-end:20px}.categories button{font-size:18px;min-height:48px}.search{min-height:44px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:280px;gap:12px}.card.feature{grid-row:span 2}.card.feature .preview{min-height:250px}.card.feature h2{font-size:42px}.card.feature .card-info{padding:22px}.card.feature p{font-size:14px}.card-info{padding:12px}.card h2,.card.tall h2{font-size:21px;margin:9px 0}.card p,.card.tall p{font-size:11px;line-height:1.6}.card .meta{font-size:8px}.domain{font-size:8px;left:8px;top:8px;padding:4px 6px}.portrait{width:88px;height:130px;font-size:77px}.portrait:nth-child(2){height:150px}.conversation{gap:9px;padding:12px}.bubble{right:20px;font-size:13px;bottom:28px}.king-board{grid-template-columns:repeat(3,35px);gap:3px}.king-board span{height:35px;font-size:29px}.temple{width:100px;height:75px;border-width:10px}.map-block{width:80px;height:110px;border-width:8px;font-size:24px}.bigletters{font-size:78px}.circles{gap:4px}.circles i{width:37px;height:37px;border-width:5px}.pages{font-size:65px}.study{font-size:25px;padding:8px}.intro{margin:40px 0;display:block}.intro h2{font-size:30px;margin-bottom:20px}.intro p{font-size:15px}.bottom{flex-wrap:wrap;gap:20px}.bottom span{font-size:10px}footer{padding:35px 20px 20px;margin-top:40px}footer h2{font-size:47px}.page-head{padding-top:30px}.page-head h1{font-size:42px}.page-head p{font-size:16px}.detail{display:flex;flex-direction:column;gap:15px}.detail .preview{height:310px;flex:none}.detail h1{font-size:40px}.detail p{font-size:16px}.submit-layout{display:block;margin-top:25px}.submit-layout h1{font-size:46px}.form{margin-top:30px;gap:20px;grid-template-columns:1fr}.form .full{grid-column:auto}.empty{padding:35px 15px}.sectionline{font-size:10px}.related{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.categories{min-width:0;flex:1}.browse>.search{flex:0 0 235px}@media(max-width:700px){.browse>.search{flex:auto}}

.publishing-guide ol{margin:0;padding-inline-start:24px}.publishing-guide li{padding-inline-start:10px;margin-bottom:24px}.publishing-guide li::marker{color:var(--mauve);font-weight:700}.publishing-guide strong{font-size:20px}.publishing-guide h3{font-size:25px;margin:30px 0 12px}

.app-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}

.card.has-creator .card-info .tagline{display:flex}.creator-credit{font-size:13px!important;color:var(--charcoal)}

.card-main{display:flex;flex:1;flex-direction:column;min-height:0}.review-badge{position:relative;z-index:3;display:inline-flex;align-items:center;gap:4px;background:none;color:inherit;font-family:"IBM Plex Mono",Heebo,monospace;font-size:12px;line-height:inherit;padding:0;border:0;min-height:0}.review-badge:hover{text-decoration:underline}.reviews{border-top:1px solid var(--line);padding-top:30px;margin:40px 0;scroll-margin-top:24px}.reviews-heading{display:flex;align-items:center;gap:15px}.reviews h2{font-size:30px;line-height:1.3;margin:0}.review-total{font-size:13px;color:var(--charcoal)}.review-form{max-width:720px;display:grid;gap:18px;margin-top:26px}.review-form label{display:grid;gap:8px;font-size:14px}.review-form input,.review-form textarea{width:100%;border:1px solid #bcb6bf;background:transparent;padding:12px;border-radius:0;font:inherit}.review-form textarea{resize:vertical}.review-form .button{justify-self:start}.review-note{font-size:12px;line-height:1.7;color:var(--charcoal);margin:0}.review-entry{border-bottom:1px solid var(--line);padding:20px 0;max-width:720px}.review-entry-header{display:flex;justify-content:space-between;gap:15px;font-size:13px}.review-entry time{font-size:11px;color:var(--charcoal)}.review-entry p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:15px}.review-form button:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.reviews h2{font-size:24px}}

.card-title-link::after{content:"";position:absolute;inset:0;z-index:1}.card .meta{align-items:center;gap:8px}.card .meta .review-badge{margin-inline-start:auto;white-space:nowrap;flex-shrink:0}

.review-badge [data-review-count]:empty{display:none}


.content-cta{display:flex;width:fit-content;max-width:100%;margin-top:32px;line-height:1.7;text-align:right}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Readable mobile typography; desktop rules remain unchanged. */
@media(max-width:700px){
 body{font-size:17px;line-height:1.7}
 .top{column-gap:12px;row-gap:6px;padding-block:12px}
 .top .issue{min-width:0;flex:1;font-size:12px;line-height:1.5}
 .top .button{font-size:14px;gap:10px;padding:9px 12px;min-height:44px;white-space:nowrap}
 .eyebrow,.masthead .eyebrow{font-size:14px;line-height:1.6}
 .masthead h1{font-size:34px;line-height:1.3}
 .masthead p{font-size:18px;line-height:1.8}
 .categories button{font-size:21px;min-height:48px}
 .search input,.form input,.form select,.form textarea,.review-form input,.review-form textarea{font-size:17px}
 .grid{grid-auto-rows:minmax(340px,auto)}
 .card-info{padding:16px 14px;flex-shrink:0}
 .card h2,.card.tall h2{font-size:26px;line-height:1.3;margin:12px 0}
 .card.feature h2{font-size:46px;line-height:1.2}
 .card p,.card.tall p,.card.feature p{font-size:16px;line-height:1.75}
 .card .meta,.card .meta .number,.card .meta .review-badge{font-size:13px;line-height:1.5}
 .card .meta{gap:6px;align-items:flex-start}
 .card .meta .number{min-width:0}
 .tagline{font-size:14px;line-height:1.6;flex-wrap:wrap;gap:4px 12px}
 .domain{font-size:12px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .intro p,.detail p,.page-head p,.submit-layout p{font-size:18px;line-height:1.8}
 .text-link,.button,.content-cta{font-size:16px;line-height:1.65}
 .form label,.review-form label{font-size:16px}
 .notice,.review-note{font-size:15px;line-height:1.8}
 .creator-credit{font-size:16px!important}
 .reviews h2{font-size:29px}
 .review-entry p{font-size:17px;line-height:1.8}
 .review-entry-header,.review-total{font-size:15px}
 .review-entry time{font-size:13px}
 .bottom{font-size:14px;line-height:1.7}
 .bottom span{font-size:14px}
}

.top .mobile-logo-mark{display:none}
@media(max-width:700px){
 .top .issue{display:none}
 .top .small-logo{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:40px;font-weight:900;line-height:1;letter-spacing:-3px}
 .top .desktop-logo-mark{display:none}
 .top .mobile-logo-mark{display:inline-block;font-size:34px;line-height:1;color:var(--mauve);margin:0;font-weight:400;transform:rotate(12deg)}
 .masthead .wordmark{display:none}
 .masthead-copy{margin-top:0}
 .card[data-app-id="sages"].feature{grid-row:span 1;min-height:0}
 .card[data-app-id="sages"].feature .preview{flex:0 0 160px;min-height:160px}
 .card[data-app-id="sages"].feature .card-info{padding:16px 18px}
 .card[data-app-id="sages"].feature h2{font-size:34px;line-height:1.25;margin:10px 0}
}

.mobile-discovery{display:none}
@media(max-width:700px){
 .top{justify-content:flex-end}
 .top .small-logo,.top>.button{display:none}
 #main>.browse{display:none}
 .top nav{max-height:calc(100svh - 66px);overflow-y:auto}
 .mobile-discovery{display:block}
 .mobile-discovery .browse{display:flex;padding:12px 0 0;gap:18px;align-items:stretch}
 .mobile-discovery .categories{flex-wrap:wrap;overflow:visible;gap:6px 20px;margin:0;padding:0}
 .mobile-discovery .categories button{font-size:18px;min-height:44px}
 .mobile-discovery .search{width:100%;min-width:0}
 #grid>.card[data-app-id="leibowitz"]{order:-3}
 #grid>.card[data-app-id="kings"]{order:-2}
 #grid>.card[data-app-id="sages"]{order:-1}
}

@media(max-width:700px){.top .small-logo{display:inline-flex;margin-inline-end:auto}.top .mobile-logo-mark{display:none}}

.card-preview-link{display:flex;flex:1;min-height:90px}
.mobile-app-link{display:none}
/* Compact mobile cards: a landscape image followed by a separate title strip. */
@media(max-width:700px){
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-items:start;gap:12px}
 .grid .card,.grid .card.feature,.grid .card.tall,.grid .card[data-app-id="sages"].feature{display:block;grid-column:span 1;grid-row:span 1;height:auto;min-height:0;max-height:none;--mobile-card-base:#ccb7ae;--mobile-card-ink:#1c1a1b}
 .grid .card.color1{--mobile-card-base:#565264;--mobile-card-ink:#fff}
 .grid .card.color2{--mobile-card-base:#a6808c}
 .grid .card.color3{--mobile-card-base:#706677;--mobile-card-ink:#fff}
 .grid .card.color4{--mobile-card-base:#d6cfcb}
 .grid .card .card-main{display:block;flex:none;height:auto;min-height:0}
 .grid .card .card-preview-link{position:static;display:block;flex:none;width:100%;height:auto;padding:0;min-height:0;overflow:hidden}
 .grid .card .preview,.grid .card[data-app-id="sages"].feature .preview{position:static;display:block;width:100%;height:auto;flex:none;min-height:0}
 .grid .card picture{display:block;width:100%}
 .grid .card .app-thumbnail{position:static;display:block;width:100%;height:110px;height:clamp(90px,26vw,170px);object-fit:cover;object-position:center top}
 .grid .card .domain{display:none}
 .grid .card .card-info,.grid .card.feature .card-info,.grid .card[data-app-id="sages"].feature .card-info{position:relative;display:block;width:100%;height:auto;min-height:60px;padding:12px;background:var(--mobile-card-base);color:var(--mobile-card-ink)}
 .grid .card h2,.grid .card.feature h2,.grid .card.tall h2,.grid .card[data-app-id="sages"].feature h2{display:block;position:static;font-size:22px;line-height:1.3;margin:0;letter-spacing:-.4px}
 .grid .card .card-title-link,.grid .card .portfolio-title-link{display:block;position:static;color:inherit;white-space:normal;overflow-wrap:break-word}
 .grid .card .card-title-link::after{display:none}
 .grid .card .meta,.grid .card .card-details{display:none}
}
