/* Darkling's compact public storefront. Paid applications keep their own UI. */
.dc-storefront { --dc-gold:#e4bd70; --dc-ink:#090b0e; --dc-paper:#f4ecdc; --dc-muted:#b9b5ad; --dc-line:#34363b; background:#090b0e; color:var(--dc-paper); font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.dc-storefront *, .dc-nav * { box-sizing:border-box; }
.dc-storefront [hidden] { display:none!important; }
.dc-storefront a { text-underline-offset:4px; }
.dc-storefront :is(a,button,input,select,summary):focus-visible { outline:3px solid #f0cf8b; outline-offset:4px; }
.dc-storefront :is(h1,h2,h3) { font-family:Georgia,"Times New Roman",serif; text-transform:none; letter-spacing:-.025em; }
.dc-storefront h1, .dc-storefront .hero h1, .dc-storefront .category-hero h1 { font-size:clamp(32px,4.5vw,54px); line-height:1.08; margin-bottom:14px; }
.dc-storefront h2 { font-size:clamp(25px,3vw,32px); line-height:1.15; }
.dc-storefront h3 { font-size:22px; line-height:1.2; }
.dc-storefront .shell { width:min(1180px,calc(100% - 48px)); }
.dc-skip { position:fixed; top:8px; left:12px; z-index:100001; padding:12px 18px; background:#f0cf8b; color:#15110b; transform:translateY(-160%); font:700 16px system-ui; }
.dc-skip:focus { transform:none; }
.dc-nav { position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:24px; min-height:68px; width:100%; margin:0; padding:10px max(24px,calc((100% - 1180px)/2)); background:#0b0d10f5; border-bottom:1px solid #e4bd7033; backdrop-filter:blur(12px); font:500 14px/1.4 system-ui,sans-serif; }
.dc-brand { flex:none; color:#f4ecdc!important; font:700 19px/1.2 Georgia,serif; letter-spacing:.025em; text-decoration:none; white-space:nowrap; }
.dc-brand span { color:#e4bd70; }
.dc-nav-links { display:flex; align-items:center; gap:20px; margin-left:auto; }
.dc-nav :is(a,summary) { color:#d6d1c8; text-decoration:none; }
.dc-nav-links>a,.dc-goals>summary { display:flex; align-items:center; min-height:44px; cursor:pointer; }
.dc-nav :is(a,summary):hover,.dc-nav [aria-current=page] { color:#f0cf8b; }
.dc-goals { position:relative; }
.dc-goals>summary { gap:7px; list-style:none; }
.dc-goals>summary::-webkit-details-marker { display:none; }
.dc-goals>summary::after { content:'⌄'; color:#e4bd70; }
.dc-goal-menu { position:absolute; top:calc(100% + 6px); left:-16px; display:grid; width:245px; padding:8px; border:1px solid #4b4436; border-radius:8px; background:#15171c; box-shadow:0 12px 28px #0008; }
.dc-goal-menu a { min-height:44px; padding:10px 12px; border-radius:4px; }
.dc-goal-menu a:hover { background:#e4bd7012; }
.dc-library { flex:none; display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border:1px solid #e4bd7066; border-radius:5px; color:#f0cf8b!important; }
.dc-menu-toggle { display:none; min-height:44px; border:1px solid #55504a; border-radius:5px; padding:8px 12px; background:transparent; color:#f4ecdc; font:600 14px system-ui; }
.dc-storefront .hero,.dc-storefront .category-hero { padding:38px 0 32px; }
.dc-storefront .hero-copy,.dc-storefront .category-hero>p,.dc-storefront .subtitle { font:16px/1.6 system-ui,sans-serif; color:var(--dc-muted); }
.dc-storefront .section { padding:36px 0; }
.dc-storefront .section-head { max-width:760px; margin:0 0 20px; text-align:left; }
.dc-storefront .section-head p { margin-bottom:0; }
.dc-storefront .eyebrow { margin-bottom:10px; font:700 11px/1.4 system-ui; letter-spacing:.14em; color:var(--dc-gold); }
.dc-storefront :is(.product-card,.bundle-card,.note-card,.featured-copy,.featured-side) { min-height:0; padding:20px; border-radius:8px; box-shadow:none; background:#13161b; }
.dc-storefront :is(.product-card,.bundle-card)::before { display:none; }
.dc-storefront :is(.product-grid,.bundle-grid) { gap:16px; grid-auto-rows:auto; align-items:start; }
.dc-storefront :is(.product-card,.bundle-card) { height:100%; }
.dc-storefront .product-card p,.dc-storefront .bundle-card p { color:var(--dc-muted); font-size:15px; line-height:1.6; }
.dc-storefront .tag-row { gap:6px; margin-bottom:12px; }
.dc-storefront .tag { padding:4px 7px; font:600 11px/1.3 system-ui; letter-spacing:0; text-transform:none; }
.dc-storefront .price { font:650 22px/1.3 system-ui; color:#f0cf8b; }
.dc-storefront .price span { font-size:13px; font-weight:400; }
.dc-storefront :is(.btn,.btn.small) { min-height:44px; padding:10px 14px; border-radius:5px; font:650 14px/1.4 system-ui,sans-serif; text-transform:none; letter-spacing:0; }
.dc-storefront .btn:hover { transform:none; }
.dc-storefront .category-nav { margin-top:18px; gap:8px; }
.dc-storefront .category-nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; font:500 13px/1.4 system-ui; letter-spacing:0; text-transform:none; }
.dc-storefront .faq-grid article { padding:16px 0; }
.dc-storefront footer { padding:24px; color:#b9b5ad; }
.dc-storefront footer a { color:#d6d1c8; }
.dc-storefront.dc-portal .container { width:min(1180px,calc(100% - 32px)); max-width:none; padding:26px 0; }
.dc-storefront.dc-portal .login-gate { padding:24px 0; }
.dc-storefront.dc-portal .login-gate h1 { margin-bottom:16px; }
.dc-storefront.dc-portal .login-gate>p { margin:14px 0; }
.dc-storefront :is(section,article,h2,h3,[id]) { scroll-margin-top:88px; }
.dc-storefront details summary { min-height:44px; padding:10px 0; color:#f0cf8b; cursor:pointer; font:600 14px/1.5 system-ui; }
.dc-storefront details p,.dc-storefront details li { font-size:14px; }
.dc-storefront .bundle-checklist { margin-bottom:16px; }
.dc-storefront .bundle-grid:has(>#skill-drafting-bundle) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dc-storefront .bundle-card h3 { font-size:22px; }
.dc-bundle-note { color:#b9b5ad; font-size:14px; }
.dc-home-hero { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:48px; padding:42px 0 32px; }
.dc-home-hero h1 { max-width:650px; font-size:clamp(38px,5vw,62px); }
.dc-home-hero h1 em { color:#e4bd70; font-style:normal; }
.dc-home-hero p:not(.eyebrow) { max-width:580px; color:#b9b5ad; }
.dc-home-hero .hero-actions { justify-content:flex-start; margin-top:20px; }
.dc-start-panel { padding:22px; border:1px solid #e4bd7044; border-radius:8px; background:linear-gradient(125deg,#e4bd7010,#15171b); }
.dc-start-panel h2 { font-size:25px; margin:0 0 16px; }
.dc-start-panel a { display:flex; justify-content:space-between; gap:12px; align-items:center; min-height:52px; padding:10px 0; border-top:1px solid #ffffff18; text-decoration:none; }
.dc-start-panel a span { color:#e4bd70; }
.dc-goal-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.dc-goal-card { display:flex; flex-direction:column; gap:8px; padding:18px; border:1px solid #34363b; border-radius:7px; text-decoration:none; background:#13161b; }
.dc-goal-card:hover { border-color:#d9ad57; background:#191b20; }
.dc-goal-card strong { font:600 21px/1.15 Georgia,serif; }
.dc-goal-card span { font-size:14px; color:#b9b5ad; }
.dc-goal-card small { color:#e4bd70; font-size:13px; margin-top:auto; padding-top:4px; }
.dc-section-heading { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:20px; }
.dc-section-heading h2 { margin:0; }
.dc-section-heading>a { flex:none; display:inline-flex; align-items:center; min-height:44px; color:#f0cf8b; font-size:14px; }
.dc-storefront .dc-resource-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.dc-resource-row article { padding:18px; border:1px solid #34363b; border-radius:7px; background:#13161b; }
.dc-resource-row h3 { font-size:22px; margin-bottom:10px; }
.dc-resource-row p { color:#b9b5ad; font-size:15px; }
.dc-text-link { display:inline-flex; align-items:center; min-height:44px; color:#f0cf8b; font:600 14px/1.4 system-ui; }
.dc-formats { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:20px; padding:14px 0 0; border-top:1px solid #34363b; color:#b9b5ad; font-size:13px; }
.dc-formats strong { color:#f4ecdc; font-weight:600; }
.dc-demo { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; align-items:center; }
.dc-demo p { color:#b9b5ad; }
.dc-demo video { display:block; width:100%; max-height:310px; border:1px solid #34363b; border-radius:7px; background:#090b0e; }
.dc-help { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.dc-help p { color:#b9b5ad; }
.dc-help details { border-bottom:1px solid #34363b; }
.dc-help details p { margin:0 0 16px; font-size:15px; }
.dc-search-form { display:flex; gap:8px; align-items:center; max-width:750px; margin:20px 0 0; }
.dc-search-form input { width:100%; min-width:0; min-height:46px; padding:10px 14px; border:1px solid #71644f; border-radius:5px; color:#f4ecdc; background:#101217; font:16px system-ui; }
.dc-search-form input::placeholder { color:#aaa69e; }
.dc-search-form button { flex:none; }
.dc-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.dc-filter-bar { display:flex; align-items:end; flex-wrap:wrap; gap:14px; margin:0 0 24px; padding:18px; border:1px solid #34363b; border-radius:7px; background:#13161b; }
.dc-filter-bar label { display:grid; gap:6px; font:600 13px system-ui; }
.dc-filter-bar select { min-height:44px; padding:8px 30px 8px 10px; border:1px solid #71644f; border-radius:4px; background:#101217; color:#f4ecdc; font:15px system-ui; max-width:100%; }
.dc-result-count { margin-left:auto; align-self:center; color:#b9b5ad; font-size:14px; }
.dc-storefront.legacy-catalog .container { width:min(1180px,calc(100% - 48px)); padding:0 0 32px; }
.dc-storefront.legacy-catalog .dc-nav { width:100vw; max-width:none; margin-left:calc((100% - 100vw)/2); }
.dc-storefront.legacy-catalog :is(.section-title,.section-header) { max-width:none; margin:30px 0 18px; text-align:left; }
.dc-storefront.legacy-catalog :is(.card,.product-card) { padding:20px; border-radius:8px; background:#13161b; box-shadow:none; }
.dc-storefront.legacy-catalog :is(.card,.product-card) h3 { min-height:0; font:600 22px/1.2 Georgia,serif; }
.dc-storefront.legacy-catalog .desc { font:15px/1.6 system-ui; color:#b9b5ad; }
.dc-storefront.legacy-catalog :is(.buy,.buy-btn) { min-height:44px; font:650 14px/1.4 system-ui; letter-spacing:0; text-transform:none; }
.dc-storefront.legacy-catalog .requirements { font-size:14px; }
.dc-storefront.legacy-catalog .hero { padding:32px 0 24px; }
.dc-storefront.legacy-catalog .grid { grid-auto-rows:auto; align-items:start; }
.dc-storefront.legacy-catalog .products { grid-auto-rows:auto; align-items:start; }
.dc-storefront .dc-nav summary { font:500 14px/1.4 system-ui; text-transform:none; letter-spacing:0; padding:0; }
.dc-storefront .dc-nav details { border:0; padding:0; margin:0; }
.dc-storefront.legacy-catalog .icon:empty { display:none; }
.dc-storefront.dc-free header { padding:0; background:none; border:0; }
.dc-storefront.dc-free header>.shell { width:100%; }
.dc-storefront.dc-free .brand { display:none; }
.dc-storefront.dc-free .hero { width:min(1180px,calc(100% - 48px)); margin:auto; padding:32px 0 24px; }
.dc-storefront.dc-free .hero h1 { margin:8px 0 12px; }
.dc-storefront.dc-free .quick-nav { position:static; padding:12px 0; }
.dc-storefront.dc-free .quick-nav .shell { display:flex; flex-wrap:wrap; gap:5px 12px; }
.dc-storefront.dc-free .quick-nav a { padding:7px 0; min-height:36px; border:0; background:transparent; font-size:13px; }
.dc-storefront.dc-free main { padding-top:20px; }
.dc-storefront.dc-free .resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }
.dc-storefront.dc-free .card { border-radius:8px; background:#13161b; box-shadow:none; }
.dc-storefront.dc-free .card-head,.dc-storefront.dc-free .card-body { padding:18px; }
.dc-storefront.dc-free .card-head img { width:100%!important; height:110px!important; object-fit:cover; }
.dc-storefront.dc-free .card h2 { font-size:23px; }
.dc-storefront.dc-free .card .summary { font-size:15px; }
.dc-storefront.dc-free .intro-grid { display:none; }
.dc-storefront.dc-free .path-note { margin-bottom:20px; padding:16px 18px; font-size:14px; }
/* These IDs are shared by the consent snippet and its local fallback. */
.dc-storefront #darkling-privacy { max-width:460px!important; padding:16px!important; bottom:12px!important; left:12px!important; right:12px!important; border-radius:8px!important; font:14px/1.5 system-ui!important; }
.dc-storefront #darkling-privacy h2 { margin-bottom:8px!important; font:600 20px/1.2 Georgia,serif!important; }
.dc-storefront #darkling-privacy p { margin:8px 0!important; color:#ddd5c7; }
.dc-storefront #darkling-privacy button { min-height:44px!important; margin:6px 6px 0 0!important; padding:10px 12px!important; font:600 14px/1.4 system-ui!important; }
.dc-storefront #darkling-privacy summary { min-height:32px; padding:4px 0; font-size:13px; }
.dc-storefront #darkling-privacy [role=status]:empty { display:none; }
.dc-storefront #darkling-privacy-choices { min-height:44px; margin:12px auto!important; font-size:13px!important; }
.dc-storefront #darkling-newsletter { max-width:1180px; margin:20px auto; padding:20px; border-radius:8px; }
.dc-storefront #darkling-newsletter h2 { font-size:25px; }
.dc-storefront #darkling-newsletter p { font-size:14px; }
.dc-storefront #darkling-newsletter form { grid-template-columns:1fr auto; gap:8px 14px; }
.dc-storefront #darkling-newsletter form>label:first-child { grid-column:1/-1; font-size:14px; }
.dc-storefront #darkling-newsletter input[type=email] { grid-column:1; grid-row:2; }
.dc-storefront #darkling-newsletter button { grid-column:2; grid-row:2; }
.dc-storefront #darkling-newsletter .dc-consent,.dc-storefront #darkling-newsletter [role=status] { grid-column:1/-1; }
@media(max-width:1050px) {
 .dc-nav { gap:12px; flex-wrap:wrap; padding:10px 24px; }
 .dc-brand { margin-right:auto; }
 .dc-nav-ready .dc-menu-toggle { display:block; }
 .dc-nav-links { order:4; width:100%; display:grid; gap:0; margin:0; }
 .dc-nav-ready .dc-nav-links:not(.is-open) { display:none; }
 .dc-goal-menu { position:static; width:100%; padding:0 12px; border:0; box-shadow:none; }
 .dc-goal-menu a { display:block; }
 .dc-home-hero { gap:24px; }
 .dc-goal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .dc-storefront .bundle-grid:has(>#skill-drafting-bundle) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dc-storefront.dc-free .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
 .dc-storefront .shell,.dc-storefront.legacy-catalog .container { width:calc(100% - 32px); }
 .dc-nav { padding:8px 16px; gap:8px; min-height:64px; }
 .dc-brand { font-size:16px; }
 .dc-library { padding:8px 10px; font-size:13px; }
 .dc-menu-toggle { font-size:13px; padding:8px 10px; }
 .dc-home-hero { grid-template-columns:1fr; gap:20px; padding:26px 0 24px; }
 .dc-home-hero h1 { font-size:38px; }
 .dc-start-panel { padding:16px; }
 .dc-start-panel .eyebrow,.dc-start-panel h2 { display:none; }
 .dc-start-panel h2 { font-size:23px; margin-bottom:10px; }
 .dc-start-panel a { min-height:44px; font-size:14px; }
 .dc-storefront .section { padding:26px 0; }
 .dc-storefront .hero,.dc-storefront .category-hero { padding:26px 0 22px; }
 .dc-goal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .dc-goal-card { padding:14px; }
 .dc-goal-card strong { font-size:21px; }
 .dc-goal-card span { font-size:14px; }
 .dc-goal-card:last-child { grid-column:1/-1; }
 .dc-storefront :is(.product-grid,.bundle-grid,.dc-resource-row,.featured-strip,.faq-grid,.dc-help,.dc-demo),.dc-storefront .bundle-grid:has(>#skill-drafting-bundle),.dc-storefront.dc-free .resource-grid { grid-template-columns:1fr; }
 .dc-storefront :is(.product-card,.bundle-card,.note-card,.featured-copy,.featured-side) { padding:18px; }
 .dc-section-heading { align-items:start; }
 .dc-section-heading h2 { font-size:27px; }
 .dc-section-heading>a { max-width:110px; text-align:right; justify-content:flex-end; }
 .dc-storefront .hero-actions { gap:8px; }
 .dc-storefront .hero-actions .btn { width:auto; flex:1; }
 .dc-storefront .card-actions .btn { width:auto; }
 .dc-demo,.dc-help { gap:20px; }
 .dc-filter-bar { align-items:stretch; padding:14px; gap:10px; }
 .dc-filter-bar label { flex:1 1 130px; }
 .dc-result-count { width:100%; margin:0; }
 .dc-storefront.dc-free .hero { width:calc(100% - 32px); }
 .dc-storefront #darkling-newsletter { margin:16px; padding:18px; }
 .dc-storefront #darkling-newsletter form { grid-template-columns:1fr; }
 .dc-storefront #darkling-newsletter button { grid-column:1; grid-row:auto; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 .dc-storefront * { transition:none!important; animation:none!important; }
}

@media(max-width:360px){.dc-brand{max-width:112px;white-space:normal;font-size:14px;line-height:1.1;letter-spacing:0}}
