/* STCY — shared stylesheet (Modern Mono Grid direction) */
:root{
  --bg:#0f0f0f;
  --white:#f5f5f3;
  --line:#2b2b2b;
  --accent:#ff5a1f;
  --gray:#555;
  --gray-soft:#888;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  background:var(--white);
  color:var(--bg);
  font-family:'Inter',sans-serif;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'Space Mono',monospace;}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
a{color:inherit;}

/* ---------- Nav ---------- */
header.site-header{border-bottom:2px solid var(--bg);background:var(--white);}
nav.wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.logo-badge{flex-shrink:0;width:40px;height:40px;border-radius:9px;background:#FA5019;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;}
.logo-badge .row{display:flex;gap:1px;}
.logo-badge span{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;line-height:0.86;color:#F6F4EE;}
.logo-word{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;letter-spacing:-0.03em;color:var(--bg);}
.navlinks{display:flex;gap:0;list-style:none;}
.navlinks a{color:var(--bg);text-decoration:none;font-size:13px;letter-spacing:0.4px;font-weight:600;text-transform:uppercase;padding:0 18px;border-left:1px solid var(--bg);}
.navlinks a.active{color:var(--accent);}
.subscribe-btn{background:var(--bg);color:var(--white);padding:11px 20px;font-size:13px;text-decoration:none;font-weight:600;}
.subscribe-btn:hover{background:var(--accent);}

/* ---------- Hero (home only) ---------- */
.hero{background:var(--bg);color:var(--white);padding:100px 0 80px;}
.hero .mono{color:var(--accent);font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;display:block;}
.hero h1{font-size:64px;font-weight:800;line-height:1.02;letter-spacing:-1.5px;max-width:820px;}
.hero h1 em{color:var(--accent);font-style:normal;}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:36px;gap:40px;}
.hero-row p{color:#a8a8a8;max-width:420px;font-size:16px;}
.hero-cta{display:flex;gap:0;flex-shrink:0;}
.btn-primary{background:var(--accent);color:var(--bg);padding:15px 28px;text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;display:inline-block;}
.btn-secondary{border:1px solid #444;color:var(--white);padding:15px 28px;text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;display:inline-block;}

/* ---------- Page header band (Library / Apps / About / Subscribe) ---------- */
.page-header{background:var(--bg);color:var(--white);padding:64px 0 56px;}
.page-header .mono{color:var(--accent);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;display:block;}
.page-header h1{font-size:42px;font-weight:800;letter-spacing:-1px;max-width:700px;}
.page-header p{margin-top:14px;color:#a8a8a8;font-size:16px;max-width:560px;}

/* ---------- Sections ---------- */
.section{padding:80px 0;border-bottom:2px solid var(--bg);}
.section:last-of-type{border-bottom:none;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:48px;flex-wrap:wrap;gap:16px;}
.section-head h2{font-size:14px;text-transform:uppercase;letter-spacing:2px;font-weight:700;}
.section-head .count{font-family:'Space Mono',monospace;font-size:13px;color:var(--accent);}

/* ---------- Filter chips (Library) ---------- */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px;}
.chip{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.5px;padding:9px 16px;border:1px solid var(--bg);background:transparent;cursor:pointer;color:var(--bg);}
.chip.active{background:var(--bg);color:var(--white);}
.chip.is-tip{}
.chip:hover{border-color:var(--accent);}

/* ---------- Article grid / cards ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--bg);}
.grid.library-grid{grid-template-columns:repeat(3,1fr);}
.card{position:relative;padding:32px;border-right:1px solid var(--bg);border-bottom:1px solid var(--bg);text-decoration:none;display:block;color:var(--bg);transition:background .15s;}
.card:hover{background:#f0efe9;}
.grid .card:nth-child(3n){border-right:none;}
.badge-new{position:absolute;top:16px;right:16px;font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.5px;background:var(--accent);color:var(--white);padding:3px 8px;}
.card-tag{font-family:'Space Mono',monospace;font-size:11px;color:var(--accent);text-transform:uppercase;margin-bottom:16px;display:block;}
.card h3{font-size:21px;line-height:1.25;font-weight:700;margin-bottom:14px;letter-spacing:-0.3px;}
.card p{font-size:14px;color:var(--gray);}
.card .theme{margin-top:18px;font-family:'Space Mono',monospace;font-size:11px;color:var(--gray-soft);}

/* ---------- Quote band ---------- */
.quote-band{padding:70px 0;border-bottom:2px solid var(--bg);}
.quote-band .wrap{display:flex;gap:48px;align-items:flex-start;}
.quote-band .num{font-family:'Space Mono',monospace;font-size:64px;font-weight:700;color:var(--accent);line-height:1;}
.quote-band blockquote{font-size:28px;font-weight:600;line-height:1.3;letter-spacing:-0.3px;max-width:700px;}
.quote-band cite{display:block;margin-top:16px;font-family:'Space Mono',monospace;font-size:12px;color:#777;font-style:normal;}

/* ---------- Apps ---------- */
.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bg);}
.apps-grid.four{grid-template-columns:repeat(4,1fr);}
.apps-grid.big .app-card{padding:40px;}
.app-card{background:var(--white);padding:34px;}
.app-card .idx{font-family:'Space Mono',monospace;color:var(--accent);font-size:13px;margin-bottom:20px;display:block;}
.app-card h4{font-size:19px;font-weight:700;margin-bottom:10px;letter-spacing:-0.2px;}
.app-card p{font-size:13.5px;color:var(--gray);margin-bottom:20px;}
.app-card a.applink{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--bg);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px;}
.app-card .status{display:inline-block;font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;padding:4px 8px;background:#eee;color:var(--gray);margin-bottom:14px;}

/* ---------- Newsletter band ---------- */
.newsletter{background:var(--bg);color:var(--white);padding:70px 0;}
.newsletter .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;}
.newsletter h2{font-size:30px;font-weight:800;letter-spacing:-0.5px;max-width:380px;}
.nl-form{display:flex;gap:0;flex-shrink:0;}
.nl-form input{padding:15px 18px;border:1px solid #444;width:280px;font-family:'Inter',sans-serif;font-size:14px;background:transparent;color:var(--white);}
.nl-form button{padding:15px 24px;background:var(--accent);color:var(--bg);border:none;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;}

/* ---------- Article page ---------- */
.article-meta{display:flex;gap:18px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
.article-body{max-width:680px;}
.article-body p{font-size:17px;color:#2b2b2b;margin-bottom:22px;line-height:1.7;}
.takeaway{background:var(--bg);color:var(--white);padding:28px 32px;margin:36px 0;}
.takeaway .mono{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px;display:block;}
.takeaway p{color:var(--white);font-size:17px;margin:0;font-weight:600;}
.share-row{display:flex;gap:12px;margin-top:40px;padding-top:30px;border-top:1px solid var(--line);}
.share-row a{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;border:1px solid var(--bg);padding:9px 16px;text-decoration:none;color:var(--bg);}
.share-row a:hover{background:var(--bg);color:var(--white);}

/* ---------- About page ---------- */
.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;}
.about-grid p{font-size:16.5px;color:#333;margin-bottom:20px;line-height:1.7;max-width:560px;}
.about-sidebar{border-left:1px solid var(--line);padding-left:36px;}
.about-sidebar h4{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:14px;}
.about-sidebar .fact{margin-bottom:22px;}
.about-sidebar .fact .num{font-size:28px;font-weight:800;display:block;}
.about-sidebar .fact .label{font-size:13px;color:var(--gray);}

/* ---------- Subscribe page ---------- */
.subscribe-card{max-width:640px;margin:0 auto;text-align:center;border:1px solid var(--bg);padding:64px 48px;}
.subscribe-card h2{font-size:32px;font-weight:800;letter-spacing:-0.5px;margin-bottom:14px;}
.subscribe-card p.lede{color:var(--gray);font-size:16px;margin-bottom:34px;}
.subscribe-card .nl-form{justify-content:center;margin-bottom:30px;}
.subscribe-card .nl-form input{background:var(--white);color:var(--bg);border:1px solid var(--bg);}
.perks{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:10px;}
.perk{font-family:'Space Mono',monospace;font-size:12px;color:var(--gray);max-width:140px;}
.perk .dot{color:var(--accent);margin-right:4px;}

/* ---------- Footer ---------- */
footer.site-footer{padding:32px 0;}
.foot-wrap{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#777;}
.foot-links{display:flex;gap:24px;}
.foot-links a{color:#777;text-decoration:none;}

@media (max-width:900px){
  .grid,.apps-grid,.about-grid{grid-template-columns:1fr;}
  .grid .card{border-right:1px solid var(--bg) !important;}
  .hero h1,.page-header h1{font-size:36px;}
  .hero-row,.newsletter .wrap,.quote-band .wrap{flex-direction:column;align-items:flex-start;}
  .navlinks{display:none;}
  .about-sidebar{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:30px;}
}

/* ---------- Legal pages (Privacy / Terms / Contact) ---------- */
.legal-body{max-width:720px;}
.legal-body h2{font-size:19px;font-weight:700;margin:34px 0 12px;}
.legal-body p{font-size:15.5px;color:#333;margin-bottom:16px;line-height:1.7;}
.legal-body ul{margin:0 0 16px 20px;}
.legal-body li{font-size:15.5px;color:#333;margin-bottom:8px;line-height:1.6;}
.legal-body .updated{font-family:'Space Mono',monospace;font-size:12px;color:#888;margin-bottom:30px;display:block;}
.legal-body a{color:var(--accent);text-decoration:underline;}

/* ---------- Cookie consent banner ---------- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg);color:var(--white);padding:18px 32px;display:none;justify-content:space-between;align-items:center;gap:24px;z-index:999;flex-wrap:wrap;border-top:2px solid var(--accent);}
.cookie-banner p{font-size:13px;color:#ccc;max-width:760px;margin:0;}
.cookie-banner a{color:var(--accent);text-decoration:underline;}
.cookie-banner .cb-btn{background:var(--accent);color:var(--bg);border:none;padding:10px 20px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;text-transform:uppercase;font-family:'Space Mono',monospace;}

/* ---------- Contact page ---------- */
.contact-card{max-width:560px;border:1px solid var(--bg);padding:48px;}
.contact-card .mono.label{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:8px;}
.contact-card .email-link{font-size:22px;font-weight:700;text-decoration:none;color:var(--bg);border-bottom:2px solid var(--accent);display:inline-block;margin-bottom:34px;}
.contact-card p{font-size:15px;color:#555;margin-bottom:10px;}

/* ---------- Companion apps (subdomain demo pages) ---------- */
.app-topbar{background:var(--bg);border-bottom:2px solid var(--accent);}
.app-topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:54px;}
.app-topbar .app-id{display:flex;align-items:center;}
.app-topbar .logo{gap:10px;}
.app-topbar .logo-badge{width:26px;height:26px;border-radius:6px;}
.app-topbar .logo-badge span{font-size:9px;}
.app-topbar .logo-word{font-size:14px;color:var(--white);}
.app-topbar .app-name{font-family:'Space Mono',monospace;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-left:14px;padding-left:14px;border-left:1px solid #444;}
.app-topbar .topbar-links{display:flex;gap:20px;align-items:center;}
.app-topbar .topbar-links a{font-size:12px;color:#ccc;text-decoration:none;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.5px;}
.app-topbar .topbar-links a:hover{color:var(--accent);}

.app-hero{background:var(--bg);color:var(--white);padding:56px 0 48px;}
.app-hero .status-pill{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;background:var(--accent);color:var(--bg);padding:4px 10px;margin-bottom:18px;letter-spacing:.5px;}
.app-hero h1{font-size:36px;font-weight:800;letter-spacing:-1px;}
.app-hero p{color:#a8a8a8;margin-top:12px;font-size:15.5px;max-width:540px;}

/* Tip of the Day */
.tip-card{border:1px solid var(--bg);padding:56px 48px;text-align:center;max-width:680px;margin:0 auto 28px;}
.tip-card .tip-theme{font-family:'Space Mono',monospace;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:18px;}
.tip-card h2{font-size:26px;font-weight:700;letter-spacing:-0.3px;margin-bottom:16px;line-height:1.3;}
.tip-card p{font-size:15.5px;color:var(--gray);max-width:520px;margin:0 auto;}
.tip-actions{display:flex;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap;}
.tip-actions button{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;border:1px solid var(--bg);background:transparent;padding:11px 18px;cursor:pointer;letter-spacing:.5px;color:var(--bg);}
.tip-actions button:hover{background:var(--bg);color:var(--white);}
.tip-actions button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);}
.tip-actions button.primary:hover{background:var(--bg);color:var(--white);border-color:var(--bg);}
.saved-wrap{max-width:680px;margin:0 auto;}
.saved-wrap h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;color:var(--gray);}
.saved-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;}
.saved-item button{background:none;border:none;color:var(--gray-soft);cursor:pointer;font-size:11px;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.5px;}
.saved-item button:hover{color:var(--accent);}
.empty-state{color:var(--gray-soft);font-size:14px;font-style:italic;}

/* Book Notes Search */
.search-box{max-width:680px;margin:0 auto 36px;}
.search-box input{width:100%;padding:18px 20px;border:1px solid var(--bg);font-size:16px;font-family:'Inter',sans-serif;background:var(--white);box-sizing:border-box;}
.search-box input:focus{outline:2px solid var(--accent);}
.search-meta{font-family:'Space Mono',monospace;font-size:12px;color:var(--gray-soft);margin-bottom:24px;text-align:center;}
.notes-results{max-width:680px;margin:0 auto;}
.note-result{border:1px solid var(--bg);padding:24px 28px;margin-bottom:-1px;background:var(--white);}
.note-result .note-book{font-family:'Space Mono',monospace;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block;}
.note-result h4{font-size:16px;font-weight:700;margin-bottom:6px;}
.note-result p{font-size:14px;color:var(--gray);}
.notes-results mark{background:var(--accent);color:var(--bg);padding:0 2px;}
.note-result.user-saved{border-color:var(--accent);}
.note-result .saved-badge{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.5px;background:var(--accent);color:var(--white);padding:2px 7px;margin-left:8px;text-transform:uppercase;vertical-align:middle;}
.note-result .remove-note-btn{display:block;margin-top:14px;background:none;border:none;color:var(--gray-soft);cursor:pointer;font-size:11px;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.5px;padding:0;}
.note-result .remove-note-btn:hover{color:var(--accent);}

/* Habit Tracker */
.habit-add{display:flex;max-width:680px;margin:0 auto 36px;}
.habit-add input{flex:1;padding:16px 18px;border:1px solid var(--bg);font-size:15px;font-family:'Inter',sans-serif;box-sizing:border-box;}
.habit-add button{padding:0 26px;background:var(--accent);color:var(--bg);border:none;font-weight:700;font-size:13px;text-transform:uppercase;cursor:pointer;font-family:'Space Mono',monospace;}
.habit-list{max-width:680px;margin:0 auto;}
.habit-item{border:1px solid var(--bg);padding:22px 26px;margin-bottom:-1px;background:var(--white);}
.habit-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.habit-row h4{font-size:16px;font-weight:700;max-width:420px;line-height:1.4;}
.habit-streak{font-family:'Space Mono',monospace;font-size:12px;color:var(--accent);white-space:nowrap;margin-top:3px;}
.habit-days{display:flex;gap:6px;margin-top:16px;}
.habit-day{width:34px;height:34px;border:1px solid var(--bg);display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:11px;cursor:pointer;background:var(--white);user-select:none;}
.habit-day.done{background:var(--bg);color:var(--white);}
.habit-day:hover{border-color:var(--accent);}
.habit-remove{background:none;border:none;color:var(--gray-soft);font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;cursor:pointer;letter-spacing:.5px;flex-shrink:0;}
.habit-remove:hover{color:var(--accent);}

@media (max-width:600px){
  .tip-card{padding:40px 24px;}
  .habit-row{flex-direction:column;}
}
