/* oddz 공통 카탈로그 패치. 기존 테마의 색상·배경·글꼴을 덮어쓰지 않습니다. */
#work .oddz-catalog{--oddz-accent:#82bcaa;max-width:900px;margin-inline:auto;min-width:0}
#work .oddz-catalog *,#work .oddz-catalog *::before,#work .oddz-catalog *::after{box-sizing:border-box}
#work .oddz-catalog [hidden]{display:none!important}
#work .oddz-catalog .oddz-catalog-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:0 0 26px;margin:0 0 22px;border-bottom:1px solid currentColor;border-color:rgba(128,143,148,.24);}
#work .oddz-catalog .oddz-status-tabs{display:flex;flex-wrap:wrap;gap:7px;flex:1 1 390px}
#work .oddz-catalog .oddz-filter{border:1px solid rgba(142,154,158,.38);border-radius:50px;color:inherit;background:transparent;padding:8px 13px;cursor:pointer;font:600 12px/1.3 'Pretendard Variable','Pretendard',sans-serif;white-space:nowrap;transition:background .2s,border-color .2s}
#work .oddz-catalog .oddz-filter:hover{background:rgba(133,160,155,.12)}
#work .oddz-catalog .oddz-filter[aria-pressed=true]{background:rgba(104,174,153,.16);border-color:var(--oddz-accent);font-weight:800}
#work .oddz-catalog .oddz-search{flex:1 1 210px;max-width:310px;display:flex;flex-direction:column;gap:6px;min-width:175px}
#work .oddz-catalog .oddz-search-label{font:600 11px/1.2 'Pretendard Variable','Pretendard',sans-serif;opacity:.76}
#work .oddz-catalog .oddz-search input{font:500 12px/1.3 'Pretendard Variable','Pretendard',sans-serif;color:inherit;background:transparent;border:1px solid rgba(142,154,158,.4);border-radius:9px;padding:11px 12px;min-width:0;width:100%;outline-offset:3px}
#work .oddz-catalog .oddz-search input::placeholder{color:inherit;opacity:.55}
#work .oddz-catalog .oddz-visible-count{font:650 11px/1.3 'Pretendard Variable','Pretendard',sans-serif;opacity:.74;white-space:nowrap}
#work .oddz-catalog .oddz-project-stage{padding:0!important;margin:24px 0 44px;scroll-margin-top:80px}
#work .oddz-catalog .oddz-stage-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;min-width:0;margin-bottom:8px}
#work .oddz-catalog .oddz-stage-head h3{font:800 20px/1.4 'Pretendard Variable','Pretendard',sans-serif!important;letter-spacing:-.04em;margin:0}
#work .oddz-catalog .oddz-stage-en{font:700 10px/1.3 'Pretendard Variable','Pretend',sans-serif;letter-spacing:.09em;opacity:.53}
#work .oddz-catalog .oddz-stage-count{font:700 11px/1.3 'Pretendard Variable','Pretend',sans-serif;opacity:.7;margin-left:auto}
#work .oddz-catalog .oddz-stage-intro{font:500 12px/1.7 'Pretendard Variable','Pretend',sans-serif;opacity:.7;margin:0 0 16px;word-break:keep-all;text-align:left;max-width:unset}
#work .oddz-catalog .oddz-stage-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
#work .oddz-catalog .oddz-project-card{min-width:0;text-align:left;scroll-margin-top:80px}
#work .oddz-catalog .oddz-project-main{display:flex;flex-direction:column;min-width:0;align-items:stretch;text-align:left}
#work .oddz-catalog .oddz-project-card .entry-meta{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center;justify-content:flex-start}
#work .oddz-catalog .oddz-project-card h3{word-break:keep-all;overflow-wrap:break-word;text-align:left;line-height:1.45}
#work .oddz-catalog .oddz-project-card .oddz-project-date{font:650 11px/1.5 'Pretendard Variable','Pretend',sans-serif!important;margin:0 0 8px!important;opacity:.7;word-break:keep-all;max-width:none}
#work .oddz-catalog .oddz-project-card .oddz-project-desc{margin:0!important;text-align:left;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere;max-width:none}
#work .oddz-catalog .oddz-project-lower{margin-top:11px;display:flex;align-items:center;flex-wrap:wrap;gap:7px 18px}
#work .oddz-catalog .oddz-project-card .project-action,#work .oddz-catalog .oddz-project-card .entry-link{margin-top:0;text-align:left;white-space:nowrap}
#work .oddz-catalog .oddz-outbound{margin-left:3px}
#work .oddz-catalog .oddz-project-details{max-width:100%;min-width:0}
#work .oddz-catalog .oddz-project-details summary{font:700 12px/1.55 'Pretendard Variable','Pretend',sans-serif;opacity:.8;cursor:pointer;text-align:left;list-style:none}
#work .oddz-catalog .oddz-project-details summary::-webkit-details-marker{display:none}
#work .oddz-catalog .oddz-project-details summary:after{content:'⌄';margin-left:5px}
#work .oddz-catalog .oddz-project-details[open]{flex-basis:100%;padding-top:7px}
#work .oddz-catalog .oddz-project-details[open] summary:after{content:'⌃'}
#work .oddz-catalog .oddz-project-facts{display:grid;gap:7px;min-width:0;padding:13px 0 0;margin:0;border-top:1px dashed rgba(138,152,154,.23)}
#work .oddz-catalog .oddz-project-fact{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:start;font:500 12px/1.62 'Pretendard Variable','Pretend',sans-serif;min-width:0;text-align:left}
#work .oddz-catalog .oddz-project-fact dt{opacity:.6;font-weight:750}
#work .oddz-catalog .oddz-project-fact dd{margin:0;word-break:keep-all;overflow-wrap:break-word;opacity:.83}
#work .oddz-catalog .oddz-no-matches{padding:36px 12px;text-align:center;opacity:.8;font-size:13px}
/* Markers retain each theme's original look, but the PJ number is always visible. */
#work .oddz-catalog .oddz-project-card .part-tag,#work .oddz-catalog .oddz-project-card .entry-no,#work .oddz-catalog .oddz-project-card .bubble-tag{white-space:nowrap;letter-spacing:-.02em}
#work .oddz-catalog .gem-tag{position:relative;display:grid;place-items:center}
#work .oddz-catalog .oddz-gem-number{position:absolute;z-index:1;font:800 10px/1 'Pretendard Variable','Pretend',sans-serif;color:#123c4a;text-shadow:0 1px 1px #b6fcff}
html[data-oddz-theme=machine] #work .oddz-catalog{--oddz-accent:#f5b921}
html[data-oddz-theme=game-water] #work .oddz-catalog{--oddz-accent:#8fe8f2}
html[data-oddz-theme=game-sunset] #work .oddz-catalog{--oddz-accent:#f0c97a}
html[data-oddz-theme=bubbles] #work .oddz-catalog{--oddz-accent:#f5a9c9}
html[data-oddz-theme=sparkle] #work .oddz-catalog{--oddz-accent:#8fe3d0}
/* Oz only: preserve postcard/art direction and fit 3 genuine cards per desktop row. */
html[data-oddz-theme=oz] #work .oddz-catalog{--oddz-accent:#4c9983;max-width:100%;width:100%}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-catalog-controls{color:#546c6b;border-color:#e5e7e0}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-filter{color:#496764;background:#fffefa;border-color:#dadfd6}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-filter[aria-pressed=true]{background:#e6f3ed;border-color:#8bc3b0;color:#256f59}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-search input{background:#fffefa;color:#2e4848;border-color:#d7e1d9}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-stage{margin:28px 0 42px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-stage-head h3{font-size:18px!important;color:#344947}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-stage-intro{color:#6d827e;opacity:1}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card.entry{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:19px 18px 16px;min-height:260px;width:auto;overflow:hidden;isolation:isolate}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .number{width:auto;min-width:61px;height:30px;padding:0 8px;align-self:flex-start;font-size:10px;border-radius:7px;place-items:center}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .entry-main{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0;padding-top:15px;margin:0}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .entry-meta{padding-right:30px;min-height:24px;margin-bottom:8px;gap:6px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .entry-cat{font:650 10px/1.3 'Pretendard Variable','Pretend',sans-serif;padding:3px 7px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .entry-status{font-size:10px;white-space:nowrap}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card h3{font:400 16px/1.4 'Binggrae','Pretendard Variable',sans-serif;letter-spacing:-.04em;min-height:45px;margin:0 0 7px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .oddz-project-desc{font-size:12px;line-height:1.7;min-height:61px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .oddz-project-lower{margin-top:auto;padding-top:15px;display:flex;align-items:flex-start;flex-direction:column;gap:9px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .entry-link{font-size:11px}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .oddz-project-details summary{font-size:11px;color:#71847e}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .entry-scene{position:absolute;width:74px;height:72px;right:5px;top:4px;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.8}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .motif{transform:scale(.64);transform-origin:center}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .mood-name{display:none}
html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card.pending{opacity:1}
@media(max-width:830px){html[data-oddz-theme=oz] #work .oddz-catalog .oddz-stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
 #work .oddz-catalog .oddz-search{max-width:none;flex-basis:100%}
 #work .oddz-catalog .oddz-stage-head h3{font-size:17px!important}
 #work .oddz-catalog .oddz-project-fact{grid-template-columns:60px minmax(0,1fr)}
 html[data-oddz-theme=oz] #work .oddz-catalog .oddz-stage-list{grid-template-columns:minmax(0,1fr)}
 html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card.entry{min-height:0;padding:18px 18px 16px}
 html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card h3{min-height:0}
 html[data-oddz-theme=oz] #work .oddz-catalog .oddz-project-card .oddz-project-desc{min-height:0}
}
@media(prefers-reduced-motion:reduce){#work .oddz-catalog .oddz-project-card{transition:none!important}}

/* 2026-10-27: 펼침형 '계획과 진행 내용'이 작은 카드 바깥으로 넘치는 문제 수정.
   특히 오즈의 세로 flex 레이아웃에서 details의 자동 intrinsic width와
   flex-basis:100%가 조합되면 grid 내용이 카드 너비 밖으로 배치될 수 있습니다. */
#work .oddz-catalog .oddz-project-card .oddz-project-main,
#work .oddz-catalog .oddz-project-card .entry-main,
#work .oddz-catalog .oddz-project-lower,
#work .oddz-catalog .oddz-project-details,
#work .oddz-catalog .oddz-project-facts,
#work .oddz-catalog .oddz-project-fact {
  min-width:0;
  max-width:100%;
}
#work .oddz-catalog .oddz-project-lower {
  width:100%;
}
#work .oddz-catalog .oddz-project-details {
  display:block;
  width:100%;
  overflow-wrap:anywhere;
}
#work .oddz-catalog .oddz-project-facts {
  width:100%;
  overflow:visible;
}
#work .oddz-catalog .oddz-project-fact {
  width:100%;
  grid-template-columns:minmax(0,62px) minmax(0,1fr);
}
#work .oddz-catalog .oddz-project-fact dt,
#work .oddz-catalog .oddz-project-fact dd {
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
/* 전체 행을 덮는 구형 링크 레이어가 펼침 버튼의 클릭을 가로채지 않게 합니다. */
#work .oddz-catalog .oddz-project-card .project-action::after {
  content:none!important;
  display:none!important;
}
/* 오즈 테마에서는 '100%' flex basis가 높이로 해석되므로 auto로 조정. */
html[data-oddz-theme="oz"] #work .oddz-catalog .oddz-project-card .oddz-project-details[open] {
  flex:0 0 auto;
  width:100%;
}
@media (max-width:560px){
  #work .oddz-catalog .oddz-project-fact {
    grid-template-columns:minmax(0,60px) minmax(0,1fr);
  }
}

/* 2026-10-28: Cards have one full-size accessible click target.
   Keep the separate disclosure control above the click surface. */
#work .oddz-catalog .oddz-project-card{position:relative;cursor:pointer;}
#work .oddz-catalog .oddz-project-card .oddz-card-surface{
  position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;
  padding:0;margin:0;border:0;border-radius:inherit;background:transparent;
  color:inherit;text-decoration:none;cursor:pointer;
}
#work .oddz-catalog .oddz-project-card .oddz-card-surface:focus-visible{
  outline:3px solid var(--oddz-accent);outline-offset:-4px;
}
#work .oddz-catalog .oddz-project-card .oddz-project-details{
  position:relative;z-index:3;isolation:isolate;
}
#work .oddz-catalog .oddz-project-card:has(.oddz-card-surface):is(:hover,:focus-within){
  outline:1px solid var(--oddz-accent);outline-offset:0;
}
/* Existing fallback stretched links must not create a second overlay. */
#work .oddz-catalog .oddz-project-card .project-action::after,
#work .oddz-catalog .oddz-project-card .entry-link::after{
  content:none!important;display:none!important;
}
