/* Editorial layout: restrained surfaces, readable rows, familiar calendar controls. */
:root{--bg:#101215;--bg2:#181b20;--surface:#1b2026;--line:#30353c;--text:#edf0f4;--muted:#a2a9b3;--subtle:#858e9a;--blue:#5aa5ff;--cyan:#66bfff;--font:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif}
body{font-family:var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.035em;font-weight:650}
.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:relative}
.header-inner{height:76px;gap:48px;justify-content:flex-start}
.header-inner>.brand{background:none;border:0;border-radius:0;box-shadow:none;padding:0;min-height:44px}
.brand-name{letter-spacing:-.055em;font-size:24px;font-weight:750}.brand-kicker{display:none}
.header-nav{padding:0;border:0;background:none;border-radius:0;margin:0;height:76px;gap:28px}
.header-nav a{padding:0 3px;height:76px;border-radius:0;font-size:15px;color:var(--muted);font-weight:500;position:relative}
.header-nav a.active{background:none;color:var(--text)}
.header-nav a.active::after{display:block;content:"";position:absolute;height:2px;background:var(--blue);bottom:0;left:0;right:0}
.header-nav a:not(.active):hover{background:none;color:var(--text)}
.header-calendar-link{margin-left:auto;font-size:12px;color:var(--muted);min-height:44px;display:flex;align-items:center}
.page{padding-top:32px}.hero{height:224px;min-height:224px;border:0;border-radius:4px;background:#141b23;margin-bottom:32px}
.hero-image{width:520px;top:-130px;right:-10px;opacity:.85;will-change:transform}
.hero:after{background:linear-gradient(90deg,#141b23 28%,#141b23e3 48%,#141b2300 78%)}
.hero-copy{padding:28px 32px}.hero .eyebrow{font-size:12px;letter-spacing:.04em;font-weight:500;color:#c0cfdf}
.hero h1{font-size:30px;letter-spacing:-.04em;font-weight:600;margin:12px 0}.hero p{font-size:14px;color:#adb9c8}.hero-line{display:none}
.workspace{grid-template-columns:minmax(0,1fr) 268px;gap:48px}
.search-form{background:transparent;border:1px solid #3b424b;border-radius:5px;padding:5px 6px 5px 14px}
.search-input{font-size:14px}.button{border-radius:5px;min-height:42px;font-weight:500}
.button.primary{background:#408ce7;color:white;border-color:#408ce7}.button.primary:hover{background:#559dec}
.format-tabs{gap:4px;margin:18px 0 12px}.format-tab{border:0;border-radius:4px;padding:8px 13px;font-size:13px;color:#aab1bc}
.format-tab.selected{background:#293440;color:#dceaff;border-color:transparent}.format-tab:hover{background:#242a31}
.game-tabs{gap:22px;margin-top:6px}.game-tab{font-size:13px}.game-tab.active{color:#87c8ff}
.filters{margin-top:12px}.filters select{border-color:var(--line);background:transparent;border-radius:4px;font-size:12px}
.feed-heading{margin-top:24px}.feed-heading h2{font-size:18px;font-weight:600}.feed-heading h2 span{font-size:13px;color:var(--muted)}
.feed{gap:0}.info-card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;gap:20px;padding:22px 0;grid-template-columns:auto minmax(0,1fr) 18px}
.info-card:hover{background:#ffffff04;border-color:var(--line)}.info-card h3{font-size:19px;font-weight:600;letter-spacing:-.025em;margin:8px 0}
.media-cover{width:100px;border-radius:3px;border:0;background:#1b2027}.media-cover.cover-text{width:42px;font-size:22px;background:#222831;color:#a5b6c7;border:0}
.media-cover.cover-short{width:78px}.cover-fallback{font-size:24px}.tags{gap:8px;font-size:11px}.tag{border-radius:2px;padding:2px 5px;background:#26313e;color:#a9c8e9}
.card-summary{font-size:13px;color:#a5adb8;line-height:1.65}.card-meta{font-size:11px;margin-top:12px;color:#8e99a8}.format-badge{color:#929dab}
.format-carousel,.format-short,.format-video{gap:22px}.format-carousel .info-card,.format-short .info-card,.format-video .info-card{padding:0 0 18px;border-bottom:0;background:transparent;gap:12px}
.format-carousel .media-cover,.format-short .media-cover,.format-video .media-cover{border-radius:4px}
.format-carousel .card-content,.format-short .card-content,.format-video .card-content{padding:0}
.sidebar{padding-top:0}.side-panel{border:0;background:none;border-radius:0;padding:24px 0;border-top:1px solid var(--line);margin-top:24px}
.side-panel h2{font-size:14px;font-weight:600;margin-bottom:12px}.channel-links{gap:0}
.channel-link{border:0;background:none;padding:10px 0;border-radius:0;min-height:48px}.channel-link:hover{background:none}
.channel-link strong{font-size:13px;font-weight:500}.channel-link small{display:none}.channel-link .channel-icon{width:22px;height:22px;border:0;background:none}
.side-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.side-heading h2{font-size:16px;font-weight:600}
.side-heading a{font-size:11px;color:#9eb0c4;min-height:44px;display:flex;align-items:center}
.upcoming-event{display:grid;gap:7px;padding:18px 0;border-bottom:1px solid var(--line)}
.upcoming-date{font-size:12px;color:#88bfff}.upcoming-event strong{font-weight:500;font-size:14px;line-height:1.65}
.site-footer{background:none;border-top:1px solid var(--line);padding:34px 0;margin-top:32px}
.site-footer::before{display:none}.footer-inner{display:grid;grid-template-columns:1.5fr 1.6fr 1fr 1fr;gap:32px}
.footer-identity strong{font-size:20px;font-weight:650}.footer-identity p{font-size:12px;color:var(--muted);margin-top:8px}.footer-identity small{display:block;color:#85909b;font-size:11px;margin-top:22px}
.footer-column{display:flex;flex-direction:column;gap:0}.footer-column h3{font-size:12px;letter-spacing:0;color:#d1d6df;margin:0 0 6px}
.footer-column a{font-size:12px;min-height:32px;padding:5px 0;color:#98a3b1}
.footer-column[aria-label="하단 정보 분류"]{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.footer-column[aria-label="하단 정보 분류"] h3{grid-column:1/-1}
.article-detail h1{font-weight:650}.article-summary{background:none;padding:18px 0;border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px}
.thread-reader{background:#191d23;border-color:var(--line);border-radius:5px}.source-choice{background:transparent;border-color:#3b4653;border-radius:4px}
.source-choice.selected{background:#26384b;color:#bbdcff;border-color:#527da7}.source-box{border:0;border-top:1px solid var(--line);background:none;border-radius:0;padding:24px 0}
.article-schedule{padding:20px 0;border-bottom:1px solid var(--line)}.article-schedule h2{font-size:14px;margin-bottom:10px}
.article-schedule a{display:flex;flex-wrap:wrap;gap:9px 14px;align-items:center;min-height:44px;font-size:13px}.article-schedule a>span:last-child{color:var(--muted)}
/* Calendar */
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:12px 0 36px}
.section-kicker{font-size:12px;color:var(--blue);margin-bottom:10px}.page-heading h1{font-size:32px;font-weight:600;margin-bottom:10px}
.page-heading>div>p:last-child{font-size:14px;color:var(--muted)}.timezone-note{font-size:11px;color:var(--muted);white-space:nowrap}
.calendar-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.month-control{display:flex;align-items:center;gap:7px}.month-control h2{font-size:22px;margin-right:14px;font-weight:600;white-space:nowrap}
.icon-button{width:38px;min-height:38px;padding:0;font-size:23px}.month-control>#calendar-today{font-size:12px;min-height:38px}
.calendar-filters{display:flex;gap:10px}.calendar-filters label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap}
.calendar-filters select{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:4px;padding:9px 10px;font-size:12px;min-height:40px}
.calendar-filters option{background:var(--bg2)}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:32px;align-items:start}
.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:left;padding:10px 0;color:var(--muted);font-size:12px}
.weekdays>span{padding-left:12px}.weekdays>span:first-child{color:#de929a}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #424850;border-left:1px solid var(--line)}
.calendar-day{height:118px;padding:10px 6px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;min-width:0;background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#d5dbe3;font:inherit}
.calendar-day:hover{background:#202832}.calendar-day.selected{background:#1d2c3d;box-shadow:inset 0 0 0 1px #6b9dce}
.day-number{font-size:13px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;line-height:1}
.calendar-day.today .day-number{background:#4a8bd3;color:#fff}.calendar-day.outside{color:#606b79;background:#ffffff02}
.day-events{display:grid;gap:4px;width:100%;min-width:0}.month-event{display:flex;align-items:center;gap:4px;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:3px 2px}
.month-event i{height:5px;width:5px;border-radius:50%;background:currentColor;flex-shrink:0}.more-events{font-size:10px;color:#9bacc0}
.event-kind{font-size:11px;font-weight:500;white-space:nowrap}.event-raffle{color:#b2a3e5}.event-release{color:#78b7f1}.event-event{color:#86b7a6}.event-restock{color:#d5b38b}
.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px}.calendar-legend .event-kind{font-size:10px}.mobile-event-count{display:none}
.day-agenda{margin-top:38px;border:1px solid var(--line);border-radius:5px;background:#171b20}
.agenda-heading{padding:20px;border-bottom:1px solid var(--line)}.agenda-heading p{font-size:11px;color:var(--muted);margin-bottom:7px}.agenda-heading h2{font-size:22px;font-weight:600}.agenda-heading small{font-size:12px;color:var(--muted);margin-left:8px}
.agenda-event{padding:22px 20px;border-bottom:1px solid var(--line)}.agenda-meta{display:flex;gap:8px;font-size:11px;color:var(--muted)}.agenda-event h3{font-size:17px;font-weight:550;margin:12px 0}
.event-dates{font-size:12px;color:#d6dce5}.event-note{font-size:12px;line-height:1.85;color:var(--muted);white-space:pre-line;margin-top:12px;overflow-wrap:anywhere}
.agenda-actions{display:flex;gap:16px;margin-top:16px;font-size:12px;color:#9bc8f5}.agenda-actions a{min-height:40px;display:flex;align-items:center}
.save-event{font-size:12px;width:100%;margin-top:8px;border-color:#46586b;background:#263447;color:#d8e7f8}
.agenda-empty{padding:32px 20px}.agenda-empty>span{font-size:30px;color:var(--muted)}.agenda-empty h3{font-size:15px;font-weight:500;margin:10px 0}.agenda-empty p{font-size:12px;color:var(--muted)}
.agenda-footnote{padding:16px 20px;font-size:10px;line-height:1.8;color:#8b96a5}
.month-summary{margin-top:40px}.month-summary h2{font-size:18px;font-weight:600;margin-bottom:12px}.month-summary h2 span{font-size:13px;color:var(--muted);margin-left:8px}
.month-summary-row{display:grid;grid-template-columns:95px 90px 1fr auto;align-items:center;gap:16px;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font:inherit;font-size:13px}
.month-summary-row strong{font-weight:500}.month-summary-row>span:last-child{font-size:11px;color:var(--muted)}.summary-date{color:#b7c2ce}
.calendar-empty,.calendar-notice{padding:20px 0;font-size:13px;color:var(--muted)}
/* Editing */
.event-editor{border-top:1px solid var(--line);padding-top:24px;margin-top:20px}
.editor-section-heading h3{font-size:16px}.editor-section-heading p{font-size:12px;color:var(--muted);margin:8px 0 16px}
.event-field{padding:16px;border:1px solid #3c4858;border-radius:5px;margin-bottom:16px;min-width:0}
.event-field legend{font-size:12px;padding:0 7px;color:var(--muted)}.event-field label{display:grid;gap:7px;font-size:12px;margin-bottom:14px}
.event-field input,.event-field select,.event-field textarea{width:100%;min-width:0;background:var(--bg);border:1px solid #3d4754;color:var(--text);padding:10px;border-radius:4px;font-size:13px}
.event-field-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.event-editor-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1020px){.workspace{gap:26px;grid-template-columns:minmax(0,1fr) 235px}.calendar-layout{gap:20px;grid-template-columns:minmax(0,1fr) 250px}.calendar-filters label>span{display:none}.calendar-day{height:105px}.month-event{font-size:9px}}
@media(max-width:760px){
  .page,.header-inner,.footer-inner{padding-left:20px;padding-right:20px}.page{padding-top:20px}
  .header-inner{height:64px;gap:24px}.header-inner>.brand{min-height:40px}.brand-name{font-size:21px}.brand-mark{width:26px;height:32px}
  .header-nav{height:64px;gap:20px;margin-left:auto}.header-nav a{height:64px;min-height:44px;font-size:13px}.header-calendar-link{display:none}
  .hero{height:190px;min-height:190px;margin-bottom:24px;border-radius:3px}.hero-copy{padding:22px;max-width:100%}
  .hero h1{font-size:23px;letter-spacing:-.045em;max-width:230px}.hero p{font-size:12px;max-width:180px;line-height:1.75}
  .hero .eyebrow{font-size:10px;letter-spacing:.03em}.hero-image{width:390px;top:-80px;right:-140px;opacity:.7}
  .hero:after{background:linear-gradient(90deg,#141b23 5%,#141b23db 40%,#141b2300 100%)}
  .workspace{display:block}.format-tabs{gap:1px;margin-top:12px}.format-tab{font-size:11px;padding:8px 10px;min-height:44px}
  .game-tabs{gap:17px;margin-top:6px}.game-tab{font-size:11px}
  .info-card{padding:20px 0;gap:14px;grid-template-columns:auto minmax(0,1fr)}.info-card h3{font-size:16px;margin:7px 0}
  .media-cover{width:78px}.media-cover.cover-short{width:65px}.media-cover.cover-text{width:32px}
  .card-summary{font-size:12px}.card-meta{font-size:10px;flex-wrap:wrap;gap:5px;margin-top:10px}.tags{gap:5px;font-size:10px}.format-badge{font-size:10px}
  .format-carousel,.format-short,.format-video{gap:14px}.format-carousel .info-card h3,.format-short .info-card h3{font-size:14px}
  .sidebar{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.side-panel{margin-top:16px;padding-top:20px}.channel-links{display:flex;justify-content:space-between}.channel-link{padding:8px 0;min-height:44px;gap:8px;flex-direction:row}
  .channel-link .channel-icon{width:20px;height:20px}.channel-link strong{font-size:12px}.channel-link>svg{display:none}
  .footer-inner{grid-template-columns:1fr 1fr;gap:28px 22px}.footer-identity{grid-column:1/-1}.footer-identity small{margin-top:8px}
  .footer-column[aria-label="하단 정보 분류"]{grid-row:2/4;grid-column:1}.footer-column{gap:0}.footer-column a{min-height:36px;font-size:11px}
  .site-footer{padding:28px 0;margin-top:12px}
  .page-heading{display:block;margin:8px 0 26px}.page-heading h1{font-size:27px}.page-heading>div>p:last-child{font-size:12px;line-height:1.7}.timezone-note{display:block;margin-top:12px}
  .calendar-toolbar{display:block;margin-bottom:14px}.month-control h2{font-size:21px;margin-right:auto}.month-control{gap:7px}
  .calendar-filters{margin-top:18px}.calendar-filters label{flex:1;min-width:0}.calendar-filters select{width:100%;font-size:12px}.calendar-layout{display:block}
  .weekdays{font-size:11px}.weekdays>span{padding-left:8px}.calendar-day{height:66px;padding:6px 4px;gap:4px}.day-number{font-size:12px;width:24px;height:24px}
  .day-events{display:none}.mobile-event-count{display:block;font-size:9px;padding-left:4px;color:#a4c5e9}
  .calendar-legend{gap:12px}.calendar-legend .event-kind{font-size:9px}
  .day-agenda{margin-top:26px;border-radius:4px}.agenda-heading{padding:17px 18px}.agenda-event{padding:20px 18px}
  .month-summary{margin-top:30px}.month-summary-row{grid-template-columns:67px 70px 1fr;gap:10px;font-size:12px;padding:16px 0}.month-summary-row>span:last-child{display:none}.month-summary-row .event-kind{font-size:10px}
  .article-detail h1{font-size:24px}.article-summary{font-size:14px}.article-schedule a{font-size:12px;gap:8px}
}
@media(max-width:360px){.page,.header-inner,.footer-inner{padding-left:14px;padding-right:14px}.header-inner{gap:15px}.header-nav{gap:16px}.hero-copy{padding:18px}.hero h1{font-size:21px}.format-tab{padding:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.hero-image{will-change:auto;transform:none!important}*{scroll-behavior:auto!important}}

/* Week-spanning event lanes keep a continuous period visible on every screen. */
.month-grid{display:block}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:38px repeat(var(--lanes),30px);padding-bottom:8px;position:relative;border-bottom:1px solid var(--line)}
.calendar-week .calendar-day{height:auto;align-self:stretch;padding:6px;border-bottom:0;margin-bottom:-8px}
.calendar-event-bar{z-index:1;min-width:0;display:flex;align-items:center;gap:3px;margin:1px 3px;padding:4px 7px;border:1px solid #416586;border-left:3px solid currentColor;border-radius:4px;background:#21364b;color:#c3ddf5;font:inherit;font-size:11px;line-height:20px;text-align:left;cursor:pointer}
.calendar-event-bar.event-release{background:#193c37;border-color:#38695e;color:#b1e5d2}
.calendar-event-bar.event-raffle,.calendar-event-bar.event-deadline{background:#393024;border-color:#78613d;color:#f0d39f}
.calendar-event-bar:hover{filter:brightness(1.25)}
.calendar-event-bar:focus-visible{outline:2px solid #8ecaff;outline-offset:1px}
.event-bar-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}
.calendar-event-bar.continues-before{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:1px;margin-left:0}
.calendar-event-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}
@media(max-width:600px){.calendar-week{grid-template-rows:34px repeat(var(--lanes),30px)}.calendar-event-bar{font-size:10px;padding:3px 4px;margin-inline:1px}.calendar-week .calendar-day{padding:4px 2px}}
