.dm-page{padding-bottom:28px}
.dm-banner{margin:2px 0 18px;border-radius:16px;overflow:hidden;box-shadow:var(--sh-2)}
.dm-banner img{display:block;width:100%;height:clamp(168px,26vw,280px);object-fit:cover;object-position:center 42%}
.dm-head{margin:8px 0 18px}
.dm-kicker{margin:0 0 6px;color:var(--c-muted);font-size:13px;letter-spacing:.12em}
.dm-kicker a{color:inherit}
.dm-head h1{margin:0 0 8px;font-size:32px;line-height:1.35}
.dm-lead{margin:0 0 14px;color:var(--c-ink-soft);line-height:1.7}
.dm-search{display:flex;gap:8px;max-width:520px}
.dm-search input{flex:1;min-width:0;border:1px solid var(--c-line-2);background:#fff;border-radius:8px;padding:10px 12px;font:inherit;color:var(--c-ink)}
.dm-search button{border:0;background:var(--c-primary);color:#fff;border-radius:8px;padding:0 16px;cursor:pointer}
.dm-section{margin-top:28px}
.dm-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.dm-section-head h2{margin:0;font-size:22px}
.dm-section-head span,.dm-section-head a{color:var(--c-muted);font-size:14px}
.dm-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.dm-cat{display:flex;flex-direction:column;gap:4px;padding:14px 14px 12px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:12px;text-decoration:none;color:var(--c-ink)}
.dm-cat strong{font-size:18px}
.dm-cat span{color:var(--c-muted);font-size:13px}
.dm-cat:hover{border-color:var(--c-accent)}
.dm-lengths{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.dm-length{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--c-line-2);border-radius:999px;background:var(--c-gold-bg);color:var(--c-ink-soft);text-decoration:none}
.dm-length em{font-style:normal;color:var(--c-muted);font-size:12px}
.dm-length.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.dm-length.is-active em{color:#f3d7d7}
.dm-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.dm-item{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px;background:#fff;border:1px solid var(--c-card-line);border-radius:12px;text-decoration:none;color:var(--c-ink)}
.dm-item:hover{border-color:var(--c-accent)}
.dm-item-hint{color:var(--c-primary);font-size:12px;letter-spacing:.12em}
.dm-item-face{line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dm-item-answer{color:var(--c-primary);font-weight:700}
.dm-item-meta{margin-top:auto;color:var(--c-muted);font-size:12px}
.dm-empty{color:var(--c-ink-soft)}
.dm-daily{margin-top:8px;padding:18px 18px 16px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:16px}
.dm-daily p{margin:8px 0 12px;font-size:20px;line-height:1.6}
.dm-daily a{color:var(--c-primary);text-decoration:none}
.dm-face{margin:0;font-size:26px;line-height:1.6}
.dm-answer{margin:18px 0;padding:18px 16px;border-radius:16px;background:#fff;border:1px solid var(--c-line);text-align:center}
.dm-answer span{display:block;color:var(--c-muted);letter-spacing:.24em;font-size:13px}
.dm-answer strong{display:block;margin-top:6px;font-size:36px;color:var(--c-primary);letter-spacing:.16em}
.dm-note{max-width:760px;margin:8px 0 0}
.dm-note h2{margin:0 0 8px;font-size:20px}
.dm-note p{margin:0;line-height:1.8;color:var(--c-ink-soft)}
.dm-source{margin-top:8px!important;color:var(--c-muted)!important;font-size:14px}
.dm-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 0}
.dm-neighbors a,.dm-neighbors .is-disabled{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--c-line);border-radius:12px;background:#fff;text-decoration:none;color:var(--c-ink)}
.dm-neighbors .is-next{text-align:right}
.dm-neighbors span{color:var(--c-muted);font-size:12px}
.dm-neighbors .is-disabled{color:var(--c-muted)}
.dm-home{padding-bottom:36px}
.dm-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.78fr);gap:22px 28px;align-items:center;margin-top:4px}
.dm-hero.is-solo{grid-template-columns:minmax(0,720px)}
.dm-hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.dm-hero h1{margin:0 0 8px;font-size:46px;line-height:1.15;letter-spacing:.12em}
.dm-search-lg{max-width:none;margin-top:4px}
.dm-search-lg input{padding:12px 14px}
.dm-search-lg button{padding:0 22px}
.dm-hero-facts{display:flex;flex-wrap:wrap;gap:22px;list-style:none;margin:16px 0 0;padding:0}
.dm-hero-facts li{display:flex;flex-direction:column;gap:2px}
.dm-hero-facts strong{font-size:22px;font-variant-numeric:tabular-nums;color:var(--c-primary);line-height:1.1}
.dm-hero-facts span{font-size:12px;color:var(--c-muted)}
.dm-hero-daily{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:220px;margin-top:64px;padding:26px 22px 18px;text-align:center;text-decoration:none;color:var(--c-ink);background:linear-gradient(#8B0000,#8B0000) 0 0 / 100% 6px no-repeat,var(--c-paper);border:1px solid var(--c-line);border-radius:4px 4px 18px 18px;box-shadow:var(--sh-1)}
.dm-hero-daily::before{content:"";position:absolute;left:50%;top:-56px;width:36px;height:50px;transform:translateX(-50%);border-radius:18px 18px 14px 14px;background:linear-gradient(#3E2A1E,#3E2A1E) center top / 24px 5px no-repeat,repeating-linear-gradient(90deg,transparent 0 7px,rgba(255,245,220,.5) 7px 8px),linear-gradient(#f6e0a8 0%,#d4533a 42%,#8B0000 100%);box-shadow:inset 0 0 0 1px rgba(255,245,220,.45)}
.dm-hero-daily::after{content:"";position:absolute;left:50%;top:-72px;width:1px;height:18px;transform:translateX(-50%);background:var(--c-accent)}
.dm-hero-daily:hover{border-color:var(--c-accent);color:var(--c-ink)}
.dm-hero-daily-kicker,.dm-hero-daily-go{font-size:12px;letter-spacing:.16em;color:var(--c-muted)}
.dm-hero-daily-kicker{color:var(--c-primary)}
.dm-hero-daily-face{font-size:26px;line-height:1.5;letter-spacing:.04em;color:var(--c-ink-2)}
.dm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;margin:18px 0 0;padding:0}
.dm-steps li{padding:12px 14px;background:#fff;border:1px solid var(--c-card-line);border-radius:12px}
.dm-steps strong{display:block;margin-bottom:4px}
.dm-steps span{color:var(--c-ink-soft);font-size:13px;line-height:1.55}
.dm-directory{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.dm-dir.is-classic{grid-column:span 3}
.dm-dir.is-dict{grid-column:span 2}
.dm-dir{display:flex;flex-direction:column;gap:0;padding:0;background:#fff;border:1px solid var(--c-card-line);border-radius:14px;text-decoration:none;color:var(--c-ink)}
.dm-dir-img{display:block;width:100%;height:148px;object-fit:cover;border-radius:13px 13px 0 0}
.dm-dir-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:12px 16px 14px}
.dm-dir.is-classic{box-shadow:inset 3px 0 0 #8B0000}
.dm-dir.is-dict{box-shadow:inset 3px 0 0 #B08D57}
.dm-dir.is-classic:hover{border-color:var(--c-accent);color:var(--c-ink);box-shadow:inset 3px 0 0 #8B0000,var(--sh-2)}
.dm-dir.is-dict:hover{border-color:var(--c-accent);color:var(--c-ink);box-shadow:inset 3px 0 0 #B08D57,var(--sh-2)}
.dm-dir-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.dm-dir-name{display:flex;align-items:center;gap:8px;min-width:0}
.dm-dir-name strong{font-size:20px}
.dm-dir-top em{font-style:normal;color:var(--c-primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.dm-seal{display:inline-grid;place-items:center;flex:0 0 auto;width:1.7em;height:1.7em;border:1px solid var(--c-primary);border-radius:4px;color:var(--c-primary);font-style:normal;font-size:15px;line-height:1;transform:rotate(-8deg)}
.dm-dir p{margin:0;flex:1;color:var(--c-ink-soft);font-size:13.5px;line-height:1.65}
.dm-dir-lens{display:flex;flex-wrap:wrap;gap:6px;color:var(--c-muted);font-size:12px}
.dm-dir-lens i{font-style:normal;padding:0 7px;border-radius:999px;background:#F7F1E6}
.dm-dir-lens i.is-classic,.dm-dir-lens i.is-dict{padding:0 8px;border-radius:999px}
.dm-dir-lens i.is-classic{color:var(--c-primary);background:#FBF0EA}
.dm-dir-lens i.is-dict{color:#7A5B24;background:var(--c-gold-bg)}
.dm-classic-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dm-slip{display:flex;flex-direction:column;gap:8px;height:100%;min-height:132px;padding:16px 14px 12px;background:linear-gradient(#8B0000,#8B0000) 0 0 / 100% 4px no-repeat,#fff;border:1px solid var(--c-card-line);border-radius:2px 2px 14px 14px;text-decoration:none;color:var(--c-ink);box-shadow:var(--sh-1)}
.dm-slip:hover{border-color:var(--c-accent);color:var(--c-ink);box-shadow:var(--sh-2)}
.dm-slip-hint{color:var(--c-primary);font-size:12px;letter-spacing:.16em}
.dm-slip-face{flex:1;font-size:18px;line-height:1.55}
.dm-slip em{font-style:normal;color:var(--c-muted);font-size:12px}
.dm-know{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dm-know article{overflow:hidden;padding:0 0 14px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:16px}
.dm-know img{display:block;width:100%;max-width:none;height:168px;margin:0 0 12px;object-fit:cover}
.dm-know h3,.dm-know p{padding:0 16px}
.dm-know a{margin-left:16px}
.dm-know h3{margin:0 0 8px;font-size:18px}
.dm-know p{margin:0 0 10px;color:var(--c-ink-soft);font-size:14px;line-height:1.7}
.dm-home .dm-item{box-shadow:var(--sh-1)}
.dm-home .dm-item:hover{box-shadow:var(--sh-2)}
.dm-home .dm-empty{padding:18px 16px;background:#fff;border:1px dashed var(--c-line-2);border-radius:12px}
.dm-guide{margin:36px 0 4px;padding:22px 22px 18px;background:#fffdf8;border:1px solid var(--c-line);border-radius:4px 4px 16px 16px;box-shadow:inset 0 6px 0 #8B0000}
.dm-guide-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.28em;color:var(--c-primary)}
.dm-guide-lead{margin:0;font-family:var(--font-serif);font-size:17px;line-height:1.85;white-space:nowrap}
@media (max-width:1100px){
    .dm-guide-lead{white-space:normal}
}
.dm-guide-title{margin:18px 0 12px;font-family:var(--font-serif);font-size:15px;font-weight:600;letter-spacing:.12em;color:var(--c-ink-soft)}
.dm-guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:dmq}
.dm-guide-list li{counter-increment:dmq;margin:0;padding:16px 16px 18px;background:#fff;border:1px solid var(--c-card-line);border-radius:12px}
.dm-guide-list li::before{content:counter(dmq,decimal-leading-zero);display:block;margin-bottom:8px;font-size:12px;letter-spacing:.16em;color:var(--c-primary)}
.dm-guide-list strong{display:block;margin:0 0 8px;font-family:var(--font-serif);font-size:17px;font-weight:600;line-height:1.45}
.dm-guide-list span{display:block;color:var(--c-ink-soft);font-size:14px;line-height:1.75}
@media (max-width:900px){
    .dm-hero,.dm-steps,.dm-know,.dm-guide-list{grid-template-columns:1fr}
    .dm-hero.is-solo{grid-template-columns:1fr}
    .dm-directory,.dm-classic-grid{grid-template-columns:1fr 1fr}
    .dm-dir.is-classic,.dm-dir.is-dict{grid-column:auto}
}
@media (max-width:640px){
    .dm-directory,.dm-classic-grid{grid-template-columns:1fr}
    .dm-dir.is-classic,.dm-dir.is-dict{grid-column:auto}
    .dm-dir-img,.dm-know img{height:180px}
}
@media (max-width:768px){
    .dm-head h1{font-size:26px}
    .dm-hero h1{font-size:32px;letter-spacing:.08em}
    .dm-guide{padding:16px 14px 14px}
    .dm-guide-lead{font-size:16px}
    .dm-face{font-size:22px}
    .dm-answer strong{font-size:28px}
    .dm-hero-daily-face{font-size:22px}
    .dm-search{flex-direction:column}
    .dm-search button{height:40px}
    .dm-neighbors{grid-template-columns:1fr}
    .dm-neighbors .is-next{text-align:left}
}
@media (prefers-reduced-motion:reduce){
    .dm-dir,.dm-slip,.dm-hero-daily{transition:none}
}
.dm-detail{padding-bottom:40px}
.dm-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.dm-main{min-width:0}
.dm-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(168px,.62fr);gap:14px;align-items:start;margin-top:72px}
.dm-board{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:188px;padding:28px 22px 20px;text-align:center;background:linear-gradient(#8B0000,#8B0000) 0 0/100% 6px no-repeat,var(--c-paper);border:1px solid var(--c-line);border-radius:4px 4px 18px 18px}
.dm-board.is-long{align-items:flex-start;text-align:left}
.dm-board::before{content:"";position:absolute;left:50%;top:-52px;width:34px;height:46px;transform:translateX(-50%);border-radius:17px 17px 13px 13px;background:linear-gradient(#3E2A1E,#3E2A1E) center top/22px 5px no-repeat,repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,245,220,.5) 6px 7px),linear-gradient(#f6e0a8,#d4533a 42%,#8B0000);box-shadow:inset 0 0 0 1px rgba(255,245,220,.45)}
.dm-board::after{content:"";position:absolute;left:50%;top:-66px;width:1px;height:16px;transform:translateX(-50%);background:var(--c-accent)}
.dm-board-kicker,.dm-board-hint{font-size:12px;letter-spacing:.18em}
.dm-board-kicker{color:var(--c-primary)}
.dm-board-hint{color:var(--c-muted)}
.dm-board-face{margin:4px 0;font-size:32px;line-height:1.45;letter-spacing:.04em;color:var(--c-ink-2)}
.dm-board.is-long .dm-board-face{font-size:18px;letter-spacing:0;line-height:1.75;text-align:left}
.dm-reveal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:188px;padding:22px 16px;background:#fff;border:1px solid var(--c-line);border-radius:18px;text-align:center}
.dm-reveal>span{color:var(--c-muted);letter-spacing:.24em;font-size:13px}
.dm-reveal strong{color:var(--c-primary);font-weight:700;line-height:1.3}
.dm-reveal.is-short strong{font-size:64px;letter-spacing:.08em;padding:.06em .14em .1em;border:3px solid var(--c-primary);outline:1px solid var(--c-primary);outline-offset:5px}
.dm-reveal.is-mid strong{font-size:34px;letter-spacing:.14em;padding:.08em .12em .12em;border:3px solid var(--c-primary);outline:1px solid var(--c-primary);outline-offset:5px}
.dm-reveal.is-long strong{font-size:24px;letter-spacing:.04em}
.dm-block{margin-top:22px}
.dm-block h2{margin:0 0 8px;font-size:20px}
.dm-block p{margin:0;line-height:1.8;color:var(--c-ink-soft)}
.dm-copy{margin:0;padding:12px 14px;background:#fff;border:1px solid var(--c-line);border-radius:10px;font-family:var(--font-serif);font-size:16px;color:var(--c-ink)}
.dm-copy p{margin:0;line-height:1.9;color:var(--c-ink)}
.dm-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.dm-panel{background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:14px 14px 12px}
.dm-panel h2{margin:0 0 10px;font-size:16px}
.dm-type-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.dm-type-list a{display:inline-flex;align-items:baseline;gap:4px;padding:4px 8px;border-radius:999px;background:var(--c-gold-bg);border:1px solid var(--c-line);color:var(--c-ink-soft);text-decoration:none;font-size:13px}
.dm-type-list em{font-style:normal;color:var(--c-muted);font-size:11px}
.dm-type-list a.is-current,.dm-type-list a:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.dm-type-list a.is-current em,.dm-type-list a:hover em{color:#f3d7d7}
.dm-side-recs{list-style:none;margin:0;padding:0}
.dm-side-recs li+li{border-top:1px solid var(--c-line)}
.dm-side-recs a{display:flex;flex-direction:column;gap:2px;padding:8px 0;color:var(--c-ink);text-decoration:none}
.dm-side-recs a:hover{color:var(--c-primary)}
.dm-side-recs span{font-size:12px;letter-spacing:.12em;color:var(--c-primary)}
.dm-side-recs strong{font-weight:600;line-height:1.45;color:var(--c-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dm-panel-more{display:inline-block;margin-top:6px;font-size:13px}
.dm-detail .dm-source a{color:var(--c-ink-3)}
@media (max-width:900px){
    .dm-detail-layout,.dm-stage{grid-template-columns:1fr}
    .dm-rail{position:static}
}
@media (max-width:768px){
    .dm-board-face{font-size:26px}
    .dm-reveal.is-short strong{font-size:48px}
    .dm-stage{margin-top:76px}
}
