.tn-cm-page {
  --cm-paper:#faf6ee; --cm-wash:#f5efdf; --cm-ink:#1a1208; --cm-muted:#5a4a30; --cm-line:#b8a888; --cm-soft:#ddd4be;
  --cm-button:#ede6d4; --cm-hover:#dfd4bb; --cm-primary:#1a1208; --cm-primary-hover:#873600; --cm-primary-text:#f7ead1; --cm-accent:#c44a00;
  --cm-orange:#f3e3cc; --cm-blue:#e1e9ec; --cm-green:#e7eadc; --cm-pink:#f1e1df; --cm-purple:#eae3ed; --cm-gray:#e8e5df;
  --cm-sans:-apple-system,BlinkMacSystemFont,"Pretendard","Segoe UI",system-ui,sans-serif;
  --cm-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  width:100%; min-width:0; max-width:1180px; margin-inline:auto; color:var(--cm-ink); -webkit-text-fill-color:var(--cm-ink); -webkit-font-smoothing:antialiased;
}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-d="dark"],[data-scheme="auto"][data-l="dark"]) .tn-cm-page,
html:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-d="dark"],[data-scheme="auto"][data-l="dark"]) body:not([data-scheme="light"]) .tn-cm-page {
  --cm-paper:#241d12; --cm-wash:#322a1a; --cm-ink:#efe6d2; --cm-muted:#c3b492; --cm-line:#826744; --cm-soft:#594a33;
  --cm-button:#2f2115; --cm-hover:#3a2a1b; --cm-primary:#6a3b1f; --cm-primary-hover:#824826; --cm-accent:#f0975b;
  --cm-orange:#493522; --cm-blue:#29363b; --cm-green:#303728; --cm-pink:#422d2b; --cm-purple:#383040; --cm-gray:#34312b; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  body[data-scheme="auto"] .tn-cm-page, html[data-scheme="auto"] body:not([data-scheme="light"]) .tn-cm-page {
    --cm-paper:#241d12; --cm-wash:#322a1a; --cm-ink:#efe6d2; --cm-muted:#c3b492; --cm-line:#826744; --cm-soft:#594a33;
    --cm-button:#2f2115; --cm-hover:#3a2a1b; --cm-primary:#6a3b1f; --cm-primary-hover:#824826; --cm-accent:#f0975b;
    --cm-orange:#493522; --cm-blue:#29363b; --cm-green:#303728; --cm-pink:#422d2b; --cm-purple:#383040; --cm-gray:#34312b; color-scheme:dark;
  }
}
.tn-cm-page [hidden] { display:none!important; }
.tn-cm-page .tn-cm-ad--top { margin:54px auto 20px; }
.tn-cm-page .tn-cm-ad--bottom { margin:24px auto 28px; }
.tn-cm-tool { display:grid; grid-template-columns:280px minmax(0,1fr); border-block:3px double var(--cm-line); background:var(--cm-paper); color:var(--cm-ink); -webkit-text-fill-color:var(--cm-ink); font:14px/1.6 var(--cm-sans); font-variant-numeric:lining-nums tabular-nums; }
.tn-cm-tool, .tn-cm-tool *, .tn-cm-tool *::before, .tn-cm-tool *::after { box-sizing:border-box; }
.tn-cm-tool :is(h2,h3,h4,p,fieldset,legend,label) { margin:0; }
.tn-cm-tool :is(fieldset,legend) { padding:0; border:0; min-width:0; }
.tn-cm-tool :is(code,pre,kbd,samp) { padding:0; border:0; border-radius:0; background:transparent; color:inherit; -webkit-text-fill-color:inherit; }
.tn-cm-tool .cm-controls { grid-column:1; grid-row:1; padding:18px 18px 18px 0; border-right:1px solid var(--cm-line); display:grid; align-content:start; gap:18px; min-width:0; }
.tn-cm-tool .cm-editor { grid-column:1; grid-row:2; padding:18px 18px 20px 0; border-right:1px solid var(--cm-line); border-top:1px solid var(--cm-soft); min-width:0; }
.tn-cm-tool .cm-preview { grid-column:2; grid-row:1 / 3; padding:20px 0 20px 22px; min-width:0; }
.tn-cm-tool .cm-section, .tn-cm-tool form { display:grid; gap:10px; min-width:0; }
.tn-cm-tool .cm-kicker { font:700 11px/1.4 var(--cm-mono); letter-spacing:.05em; color:var(--cm-accent); -webkit-text-fill-color:var(--cm-accent); }
.tn-cm-tool .cm-field { display:grid; align-content:start; gap:5px; min-width:0; }
.tn-cm-tool .cm-field label { font-size:12px; font-weight:600; }
.tn-cm-tool .cm-field label span { font-weight:400; color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); }
.tn-cm-tool .cm-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; min-width:0; }
.tn-cm-tool :is(input,select,textarea) { width:100%; min-width:0; max-width:100%; min-height:40px; margin:0; padding:8px 9px; border:1px solid var(--cm-line); border-radius:0; background:var(--cm-paper); color:var(--cm-ink); -webkit-text-fill-color:var(--cm-ink); font:400 14px/1.5 var(--cm-sans); box-shadow:none; outline:none; }
.tn-cm-tool :is(input[type="number"],input[type="date"],input[type="time"]) { font-family:var(--cm-mono); font-variant-numeric:lining-nums tabular-nums; }
.tn-cm-tool select { cursor:pointer; padding-right:24px; }
.tn-cm-tool option { background:var(--cm-paper); color:var(--cm-ink); }
.tn-cm-tool textarea { resize:vertical; min-height:74px; }
.tn-cm-tool ::placeholder { color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); opacity:.85; }
.tn-cm-tool button { display:inline-flex; align-items:center; justify-content:center; height:40px; min-height:40px; min-width:40px; max-width:100%; margin:0; padding:8px 10px; border:1px solid var(--cm-line); border-radius:0; background:var(--cm-button); color:var(--cm-ink); -webkit-text-fill-color:var(--cm-ink); font:700 12px/1 var(--cm-mono); letter-spacing:normal; text-transform:none; box-shadow:none; outline:none; cursor:pointer; }
.tn-cm-tool button:hover:not(:disabled) { background:var(--cm-hover); }
.tn-cm-tool .cm-primary { background:var(--cm-primary); border-color:var(--cm-primary); color:var(--cm-primary-text); -webkit-text-fill-color:var(--cm-primary-text); }
.tn-cm-tool .cm-primary:hover:not(:disabled) { background:var(--cm-primary-hover); }
.tn-cm-tool button:disabled { opacity:.45; cursor:not-allowed; }
.tn-cm-tool :is(button,input,select,textarea):focus-visible { outline:2px solid var(--cm-accent); outline-offset:2px; }
.tn-cm-tool .cm-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.tn-cm-tool .cm-hint, .tn-cm-tool .cm-storage, .tn-cm-tool .cm-status { color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); font-size:12px; line-height:1.65; }
.tn-cm-tool .cm-storage { border-top:1px solid var(--cm-soft); padding-top:10px; overflow-wrap:anywhere; }
.tn-cm-tool .cm-warning, .tn-cm-tool .cm-error { color:var(--cm-accent); -webkit-text-fill-color:var(--cm-accent); font-size:12px; }
.tn-cm-tool .cm-preview-header { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--cm-line); padding-bottom:16px; }
.tn-cm-tool .cm-preview-header h2 { font:700 23px/1.4 var(--cm-sans); overflow-wrap:anywhere; }
.tn-cm-tool .cm-overline { display:block; font:700 10px/1.4 var(--cm-mono); letter-spacing:.1em; color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); margin-bottom:8px; }
.tn-cm-tool .cm-month-number { font:400 66px/1 var(--cm-mono); letter-spacing:-.07em; color:var(--cm-accent); -webkit-text-fill-color:var(--cm-accent); }
.tn-cm-tool .cm-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; padding:14px 0; }
.tn-cm-tool .cm-toolbar h3 { font:700 18px/1.4 var(--cm-sans); }
.tn-cm-tool .cm-count { font-size:12px; color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); }
.tn-cm-tool .cm-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-top:1px solid var(--cm-line); border-left:1px solid var(--cm-line); }
.tn-cm-tool .cm-weekday { padding:9px 3px; border-right:1px solid var(--cm-line); border-bottom:1px solid var(--cm-line); background:var(--cm-wash); text-align:center; font-size:12px; font-weight:700; }
.tn-cm-tool button.cm-day { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; height:126px; min-width:0; min-height:0; padding:9px 7px; border:0; border-right:1px solid var(--cm-line); border-bottom:1px solid var(--cm-line); background:var(--cm-paper); text-align:left; overflow:hidden; font:400 12px/1.4 var(--cm-sans); }
.tn-cm-tool button.cm-day[aria-pressed="true"] { background:var(--cm-wash); box-shadow:inset 0 0 0 2px var(--cm-accent); }
.tn-cm-tool button.cm-day:focus-visible { position:relative; z-index:1; outline-offset:-3px; }
.tn-cm-tool .cm-day-top { display:flex; align-items:center; justify-content:space-between; gap:3px; }
.tn-cm-tool .cm-day-top b { font:700 15px/1 var(--cm-mono); }
.tn-cm-tool .cm-today-label { font:700 9px/1 var(--cm-sans); color:var(--cm-accent); -webkit-text-fill-color:var(--cm-accent); }
.tn-cm-tool .cm-sunday .cm-day-top b { color:var(--cm-accent); -webkit-text-fill-color:var(--cm-accent); }
.tn-cm-tool .cm-day-events { display:grid; gap:3px; min-width:0; }
.tn-cm-tool .cm-chip { display:block; min-width:0; padding:2px 4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.tn-cm-tool [data-color="orange"] { background:var(--cm-orange); }
.tn-cm-tool [data-color="blue"] { background:var(--cm-blue); }
.tn-cm-tool [data-color="green"] { background:var(--cm-green); }
.tn-cm-tool [data-color="pink"] { background:var(--cm-pink); }
.tn-cm-tool [data-color="purple"] { background:var(--cm-purple); }
.tn-cm-tool [data-color="gray"] { background:var(--cm-gray); }
.tn-cm-tool .cm-more { font-size:10px; color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); }
.tn-cm-tool .cm-blank { border-right:1px solid var(--cm-line); border-bottom:1px solid var(--cm-line); background:var(--cm-wash); }
.tn-cm-tool .cm-mobile-count { display:none; }
.tn-cm-tool .cm-status { padding:10px 0; }
.tn-cm-tool .cm-agenda-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:15px 0 10px; border-top:1px solid var(--cm-line); }
.tn-cm-tool .cm-agenda-header h3 { font:700 15px/1.5 var(--cm-sans); }
.tn-cm-tool .cm-agenda { display:grid; gap:7px; }
.tn-cm-tool .cm-agenda-item { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid var(--cm-soft); min-width:0; }
.tn-cm-tool .cm-agenda-item > div { min-width:0; }
.tn-cm-tool .cm-agenda-item button { flex:none; }
.tn-cm-tool .cm-agenda-item h4 { font:700 14px/1.6 var(--cm-sans); overflow-wrap:anywhere; }
.tn-cm-tool .cm-agenda-item p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.tn-cm-tool .cm-event-meta { font-size:11px; }
.tn-cm-tool .cm-empty { border:1px dashed var(--cm-line); padding:16px; color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); font-size:13px; }
#cm-print-root { display:none; }
@media(max-width:800px) {
  .tn-cm-tool { grid-template-columns:1fr; }
  .tn-cm-tool .cm-controls { grid-column:1; grid-row:1; border-right:0; padding:16px 0; grid-template-columns:1fr 1fr; gap:12px; }
  .tn-cm-tool .cm-controls .cm-storage { grid-column:1 / -1; }
  .tn-cm-tool .cm-preview { grid-column:1; grid-row:2; padding:16px 0; border-top:1px solid var(--cm-line); }
  .tn-cm-tool .cm-editor { grid-column:1; grid-row:3; border-right:0; padding:16px 0; }
  .tn-cm-tool .cm-editor form { grid-template-columns:1fr 1fr; }
  .tn-cm-tool .cm-editor :is(.cm-kicker,.cm-full,.cm-actions,.cm-error) { grid-column:1 / -1; }
  .tn-cm-tool .cm-editor .cm-row { grid-column:1 / -1; }
}
@media(max-width:540px) {
  .tn-cm-page .tn-cm-ad--top { margin-top:48px; }
  .tn-cm-tool .cm-preview-header h2 { font-size:19px; }
  .tn-cm-tool .cm-month-number { font-size:52px; }
  .tn-cm-tool button.cm-day { height:67px; padding:9px 5px; gap:8px; }
  .tn-cm-tool .cm-day-events { display:none; }
  .tn-cm-tool .cm-mobile-count { display:block; font:400 10px/1.2 var(--cm-sans); color:var(--cm-muted); -webkit-text-fill-color:var(--cm-muted); }
  .tn-cm-tool .cm-today-label { font-size:8px; }
  .tn-cm-tool .cm-toolbar { gap:8px; }
  .tn-cm-tool .cm-toolbar .cm-actions { width:100%; justify-content:space-between; }
  .tn-cm-tool .cm-count { font-size:11px; }
  .tn-cm-tool :is(input,select,textarea) { font-size:16px; }
}
@media print {
  @page { size:A4 landscape; margin:12mm; background:white; color-scheme:light; }
  body:has(#cm-print-root) > :not(#cm-print-root) { display:none!important; }
  html:has(#cm-print-root), body:has(#cm-print-root) { background:white!important; color-scheme:light!important; margin:0!important; padding:0!important; width:auto!important; height:auto!important; overflow:visible!important; }
  body #cm-print-root { display:block!important; width:100%; color:#1a1208!important; background:#fff!important; -webkit-text-fill-color:#1a1208!important; font:11px/1.5 -apple-system,BlinkMacSystemFont,"Pretendard",sans-serif; color-scheme:light; }
  #cm-print-root * { box-sizing:border-box; color:inherit!important; -webkit-text-fill-color:inherit!important; overflow-wrap:anywhere; text-shadow:none!important; }
  #cm-print-root header { display:block; margin:0 0 10px; padding:0; }
  #cm-print-root header span { font-size:9px; letter-spacing:1px; }
  #cm-print-root h1 { font-size:24px; margin:5px 0; }
  #cm-print-root h2 { font-size:17px; margin:5px 0 10px; }
  #cm-print-root .cm-print-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-top:1px solid #b8a888; border-left:1px solid #b8a888; break-inside:avoid; }
  #cm-print-root .cm-print-grid > div { border-right:1px solid #b8a888; border-bottom:1px solid #b8a888; padding:6px; }
  #cm-print-root .cm-weekday { text-align:center; font-weight:700; }
  #cm-print-root .cm-day, #cm-print-root .cm-blank { min-height:18mm; }
  #cm-print-root .cm-day b { display:block; font-size:13px; }
  #cm-print-root .cm-day span { font-size:9px; }
  #cm-print-root .cm-print-chip { display:block; padding:2px 3px; margin-top:3px; line-height:1.3; border:1px solid #b8a888; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  #cm-print-root .cm-print-chip em { font-style:normal; font-size:8px; font-weight:700; }
  #cm-print-root .cm-print-chip[data-color="orange"] { background:#f3e3cc!important; }
  #cm-print-root .cm-print-chip[data-color="blue"] { background:#e1e9ec!important; }
  #cm-print-root .cm-print-chip[data-color="green"] { background:#e7eadc!important; }
  #cm-print-root .cm-print-chip[data-color="pink"] { background:#f1e1df!important; }
  #cm-print-root .cm-print-chip[data-color="purple"] { background:#eae3ed!important; }
  #cm-print-root .cm-print-chip[data-color="gray"] { background:#e8e5df!important; }
  #cm-print-root .cm-print-more { display:block; margin-top:3px; line-height:1.3; }
  #cm-print-root .cm-print-agenda-title { margin-top:18px; }
  #cm-print-root .cm-print-agenda section { border-top:1px solid #b8a888; padding:8px 0; break-inside:avoid; }
  #cm-print-root .cm-print-agenda h3 { margin:0 0 3px; font-size:11px; }
  #cm-print-root .cm-print-agenda p { margin:0; white-space:pre-wrap; font-size:12px; line-height:1.6; }
}
