.mandalart{--bg:#edebe5;--surface:#fbfaf7;--ink:#262220;--ink-soft:#6b6459;--ink-faint:#9b9488;--border-thin:#26222021;--border-thick:#26222061;--accent:#2f5d3a;--accent-ink:#fbfaf7;--theme-bg:#dce8de;--theme-ink:#1f4028;--hover-bg:#c7dec7;--empty-bg:#e4e2db;--empty-border:#26222047;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:-1px 0 0;padding-top:1px;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.mandalart *{box-sizing:border-box}.mandalart-page{max-width:980px;margin:0 auto;padding:3.5rem 1.5rem 5rem}.mandalart-masthead{text-align:center;margin-bottom:2.5rem}.mandalart-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .6rem;font-size:.78rem}.mandalart-title{letter-spacing:-.01em;text-wrap:balance;margin:0 0 .7rem;font-family:Gowun Batang,ui-serif,Georgia,serif;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:700}.mandalart-dek{color:var(--ink-soft);max-width:48ch;margin:0 auto;font-size:.95rem;line-height:1.6}.mandalart-grid-scroll{margin-top:2.5rem;overflow-x:auto}.mandalart-grid{aspect-ratio:1;background:var(--surface);border:2px solid var(--border-thick);border-radius:6px;grid-template-columns:repeat(9,1fr);width:100%;min-width:760px;display:grid;overflow:hidden}.mandalart-cell{text-align:center;border-right:1px solid var(--border-thin);border-bottom:1px solid var(--border-thin);word-break:keep-all;justify-content:center;align-items:center;padding:.4rem .55rem;font-size:clamp(.62rem,1.05vw,.74rem);line-height:1.32;transition:background-color .15s;display:flex}.mandalart-grid>.mandalart-cell:nth-child(9n){border-right:none}.mandalart-grid>.mandalart-cell:nth-child(n+73){border-bottom:none}.mandalart-grid>.mandalart-cell:nth-child(9n+3),.mandalart-grid>.mandalart-cell:nth-child(9n+6){border-right:2px solid var(--border-thick)}.mandalart-grid>.mandalart-cell:nth-child(n+19):nth-child(-n+27),.mandalart-grid>.mandalart-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--border-thick)}.mandalart-cell--item{color:var(--ink);background:var(--surface);cursor:pointer;text-decoration:none}.mandalart-cell--item:hover{background:var(--theme-bg)}.mandalart-cell--done{flex-direction:column;gap:.2rem;color:#fff!important;background:#1d4ed8!important}.mandalart-done-badge{letter-spacing:.02em;font-size:.56rem;font-weight:700}.mandalart-cell--theme{color:var(--theme-ink);background:var(--theme-bg);font-family:Gowun Batang,ui-serif,Georgia,serif;font-size:clamp(.68rem,1.15vw,.82rem);font-weight:700}.mandalart-cell--goal{color:var(--accent-ink);background:var(--accent);padding:.6rem;font-family:Gowun Batang,ui-serif,Georgia,serif;font-size:clamp(.74rem,1.3vw,.96rem);font-weight:700;line-height:1.4}.mandalart-cell--empty-theme{color:var(--ink-faint);background:var(--empty-bg);border-style:dashed;font-family:Gowun Batang,ui-serif,Georgia,serif;font-size:clamp(.66rem,1.1vw,.78rem);font-weight:700}.mandalart-cell--empty{color:var(--ink-faint);background:var(--empty-bg);border-style:dashed}.mandalart-cell--empty:after{content:"?";opacity:.5}:is(.mandalart-grid:has(.blk-t2:hover) .blk-t2,.mandalart-grid:has(.blk-t3:hover) .blk-t3,.mandalart-grid:has(.blk-t4:hover) .blk-t4,.mandalart-grid:has(.blk-t5:hover) .blk-t5,.mandalart-grid:has(.blk-t6:hover) .blk-t6,.mandalart-grid:has(.blk-t7:hover) .blk-t7,.mandalart-grid:has(.blk-t8:hover) .blk-t8){background:var(--hover-bg)}.mandalart-legend{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:.5rem 1.6rem;margin-top:1.75rem;font-size:.78rem;display:flex}.mandalart-legend-item{align-items:center;gap:.5rem;display:inline-flex}.mandalart-legend-swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px}.mandalart-legend-swatch.goal{background:var(--accent)}.mandalart-legend-swatch.theme{background:var(--theme-bg);border:1px solid var(--border-thin)}.mandalart-legend-swatch.item{background:var(--surface);border:1px solid var(--border-thin)}.mandalart-legend-swatch.empty{background:var(--empty-bg);border:1px dashed var(--empty-border)}.mandalart-footnote{text-align:center;color:var(--ink-soft);margin-top:1.5rem;font-size:.78rem}
