@charset "utf-8";
@font-face{ font-family:'Wanted Sans'; font-weight:400; font-style:normal; font-display:swap;
            src:url('../font/WantedSans-Regular.woff2') format('woff2'); }
@font-face{ font-family:'Wanted Sans'; font-weight:500; font-style:normal; font-display:swap;
            src:url('../font/WantedSans-Medium.woff2') format('woff2'); }
@font-face{ font-family:'Wanted Sans'; font-weight:600; font-style:normal; font-display:swap;
            src:url('../font/WantedSans-SemiBold.woff2') format('woff2'); }
@font-face{ font-family:'Wanted Sans'; font-weight:700; font-style:normal; font-display:swap;
            src:url('../font/WantedSans-Bold.woff2') format('woff2'); }
@font-face{ font-family:'Wanted Sans'; font-weight:800; font-style:normal; font-display:swap;
            src:url('../font/WantedSans-ExtraBold.woff2') format('woff2'); }


html { scrollbar-gutter: stable; overflow-y: scroll; }

:root {
    color-scheme: light;
    --ct-bg:            #ffffff;
    --ct-bg-elev:       #ffffff;
    --ct-bg-soft:       #f4f5f8;
    --ct-photo-nav-bg:  rgba(255,255,255,.75);
    --ct-photo-nav-fg:  #211a3a;
    --ct-photo-count-bg: rgba(0,0,0,.55);
    --ct-bg-elev2:      #f1f1f5;
    --ct-line:          #dbdde0;
    --ct-line-soft:     #ececef;

    --ct-text:          #211a3a;
    --ct-text-sub:      #6f7680;
    --ct-text-dim:      #8a8a8a;

    --ct-primary:       #7c3aed;
    --ct-primary-2:     #935df0;
    --ct-primary-soft:  #f3edff;
    --ct-primary-text:  #7c3aed;

    --ct-accent:        #f142a9;
    --ct-accent-2:      #ff8ac0;
    --ct-star:          #f7d649;
    --ct-danger:        #d92d20;
    --ct-warn:          #f0541b;
    --ct-info:          #449adf;
    --ct-soft-bg:       #f1ecff;
    --ct-soft-fg:       #7c3aed;
    --ct-gray-bg:       #f2f3f5;
    --ct-gray-fg:       #4b5563;
    --ct-wait-bg:       #fef3c7;
    --ct-wait-fg:       #b8790a;
    --ct-ico:           #211a3a;
    --ct-danger-soft:   #fdecec;
    --ct-danger-fg:     #d64545;
    --ct-ok-soft:       #eafbf3;
    --ct-ok-fg:         #1fae72;

    --ct-avatar-bg:     #eceef1;
    --ct-avatar-fg:     #b0acb6;

    --ct-radius:        14px;
    --ct-radius-sm:     10px;
    --ct-radius-pill:   999px;
    --ct-app-max:       100%;
    --ct-app-w:         100%;
    --ct-top-h:         44px;
    --ct-tab-h:         58px;
    --ct-gap:           12px;
    --ct-pad:           14px;

    --ct-navy:          #211a3a;
    --ct-btn-off:       #f1f1f5;
    --ct-btn-off-fg:    #a8adb5;

    --ct-talk-bg:       #14121a;
    --ct-talk-surface:  #3a3844;
    --ct-talk-text:     #f1eff5;
    --ct-talk-dim:      #a9a4b3;
    --ct-talk-line:     #494654;
}

@media (min-width: 470px) {
    :root{ --ct-app-max: 470px; --ct-app-w: 470px; }
}
@media (hover: hover) and (pointer: fine) {
    :root{ --ct-app-max: 470px; --ct-app-w: 470px; }
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
.ct-body {
    background: #000;
    color: var(--ct-text);
    font-family: 'Wanted Sans', -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif;
    font-size: 14px; line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.ct-body h1, .ct-body h2, .ct-body p { margin: 0; }
.ct-ico { width: 22px; height: 22px; fill: currentColor; }

.ct-app {
    max-width: var(--ct-app-max);
    min-height: 100vh;
    margin: 0 auto;
    background: var(--ct-bg);
    position: relative;
}
.ct-main {
    padding-bottom: calc(var(--ct-tab-h) + env(safe-area-inset-bottom, 0px) + 16px);
}

.ct-top {
    position: sticky; top: 0; z-index: 30;
    height: var(--ct-top-h);
    display: flex; align-items: center;
    background: var(--ct-bg);
    border-bottom: 1px solid var(--ct-line-soft);
}
.ct-top-logo { justify-content: center; }
.ct-logo { display: inline-flex; align-items: center; gap: 6px; }
.ct-logo-mark {
    width: 20px; height: 20px; border-radius: 50%;
    background: conic-gradient(from 200deg, var(--ct-primary-2), var(--ct-primary), var(--ct-accent));
    box-shadow: 0 0 10px rgba(124, 58, 237, .6);
}
.ct-logo-txt { font-size: 19px; font-weight: 800; letter-spacing: -.5px; }
.ct-top-back { justify-content: space-between; padding: 0 6px; }
.ct-top-btn { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; color: var(--ct-text); }
.ct-top-title {
    flex: 1 1 auto; min-width: 0; padding: 0 4px; text-align: center;
    font-size: 16px; font-weight: 700;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.ct-tabbar {
    position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 100%; max-width: var(--ct-app-max); z-index: 40;
    display: grid; grid-template-columns: repeat(5, 1fr);
    height: calc(var(--ct-tab-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--ct-bg-elev);
    border-top: 1px solid var(--ct-line);
}
.ct-tab {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    color: var(--ct-text-dim); font-size: 10px; letter-spacing: -.4px;
}
.ct-tab .ct-ico { width: 20px; height: 20px; }
.ct-tab.is-on { color: var(--ct-primary-2); }

.ct-adbanner {
    position: relative; overflow: hidden;
    margin: var(--ct-pad); padding: 16px;
    border-radius: var(--ct-radius);
    background: linear-gradient(135deg, var(--ct-primary) 0%, var(--ct-primary-2) 100%);
}
.ct-adbanner-tag {
    display: inline-block; padding: 2px 9px; margin-bottom: 8px;
    border-radius: var(--ct-radius-pill);
    background: rgba(255, 255, 255, .22); font-size: 11px; font-weight: 700;
}
.ct-adbanner-title { display: block; font-size: 18px; font-weight: 800; letter-spacing: -.5px; }
.ct-adbanner-desc { margin-top: 4px; font-size: 12px; opacity: .85; }
.ct-adbanner-btn {
    display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 8px 16px;
    border-radius: var(--ct-radius-pill); background: var(--ct-bg-elev); color: var(--ct-primary);
    font-size: 13px; font-weight: 700;
}
.ct-adbanner-btn em { font-style: normal; }
.ct-adbanner-deco {
    position: absolute; right: -10px; top: 10px; width: 96px; height: 96px;
    border-radius: 50%; background: rgba(255, 255, 255, .12);
    z-index: 0;
}
.ct-adbanner > *:not(.ct-adbanner-deco) { position: relative; z-index: 1; }

.ct-tabs {
    display: flex; gap: 4px; overflow-x: auto; padding: 0 var(--ct-pad);
    border-bottom: 1px solid var(--ct-line-soft);
    scrollbar-width: none;
}
.ct-tabs::-webkit-scrollbar, .ct-chips::-webkit-scrollbar { display: none; }
.ct-tabs-item {
    flex: 0 0 auto; padding: 12px 10px; font-size: 14px; color: var(--ct-text-sub);
    border-bottom: 2px solid transparent; white-space: nowrap;
}
.ct-tabs-item.is-on { color: var(--ct-text); font-weight: 700; border-bottom-color: var(--ct-text); }
.ct-tabs-star { color: var(--ct-star); font-style: normal; margin-right: 2px; }

.ct-chips { display: flex; gap: 8px; overflow-x: auto; margin: 12px var(--ct-pad); padding: 0; scrollbar-width: none; }
.ct-chip {
    flex: 0 0 auto; padding: 7px 14px; border-radius: var(--ct-radius-pill);
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    font-size: 13px; color: var(--ct-text-sub); white-space: nowrap;
}
.ct-chip.is-on { color: var(--ct-text); border-color: var(--ct-primary-2); background: var(--ct-primary-soft); }

.ct-sec-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px var(--ct-pad) 8px;
}
.ct-sec-head h2 { font-size: 16px; font-weight: 800; }
.ct-sec-toggle { color: var(--ct-text-sub); display: inline-flex; }
.ct-sec-toggle[aria-expanded="false"] .ct-ico { transform: rotate(180deg); }

.ct-list-head { display: flex; align-items: center; justify-content: space-between; padding: 18px var(--ct-pad) 10px; }
.ct-list-head h2 { display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 800; }
.ct-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ct-primary-2); }
.ct-list-more, .ct-list-right { font-size: 12px; color: var(--ct-text-sub); }

.ct-cocard {
    display: flex; gap: 12px; align-items: flex-start;
    margin: 0 var(--ct-pad) 10px; padding: 12px;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line-soft);
    border-radius: var(--ct-radius);
}
.ct-cocard-logo {
    position: relative; flex: 0 0 74px; width: 74px; height: 74px;
    border-radius: var(--ct-radius-sm); overflow: hidden;
    background: linear-gradient(150deg, var(--ct-accent), var(--ct-accent-2));
    display: flex; align-items: center; justify-content: center;
}
.ct-cocard-initial { font-style: normal; font-size: 15px; font-weight: 800; color: #fff; text-align: center; padding: 0 4px; word-break: keep-all; }
.ct-badge-new {
    position: absolute; top: 5px; left: 5px; padding: 1px 6px;
    border-radius: var(--ct-radius-pill); background: rgba(0, 0, 0, .35);
    font-size: 9px; font-weight: 800; font-style: normal; color: #fff;
}
.ct-cocard-body { flex: 1 1 auto; min-width: 0; }
.ct-cocard-line { display: flex; align-items: center; gap: 6px; }
.ct-cocard-name { font-size: 16px; font-weight: 800; }
.ct-badge-area {
    padding: 2px 8px; border-radius: var(--ct-radius-pill);
    background: var(--ct-primary-soft); color: var(--ct-primary-text);
    font-size: 11px; font-style: normal; font-weight: 600;
}
.ct-cocard-sum {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 5px; font-size: 12px; color: var(--ct-text-sub);
}
.ct-cocard-stats { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.ct-stat {
    padding: 5px 12px; border-radius: var(--ct-radius-sm);
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    font-size: 12px; font-style: normal; font-weight: 600;
}
.ct-stat u { text-decoration: none; color: var(--ct-text-dim); font-weight: 400; margin-left: 3px; }
.ct-stat b { margin-left: 3px; }
.ct-cocard-star { flex: 0 0 auto; color: var(--ct-text-dim); }
.ct-cocard-star.is-on { color: var(--ct-star); }

.ct-adcard {
    display: flex; align-items: center; gap: 10px;
    margin: 0 var(--ct-pad) 10px; padding: 12px;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line-soft);
    border-radius: var(--ct-radius);
}
.ct-adcard-check { flex: 0 0 auto; display: inline-flex; }
.ct-adcard-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.ct-adcard-check span {
    width: 20px; height: 20px; display: inline-block;
    background: url("../img/check-box.svg") no-repeat center / 20px 20px;
}
.ct-adcard-check input:checked + span { background-image: url("../img/check-box-on.svg"); }
.ct-adcard-check input:focus-visible + span { outline: 2px solid var(--ct-primary-2); outline-offset: 2px; }
.ct-adcard-link { display: flex; gap: 12px; flex: 1 1 auto; min-width: 0; align-items: center; }
.ct-adcard-thumb {
    flex: 0 0 64px; width: 64px; height: 64px; border-radius: var(--ct-radius-sm); overflow: hidden;
    background: linear-gradient(150deg, var(--ct-accent), var(--ct-accent-2));
}
.ct-adcard-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ct-adcard-body { flex: 1 1 auto; min-width: 0; }
.ct-adcard-meta { display: flex; align-items: center; gap: 4px; font-size: 11px; color: var(--ct-text-dim); }
.ct-adcard-meta em { font-style: normal; }
.ct-adcard-id { color: var(--ct-text); font-weight: 600; }
.ct-adcard-pay { color: var(--ct-text); font-weight: 400; font-style: normal; }
.ct-adcard-av { width: 14px; height: 14px; border-radius: 50%; background: var(--ct-bg-elev2); border: 1px solid var(--ct-line); }
.ct-adcard-closed { color: var(--ct-danger); font-weight: 700; }
.ct-adcard-subject {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 3px; font-size: 14px; font-weight: 700; line-height: 1.35;
}
.ct-adcard-sub { display: block; margin-top: 5px; font-size: 12px; color: var(--ct-text-sub); }

.ct-filter { padding: 12px var(--ct-pad) 4px; }
.ct-filter-row { display: flex; gap: 8px; }
.ct-select { position: relative; flex: 1 1 0; }
.ct-select select {
    width: 100%; appearance: none; padding: 11px 32px 11px 12px;
    background: var(--ct-bg-elev); color: var(--ct-text);
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm);
    font-size: 13px;
}
.ct-select .ct-ico { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); color: var(--ct-text-sub); pointer-events: none; }
.ct-search { position: relative; margin-top: 8px; }
.ct-search input {
    width: 100%; padding: 11px 42px 11px 12px;
    background: var(--ct-bg-elev); color: var(--ct-text);
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm);
    font-size: 13px;
}
.ct-search input::placeholder { color: var(--ct-text-dim); }
.ct-search button { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); padding: 8px; color: var(--ct-text-sub); }

.ct-paging { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 20px 0; }
.ct-paging-num, .ct-paging-arrow {
    min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--ct-radius-sm); font-size: 13px; color: var(--ct-text-sub);
}
.ct-paging-num.is-on { color: var(--ct-text); font-weight: 800; background: var(--ct-bg-elev2); }
.ct-paging-arrow.is-off { color: var(--ct-text-dim); opacity: .4; }
.ct-more {
    display: block; margin: 4px var(--ct-pad) 0; padding: 13px; text-align: center;
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm);
    font-size: 13px; color: var(--ct-text-sub);
}
.ct-more b { color: var(--ct-text); }

.ct-empty { padding: 52px 20px; text-align: center; }
.ct-empty-msg { font-size: 14px; color: var(--ct-text-sub); }
.ct-empty-sub { margin-top: 6px; font-size: 12px; color: var(--ct-text-dim); }
.ct-btn {
    display: inline-block; margin-top: 16px; padding: 10px 20px;
    border-radius: var(--ct-radius-pill); font-size: 13px; font-weight: 700;
}
.ct-btn-line { border: 1px solid var(--ct-line); color: var(--ct-text-sub); }

.ct-modal { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; }
.ct-modal[hidden] { display: none; }
.ct-modal-dim { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.ct-modal-box {
    position: relative; width: min(320px, calc(100% - 48px));
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line);
    border-radius: var(--ct-radius); overflow: hidden;
}
.ct-modal-body { padding: 26px 20px 20px; text-align: center; }
.ct-modal-title { display: block; font-size: 15px; font-weight: 800; }
.ct-modal-txt { margin-top: 8px; font-size: 13px; color: var(--ct-text-sub); }
.ct-modal-strong { margin-top: 12px; font-size: 16px; font-weight: 800; text-decoration: underline; }
.ct-modal-btns { display: flex; border-top: 1px solid var(--ct-line); }
.ct-modal-btn { flex: 1 1 0; padding: 14px; text-align: center; font-size: 14px; font-weight: 700; color: var(--ct-text-sub); }
.ct-modal-btn.is-primary { background: var(--ct-bg-elev2); color: var(--ct-text); }

.ct-cta {
    position: fixed; bottom: calc(var(--ct-tab-h) + env(safe-area-inset-bottom, 0px));
    left: 50%; transform: translateX(-50%);
    width: 100%; max-width: var(--ct-app-max); z-index: 35;
    display: flex; gap: 8px; align-items: center;
    padding: 10px var(--ct-pad);
    background: var(--ct-bg); border-top: 1px solid var(--ct-line);
}
.ct-cta-bookmark { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--ct-text-dim); }
.ct-cta-bookmark.is-on { color: var(--ct-star); }
.ct-cta-btn {
    flex: 1 1 0; height: 44px; border-radius: var(--ct-radius-sm);
    background: var(--ct-bg-elev2); color: var(--ct-text-sub); font-size: 14px; font-weight: 700;
}
.ct-cta-btn.is-primary { background: var(--ct-primary); color: #fff; }

.ct-devnote {
    padding: 8px var(--ct-pad); text-align: center;
    background: var(--ct-primary-soft); color: var(--ct-primary-text);
    font-size: 11px; font-weight: 600; letter-spacing: -.3px;
}

@media (min-width: 640px) {
    .ct-app { box-shadow: 0 0 0 1px var(--ct-line); }
}


.ct-page { padding: 20px var(--ct-pad) 0; }
.ct-page-title { font-size: 20px; font-weight: 800; letter-spacing: -.5px; }
.ct-page-desc { margin-top: 6px; font-size: 13px; color: var(--ct-text-sub); }

.ct-steps { display: flex; gap: 6px; margin: 0 0 22px; padding: 16px var(--ct-pad) 0; list-style: none; }
.ct-step { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 11px; color: var(--ct-text-dim); }
.ct-step i {
    width: 24px; height: 24px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    font-style: normal; font-size: 12px; font-weight: 700;
}
.ct-step.is-on { color: var(--ct-text); }
.ct-step.is-on i { background: var(--ct-primary); border-color: var(--ct-primary); color: #fff; }
.ct-step.is-done { color: var(--ct-primary-text); }
.ct-step.is-done i { background: var(--ct-primary-soft); border-color: var(--ct-primary); color: var(--ct-primary-text); }

.ct-field { margin-bottom: 16px; }
.ct-field-label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 600; }
.ct-req { color: var(--ct-accent); font-style: normal; margin-left: 3px; }
.ct-input {
    width: 100%; padding: 13px 14px;
    background: var(--ct-bg-elev); color: var(--ct-text);
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm);
    font-size: 15px;
}
.ct-input::placeholder { color: var(--ct-text-dim); font-size: 14px; }
.ct-input:focus { outline: none; border-color: var(--ct-primary-2); }
.ct-field-msg { margin-top: 6px; font-size: 12px; min-height: 0; }
.ct-field-msg.is-ok { color: #5ad19a; }
.ct-field-msg.is-err { color: var(--ct-danger); }
.ct-field-help { margin-top: 6px; font-size: 12px; color: var(--ct-text-dim); }
.ct-ferr { margin-top: 6px; font-size: 12px; line-height: 1.5; color: var(--ct-warn); }
.ct-field.is-err .ct-input,
.ct-field.is-err .ct-selectbtn,
.ct-field.is-err .ct-upbox { border-color: var(--ct-warn); }

.ct-agree { margin-bottom: 14px; border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm); overflow: hidden; }
.ct-agree-head { display: flex; align-items: center; gap: 10px; padding: 14px; cursor: pointer; }
.ct-agree-head input { position: absolute; opacity: 0; width: 0; height: 0; }
.ct-agree-box {
    flex: 0 0 auto; width: 20px; height: 20px; border-radius: 6px;
    border: 1.5px solid var(--ct-line); background: var(--ct-bg-elev2);
}
.ct-agree-head input:checked + .ct-agree-box {
    border-color: var(--ct-primary-2); background: var(--ct-primary);
    background-image: linear-gradient(45deg, transparent 44%, #fff 44%, #fff 54%, transparent 54%),
                      linear-gradient(-45deg, transparent 44%, #fff 44%, #fff 54%, transparent 54%);
    background-size: 11px 6px, 11px 6px; background-position: 3px 8px, 7px 8px; background-repeat: no-repeat;
}
.ct-agree-head b { font-size: 14px; font-weight: 600; }
.ct-agree-body {
    max-height: 150px; overflow-y: auto; padding: 12px 14px;
    border-top: 1px solid var(--ct-line); background: var(--ct-bg-elev);
    font-size: 12px; line-height: 1.6; color: var(--ct-text-sub); white-space: pre-line;
}
.ct-agree.is-all { border-color: var(--ct-primary); background: var(--ct-primary-soft); }
.ct-agree.is-all .ct-agree-head b { font-weight: 800; }

.ct-bigbtn {
    display: block; width: 100%; margin-top: 8px; padding: 15px;
    border-radius: var(--ct-radius-sm); text-align: center;
    background: var(--ct-primary); color: #fff; font-size: 15px; font-weight: 700;
}
.ct-bigbtn:disabled { background: var(--ct-bg-elev2); color: var(--ct-text-dim); cursor: not-allowed; }
.ct-bigbtn.is-ghost { background: transparent; border: 1px solid var(--ct-line); color: var(--ct-text-sub); }

.ct-note {
    margin: 14px 0; padding: 14px; border-radius: var(--ct-radius-sm);
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line);
    font-size: 13px; line-height: 1.6; color: var(--ct-text-sub);
}
.ct-note.is-warn { border-color: var(--ct-danger); color: var(--ct-text); }
.ct-note strong { color: var(--ct-text); }

.ct-links { display: flex; justify-content: center; gap: 14px; margin-top: 20px; font-size: 13px; color: var(--ct-text-sub); }
.ct-links a { color: var(--ct-text-sub); }

.ct-menu { margin: 12px var(--ct-pad) 0; border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm); overflow: hidden; }
.ct-menu a, .ct-menu button {
    display: flex; width: 100%; align-items: center; justify-content: space-between;
    padding: 15px 14px; background: var(--ct-bg-elev); font-size: 14px; text-align: left;
    border-bottom: 1px solid var(--ct-line-soft);
}
.ct-menu > :last-child { border-bottom: 0; }
.ct-menu em { font-style: normal; color: var(--ct-text-dim); font-size: 12px; }

.ct-profile { display: flex; align-items: center; gap: 12px; padding: 18px var(--ct-pad); }
.ct-profile-av {
    width: 52px; height: 52px; border-radius: 50%;
    background: linear-gradient(150deg, var(--ct-accent), var(--ct-primary-2));
}
.ct-profile-name { font-size: 17px; font-weight: 800; }
.ct-profile-type { margin-top: 4px; font-size: 12px; color: var(--ct-primary-text); }

.ct-captcha { margin-bottom: 16px; }
.ct-captcha img { border-radius: var(--ct-radius-sm); }

.ct-agree-head input[type="radio"] + .ct-agree-box { border-radius: 50%; }
.ct-agree-head input[type="radio"]:checked + .ct-agree-box {
    border-color: var(--ct-primary-2); background: var(--ct-primary);
    background-image: radial-gradient(circle, #fff 0 3.5px, transparent 3.5px);
    background-size: auto; background-position: center; background-repeat: no-repeat;
}

#captcha {
    margin: 0; padding: 12px; border: 1px solid var(--ct-line);
    border-radius: var(--ct-radius-sm); background: var(--ct-bg-elev);
}
#captcha legend { padding: 0 6px; font-size: 12px; color: var(--ct-text-sub); }
#captcha #captcha_img { display: block; margin-bottom: 10px; border-radius: 6px; background: var(--ct-bg-elev); }
#captcha .captcha_box {
    width: 110px; padding: 10px 12px; margin-right: 6px;
    background: var(--ct-bg-elev2); color: var(--ct-text);
    border: 1px solid var(--ct-line); border-radius: 8px; font-size: 15px; letter-spacing: 2px;
}
#captcha button {
    padding: 9px 12px; margin-right: 4px; border-radius: 8px;
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    font-size: 12px; color: var(--ct-text-sub);
}
#captcha #captcha_info { display: block; margin-top: 8px; font-size: 12px; color: var(--ct-text-dim); }


.ct-detail { padding-bottom: 70px; }
.ct-detail-owner {
    display: flex; align-items: center; gap: 6px;
    padding: 12px var(--ct-pad); font-size: 12px; color: var(--ct-text-sub);
}
.ct-detail-owner em { font-style: normal; color: var(--ct-text-dim); }

.ct-detail-imgs { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none;
                  scroll-snap-type: x mandatory; background: #000; }
.ct-detail-imgs::-webkit-scrollbar { display: none; }
.ct-detail-shot { position: relative; flex: 0 0 100%; aspect-ratio: 2.6 / 1;
                  overflow: hidden; scroll-snap-align: center; }
.ct-detail-blur {
    position: absolute; inset: 0; display: block;
    background-size: cover; background-position: center;
    filter: blur(18px) saturate(1.15); transform: scale(1.25);
}
.ct-detail-imgs img { position: relative; display: block; width: 35%; height: auto;
                      aspect-ratio: 1/1; margin: 0 auto; object-fit: cover; }

.ct-detail-body {
    margin-top: -18px; padding: 22px var(--ct-pad) 0;
    background: var(--ct-bg); border-radius: 18px 18px 0 0; position: relative;
}
.ct-detail-body.is-noimg { margin-top: 0; border-radius: 0; padding-top: 16px; }
.ct-detail-subject { font-size: 19px; font-weight: 800; line-height: 1.35; letter-spacing: -.5px; }
.ct-detail-sub { margin-top: 8px; font-size: 13px; color: var(--ct-text-sub); }

.ct-detail-guide {
    margin: 18px 0; padding: 16px; text-align: center;
    background: var(--ct-primary-soft); border-radius: var(--ct-radius-sm);
}
.ct-detail-guide strong { display: block; font-size: 14px; }
.ct-detail-guide span { display: block; margin-top: 5px; font-size: 12px; color: var(--ct-text-sub); }

.ct-detail-h3 { margin: 26px 0 12px; font-size: 15px; font-weight: 800; text-align: center; }
.ct-detail-content { font-size: 14px; line-height: 1.7; color: var(--ct-text); word-break: break-word; }
.ct-detail-content img { max-width: 100%; height: auto; border-radius: var(--ct-radius-sm); margin: 8px 0; }
.ct-detail-content p { margin: 0 0 8px; }
.ct-detail-content h3 { margin: 6px 0 8px; font-size: 16.5px; font-weight: 700; }
.ct-detail-content a { color: var(--ct-primary-text); text-decoration: underline; }

.ct-detail-notice {
    margin: 22px 0; padding: 14px; border-radius: var(--ct-radius-sm);
    background: var(--ct-bg-elev); font-size: 12px; line-height: 1.7; color: var(--ct-text-dim);
}
.ct-detail-notice strong { color: var(--ct-text-sub); }

.ct-detail-dl { display: grid; grid-template-columns: 92px 1fr; gap: 8px 10px; margin: 20px 0; font-size: 13px; }
.ct-detail-dl dt { color: var(--ct-text-dim); }
.ct-detail-dl dd { margin: 0; color: var(--ct-text); word-break: break-all; }
.ct-detail-dl.is-dim { padding-top: 16px; border-top: 1px solid var(--ct-line-soft); }
.ct-detail-dl.is-dim dd { color: var(--ct-text-sub); }

.ct-detail-links { margin: 22px 0 0; }


.ct-listbar {
    display: flex; align-items: center; gap: 10px;
    padding: 12px var(--ct-pad); border-bottom: 1px solid var(--ct-line-soft);
}
.ct-listbar-txt { font-size: 13px; color: var(--ct-text-sub); }
.ct-listbar-txt b { color: var(--ct-text); }
.ct-listbar-del {
    margin-left: auto; padding: 6px 15px; border-radius: 6px; background: var(--ct-bg-elev);
    border: 1px solid var(--ct-warn); color: var(--ct-warn); font-size: 13px; font-weight: 500;
}
.ct-listbar-del.is-plain { border-color: var(--ct-line); color: var(--ct-text-sub); }

.ct-menu .ct-num {
    display: inline-block; min-width: 20px; padding: 1px 7px; border-radius: var(--ct-radius-pill);
    background: var(--ct-accent); color: #fff; font-size: 11px; font-weight: 800;
}

.ct-tab-ico { position: relative; display: inline-flex; }
.ct-tab-badge {
    position: absolute; top: -4px; left: 12px;
    min-width: 16px; height: 16px; padding: 0 4px; border-radius: var(--ct-radius-pill);
    background: var(--ct-accent); color: #fff;
    font-size: 10px; font-style: normal; font-weight: 800; line-height: 16px; text-align: center;
}

.ct-noti { margin: 0; padding: 0; list-style: none; }
.ct-noti-item { border-bottom: 1px solid var(--ct-line-soft); }
.ct-noti-item a { display: block; padding: 15px var(--ct-pad); }
.ct-noti-item.is-new { background: var(--ct-bg-elev); }
.ct-noti-item.is-new .ct-noti-subject::before {
    content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 6px;
    border-radius: 50%; background: var(--ct-accent); vertical-align: middle;
}
.ct-noti-top { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.ct-noti-type {
    padding: 2px 8px; border-radius: var(--ct-radius-pill);
    background: var(--ct-primary-soft); color: var(--ct-primary-text);
    font-size: 11px; font-style: normal; font-weight: 600;
}
.ct-noti-top time { font-size: 11px; color: var(--ct-text-dim); }
.ct-noti-subject { display: block; font-size: 14px; font-weight: 700; }
.ct-noti-content { display: block; margin-top: 4px; font-size: 12px; color: var(--ct-text-sub); }


.ct-rule {
    display: flex; align-items: center; gap: 8px;
    margin: 4px var(--ct-pad) 12px; padding: 13px 14px;
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm);
    background: var(--ct-bg-elev); font-size: 13px;
}
.ct-rule i { color: var(--ct-star); font-style: normal; }
.ct-rule em { margin-left: auto; font-style: normal; color: var(--ct-text-dim); }

.ct-posts { margin: 0; padding: 0; list-style: none; }
.ct-post { border-bottom: 1px solid var(--ct-line-soft); }
.ct-post > a { display: block; padding: 15px var(--ct-pad); }
.ct-post-head { display: flex; align-items: flex-start; gap: 8px; }
.ct-post-subject {
    flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 700; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ct-post-badge {
    flex: 0 0 auto; padding: 2px 8px; border-radius: var(--ct-radius-pill);
    background: var(--ct-primary-soft); color: var(--ct-primary-text);
    font-size: 11px; font-style: normal; font-weight: 600;
}
.ct-post-sum {
    display: block; margin-top: 6px; font-size: 13px; color: var(--ct-text-sub);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ct-post-meta { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 12px; color: var(--ct-text-dim); }
.ct-post-av { width: 18px; height: 18px; border-radius: 50%; flex: 0 0 auto; }
.ct-post-meta em { font-style: normal; }
.ct-post-cnt { margin-left: auto; }
.ct-post-ad { list-style: none; padding: 10px 0 2px; background: var(--ct-bg-elev); border-bottom: 1px solid var(--ct-line-soft); }


.ct-talk-head {
    display: flex; align-items: center; gap: 10px;
    padding: 10px var(--ct-pad); border-bottom: 1px solid var(--ct-line-soft);
}
.ct-talk-hit { flex: 0 0 auto; font-size: 12px; color: var(--ct-text-dim); }
.ct-talk-search { flex: 1 1 auto; position: relative; display: flex; align-items: center; gap: 6px; }
.ct-talk-search input {
    width: 100%; padding: 8px 34px 8px 12px;
    background: var(--ct-bg-elev); color: var(--ct-text);
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-pill); font-size: 13px;
}
.ct-talk-search button { position: absolute; right: 52px; padding: 4px; color: var(--ct-text-sub); }
.ct-talk-search .ct-talk-clear { flex: 0 0 auto; font-size: 12px; color: var(--ct-text-dim); }
.ct-talk-search:has(.ct-talk-clear) button { right: 58px; }

.ct-talk-notice {
    margin: 10px var(--ct-pad); padding: 12px 14px;
    background: var(--ct-bg-elev); color: var(--ct-text); border-radius: var(--ct-radius-sm);
    font-size: 13px; font-weight: 600; box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}
.ct-talk-result { padding: 10px var(--ct-pad) 0; font-size: 12px; color: var(--ct-text-sub); }
.ct-talk-result b { color: var(--ct-text); }

.ct-talk { padding: 8px 0 20px; }
.ct-talk-date {
    margin: 14px auto; width: fit-content; padding: 4px 12px;
    border-radius: var(--ct-radius-pill); background: var(--ct-bg-elev2);
    font-size: 11px; color: var(--ct-text-sub);
}
.ct-talk-row { display: flex; align-items: flex-end; gap: 8px; padding: 6px var(--ct-pad); }
.ct-talk-av {
    flex: 0 0 auto; width: 34px; height: 34px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, var(--ct-accent), var(--ct-primary-2));
    font-size: 12px; font-weight: 800; color: #fff;
}
.ct-talk-main { flex: 0 1 auto; min-width: 0; max-width: 78%; }
.ct-talk-name { display: block; margin-bottom: 4px; font-size: 11px; color: var(--ct-text-sub); }
.ct-talk-bubble {
    padding: 11px 13px; border-radius: 4px 14px 14px 14px;
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    font-size: 13px; line-height: 1.6; color: var(--ct-text);
    white-space: normal; word-break: break-word;
}
.ct-talk-time { flex: 0 0 auto; font-size: 10px; color: var(--ct-text-dim); padding-bottom: 2px; }


.ct-post-sub {
    display: block; padding: 0 var(--ct-pad) 14px;
    font-size: 12px; color: var(--ct-primary-text);
}
.ct-apply { padding: 15px var(--ct-pad); }
.ct-apply-ad { display: block; margin-top: 6px; font-size: 12px; color: var(--ct-text-dim); }
.ct-apply-msg {
    margin: 10px 0 0; padding: 12px; border-radius: var(--ct-radius-sm);
    background: var(--ct-bg-elev); font-size: 13px; line-height: 1.6; color: var(--ct-text);
}
.ct-apply-act { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ct-apply-act button {
    padding: 8px 14px; border-radius: var(--ct-radius-pill);
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    font-size: 12px; color: var(--ct-text-sub); white-space: nowrap;
}
.ct-apply-act button.is-primary { background: var(--ct-primary); border-color: var(--ct-primary); color: #fff; }
.ct-apply-act button.is-danger { border-color: var(--ct-danger); color: var(--ct-danger); }
.ct-apply-memo {
    flex: 1 1 140px; min-width: 120px; padding: 8px 12px;
    background: var(--ct-bg-elev); color: var(--ct-text);
    border: 1px solid var(--ct-line); border-radius: var(--ct-radius-pill); font-size: 12px;
}

.ct-talk-bubble.is-notice {
    background: var(--ct-primary-soft); border-color: var(--ct-primary);
}

.ct-talk-star { flex: 0 0 auto; padding: 4px; color: var(--ct-text-dim); display: inline-flex; }
.ct-talk-star.is-on { color: var(--ct-star); }

.ct-talk-av img { width: 100%; height: 100%; object-fit: cover; }
.ct-cocard-logo img { width: 100%; height: 100%; object-fit: cover; }

.ct-prof{ padding:24px 16px 20px; text-align:center; }
.ct-prof-logo{ width:88px; height:88px; margin:0 auto 14px; border-radius:50%; overflow:hidden;
               background:var(--ct-bg-elev2); display:flex; align-items:center; justify-content:center; }
.ct-prof-logo img{ width:100%; height:100%; object-fit:cover; }
.ct-prof-logo span{ font-size:26px; font-weight:800; color:var(--ct-text-dim); }
.ct-prof-name{ font-size:22px; font-weight:800; letter-spacing:-.3px; margin:0 0 10px; }
.ct-prof-meta{ font-size:14px; line-height:1.9; color:var(--ct-text-dim); }
.ct-prof-meta b{ color:var(--ct-text); font-weight:600; }

.ct-ask{ border-top:1px solid var(--ct-line); margin-top:18px; padding:20px 16px 0; }
.ct-ask-h{ display:flex; align-items:center; gap:6px; font-size:19px; font-weight:800; margin:0 0 10px; }
.ct-ask-h .ct-ask-info{ width:18px; height:18px; border-radius:50%; border:1px solid var(--ct-text-dim);
                        color:var(--ct-text-dim); font-size:11px; line-height:16px; text-align:center; cursor:help; }
.ct-ask-tip{ font-size:14px; color:var(--ct-text-dim); line-height:1.6; margin:0 0 16px; word-break:keep-all; }
.ct-ask-tip b{ color:var(--ct-accent); font-weight:700; }

.ct-mg{ background:var(--ct-bg-elev); border-radius:14px; padding:16px; margin-bottom:12px; }
.ct-mg-top{ display:flex; gap:12px; align-items:flex-start; }
.ct-mg-photo{ width:56px; height:56px; border-radius:12px; flex:0 0 56px; overflow:hidden;
              background:var(--ct-bg-elev2); display:flex; align-items:center; justify-content:center; }
.ct-mg-photo img{ width:100%; height:100%; object-fit:cover; }
.ct-mg-photo span{ font-size:18px; font-weight:800; color:var(--ct-text-dim); }
.ct-mg-body{ flex:1; min-width:0; }
.ct-mg-name{ font-size:17px; font-weight:800; margin:0 0 8px; }
.ct-mg-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ct-mg-like{ display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 12px;
             border:1px solid var(--ct-line); border-radius:16px; background:transparent;
             color:var(--ct-text); font-size:13px; font-weight:600; cursor:pointer; }
.ct-mg-like.is-on{ border-color:var(--ct-accent); color:var(--ct-accent); }
.ct-mg-badge{ height:32px; line-height:30px; padding:0 12px; border-radius:8px; font-size:13px; font-weight:700;
              background:rgba(255,255,255,.06); color:var(--ct-accent); border:1px solid rgba(255,255,255,.08); }
.ct-mg-intro{ margin:12px 0 0; font-size:14px; line-height:1.6; color:var(--ct-text-dim);
              display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ct-mg-contact{ display:flex; align-items:stretch; margin-top:16px; }
.ct-mg-contact > *{ display:inline-flex; align-items:center; gap:8px; padding:8px 0;
                    font-size:16px; font-weight:700; color:var(--ct-text); background:none; border:0; cursor:pointer; }
.ct-mg-contact > * + *{ margin-left:16px; padding-left:16px; border-left:1px solid var(--ct-line); }
.ct-mg-contact .ct-ico{ width:20px; height:20px; color:var(--ct-text); }
.ct-mg-kakao i{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px;
                border-radius:7px; background:#fee500; color:#3c1e1e; font-size:9px; font-weight:800; font-style:normal;
                letter-spacing:-.3px; }
.ct-mg-copied{ margin-left:8px; font-size:12px; font-weight:600; color:var(--ct-primary-text); }

.ct-auth{ padding: 26px var(--ct-pad) 40px; }
.ct-auth-brand{ display:flex; align-items:center; justify-content:center; gap:8px; margin:0 0 22px; }
.ct-auth-brand img{ display:block; height:44px; width:auto; }
.ct-auth-title{ margin:0 0 6px; font-size:23px; font-weight:800; letter-spacing:-.6px; text-align:center; }
.ct-auth-desc{ margin:0 0 24px; font-size:14px; color:var(--ct-text-sub); text-align:center; line-height:1.6; }

.ct-auth .ct-input,
.ct-auth input[type="text"], .ct-auth input[type="password"], .ct-auth input[type="email"], .ct-auth input[type="tel"]{
    width:100%; height:48px; padding:0 15px; box-sizing:border-box;
    background:var(--ct-bg-elev); border:1px solid var(--ct-line); border-radius:12px;
    color:var(--ct-text); font-size:15px; transition:border-color .15s, box-shadow .15s;
}
.ct-auth .ct-input:focus,
.ct-auth input:focus{ outline:none; border-color:var(--ct-primary-2); box-shadow:0 0 0 3px rgba(168,85,247,.18); }
.ct-auth .ct-field{ margin-bottom:18px; }
.ct-auth .ct-field-label{ font-size:13.5px; color:var(--ct-text-sub); }

.ct-auth .ct-submit, .ct-auth-submit{
    width:100%; height:52px; margin-top:6px; border:0; border-radius:12px; cursor:pointer;
    background:linear-gradient(135deg,var(--ct-primary),var(--ct-primary-2)); color:#fff;
    font-size:16px; font-weight:700; letter-spacing:-.2px;
}
.ct-auth .ct-submit:disabled, .ct-auth-submit:disabled{ background:var(--ct-bg-elev2); color:var(--ct-text-dim); cursor:not-allowed; }
.ct-auth-links{ margin-top:18px; text-align:center; font-size:13.5px; color:var(--ct-text-sub); }
.ct-auth-links a{ color:var(--ct-text-sub); }
.ct-auth-links span{ margin:0 8px; opacity:.4; }

.ct-auth .ct-agree-head input:checked + .ct-agree-box::after,
.ct-agree-head input:checked + .ct-agree-box::after{
    content:''; position:absolute; left:7px; top:4px; width:5px; height:10px;
    border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
}
.ct-agree-box{ position:relative; }
.ct-auth .ct-agree-head input:checked ~ b{ color:var(--ct-text); }
.ct-auth .ct-agree:has(input:checked){ border-color:var(--ct-primary); }

.ct-cert-box{ margin:0 0 20px; padding:16px; border:1px solid var(--ct-line); border-radius:12px; background:var(--ct-bg-elev); }
.ct-cert-h{ margin:0 0 10px; font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:6px; }
.ct-cert-h::before{ content:''; width:16px; height:16px; border-radius:50%; flex:0 0 16px; }
.ct-cert-h-yes{ color:var(--ct-text); }
.ct-cert-h-yes::before{ background:var(--ct-primary); }
.ct-cert-h-no{ margin-top:18px; color:var(--ct-text-sub); }
.ct-cert-h-no::before{ background:var(--ct-line); }
.ct-cert-list{ margin:0; padding:0; list-style:none; }
.ct-cert-list li{ padding:0 0 10px 22px; font-size:13.5px; line-height:1.6; }
.ct-cert-list li:last-child{ padding-bottom:0; }
.ct-cert-list b{ display:block; color:var(--ct-text); font-weight:700; }
.ct-cert-list span{ display:block; margin-top:2px; color:var(--ct-text-dim); word-break:keep-all; }
.ct-cert-list span b{ display:inline; color:var(--ct-text-sub); }
.ct-cert-list.is-no b{ color:var(--ct-text-sub); }
.ct-cert-why{ margin:12px 0 0; font-size:12.5px; color:var(--ct-text-dim); line-height:1.6; word-break:keep-all; }

.ct-top-logo{ display:flex; align-items:center; justify-content:space-between; padding:0 var(--ct-pad); }
.ct-top-logo .ct-logo{ display:flex; align-items:center; }
.ct-top-logo .ct-logo img{ display:block; height:34px; width:auto; }
.ct-top-bell{ position:relative; display:flex; align-items:center; justify-content:center;
              width:40px; height:40px; margin-right:-8px; color:var(--ct-text); }
.ct-top-bell .ct-ico{ width:23px; height:23px; }
.ct-top-dot{ position:absolute; top:0; right:0; width:10px; height:10px; border-radius:50%;
             background:var(--ct-accent); border:2px solid var(--ct-bg); }

.ct-foot{ margin-top:34px; padding:26px var(--ct-pad) 22px; border-top:1px solid var(--ct-line-soft);
          text-align:center; color:var(--ct-text-dim); }
.ct-foot-warn{ margin:0 0 14px; font-size:12.5px; line-height:1.6; word-break:keep-all; }
.ct-foot-kw{ margin:0 0 6px; font-size:12px; }
.ct-foot-copy{ margin:0 0 16px; font-size:12px; }
.ct-foot-nav{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0 10px; font-size:12.5px; }
.ct-foot-nav a{ color:var(--ct-text-sub); position:relative; padding:3px 0; }
.ct-foot-nav a + a::before{ content:'|'; position:absolute; left:-7px; color:var(--ct-line); }
.ct-sec-cnt{ margin-left:6px; font-size:14px; font-weight:600; font-style:normal; color:var(--ct-text-dim); }

.ct-hero{ position:relative; overflow:hidden; margin:0 var(--ct-pad) 18px; padding:18px 18px 20px;
          border-radius:16px; background:linear-gradient(135deg,#6C2BFF 0%,#8B3DFF 55%,#B238F6 100%); color:#fff; }
.ct-hero-live{ display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; margin-bottom:12px;
               border-radius:999px; background:rgba(0,0,0,.28); font-size:11.5px; font-weight:700; letter-spacing:.3px; }
.ct-hero-live i{ width:6px; height:6px; border-radius:50%; background:#ff5f5f; }
.ct-hero-title{ display:block; font-size:21px; font-weight:800; line-height:1.35; letter-spacing:-.5px; }
.ct-hero-title b{ font-weight:800; }
.ct-hero-desc{ margin:10px 0 0; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.82); word-break:keep-all; }
.ct-hero-deco{ position:absolute; right:-26px; top:6px; width:118px; height:118px; border-radius:50%;
               background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.45), rgba(255,255,255,.06) 62%); }

.ct-pills{ display:flex; gap:8px; margin:14px var(--ct-pad) 6px; padding:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ct-pills::-webkit-scrollbar{ display:none; }
.ct-pill{ flex:0 0 auto; display:inline-flex; align-items:center; gap:3px; height:36px; padding:0 16px;
          border:1px solid var(--ct-line); border-radius:999px; background:var(--ct-bg-elev);
          color:var(--ct-text-sub); font-size:14px; font-weight:600; white-space:nowrap; }
.ct-pill.is-on{ background:var(--ct-primary-soft); border-color:var(--ct-primary); color:#fff; }
.ct-pill .ct-tabs-star{ color:var(--ct-star); }

.ct-top-title{ display:flex; align-items:baseline; gap:6px; min-width:0; }
.ct-top-sub{ font-size:12.5px; font-weight:400; color:var(--ct-text-dim); white-space:nowrap; }
.ct-top-acts{ display:flex; align-items:center; gap:2px; flex:0 0 auto; }
.ct-top-menu{ position:relative; }
.ct-top-menu-list{ position:absolute; right:0; top:38px; z-index:40; display:none; min-width:132px; margin:0; padding:6px;
    list-style:none; background:var(--ct-bg-elev2); border:1px solid var(--ct-line); border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.45); }
.ct-top-menu.is-open .ct-top-menu-list{ display:block; }
.ct-top-menu-list a{ display:block; padding:10px 12px; border-radius:8px; font-size:14px; color:var(--ct-text); }
.ct-top-menu-list a:hover{ background:rgba(255,255,255,.06); }

.ct-cocard-meta{ display:flex; align-items:center; gap:8px; margin-top:8px; }
.ct-cocard-time{ margin-left:auto; font-size:12.5px; font-style:normal; color:var(--ct-text-dim); }

.ct-carousel{ position:relative; margin:0 0 16px; overflow:hidden; }
.ct-carousel-track{ display:flex; gap:0; padding:0 var(--ct-pad); overflow-x:auto;
                    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
                    scrollbar-width:none; -ms-overflow-style:none; }
.ct-carousel-track::-webkit-scrollbar{ display:none; }
.ct-carousel-item{ flex:0 0 100%; margin:0;
                   scroll-snap-align:center; display:block; height:88px;
                   border-radius:12px; overflow:hidden; background:var(--ct-bg-elev2); }
.ct-carousel-item img{ width:100%; height:100%; object-fit:cover; display:block; }
.ct-carousel-text{ display:flex; flex-direction:column; justify-content:center; gap:3px; height:100%; padding:0 16px;
                   background:linear-gradient(135deg,#2a1c47,#3b2568); }
.ct-carousel-text b{ font-size:15px; font-weight:800; color:var(--ct-text); }
.ct-carousel-text em{ font-size:12.5px; font-style:normal; color:var(--ct-text-sub);
                      overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ct-carousel-text i{ font-size:13px; font-style:normal; font-weight:700; color:var(--ct-primary-text); }
.ct-carousel-count{ position:absolute; right:calc(var(--ct-pad) + 8px); bottom:8px;
                    padding:2px 9px; border-radius:999px; background:rgba(0,0,0,.55);
                    font-size:11.5px; color:#fff; }
.ct-carousel-count b{ font-weight:700; }

.ct-adinline{ display:flex; align-items:center; gap:12px; position:relative;
              margin:0 var(--ct-pad) 10px; padding:12px 14px; border-radius:12px;
              background:var(--ct-bg-elev); border:1px solid var(--ct-line); }
.ct-adinline img{ width:100%; border-radius:8px; display:block; }
.ct-adinline-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.ct-adinline-body b{ font-size:14px; font-weight:700; }
.ct-adinline-body em{ font-size:12.5px; font-style:normal; color:var(--ct-text-sub);
                      overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ct-adinline-tel{ font-size:13px; font-style:normal; font-weight:700; color:var(--ct-primary-text); white-space:nowrap; }
.ct-adinline-tag{ position:absolute; left:10px; top:-7px; padding:1px 7px; border-radius:5px;
                  background:var(--ct-primary); color:#fff; font-size:10px; font-weight:800; }

.ct-sec-toggle .ct-ico{ transition: transform .2s ease; }
.ct-chip, .ct-pill, .ct-tabs-item{ transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.ct-cocard{ transition: background-color .15s ease; }
.ct-cocard:active{ background: var(--ct-bg-elev2); }

.ct-reload{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
            border:1px solid var(--ct-line); border-radius:10px; background:var(--ct-bg-elev);
            color:var(--ct-text-sub); cursor:pointer; }
.ct-reload.is-spin .ct-ico{ animation: ct-spin .8s linear infinite; }
@keyframes ct-spin{ to{ transform: rotate(360deg); } }

.ct-toast{ position:fixed; left:50%; bottom:calc(var(--ct-tabbar-h, 62px) + 18px); transform:translate(-50%, 10px);
           max-width:calc(100% - 40px); padding:11px 18px; border-radius:999px;
           background:rgba(30,25,40,.96); color:var(--ct-text); font-size:13.5px; font-weight:600;
           box-shadow:0 8px 24px rgba(0,0,0,.45); opacity:0; pointer-events:none; z-index:90;
           transition:opacity .2s ease, transform .2s ease; }
.ct-toast.is-on{ opacity:1; transform:translate(-50%, 0); }

@media (prefers-reduced-motion: reduce){
    .ct-carousel-track{ scroll-behavior:auto; }
    .ct-sec-toggle .ct-ico, .ct-chip, .ct-pill, .ct-tabs-item, .ct-toast{ transition:none; }
    .ct-reload.is-spin .ct-ico{ animation:none; }
}
.ct-tabsrow{ display:flex; align-items:center; gap:8px; padding-right:var(--ct-pad); }
.ct-tabsrow .ct-pills{ flex:1; min-width:0; padding-right:0; }

.ct-noticebar{ display:flex; align-items:center; gap:8px; margin:0 var(--ct-pad) 14px; padding:12px 14px;
               border:1px solid var(--ct-line); border-radius:12px; background:var(--ct-bg-elev); }
.ct-noticebar-ico{ display:inline-flex; flex:0 0 18px; color:var(--ct-primary-text); }
.ct-noticebar-ico .ct-ico{ width:18px; height:18px; }
.ct-noticebar-txt{ flex:1; min-width:0; font-size:13.5px; color:var(--ct-text);
                   overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ct-noticebar-txt em{ font-style:normal; color:var(--ct-text-dim); }
.ct-noticebar > .ct-ico{ width:18px; height:18px; color:var(--ct-text-dim); transform:rotate(-90deg); flex:0 0 18px; }

.ct-carousel-intro{ position:relative; display:flex; flex-direction:column; justify-content:center;
                    padding:18px; background:linear-gradient(135deg,#6C2BFF 0%,#8B3DFF 55%,#B238F6 100%); color:#fff; }
.ct-carousel-intro .ct-hero-title{ font-size:18px; }
.ct-carousel-intro .ct-hero-desc{ margin-top:8px; font-size:11.5px; }
.ct-carousel-intro .ct-hero-live{ margin-bottom:8px; }
.ct-carousel-item{ height:112px; }

.ct-cocard-logo{ position:relative; }
.ct-cocard-cat{ position:absolute; left:0; right:0; bottom:0; padding:3px 4px;
                background:rgba(10,8,14,.72); color:#e9e6ef; font-size:9.5px; font-style:normal;
                font-weight:700; text-align:center; letter-spacing:-.3px;
                overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }


.ct-carousel-item{ flex:0 0 100%; }
.ct-carousel-track{ gap:10px; }

.ct-auth{ padding-top:14px; }
.ct-auth-desc-top{ margin-top:2px; }

.ct-cert-yes{ border-color:rgba(124,58,237,.45); }
.ct-cert-no{ margin-top:12px; background:transparent; }
.ct-cert-h-no{ margin-top:0; }

.ct-agree-box{ width:22px; height:22px; border-radius:7px; border:1.5px solid var(--ct-line);
               background:var(--ct-bg-elev2); flex:0 0 22px; }
.ct-agree-head input:checked + .ct-agree-box{ background:var(--ct-primary); border-color:var(--ct-primary); }
.ct-agree-head input:checked + .ct-agree-box::after{ left:8px; top:4px; }
.ct-agree-head input[type="radio"] + .ct-agree-box{ border-radius:50%; }

.ct-noticebar-ico .ct-ico{ width:19px; height:19px; }


.ct-schrow{ display:flex; align-items:center; gap:8px; margin:0 var(--ct-pad) 14px; }
.ct-schrow-field{ position:relative; flex:1; min-width:0; display:flex; align-items:center; gap:8px;
                  height:44px; padding:0 12px; border:1px solid var(--ct-line); border-radius:12px;
                  background:var(--ct-bg-elev); }
.ct-schrow-field .ct-ico{ width:18px; height:18px; color:var(--ct-text-dim); flex:0 0 18px; }
.ct-schrow-field input{ flex:1; min-width:0; height:100%; border:0; background:none; color:var(--ct-text); font-size:14px; }
.ct-schrow-field input:focus{ outline:none; }
.ct-schrow-field input::placeholder{ color:var(--ct-text-dim); }
.ct-schrow-field input::-webkit-search-cancel-button{ display:none; }
.ct-schrow-clear{ flex:0 0 auto; padding:0 2px; color:var(--ct-text-dim); font-size:19px; line-height:1; }
.ct-schrow .ct-reload{ flex:0 0 44px; width:44px; height:44px; border-radius:12px; }

.ct-iq-top{ display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
.ct-iq-desc{ flex:1; margin:0; font-size:13px; line-height:1.6; color:var(--ct-text-sub); }
.ct-iq-new{ flex:0 0 auto; height:38px; padding:0 16px; display:inline-flex; align-items:center;
            border-radius:10px; background:var(--ct-primary); color:#fff; font-size:13.5px; font-weight:700; }
.ct-iq-list{ list-style:none; margin:0; padding:0; }
.ct-iq-list li + li{ margin-top:10px; }
.ct-iq-list a{ display:block; padding:14px; border:1px solid var(--ct-line); border-radius:12px; background:var(--ct-bg-elev); }
.ct-iq-line{ display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.ct-iq-kind{ font-style:normal; font-size:11.5px; font-weight:700; color:var(--ct-primary-text);
             background:var(--ct-primary-soft); border-radius:6px; padding:2px 7px; }
.ct-iq-state{ font-style:normal; font-size:11.5px; font-weight:700; color:var(--ct-text-dim);
              border:1px solid var(--ct-line); border-radius:6px; padding:2px 7px; }
.ct-iq-state.is-done{ color:#5ad19a; border-color:rgba(90,209,154,.4); }
.ct-iq-subject{ display:block; font-size:14.5px; font-weight:700; margin-bottom:4px; }
.ct-iq-date{ font-size:12px; color:var(--ct-text-dim); }
.ct-iq-head{ padding-bottom:14px; border-bottom:1px solid var(--ct-line); }
.ct-iq-title{ margin:6px 0 4px; font-size:18px; font-weight:800; }
.ct-iq-body{ padding:16px 0; font-size:14.5px; line-height:1.75; white-space:pre-wrap; word-break:break-word; }
.ct-iq-reply{ margin-top:8px; padding:16px; border-radius:12px; background:var(--ct-bg-elev); border:1px solid var(--ct-line); }
.ct-iq-reply-head{ margin:0 0 8px; font-size:13px; font-weight:700; color:var(--ct-primary-text); }
.ct-iq-reply-head em{ font-style:normal; font-weight:400; color:var(--ct-text-dim); margin-left:6px; }
.ct-iq-reply-body{ font-size:14.5px; line-height:1.75; white-space:pre-wrap; word-break:break-word; }
.ct-textarea{ height:auto; padding:12px 14px; line-height:1.6; resize:vertical; }
.ct-stat-wait{ color:var(--ct-primary-text); border-color:rgba(124,58,237,.4); }

.ct-talkpager{ position:fixed; right:14px; bottom:calc(var(--ct-tabbar-h, 62px) + 16px); z-index:40;
               display:flex; flex-direction:column; align-items:center; gap:2px;
               padding:6px 4px; border-radius:999px; background:rgba(30,25,40,.94);
               border:1px solid var(--ct-line); box-shadow:0 6px 18px rgba(0,0,0,.45); }
.ct-talkpager a, .ct-talkpager span{ display:inline-flex; align-items:center; justify-content:center;
               width:34px; height:30px; color:var(--ct-text); }
.ct-talkpager .is-off{ opacity:.28; }
.ct-talkpager b{ font-size:11.5px; font-weight:700; color:var(--ct-text-sub); letter-spacing:-.2px; }
.ct-talkpager .ct-ico{ width:18px; height:18px; }
.ct-cocard-star{ border:0; background:none; padding:6px; cursor:pointer; color:var(--ct-text-dim); }
.ct-cocard-star.is-on{ color:var(--ct-star); }

.ct-radios{ display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.ct-radio{ display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px;
    border: 1px solid var(--ct-line); border-radius: 12px; background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 15px; cursor: pointer; }
.ct-radio input{ appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin: 0;
    border: 1.5px solid var(--ct-line-2, var(--ct-line)); border-radius: 50%; background: transparent; flex: 0 0 auto; }
.ct-radio input:checked{ border-color: var(--ct-primary-2); box-shadow: inset 0 0 0 5px var(--ct-primary-2); }
.ct-radio:has(input:checked){ border-color: var(--ct-primary); background: var(--ct-primary-soft); color: var(--ct-text); }
.ct-radio input:focus-visible{ outline: 2px solid var(--ct-primary-2); outline-offset: 2px; }

.ct-guide-body{ margin: 6px 0 22px; color: var(--ct-text-sub); font-size: 14.5px; line-height: 1.85; word-break: keep-all; }
.ct-deflist{ margin: 6px 0 22px; padding: 4px 0; border-top: 1px solid var(--ct-line); }
.ct-deflist dt{ float: left; width: 112px; padding: 12px 0; color: var(--ct-text-dim); font-size: 13.5px; }
.ct-deflist dd{ margin: 0 0 0 112px; padding: 12px 0; border-bottom: 1px solid var(--ct-line);
    color: var(--ct-text); font-size: 14.5px; }
.ct-deflist::after{ content: ''; display: block; clear: both; }
.ct-guide-nav{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ct-guide-nav a{ display: inline-flex; align-items: center; height: 38px; padding: 0 14px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 13.5px; text-decoration: none; }
.ct-guide-h{ margin: 22px 0 8px; color: var(--ct-text); font-size: 15.5px; font-weight: 700; letter-spacing: -.2px; }
.ct-guide-h:first-child{ margin-top: 6px; }
.ct-guide-body p{ margin: 0 0 12px; }
.ct-guide-body strong{ color: var(--ct-text); }

.ct-upload{ display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 14px; margin-top: 8px;
    border: 1px dashed var(--ct-line); border-radius: 12px; background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 14.5px; cursor: pointer; }
.ct-upload input[type="file"]{ position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ct-upload-ico{ display: inline-flex; flex: 0 0 auto; }
.ct-upload-ico .ct-ico{ width: 20px; height: 20px; fill: var(--ct-primary-2); }
.ct-upload-txt{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-upload:hover{ border-color: var(--ct-primary-2); }

.ct-state{ display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px;
    font-size: 12.5px; font-weight: 700; background: var(--ct-bg-elev); color: var(--ct-text-sub);
    border: 1px solid var(--ct-line); }
.ct-state-ok{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.4); color: #6ee7b7; }
.ct-state-wait{ background: var(--ct-primary-soft); border-color: var(--ct-primary); color: var(--ct-primary-text); }
.ct-state-reject{ background: rgba(255,107,107,.14); border-color: rgba(255,107,107,.4); color: #ff9b9b; }

.ct-kwform{ display: flex; gap: 8px; margin: 6px 0 16px; }
.ct-kwform .ct-input{ flex: 1 1 auto; }
.ct-kwadd{ flex: 0 0 auto; height: 52px; padding: 0 20px; border: 0; border-radius: 12px; cursor: pointer;
    background: linear-gradient(135deg, var(--ct-primary), var(--ct-primary-2)); color: #fff;
    font-size: 15px; font-weight: 700; }
.ct-kwlist{ display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.ct-kwlist li{ display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 6px 0 14px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev); }
.ct-kw{ color: var(--ct-text); font-size: 14px; }
.ct-kwdel{ width: 26px; height: 26px; border: 0; border-radius: 50%; cursor: pointer;
    background: transparent; color: var(--ct-text-dim); font-size: 17px; line-height: 1; }
.ct-kwdel:hover{ background: var(--ct-primary-soft); color: #fff; }

.ct-prods .ct-radio{ align-items: flex-start; min-height: 0; padding: 14px; }
.ct-prod-body{ display: flex; flex-direction: column; gap: 4px; }
.ct-prod-name{ color: var(--ct-text); font-size: 15px; font-weight: 700; }
.ct-prod-benefit{ color: var(--ct-text-dim); font-size: 12.5px; line-height: 1.5; }
.ct-prod-price{ color: var(--ct-primary-text); font-size: 14px; font-weight: 700; }
.ct-prod-price i{ margin-left: 6px; color: var(--ct-text-dim); font-style: normal; font-weight: 400; font-size: 12.5px; }

.ct-orders{ margin: 0; padding: 0; list-style: none; }
.ct-order{ padding: 14px 0; border-bottom: 1px solid var(--ct-line); }
.ct-order-top{ display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.ct-order-top time{ margin-left: auto; color: var(--ct-text-dim); font-size: 12px; }
.ct-order-state{ display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px;
    font-size: 11.5px; font-style: normal; font-weight: 700;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line); color: var(--ct-text-sub); }
.ct-order-state.is-paid{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.4); color: #6ee7b7; }
.ct-order-state.is-wait{ background: var(--ct-primary-soft); border-color: var(--ct-primary); color: var(--ct-primary-text); }
.ct-order-state.is-cancel, .ct-order-state.is-refund{ color: var(--ct-text-dim); }
.ct-order-name{ display: flex; align-items: baseline; gap: 8px; color: var(--ct-text); font-size: 15px; }
.ct-order-name em{ margin-left: auto; color: var(--ct-text); font-style: normal; font-weight: 700; }
.ct-order-sub{ margin: 4px 0 0; color: var(--ct-text-sub); font-size: 13px; }
.ct-order-term{ margin: 2px 0 0; color: var(--ct-text-dim); font-size: 12.5px; }
.ct-modal.is-lock .ct-modal-dim{ cursor: default; }

.ct-jointab{ display: flex; align-items: center; gap: 8px; margin: 0 0 18px; }
.ct-jointab-item{ display: inline-flex; align-items: center; height: 36px; padding: 0 16px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev);
    color: var(--ct-text-dim); font-size: 13.5px; }
.ct-jointab-item.is-on{ border-color: var(--ct-primary); background: var(--ct-primary-soft);
    color: #fff; font-weight: 700; }
.ct-jointab-change{ margin-left: auto; color: var(--ct-text-dim); font-size: 12.5px; text-decoration: underline; }

.ct-inline{ display: flex; gap: 8px; }
.ct-inline .ct-input{ flex: 1 1 auto; }
.ct-inline-btn{ flex: 0 0 auto; height: 52px; padding: 0 16px; border: 1px solid var(--ct-line);
    border-radius: 12px; background: var(--ct-bg-elev); color: var(--ct-text-sub);
    font-size: 14px; cursor: pointer; }
.ct-inline-btn:hover{ border-color: var(--ct-primary-2); color: var(--ct-text); }

.ct-filter-btn{ display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev);
    color: var(--ct-text); font-size: 14px; cursor: pointer; white-space: nowrap; }
.ct-filter-btn::after{ content: ''; width: 0; height: 0; border-left: 4px solid transparent;
    border-right: 4px solid transparent; border-top: 5px solid var(--ct-text-dim); }

.ct-sheet{ position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-end; justify-content: center; }
.ct-sheet-dim{ position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.ct-sheet-box{ position: relative; width: 100%; max-width: var(--ct-app-w, 480px); max-height: 82vh;
    display: flex; flex-direction: column; background: var(--ct-bg); border-radius: 18px 18px 0 0;
    border: 1px solid var(--ct-line); border-bottom: 0; }
.ct-sheet-hd{ display: flex; align-items: center; padding: 16px var(--ct-pad); border-bottom: 1px solid var(--ct-line); }
.ct-sheet-hd strong{ color: var(--ct-text); font-size: 16px; }
.ct-sheet-x{ margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 50%;
    background: var(--ct-bg-elev); color: var(--ct-text-sub); font-size: 18px; line-height: 1; cursor: pointer; }
.ct-sheet-body{ flex: 1 1 auto; overflow-y: auto; padding: 12px var(--ct-pad); }
.ct-sheet-2col{ display: flex; gap: 10px; padding-left: 0; }
.ct-sheet-sido{ flex: 0 0 104px; display: flex; flex-direction: column; overflow-y: auto;
    border-right: 1px solid var(--ct-line); }
.ct-sido{ height: 42px; border: 0; background: transparent; color: var(--ct-text-sub);
    font-size: 14px; text-align: left; padding: 0 12px; cursor: pointer; }
.ct-sido.is-on{ background: var(--ct-primary-soft); color: #fff; font-weight: 700; }
.ct-sheet-gu{ flex: 1 1 auto; overflow-y: auto; }
.ct-gu{ display: flex; align-items: center; min-height: 42px; padding: 0 6px; cursor: pointer; }
.ct-gu input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-gu span{ color: var(--ct-text-sub); font-size: 14.5px; }
.ct-gu input:checked + span{ color: var(--ct-primary-text); font-weight: 700; }
.ct-sheet-chips{ display: flex; flex-wrap: wrap; gap: 8px; }
.ct-gu.is-chip{ min-height: 0; padding: 0; }
.ct-gu.is-chip span{ display: inline-flex; align-items: center; height: 40px; padding: 0 16px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev); }
.ct-gu.is-chip input:checked + span{ border-color: var(--ct-primary); background: var(--ct-primary-soft); color: #fff; }
.ct-sheet-ft{ display: flex; gap: 10px; padding: 12px var(--ct-pad) calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--ct-line); }
.ct-sheet-reset{ flex: 0 0 110px; height: 50px; border: 1px solid var(--ct-line); border-radius: 12px;
    background: var(--ct-bg-elev); color: var(--ct-text-sub); font-size: 15px; cursor: pointer; }
.ct-sheet-apply{ flex: 1 1 auto; height: 50px; border: 0; border-radius: 12px; cursor: pointer;
    background: linear-gradient(135deg, var(--ct-primary), var(--ct-primary-2)); color: #fff;
    font-size: 16px; font-weight: 700; }
.ct-sheet[hidden]{ display: none; }

.ct-benefits{ margin: 16px 0 22px; padding: 0; list-style: none; }
.ct-benefits li{ position: relative; padding: 9px 0 9px 28px; color: var(--ct-text); font-size: 14.5px; line-height: 1.5; }
.ct-benefits li::before{ content: ''; position: absolute; left: 4px; top: 14px; width: 13px; height: 7px;
    border-left: 2px solid var(--ct-primary-2); border-bottom: 2px solid var(--ct-primary-2);
    transform: rotate(-45deg); }

.ct-terms{ display: flex; gap: 10px; margin-top: 8px; }
.ct-term{ flex: 1 1 0; display: flex; align-items: center; justify-content: center; min-height: 74px;
    padding: 10px; border: 1px solid var(--ct-line); border-radius: 14px; background: var(--ct-bg-elev);
    cursor: pointer; text-align: center; }
.ct-term input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-term-body{ display: flex; flex-direction: column; gap: 3px; }
.ct-term-list{ color: var(--ct-text-dim); font-size: 12px; }
.ct-term-body b{ color: var(--ct-text); font-size: 14.5px; font-weight: 700; }
.ct-term:has(input:checked){ border-color: var(--ct-primary); background: var(--ct-primary-soft); }
.ct-term:has(input:checked) .ct-term-body b{ color: #fff; }

.ct-pointcard{ display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 16px;
    background: linear-gradient(135deg, var(--ct-primary), var(--ct-primary-2)); color: #fff; }
.ct-pointcard-label{ font-size: 13.5px; opacity: .9; }
.ct-pointcard-amount{ font-size: 28px; font-weight: 800; letter-spacing: -.5px; }
.ct-pointpolicy{ display: flex; align-items: center; gap: 8px; margin-top: 12px; height: 52px; padding: 0 16px;
    border: 1px solid var(--ct-line); border-radius: 14px; background: var(--ct-bg-elev);
    color: var(--ct-text); font-size: 14.5px; text-decoration: none; }
.ct-pointpolicy i{ margin-left: auto; color: var(--ct-text-dim); font-style: normal; }

.ct-giftrow{ display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--ct-line); }
.ct-giftrow-thumb{ flex: 0 0 76px; height: 76px; border-radius: 12px; display: flex; align-items: center;
    justify-content: center; background: var(--ct-primary-soft); color: var(--ct-primary-text);
    font-size: 15px; font-weight: 700; }
.ct-giftrow-body{ flex: 1 1 auto; display: flex; flex-direction: column; gap: 10px; }
.ct-giftrow-body strong{ color: var(--ct-text); font-size: 15px; }
.ct-giftrow-prices{ display: flex; flex-wrap: wrap; gap: 8px; }
.ct-giftprice input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-giftprice span{ display: inline-flex; align-items: center; height: 36px; padding: 0 14px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 13.5px; cursor: pointer; }
.ct-giftprice input:checked + span{ border-color: var(--ct-primary); background: var(--ct-primary-soft); color: #fff; }
.ct-giftprice.is-off span{ opacity: .45; cursor: not-allowed; }
.ct-pointtotal{ display: flex; align-items: center; margin: 8px 0 18px; color: var(--ct-text); font-size: 15px; }
.ct-pointtotal b{ margin-left: auto; font-size: 17px; }

.ct-ptlog{ margin: 0; padding: 0; list-style: none; }
.ct-ptlog li{ display: flex; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--ct-line); }
.ct-ptlog-l{ display: flex; flex-direction: column; gap: 3px; }
.ct-ptlog-l strong{ color: var(--ct-text); font-size: 14.5px; font-weight: 600; }
.ct-ptlog-l time{ color: var(--ct-text-dim); font-size: 12px; }
.ct-ptlog-a{ margin-left: auto; color: var(--ct-text-sub); font-size: 15px; font-weight: 700; }
.ct-ptlog-a.is-plus{ color: var(--ct-primary-text); }

.ct-giftbox{ margin: 0; padding: 0; list-style: none; }
.ct-giftbox li{ display: flex; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--ct-line); }
.ct-giftbox-body{ display: flex; flex-direction: column; gap: 3px; }
.ct-giftbox-body strong{ color: var(--ct-text); font-size: 14.5px; }
.ct-giftbox-body span{ color: var(--ct-text-dim); font-size: 12.5px; }
.ct-giftbox-code{ color: var(--ct-primary-text) !important; font-family: ui-monospace, monospace; }
.ct-giftbox-btn{ margin-left: auto; height: 36px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer;
    background: linear-gradient(135deg, var(--ct-primary), var(--ct-primary-2)); color: #fff; font-size: 13.5px; font-weight: 700; }
.ct-giftbox-state{ margin-left: auto; color: var(--ct-text-dim); font-size: 13px; }

.ct-search-solo{ margin: 4px 0 14px; }
.ct-wikilist{ margin: 6px 0 0; padding: 0; list-style: none; }
.ct-wikilist li{ border-bottom: 1px solid var(--ct-line); }
.ct-wikilist a{ display: flex; align-items: center; gap: 8px; padding: 15px 2px; text-decoration: none; }
.ct-wiki-title{ color: var(--ct-primary-text); font-size: 15px; font-weight: 600; }
.ct-wiki-diff{ font-style: normal; font-size: 12.5px; font-weight: 700; }
.ct-wiki-diff.is-plus{ color: #6ee7b7; }
.ct-wiki-diff.is-minus{ color: #ff9b9b; }
.ct-wikilist time{ margin-left: auto; color: var(--ct-text-dim); font-size: 12.5px; }
.ct-wiki-meta{ margin: 2px 0 14px; color: var(--ct-text-dim); font-size: 12.5px; }
.ct-wikiacts{ display: flex; gap: 8px; margin: 14px 0; }
.ct-wikiact{ display: inline-flex; align-items: center; height: 38px; padding: 0 16px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 13.5px; text-decoration: none; }
.ct-wikiact.is-primary{ border-color: var(--ct-primary); background: var(--ct-primary-soft); color: #fff; font-weight: 700; }
.ct-revlist{ margin: 6px 0 16px; padding: 0; list-style: none; }
.ct-revlist li{ display: flex; align-items: center; gap: 10px; padding: 13px 2px; border-bottom: 1px solid var(--ct-line); }
.ct-rev-l{ display: flex; flex-direction: column; gap: 3px; }
.ct-rev-l strong{ color: var(--ct-text); font-size: 14px; }
.ct-rev-l span{ color: var(--ct-text-sub); font-size: 12.5px; }
.ct-rev-l time{ color: var(--ct-text-dim); font-size: 12px; }
.ct-revlist .ct-wiki-diff{ margin-left: auto; }

.ct-switchrow{ display: flex; align-items: center; min-height: 54px; padding: 0 var(--ct-pad);
    color: var(--ct-text); font-size: 15px; }
.ct-switch{ margin-left: auto; position: relative; display: inline-block; width: 46px; height: 26px; }
.ct-switch input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-switch i{ position: absolute; inset: 0; border-radius: 999px; background: var(--ct-bg-elev);
    border: 1px solid var(--ct-line); transition: background .15s, border-color .15s; }
.ct-switch i::after{ content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px;
    border-radius: 50%; background: var(--ct-text-dim); transition: transform .15s, background .15s; }
.ct-switch input:checked + i{ background: var(--ct-primary); border-color: var(--ct-primary); }
.ct-switch input:checked + i::after{ transform: translateX(20px); background: #fff; }

.ct-adwarn{ margin: 0; padding: 14px var(--ct-pad); background: var(--ct-primary-soft);
    color: var(--ct-text-sub); font-size: 13px; line-height: 1.6; text-align: center; }
.ct-adwarn a{ display: block; margin-top: 4px; color: var(--ct-primary-text); text-decoration: underline; }
.ct-formsec{ display: flex; align-items: center; margin: 26px 0 12px; color: var(--ct-text);
    font-size: 16px; font-weight: 700; }
.ct-formsec::before{ content: ''; width: 4px; height: 16px; margin-right: 8px; border-radius: 2px;
    background: linear-gradient(180deg, var(--ct-primary), var(--ct-primary-2)); }
.ct-formsec-act{ margin-left: auto; color: var(--ct-primary-text); font-size: 12.5px; font-weight: 400; text-decoration: underline; }
.ct-chipset{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ct-chipradio input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-chipradio span{ display: inline-flex; align-items: center; height: 40px; padding: 0 18px;
    border: 1px solid var(--ct-line); border-radius: 999px; background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 14px; cursor: pointer; }
.ct-chipradio input:checked + span{ border-color: var(--ct-primary); background: var(--ct-primary); color: #fff; font-weight: 700; }
.ct-amount{ display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.ct-amount .ct-input{ flex: 1 1 auto; }
.ct-amount span{ color: var(--ct-text-dim); font-size: 14px; }
.ct-adbtns{ display: flex; gap: 10px; margin-top: 22px; }
.ct-adbtns .ct-bigbtn{ flex: 1 1 0; }
.ct-adbtns .ct-bigbtn[disabled]{ opacity: .5; cursor: not-allowed; }
.ct-amount span{ white-space: nowrap; }
.ct-adimg{ position: relative; margin: 8px 0 10px; }
.ct-adimg img{ width: 100%; max-width: 240px; aspect-ratio: 1/1; object-fit: cover;
    border-radius: 14px; border: 1px solid var(--ct-line); display: block; }
.ct-adimg-del{ display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
    color: var(--ct-text-dim); font-size: 13px; cursor: pointer; }

.ct-csnote{ margin: 0; padding: 12px var(--ct-pad); background: var(--ct-bg-elev);
    color: var(--ct-text-dim); font-size: 12.5px; text-align: center; }
.ct-cs{ padding: 14px var(--ct-pad) 90px; min-height: 40vh; }
.ct-cs-empty{ margin: 60px 0; color: var(--ct-text-dim); font-size: 14px; text-align: center; }
.ct-cs-day{ display: flex; align-items: center; gap: 10px; margin: 16px 0 14px; }
.ct-cs-day::before, .ct-cs-day::after{ content: ''; flex: 1 1 auto; height: 1px; background: var(--ct-line); }
.ct-cs-day span{ color: var(--ct-text-dim); font-size: 12px; }
.ct-cs-row{ display: flex; align-items: flex-end; gap: 6px; margin: 0 0 12px; }
.ct-cs-row.is-mine{ flex-direction: row-reverse; }
.ct-cs-bubble{ max-width: 76%; padding: 11px 14px; border-radius: 14px; font-size: 14.5px; line-height: 1.65;
    background: var(--ct-bg-elev); color: var(--ct-text); border: 1px solid var(--ct-line); word-break: break-word; }
.ct-cs-row.is-mine .ct-cs-bubble{ background: var(--ct-primary-soft); border-color: var(--ct-primary);
    color: #fff; }
.ct-cs-row time{ color: var(--ct-text-dim); font-size: 11.5px; flex: 0 0 auto; }
.ct-csform{ position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(var(--ct-tabbar-h, 62px) + env(safe-area-inset-bottom));
    width: 100%; max-width: var(--ct-app-w, 480px); padding: 10px var(--ct-pad);
    background: var(--ct-bg); border-top: 1px solid var(--ct-line); z-index: 20; box-sizing: border-box; }
.ct-csbar{ display: flex; gap: 8px; align-items: center; }
.ct-csform input{ flex: 1 1 auto; height: 46px; padding: 0 15px; box-sizing: border-box;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line); border-radius: 999px;
    color: var(--ct-text); font-size: 14.5px; }
.ct-csform input::placeholder{ color: var(--ct-text-dim); }
.ct-csform button{ flex: 0 0 auto; width: 46px; height: 46px; border: 0; border-radius: 50%; cursor: pointer;
    background: linear-gradient(135deg, var(--ct-primary), var(--ct-primary-2)); }
.ct-csform button .ct-ico{ width: 20px; height: 20px; fill: #fff; transform: rotate(-90deg); }
.ct-csimg{ flex: 0 0 auto; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--ct-line); border-radius: 14px; background: var(--ct-bg-elev); cursor: pointer; }
.ct-csimg .ct-ico{ width: 22px; height: 22px; fill: var(--ct-text-dim); }
.ct-csimg:hover .ct-ico{ fill: var(--ct-text); }
.ct-csprev{ position: relative; margin: 0 0 10px; }
.ct-csprev[hidden]{ display: none; }
.ct-csprev img{ display: block; width: 100%; max-height: 190px; object-fit: contain; border-radius: 14px;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line); }
.ct-csform .ct-csprev-x{ position: absolute; top: -10px; right: -6px; width: 32px; height: 32px; border: 0; border-radius: 50%;
    background: var(--ct-primary); color: #fff; font-size: 19px; line-height: 1; cursor: pointer; }
.ct-cs-bubble.has-img{ padding: 6px; }
.ct-cs-bubble.has-img .ct-cs-img{ display: block; }
.ct-cs-bubble.has-img img{ display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: 10px; }
.ct-cs-bubble.has-img span{ display: block; padding: 8px 8px 4px; }
.ct-sharebtn{ display: block; width: 100%; height: 48px; margin-top: 10px; border-radius: 14px; cursor: pointer;
    border: 1px solid var(--ct-primary); background: var(--ct-primary-soft); color: #fff;
    font-size: 15px; font-weight: 700; }
.ct-policy-cond{ display: block; margin-top: 2px; color: var(--ct-text-dim); font-size: 12px; font-style: normal; }
.ct-label-sub{ margin-left: 4px; color: var(--ct-text-dim); font-size: 12.5px; font-style: normal; font-weight: 400; }
.ct-prevcard{ padding: 16px; border: 1px solid var(--ct-line); border-radius: 14px; background: var(--ct-bg-elev); }
.ct-prevcard strong{ display: block; color: var(--ct-primary-text); font-size: 13px; font-weight: 700; }
.ct-prevcard p{ margin: 6px 0 4px; color: var(--ct-text); font-size: 15px; line-height: 1.5; }
.ct-prevcard span{ color: var(--ct-text-dim); font-size: 12.5px; }
.ct-radio-sub{ display: block; margin-top: 2px; color: var(--ct-text-dim); font-size: 12px; font-style: normal; }
.ct-radios .ct-radio{ align-items: flex-start; padding: 12px 14px; min-height: 0; }

.ct-rt{ border: 1px solid var(--ct-line); border-radius: 14px; background: var(--ct-bg-elev); overflow: hidden; }
.ct-rt-tools{ display: flex; align-items: center; gap: 2px; padding: 6px 8px;
    background: var(--ct-bg); border-bottom: 1px solid var(--ct-line); }
.ct-rt-tools button{ width: 34px; height: 32px; border: 0; border-radius: 8px; cursor: pointer;
    background: transparent; color: var(--ct-text-dim); font-size: 14px; line-height: 1; }
.ct-rt-tools button:hover{ background: var(--ct-bg-elev); color: var(--ct-text); }
.ct-rt-tools button .ct-ico{ width: 18px; height: 18px; fill: currentColor; }
.ct-rt-tools b, .ct-rt-tools u, .ct-rt-tools s{ font-weight: 700; }
.ct-rt-sep{ width: 1px; height: 18px; margin: 0 4px; background: var(--ct-line); }
.ct-rt-block{ height: 32px; padding: 0 6px; border: 0; border-radius: 8px; cursor: pointer;
    background: transparent; color: var(--ct-text); font-size: 13.5px; }
.ct-rt-body{ position: relative; min-height: 190px; padding: 14px; color: var(--ct-text); font-size: 15px;
    line-height: 1.7; outline: 0; word-break: break-word; }
.ct-rt.is-empty .ct-rt-body::before{ content: attr(data-placeholder); color: var(--ct-text-dim);
    position: absolute; top: 14px; left: 14px; right: 14px; pointer-events: none; }
.ct-rt-body p{ margin: 0 0 8px; }
.ct-rt-body h3{ margin: 4px 0 8px; font-size: 17px; font-weight: 700; }
.ct-rt-body a{ color: var(--ct-primary-text); text-decoration: underline; }
.ct-al-center{ text-align: center; }
.ct-al-right{ text-align: right; }

.ct-paybox{ margin: 18px 0 14px; padding: 16px; border: 1px solid var(--ct-line); border-radius: 14px;
    background: var(--ct-bg-elev); }
.ct-paybox h3{ margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--ct-text); }
.ct-paybox dl{ margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 12px; }
.ct-paybox dt{ color: var(--ct-text-dim); font-size: 13.5px; }
.ct-paybox dd{ margin: 0; text-align: right; color: var(--ct-text); font-size: 13.5px; }
.ct-paybox-total{ display: flex; align-items: center; justify-content: space-between;
    margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--ct-line); }
.ct-paybox-total span{ color: var(--ct-text); font-size: 14.5px; font-weight: 700; }
.ct-paybox-total strong{ color: var(--ct-primary-text); font-size: 18px; font-weight: 800; }
.ct-paybox-help{ margin: 10px 0 0; color: var(--ct-text-dim); font-size: 12.5px; }
.ct-paybox-help a{ color: var(--ct-primary-text); text-decoration: underline; }

.ct-order-dl{ margin: 10px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 7px 12px; }
.ct-order-dl dt{ color: var(--ct-text-dim); font-size: 13px; }
.ct-order-dl dd{ margin: 0; text-align: right; color: var(--ct-text); font-size: 13px; word-break: break-all; }
.ct-order-dl dd b{ font-weight: 700; }
.ct-order-dl dd.is-warn{ color: var(--ct-danger); }
.ct-order-act{ margin-top: 12px; text-align: right; }
.ct-order-act button{ height: 34px; padding: 0 14px; border-radius: 10px; cursor: pointer;
    border: 1px solid var(--ct-line); background: transparent; color: var(--ct-text-dim); font-size: 13px; }
.ct-order-act button:hover{ border-color: var(--ct-danger); color: var(--ct-danger); }
.ct-order-state.is-cancel_req{ color: var(--ct-danger); }

.ct-addrbox{ margin-top: 10px; height: 420px; border: 1px solid var(--ct-line); border-radius: 12px;
    overflow: hidden; background: var(--ct-bg-elev); }
.ct-addrbox[hidden]{ display: none; }

.ct-donepage{ text-align: center; padding-top: 48px; }
.ct-done-ico svg{ width: 76px; height: 76px; fill: var(--ct-primary); }
.ct-done-title{ margin: 20px 0 8px; color: var(--ct-text); font-size: 21px; font-weight: 800; }
.ct-done-sub{ margin: 0 0 26px; color: var(--ct-text-dim); font-size: 14px; }
.ct-done-dl{ margin: 0; padding: 16px; display: grid; grid-template-columns: auto 1fr; gap: 10px 12px;
    border-radius: 14px; background: var(--ct-bg-elev); text-align: left; }
.ct-done-dl dt{ color: var(--ct-text-dim); font-size: 13.5px; }
.ct-done-dl dd{ margin: 0; text-align: right; color: var(--ct-text); font-size: 14px; font-weight: 700; }
.ct-done-note{ display: flex; align-items: center; justify-content: center; gap: 6px;
    margin: 14px 0 0; color: var(--ct-text-dim); font-size: 12.5px; }
.ct-done-note .ct-ico{ width: 15px; height: 15px; fill: var(--ct-text-dim); flex: 0 0 auto; }
.ct-done-note a{ color: var(--ct-primary-text); }
.ct-done-foot{ position: fixed; left: 50%; transform: translateX(-50%);
    bottom: calc(var(--ct-tabbar-h, 62px) + env(safe-area-inset-bottom));
    width: 100%; max-width: var(--ct-app-w, 480px); padding: 12px var(--ct-pad);
    box-sizing: border-box; background: var(--ct-bg); }

.ct-post.has-thumb > a{ display: grid; grid-template-columns: 1fr 76px; grid-column-gap: 12px; align-items: start; }
.ct-post.has-thumb .ct-post-thumb{ grid-column: 2; grid-row: 1 / span 3; }
.ct-post-thumb img{ display: block; width: 76px; height: 76px; object-fit: cover; border-radius: 10px;
    background: var(--ct-bg-elev); }

.ct-rail{ display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 0 var(--ct-pad) 4px; margin-bottom: 8px; -webkit-overflow-scrolling: touch; }
.ct-rail::-webkit-scrollbar{ display: none; }
.ct-rail > *{ flex: 0 0 78%; scroll-snap-align: start; }
.ct-rail .ct-adcard{ margin: 0; border: 1px solid var(--ct-line); border-radius: 14px; }


.ct-leave-agree{ display: flex; align-items: center; gap: 8px; margin: 4px 0 14px;
    color: var(--ct-text-sub); font-size: 13.5px; cursor: pointer; }
.ct-leave-agree input{ width: 18px; height: 18px; accent-color: var(--ct-primary); }
.ct-leave-agree b{ color: var(--ct-text); }
.ct-bigbtn[disabled]{ opacity: .45; cursor: not-allowed; }

button.ct-formsec-act{ border: 0; background: transparent; cursor: pointer; padding: 0; font-family: inherit; }

.ct-wikinote{ margin: 22px 0 8px; padding: 16px; border-radius: 14px; background: var(--ct-bg-elev);
    border: 1px solid var(--ct-line); }
.ct-wikinote h3{ margin: 0 0 8px; color: var(--ct-text); font-size: 14.5px; font-weight: 700; }
.ct-wikinote p{ margin: 0 0 8px; color: var(--ct-text-dim); font-size: 12.5px; line-height: 1.7; }
.ct-wikinote p:last-child{ margin-bottom: 0; }
.ct-wikinote-lic{ padding-top: 8px; border-top: 1px solid var(--ct-line); }



.ct-resico{ display: flex; justify-content: center; margin: 6px 0 18px; }
.ct-resico-badge{
    width: 72px; height: 72px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
}
.ct-resico-badge .ct-ico{ width: 38px; height: 38px; fill: currentColor; }
.ct-resico-badge b{ font-size: 26px; font-weight: 800; letter-spacing: -.5px; }
.ct-resico-badge.is-ok{ color: var(--ct-primary-2); border: 3px solid currentColor;
    box-shadow: 0 0 0 8px rgba(168, 85, 247, .10); }
.ct-resico-badge.is-warn{ color: #fff; background: var(--ct-warn);
    box-shadow: 0 0 0 8px rgba(255, 106, 43, .12); }
.ct-resico-badge.is-lock{ color: var(--ct-info); border: 3px solid currentColor;
    box-shadow: 0 0 0 8px rgba(79, 195, 247, .10); }
.ct-resico-badge.is-age{ color: var(--ct-text); background: var(--ct-bg-elev);
    border: 3px solid var(--ct-warn); }

.ct-infonote{
    display: flex; align-items: flex-start; gap: 10px;
    margin: 14px 0 0; padding: 14px; border-radius: 12px;
    background: var(--ct-bg-elev); text-align: left;
}
.ct-infonote .ct-ico{ flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; fill: var(--ct-text-dim); }
.ct-infonote > span{ min-width: 0; color: var(--ct-text-sub); font-size: 13px; line-height: 1.6; }
.ct-infonote strong{ display: block; color: var(--ct-text); font-size: 13.5px; font-weight: 700; }
.ct-infonote em{ display: block; margin-top: 2px; font-style: normal; color: var(--ct-text-dim); font-size: 12.5px; }

.ct-fixfoot{
    position: fixed; left: 50%; transform: translateX(-50%); bottom: 0; z-index: 35;
    width: 100%; max-width: var(--ct-app-max);
    padding: 12px var(--ct-pad) calc(12px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box; background: var(--ct-bg);
}
.ct-app:has(.ct-tabbar) .ct-fixfoot,
.ct-fixfoot.is-abovetab{ bottom: calc(var(--ct-tab-h) + env(safe-area-inset-bottom, 0px)); }
.ct-fixfoot .ct-bigbtn{ margin-top: 8px; }
.ct-fixfoot .ct-bigbtn:first-child{ margin-top: 0; }
.ct-fixfoot-note{ margin: 0 0 12px; color: var(--ct-text-dim); font-size: 12px; line-height: 1.6; }
.ct-fixfoot-note a{ color: #2C6ECB; text-decoration: underline; }
.ct-fixfoot-sp{ height: 96px; }

.ct-login{ padding-top: 64px; text-align: center; }
.ct-login .ct-auth-brand{ margin-bottom: 10px; }
.ct-login-tag{ margin: 0 0 34px; color: var(--ct-text-sub); font-size: 13.5px; letter-spacing: -.3px; }
.ct-login .ct-field{ margin-bottom: 12px; }
.ct-login .ct-field-msg{ display: none; }
.ct-login .ct-bigbtn:disabled,
.ct-login .ct-bigbtn[disabled]{
    opacity: 1; background: var(--ct-primary-soft); color: var(--ct-text-dim);
}
.ct-login-links{ margin-top: 22px; font-size: 13.5px; color: var(--ct-text-sub); }
.ct-login-links a{ color: var(--ct-text-sub); }
.ct-login-join{ margin-top: 14px; font-size: 13.5px; color: var(--ct-text-sub); }
.ct-login-join a{ margin-left: 4px; color: var(--ct-primary-text); font-weight: 700; }

.ct-find .ct-page-title{ margin: 6px 0 8px; }
.ct-find .ct-auth-desc{ margin-bottom: 0; text-align: left; }
.ct-findres{ text-align: center; padding-top: 30px; }
.ct-findres .ct-done-title{ margin-top: 4px; }


.ct-agree.is-plain{ border: 0; margin-bottom: 0; }
.ct-agree.is-plain .ct-agree-head{ padding: 11px 2px; }
.ct-agree.is-plain .ct-agree-box{ width: 18px; height: 18px; }
.ct-agree.is-plain .ct-agree-head b{ font-weight: 500; color: var(--ct-text-sub); font-size: 13.5px; }
.ct-agree-req{ margin-right: 4px; color: var(--ct-primary-text); font-style: normal; font-weight: 600; }
.ct-agree-name{ text-decoration: underline; color: var(--ct-text-sub); }
.ct-agree-list{ margin-top: 6px; padding-left: 4px; }
.ct-agree.is-allbar{ border-color: var(--ct-primary); }
.ct-agree.is-allbar.is-all{ background: var(--ct-primary); }
.ct-agree.is-allbar.is-all .ct-agree-head b{ color: #fff; }
.ct-agree.is-allbar .ct-agree-head b{ font-size: 15px; font-weight: 700; }
.ct-agree.is-allbar.is-all .ct-agree-box{ border-color: #fff; background: transparent; }

.ct-kindtab{ display: grid; grid-template-columns: 1fr 1fr; margin: 0 calc(var(--ct-pad) * -1) 22px;
    border-bottom: 1px solid var(--ct-line); }
.ct-kindtab label{ position: relative; display: block; text-align: center; padding: 13px 0; cursor: pointer;
    color: var(--ct-text-dim); font-size: 14.5px; font-weight: 600; }
.ct-kindtab input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-kindtab input:checked + span{ color: var(--ct-text); }
.ct-kindtab input:checked + span::after{
    content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--ct-text);
}
.ct-kindtab span{ display: block; }

.ct-reshead{ text-align: center; padding-top: 24px; }
.ct-fixfoot .ct-bigbtn.is-ghost{ background: var(--ct-primary-soft); border: 0; color: var(--ct-text); }

.ct-join .ct-auth-title,
.ct-join .ct-auth-desc{ text-align: left; }
.ct-join .ct-auth-title{ font-size: 19px; }
.ct-join .ct-auth-desc{ font-size: 13.5px; margin-bottom: 0; }
.ct-joinform{ padding-top: 0; }
.ct-joinform-title{ margin: 0 0 14px; font-size: 15.5px; font-weight: 700; }
.ct-joinform .ct-field{ margin-bottom: 16px; }
.ct-joinform .ct-field-label{ margin-bottom: 8px; color: var(--ct-text); font-weight: 700; }
.ct-joinform .ct-inline-btn{ border: 0; background: var(--ct-primary); color: #fff; font-weight: 700; border-radius: 12px; }
.ct-joinform .ct-inline-btn:hover{ background: var(--ct-primary-2); }
.ct-modal .ct-resico{ margin: 2px 0 14px; }
.ct-modal .ct-resico-badge{ width: 58px; height: 58px; }
.ct-modal .ct-resico-badge b{ font-size: 21px; }

.ct-body p.ct-login-tag{ margin: 0 0 44px; }
.ct-body p.ct-login-join{ margin: 14px 0 0; }
.ct-body p.ct-fixfoot-note{ margin: 0 0 12px; }
.ct-body p.ct-done-sub{ margin: 0 0 22px; }
.ct-body p.ct-done-note{ margin: 14px 0 0; }
.ct-body p.ct-auth-desc{ margin: 0 0 24px; }
.ct-body .ct-find p.ct-auth-desc{ margin-bottom: 0; }
.ct-body .ct-join p.ct-auth-desc{ margin-bottom: 0; }
.ct-agree.is-plain .ct-agree-box{ border-radius: 4px; }
.ct-fixfoot .ct-bigbtn:disabled,
.ct-fixfoot .ct-bigbtn[disabled]{ opacity: 1; background: var(--ct-primary-soft); color: var(--ct-text-dim); }
.ct-agree.is-allbar .ct-agree-box{ border-radius: 4px; }

.ct-fab{
    position: fixed; z-index: 38;
    bottom: calc(var(--ct-tab-h) + env(safe-area-inset-bottom, 0px) + 14px);
    left: 50%; margin-left: calc(var(--ct-app-max) / 2 - 66px);
    width: 52px; height: 52px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--ct-bg-elev2); border: 1px solid var(--ct-line);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
}
.ct-fab .ct-ico{ width: 28px; height: 28px; fill: var(--ct-primary); }
.ct-fab:active{ background: var(--ct-primary-soft); }
@media (max-width: 480px) {
    .ct-fab{ left: auto; right: 16px; margin-left: 0; }
}

.ct-top-ava{
    flex: 0 0 auto; width: 22px; height: 22px; margin-left: 2px; border-radius: 50%;
    background: var(--ct-bg-elev2); overflow: hidden;
}
.ct-top-ava img{ width: 100%; height: 100%; object-fit: cover; }
.ct-top-back.has-ava .ct-top-title{ text-align: left; padding-left: 8px; }
.ct-detail-guide{ background: var(--ct-bg-elev); }
.ct-menu.is-plain{ margin-left: 0; margin-right: 0; border: 0; border-radius: 0; }
.ct-menu.is-plain a{ padding-left: 0; padding-right: 0; font-size: 14px; }
.ct-menu.is-plain em{ font-size: 18px; }
.ct-foot.has-fab{ padding-bottom: 76px; }

.ct-kwcount{ margin: 0 0 7.92px; font-size: 18px; font-weight: 600; color: #000; }
.ct-body p.ct-kwcount{ margin: 0 0 7.92px; font-size: 18px; font-weight: 600; }
.ct-kwpage .ct-kwlist{ display: block; margin: 0; padding: 0; }
.ct-kwpage .ct-kwlist li{
    display: flex; align-items: center; height: auto; padding: 6px 0;
    border: 0; border-radius: 0; background: none;
}
.ct-kwpage .ct-kwlist li form{ margin-left: auto; }
.ct-kwpage .ct-kw{ font-size: 16px; font-weight: 400; color: #000; }
.ct-kwpage .ct-kwdel{ color: var(--ct-text-sub); font-size: 18px; background: none; }
.ct-kwbar{
    position: fixed; left: 50%; transform: translateX(-50%); bottom: 0; z-index: 35;
    display: flex; align-items: center; gap: 10px;
    width: 100%; max-width: var(--ct-app-max);
    padding: 4px var(--ct-pad) calc(4px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box; background: var(--ct-bg);
    border-top: 1px solid var(--ct-line-soft);
}
.ct-kwbar .ct-input{ flex: 1 1 auto; height: 44px; border-radius: 50px; padding: 0 8px 0 20px;
    background: #F5F5F5; border-color: transparent; }
.ct-kwsend{
    flex: 0 0 auto; width: 46px; height: 46px; border: 0; border-radius: 50%; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--ct-primary), var(--ct-primary-2));
}
.ct-kwsend .ct-ico{ width: 20px; height: 20px; fill: #fff; }
.ct-kwsend{ background: none; padding: 0; width: 40px; height: 40px; }
.ct-kwsend .ct-ico{ width: 40px; height: 40px; fill: none; }
.ct-kwsend .ct-kwsend-off,
.ct-kwsend .ct-kwsend-on{ display: none; line-height: 0; }
.ct-kwsend .ct-kwsend-on{ display: block; }
.ct-kwsend.is-off .ct-kwsend-on{ display: none; }
.ct-kwsend.is-off .ct-kwsend-off{ display: block; }
.ct-kwsend.is-off{ background: none; opacity: 1; }
.ct-kwsetting{
    display: flex; align-items: center; gap: 10px;
    margin: 12px var(--ct-pad); padding: 15px 14px; border-radius: 12px;
    background: var(--ct-primary-soft); border: 1px solid var(--ct-primary);
}
.ct-kwsetting .ct-ico{ width: 18px; height: 18px; fill: var(--ct-primary-2); }
.ct-kwsetting b{ font-size: 14.5px; font-weight: 700; }
.ct-kwsetting em{ margin-left: auto; font-style: normal; color: var(--ct-text-dim); font-size: 18px; }

.ct-upbox{
    display: inline-flex; align-items: center; justify-content: center;
    width: 88px; height: 88px; border-radius: 12px; cursor: pointer;
    border: 1px solid var(--ct-line); background: var(--ct-bg-elev);
}
.ct-upbox input[type="file"]{ position: absolute; width: 0; height: 0; opacity: 0; }
.ct-upbox-plus{ font-size: 30px; line-height: 1; color: var(--ct-text-sub); }
.ct-upbox:hover{ border-color: var(--ct-primary-2); }
.ct-body p.ct-upbox-name{ margin: 8px 0 0; font-size: 12px; color: var(--ct-text-dim); }

.ct-pills.is-scrollable,
.ct-chips.is-scrollable,
.ct-contactbar.is-scrollable,
.ct-tabs.is-scrollable{
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 46px), transparent 100%);
            mask-image: linear-gradient(to right, #000 calc(100% - 46px), transparent 100%);
    cursor: grab;
}
.ct-pills.is-scrollable.is-scroll-end,
.ct-chips.is-scrollable.is-scroll-end,
.ct-tabs.is-scrollable.is-scroll-end{ -webkit-mask-image: none; mask-image: none; }
.ct-pills.is-dragging,
.ct-chips.is-dragging,
.ct-tabs.is-dragging{ cursor: grabbing; scroll-behavior: auto; }
.ct-pills.is-dragging a,
.ct-chips.is-dragging a,
.ct-tabs.is-dragging a{ pointer-events: none; }

.ct-pills.is-inset{ margin: 2px var(--ct-pad) 10px; }

.ct-upboxes{ display: flex; gap: 10px; flex-wrap: wrap; }

.ct-top-logo{ justify-content: space-between; padding: 0 var(--ct-pad); }
.ct-top-ico{ display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--ct-text-sub); }
.ct-top-ico .ct-ico{ width: 22px; height: 22px; }
.ct-top-right{ display: inline-flex; align-items: center; gap: 4px; }

.ct-top.ct-top-logo{ height: 68px; padding: 0 13px 0 13px; }
.ct-top-logo .ct-logo img{ width: 106px; height: auto; }
.ct-top-logo .ct-top-ico .ct-ico,
.ct-top-logo .ct-top-bell .ct-ico{ width: 24px; height: 24px; }
.ct-top-ico.is-avatar{
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--ct-bg-elev2); color: var(--ct-text-sub);
}
.ct-top-ico.is-avatar .ct-ico{ width: 20px; height: 20px; }
.ct-top-logo .ct-top-right{ gap: 12px; padding-right: 6px; }
.ct-top.ct-top-logo{ position: relative; }
.ct-top-logo .ct-logo{ position: absolute; left: 50%; transform: translateX(-50%); }
.ct-top.ct-top-logo{ padding-right: 19px; }
.ct-top-logo .ct-top-right{ gap: 0; padding-right: 0; }
.ct-top-logo .ct-top-right .ct-top-ico{ width: 40px; }
.ct-top-logo .ct-top-bell{ width: 30px; }
.ct-top-logo .ct-top-bell .ct-ico{ width: 22px !important; height: 22px !important; }
.ct-top-logo .ct-top-right .ct-top-ico .ct-ico{ width: 24px; height: 24px; }
.ct-ico-job_line, .ct-ico-noti_line, .ct-ico-my_line{ fill: none; }
.ct-top-logo .ct-top-ico{ color: var(--ct-text); }
.ct-top-ico.is-avatar{ width: 40px; height: 40px; background: #3a3742; color: #e8e6ec; }
.ct-top-ico.is-avatar .ct-ico{ width: 24px; height: 24px; }
.ct-top-logo .ct-top-right .ct-top-ico .ct-ico,
.ct-top-logo .ct-top-bell .ct-ico{ width: 25px !important; height: 25px !important; }
.ct-top-logo .ct-logo{ transform: translateX(calc(-50% + 7px)); }
.ct-top-logo .ct-top-right .ct-top-ico .ct-ico{ width: 28px !important; height: 28px !important; }
.ct-top-logo .ct-top-bell .ct-ico{ width: 30px !important; height: 30px !important; }
.ct-top-logo .ct-top-right .ct-top-ico{ width: 28px; height: 28px; }
.ct-top-logo .ct-top-bell{ width: 28px; height: 28px; margin-right: 0; }
.ct-top-ico.is-avatar .ct-ico{ width: 28px; height: 28px; }
.ct-top-logo .ct-logo{ transform: translateX(-50%); }
.ct-top-logo .ct-top-right{ gap: 12px; }

.ct-mycard{
    display: flex; align-items: center; gap: 10px;
    margin: 14px var(--ct-pad); padding: 16px 14px;
    border: 1px solid var(--ct-line); border-radius: 12px; background: var(--ct-bg-elev);
}
.ct-mycard-av{
    flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: #3a3742; color: #e8e6ec;
}
.ct-mycard-av .ct-ico{ width: 20px; height: 20px; }
.ct-mycard-id{ font-size: 16px; font-weight: 700; }
.ct-mycard-acts{ margin-left: auto; display: inline-flex; gap: 12px; }
.ct-mycard-acts a{ color: var(--ct-text-sub); font-size: 13px; }
.ct-badge{
    margin-left: 6px; padding: 2px 8px; border-radius: 6px;
    background: var(--ct-primary); color: #fff; font-style: normal; font-size: 11.5px; font-weight: 700;
}
.ct-menu a .ct-badge{ margin-right: auto; }

.ct-menu-ttl{ margin: 22px var(--ct-pad) 0; color: var(--ct-text-dim); font-size: 12.5px; font-weight: 700; }

.ct-post-meta{
    margin-top: 12px; padding: 9px 12px; border-radius: 10px;
    background: var(--ct-bg-elev); color: var(--ct-text-sub); font-size: 12.5px;
}
.ct-post.has-thumb .ct-post-meta{ grid-column: 1 / -1; }

.ct-cocard{ padding: 14px; }
.ct-cocard-logo{ flex: 0 0 86px; width: 86px; height: 86px; border-radius: 14px; }
.ct-cocard-name{ font-size: 17px; }
.ct-cocard-sum{ margin-top: 7px; font-size: 13px; font-weight: 500; letter-spacing: -0.5px; color: var(--ct-text); }
.ct-cocard-stats{ margin-top: 10px; }
.ct-cocard .ct-stat{ background: var(--ct-bg); border-color: var(--ct-line-soft); color: var(--ct-text-sub); }
.ct-cocard .ct-stat b{ color: var(--ct-primary-text); font-weight: 700; }
.ct-cocard-star .ct-ico{ width: 24px; height: 24px; }
.ct-cocard-meta{ display: flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 12.5px; }
.ct-wait{ font-style: normal; font-weight: 700; color: var(--ct-primary-text); }
.ct-cocard-time{ font-style: normal; color: var(--ct-text-dim); }
.ct-cocard-meta .ct-cocard-time{ margin-left: 0; }
.ct-cocard-line{ flex-wrap: nowrap; min-width: 0; }
.ct-cocard-name{ min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-cocard-line .ct-badge-area{ flex: 0 0 auto; }

.ct-top-logo .ct-top-right .ct-top-ico .ct-ico{ width: 24px !important; height: 24px !important; }
.ct-top-logo .ct-top-bell .ct-ico{ width: 22px !important; height: 22px !important; }
.ct-top-ico.is-avatar{ width: 36px; height: 36px; }
.ct-top-ico.is-avatar .ct-ico{ width: 20px !important; height: 20px !important; }
.ct-top-logo .ct-top-right{ gap: 14px; }
.ct-top-ico.is-avatar{ width: 28px; height: 28px; }
.ct-top-ico.is-avatar .ct-ico{ width: 17px !important; height: 17px !important; }
.ct-top.ct-top-logo{ padding-left: 17px; }
.ct-ico-my_avatar{ fill: currentColor; }
.ct-top-logo .ct-top-bell .ct-ico{ width: 24px !important; height: 24px !important; }
.ct-ico-job_line, .ct-ico-noti_line{ fill: currentColor; }

.ct-top-ico.is-avatar{ background: none; overflow: hidden; padding: 0; }
.ct-top-ico.is-avatar .ct-ico{ width: 28px !important; height: 28px !important; }
.ct-top-logo .ct-top-ico, .ct-top-logo .ct-top-bell{ color: var(--ct-avatar-fg); }
.ct-top-logo .ct-top-bell .ct-ico{ width: 22px !important; height: 22px !important; }
.ct-top-logo .ct-top-right .ct-top-ico .ct-ico{ width: 27px !important; height: 27px !important; }
.ct-top-logo .ct-top-bell .ct-ico{ width: 24px !important; height: 24px !important; }

.ct-page .ct-bigbtn.is-ghost{
    background: var(--ct-primary-soft); border: 0; color: var(--ct-primary);
    font-weight: 700;
}
.ct-page .ct-bigbtn.is-ghost:disabled{ background: #2a2635; color: var(--ct-text-dim); }

.ct-field .ct-radios .ct-radio{
    border: 0; background: none; padding: 0; min-height: 0; align-items: flex-start; margin-bottom: 12px;
}
.ct-field .ct-radios .ct-radio:has(input:checked){ background: none; border: 0; }
.ct-field .ct-radios .ct-radio-sub{ display: block; margin-top: 3px; color: var(--ct-text-dim); font-size: 12.5px; font-style: normal; }
.ct-formsec .ct-ico{ width: 18px; height: 18px; fill: var(--ct-primary-2); vertical-align: -3px; margin-right: 4px; }


.ct-2col{ display: flex; gap: 10px; }
.ct-2col > *{ flex: 1 1 0; min-width: 0; }

.ct-inlab{ position: relative; display: block; }
.ct-inlab > span{
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    color: var(--ct-text-dim); font-size: 14px; pointer-events: none;
}
.ct-inlab .ct-input{ padding-left: 52px; }
.ct-inlab > em{
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    color: var(--ct-text-dim); font-size: 13px; font-style: normal; pointer-events: none;
}
.ct-inlab.is-amt .ct-input{ padding-right: 46px; text-align: right; }
.ct-inlab.is-amt .ct-input::-webkit-outer-spin-button,
.ct-inlab.is-amt .ct-input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.ct-inlab.is-amt .ct-input{ -moz-appearance: textfield; }

select.ct-input{
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    padding-right: 38px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23b0acb6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 14px center;
}

.ct-prevcard{ display: flex; gap: 14px; align-items: center;
    padding: 0; border: 0; border-radius: 0; background: none; }
.ct-prevcard-thumb{
    flex: 0 0 auto; width: 78px; height: 78px; border-radius: 14px; overflow: hidden;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line);
    display: flex; align-items: center; justify-content: center;
}
.ct-prevcard-thumb img{ width: 100%; height: 100%; object-fit: cover; }
.ct-prevcard-thumb span{ color: var(--ct-text-dim); font-size: 12px; line-height: 1.35; text-align: center; }
.ct-prevcard-body{ min-width: 0; }
.ct-body p.ct-prevcard-body p, .ct-prevcard-body p{ margin: 0; color: var(--ct-text); font-size: 13.5px; }
.ct-prevcard-body p i{
    display: inline-block; width: 12px; height: 12px; border-radius: 50%;
    background: var(--ct-text-sub); vertical-align: -1px;
}
.ct-prevcard-body span{ display: block; margin-top: 6px; color: var(--ct-text-dim); font-size: 12.5px; }

.ct-adwarn.is-foot{ margin-top: 22px; background: var(--ct-bg-elev); color: var(--ct-text-dim); }

.ct-body p.ct-savedraft{ margin: 14px 0 0; text-align: center; }
.ct-savedraft button{
    background: none; border: 0; padding: 6px 10px;
    color: var(--ct-text-dim); font-size: 13px; text-decoration: underline; cursor: pointer;
}

.ct-formsec.is-plain::before{ display: none; }

.ct-adwarn{ text-align: center; }

.ct-order{ padding: 16px; margin-bottom: 12px; border: 1px solid var(--ct-line);
    border-radius: 14px; background: var(--ct-bg-elev); }
.ct-order:last-child{ border-bottom: 1px solid var(--ct-line); }
.ct-order-top{ margin-bottom: 10px; }
.ct-order-grade{ display: inline-flex; align-items: center; gap: 6px;
    color: var(--ct-text); font-size: 14px; font-weight: 700; }
.ct-order-grade b{ color: var(--ct-text-dim); font-size: 12.5px; font-weight: 400; }
.ct-order-grade::before{ content: ''; width: 9px; height: 9px; border-radius: 50%;
    background: var(--ct-text-sub); }
.ct-order-grade.is-premium::before,.ct-order-grade.is-vip::before{ background: var(--ct-primary-2); }
.ct-order-grade.is-special::before,.ct-order-grade.is-gold::before{ background: #e3b341; }
.ct-order-grade.is-basic::before,.ct-order-grade.is-silver::before{ background: #9aa3ad; }
.ct-order-top .ct-order-state{ margin-left: auto; }

.ct-order-dl dd.ct-order-copy{ display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.ct-copybtn{ display: inline-flex; padding: 2px; border: 0; background: none; cursor: pointer; color: var(--ct-text-dim); }
.ct-copybtn .ct-ico{ width: 15px; height: 15px; fill: currentColor; }
.ct-copybtn:hover{ color: var(--ct-primary-text); }
.ct-copybtn.is-done{ color: #6ee7b7; }
.ct-body p.ct-order-sub{ margin-top: 12px; }

.ct-secico{ display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; margin-right: 8px; border-radius: 8px;
    border: 1px solid var(--ct-primary-2); }
.ct-secico .ct-ico{ width: 14px; height: 14px; fill: var(--ct-primary-2); margin: 0; vertical-align: 0; }

.ct-adwarn{ background: var(--ct-bg-elev); color: var(--ct-text-sub); }
.ct-adwarn a{ color: var(--ct-primary-text); }

.ct-inline-btn{ border-color: transparent; background: var(--ct-primary-soft); color: var(--ct-text); }
.ct-inline-btn:hover{ background: var(--ct-primary); color: #fff; }
.ct-inline-btn:disabled{ opacity: .5; cursor: default; }

.ct-gradeico{ display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 50%; flex: 0 0 auto; }
.ct-gradeico svg{ width: 12px; height: 12px; fill: #fff; }
.ct-gradeico.is-premium,.ct-gradeico.is-vip{ background: #ef4b86; }
.ct-gradeico.is-special,.ct-gradeico.is-gold{ background: #eab21e; }
.ct-gradeico.is-basic,.ct-gradeico.is-silver{ background: #c7cbd2; }
.ct-gradeico.is-none{ background: var(--ct-text-sub); }

.ct-order-grade{ gap: 7px; font-size: 15px; }
.ct-order-grade::before{ display: none; }
.ct-order-state{ font-size: 12px; }
.ct-order-state.is-wait{ background: rgba(234,179,8,.15); border-color: rgba(234,179,8,.45); color: #f5cd5a; }
.ct-order-sep{ grid-column: 1 / -1; height: 1px; margin: 4px 0; background: var(--ct-line); }
.ct-order-sep ~ dt, .ct-order-sep ~ dd{ color: var(--ct-text-dim); }
.ct-order-act{ text-align: left; }
.ct-order-cancel{ display: block; width: 100%; height: 44px; border-radius: 10px;
    border: 1px solid var(--ct-line); background: var(--ct-bg-elev); color: var(--ct-text); font-size: 14px; }

.ct-tabs-item .ct-gradeico{ margin-right: 6px; vertical-align: -4px; }

.ct-benefits li.is-no::before{
    content: ''; border: 0; transform: none; width: 13px; height: 13px; top: 11px; left: 3px;
    background:
      linear-gradient(45deg,  transparent 43%, #f0763a 43%, #f0763a 57%, transparent 57%),
      linear-gradient(-45deg, transparent 43%, #f0763a 43%, #f0763a 57%, transparent 57%);
}
.ct-benefits li.is-no{ color: var(--ct-text-sub); }

.ct-paybox.is-plain{ margin: 22px 0 0; padding: 0; border: 0; background: none; }
.ct-paybox.is-plain .ct-paybox-total{ margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--ct-line); }
.ct-paybox.is-plain .ct-paybox-total strong{ color: var(--ct-text); font-size: 16px; }

.ct-bigbtn.is-pay{ background: #9b6dfa; color: #fff; }
.ct-bigbtn.is-pay:hover{ background: #8b5cf6; }
.ct-sheet-body .ct-bigbtn.is-pay{ margin-top: 16px; }

.ct-menu a.ct-ticket{ align-items: center; gap: 10px; }
.ct-ticket-body{ flex: 1 1 auto; min-width: 0; }
.ct-ticket-name{ display: block; font-size: 14px; font-weight: 700;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-ticket-term{ display: block; margin-top: 3px; color: var(--ct-text-sub); font-size: 12.5px; font-style: normal; }
.ct-ticket-dday{ flex: 0 0 auto; padding: 3px 9px; border-radius: 6px;
    background: var(--ct-bg-elev); color: var(--ct-text-sub); font-style: normal; font-size: 12px; font-weight: 700; }
.ct-ticket-dday.is-soon{ background: var(--ct-primary); color: #fff; }
.ct-ticket-dday.is-over{ background: transparent; color: var(--ct-text-dim); font-weight: 400; }
.ct-ticket.is-empty .ct-ticket-name{ color: var(--ct-text-sub); font-weight: 400; }

.ct-contactbar{ display: flex; align-items: center; justify-content: center;
    margin: 22px var(--ct-pad) 0; padding: 10px 4px; border-radius: 8px;
    background: var(--ct-bg-elev);
    overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ct-contactbar::-webkit-scrollbar{ display: none; }
.ct-contact-item{ display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto;
    padding: 0 6px; background: none; border: 0; color: var(--ct-text);
    font-size: 12px; font-weight: 600; white-space: nowrap; }
.ct-contact-item + .ct-contact-item{ border-left: 1px solid var(--ct-line); }
.ct-contact-item .ct-ico{ width: 14px; height: 14px; fill: var(--ct-text-sub); }
.ct-cico{ width: 16px; height: 16px; flex: 0 0 auto; }
.is-kakao .ct-cico{ fill: #fee500; }
.is-kakao .ct-cico-fg{ fill: #191600; }
.is-telegram .ct-cico{ fill: #2aabee; }
.is-telegram .ct-cico-fg{ fill: #fff; }
.ct-contact-none{ display: block; width: 100%; text-align: center;
                  color: var(--ct-text-dim); font-size: 13px; }
.ct-ask-tip.is-center{ text-align: center; margin: 22px var(--ct-pad) 0; font-size: 14px; }
.ct-ask-tip.is-center.is-sub{ margin-top: 10px; color: var(--ct-text-sub); font-size: 13px; }



.ct-body { background: var(--ct-bg); }

.ct-detail-notice,
.ct-detail-guide,
.ct-noti-item.is-new,
.ct-apply-msg,
.ct-mg,
.ct-csnote,
.ct-done-dl,
.ct-infonote,
.ct-post-meta,
.ct-adwarn,
.ct-adwarn.is-foot,
.ct-ticket-dday,
.ct-contactbar,
.ct-rt-tools,
.ct-post-thumb img,
.ct-rt-tools button:hover { background: var(--ct-bg-soft); }

.ct-pill.is-on,
.ct-jointab-item.is-on,
.ct-gu.is-chip input:checked + span,
.ct-giftprice input:checked + span,
.ct-wikiact.is-primary,
.ct-sharebtn { background: var(--ct-primary); border-color: var(--ct-primary); color: #fff; }
.ct-sido.is-on { background: var(--ct-primary-soft); color: var(--ct-primary); }
.ct-kwdel:hover { background: var(--ct-primary-soft); color: var(--ct-primary); }
.ct-term:has(input:checked) .ct-term-body b { color: var(--ct-primary); }

.ct-mg-badge { background: var(--ct-primary-soft); border-color: transparent; color: var(--ct-primary); }
.ct-top-menu-list a:hover { background: var(--ct-bg-soft); }
.ct-carousel-text { background: linear-gradient(135deg, #6C2BFF 0%, #8B3DFF 55%, #B238F6 100%); }
.ct-carousel-text b { color: #fff; }
.ct-carousel-text em { color: rgba(255, 255, 255, .82); }
.ct-carousel-text i { color: #fff; }
.ct-toast { background: rgba(33, 26, 58, .94); color: #fff; }
.ct-mycard-av { background: var(--ct-avatar-bg); color: var(--ct-text-dim); }
.ct-page .ct-bigbtn.is-ghost:disabled { background: var(--ct-bg-elev2); color: var(--ct-text-dim); }
select.ct-input {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%238a8a8a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ct-modal-dim, .ct-sheet-dim { background: rgba(33, 26, 58, .28); }

.ct-field-msg.is-ok,
.ct-iq-state.is-done,
.ct-wiki-diff.is-plus,
.ct-copybtn.is-done { color: #0e9f6e; }
.ct-iq-state.is-done { border-color: rgba(14, 159, 110, .38); }
.ct-state-ok,
.ct-order-state.is-paid { background: rgba(14, 159, 110, .10); border-color: rgba(14, 159, 110, .38); color: #0b7a55; }
.ct-state-reject { background: rgba(217, 45, 32, .08); border-color: rgba(217, 45, 32, .30); color: #b42318; }
.ct-wiki-diff.is-minus { color: #b42318; }
.ct-order-state.is-wait { background: var(--ct-wait-bg); border-color: rgba(184, 121, 10, .38); color: var(--ct-wait-fg); }

.ct-top-menu-list { box-shadow: 0 8px 24px rgba(33, 26, 58, .14); }
.ct-fab { background: var(--ct-bg-elev); box-shadow: 0 0 10px rgba(0, 0, 0, .2); }
.ct-talk-notice { box-shadow: none; }

.ct-tab { color: var(--ct-avatar-fg); }
.ct-tab.is-on { color: var(--ct-primary); }

.ct-chip { background: var(--ct-bg-elev); }
.ct-paging-num.is-on { background: var(--ct-primary-soft); color: var(--ct-primary); }

.ct-talk {
    background: var(--ct-talk-bg);
    color: var(--ct-talk-text);
    padding-bottom: 28px;
}
.ct-talk-notice {
    margin: 0; padding: 14px var(--ct-pad);
    border-radius: 0;
    background: var(--ct-talk-bg); color: var(--ct-talk-text);
}
.ct-talk-notice + .ct-talk { padding-top: 0; }
.ct-talk .ct-talk-date {
    background: rgba(255, 255, 255, .10); color: var(--ct-talk-dim);
}
.ct-talk .ct-talk-name { color: var(--ct-talk-dim); }
.ct-talk .ct-talk-time { color: var(--ct-talk-dim); }
.ct-talk .ct-talk-bubble {
    background: var(--ct-talk-surface); border-color: var(--ct-talk-line);
    color: var(--ct-talk-text);
    border-radius: 14px;
}
.ct-talk .ct-talk-bubble.is-notice {
    background: #2b2440; border-color: var(--ct-primary);
}
.ct-talkpager {
    background: rgba(33, 26, 58, .92); border-color: var(--ct-talk-line);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.ct-talkpager a, .ct-talkpager span { color: var(--ct-talk-text); }
.ct-talkpager b { color: var(--ct-talk-dim); }



.ct-talk {
    background: var(--ct-talk-wall, var(--ct-talk-bg)) center / cover no-repeat;
    background-color: var(--ct-talk-bg);
}
.ct-talk-notice { background: var(--ct-bg-soft); color: var(--ct-text); }

.ct-bigbtn,
.ct-sheet-apply,
.ct-modal-btn.is-primary,
.ct-cta-btn.is-primary,
.ct-inline-btn,
.ct-sharebtn,
.ct-auth .ct-submit, .ct-auth-submit {
    background: var(--ct-navy); border-color: var(--ct-navy); color: #fff;
}
.ct-inline-btn:hover, .ct-joinform .ct-inline-btn:hover { background: #34294f; color: #fff; }
.ct-login .ct-bigbtn:not(:disabled):not([disabled]) {
    background: var(--ct-primary); border-color: var(--ct-primary); color: #fff;
}
.ct-bigbtn.is-ghost,
.ct-page .ct-bigbtn.is-ghost,
.ct-fixfoot .ct-bigbtn.is-ghost,
.ct-sheet-reset,
.ct-cta-btn:not(.is-primary),
.ct-modal-btn:not(.is-primary) {
    background: var(--ct-btn-off); border: 0; color: var(--ct-text);
}

.ct-bigbtn:disabled, .ct-bigbtn[disabled],
.ct-login .ct-bigbtn:disabled, .ct-login .ct-bigbtn[disabled],
.ct-fixfoot .ct-bigbtn:disabled, .ct-fixfoot .ct-bigbtn[disabled],
.ct-page .ct-bigbtn.is-ghost:disabled,
.ct-auth .ct-submit:disabled, .ct-auth-submit:disabled,
.ct-inline-btn:disabled, .ct-sheet-apply:disabled {
    background: var(--ct-btn-off); border-color: transparent;
    color: var(--ct-btn-off-fg); opacity: 1; cursor: not-allowed;
}

.ct-tabs-item.is-on { color: var(--ct-primary); border-bottom-color: var(--ct-primary); }

.ct-cocard .ct-stat b, .ct-stat b, .ct-wait { color: var(--ct-info); }

.ct-pills.is-inset .ct-pill.is-on {
    background: var(--ct-bg); border-color: var(--ct-primary); color: var(--ct-primary); font-weight: 700;
}

.ct-agree.is-allbar.is-all { background: var(--ct-primary-soft); border-color: var(--ct-primary); }
.ct-agree.is-allbar.is-all .ct-agree-head b { color: var(--ct-text); }
.ct-agree.is-allbar.is-all .ct-agree-box { border-color: var(--ct-primary); background: var(--ct-primary); }

.ct-badge { background: var(--ct-danger-soft); color: var(--ct-danger-fg); }

.ct-stat { background: var(--ct-bg); border-color: var(--ct-line); }

.ct-bigbtn.is-pay { background: var(--ct-navy); }
.ct-bigbtn.is-pay:hover { background: #34294f; }

.ct-paybox.is-plain .ct-paybox-total strong { color: var(--ct-primary); }


.ct-joinform .ct-inline-btn { background: var(--ct-navy); color: #fff; }
.ct-joinform .ct-inline-btn:hover { background: #34294f; }
.ct-joinform .ct-inline-btn:disabled { background: var(--ct-btn-off); color: var(--ct-btn-off-fg); }

.ct-agree.is-allbar { background: var(--ct-primary-soft); }


.ct-login{ padding-top: 154px; }
.ct-login .ct-auth-brand{ margin-bottom: 5px; }
.ct-login .ct-auth-brand img{ height: 80px; }
.ct-body p.ct-login-tag{ margin: 0 0 43px; }
.ct-login .ct-input{ height: 50px; }
.ct-login .ct-bigbtn{ height: 48px; }
.ct-login-links{ margin-top: 43px; }
.ct-body p.ct-login-join{ margin: 30px 0 0; }
.ct-auth{ padding-left: 16px; padding-right: 16px; }
@media (max-height: 700px) { .ct-login{ padding-top: 96px; } }

.ct-resico-badge.is-warn{
    color: var(--ct-warn); background: transparent;
    border: 3px solid currentColor;
    box-shadow: 0 0 0 8px rgba(240, 84, 27, .12);
}

.ct-agree.is-allbar,
.ct-agree.is-allbar.is-all{
    border: 0; border-radius: 10px; min-height: 44px;
    display: flex; align-items: center;
}
.ct-agree.is-allbar .ct-agree-head{ width: 100%; padding: 0 14px; }

.ct-agree.is-plain{
    border: 0; border-bottom: 1px solid var(--ct-line); border-radius: 0;
    margin-bottom: 0;
}
.ct-agree.is-plain .ct-agree-head{ padding: 12px 2px; }

.ct-agree.is-plain .ct-agree-box,
.ct-agree.is-allbar .ct-agree-box{
    width: 16px; height: 16px; flex: 0 0 16px; border-radius: 4px;
    border: 1px solid var(--ct-line); background: var(--ct-line);
}
.ct-agree.is-allbar .ct-agree-box{ background: var(--ct-bg); }
.ct-agree.is-plain .ct-agree-head input:checked + .ct-agree-box,
.ct-agree.is-allbar .ct-agree-head input:checked + .ct-agree-box{
    background: var(--ct-primary); border-color: var(--ct-primary);
}
.ct-agree.is-plain .ct-agree-head input:checked + .ct-agree-box::after,
.ct-agree.is-allbar .ct-agree-head input:checked + .ct-agree-box::after{
    left: 5px; top: 2px; width: 4px; height: 8px; border-width: 0 2px 2px 0;
}
.ct-agree.is-allbar{ margin-top: -6px; }
.ct-agree-list{ margin-top: 12px; }

.ct-auth .ct-agree.is-plain:has(input:checked),
.ct-agree.is-plain:has(input:checked){ border-bottom-color: var(--ct-line); }

.ct-agree-list{ margin-top: 0; padding-top: 8px; }

.ct-modal-out{
    display: block; width: 100%; margin: 14px 0 0; padding: 0;
    background: none; border: 0; text-align: center; cursor: pointer;
    color: var(--ct-text); font-size: 14px; font-weight: 700;
}
.ct-modal-btns:has(.ct-modal-btn.is-primary:only-child) .ct-modal-btn.is-primary,
.ct-modal .ct-modal-btns > .ct-modal-btn.is-primary:only-child{
    background: #3d4047; color: #fff;
}


.ct-login .ct-input:-webkit-autofill,
.ct-login .ct-input:-webkit-autofill:hover,
.ct-login .ct-input:-webkit-autofill:focus,
.ct-auth input:-webkit-autofill,
.ct-auth input:-webkit-autofill:hover,
.ct-auth input:-webkit-autofill:focus{
    -webkit-box-shadow: 0 0 0 1000px var(--ct-bg) inset;
            box-shadow: 0 0 0 1000px var(--ct-bg) inset;
    -webkit-text-fill-color: var(--ct-text);
    caret-color: var(--ct-text);
    transition: background-color 9999s ease-in-out 0s;
}

.ct-login-join{ color: var(--ct-text); }
.ct-login-join a{ color: var(--ct-primary); }

.ct-login-links, .ct-login-links a{ color: #898989; }

.ct-login-tag{ color: var(--ct-text); font-weight: 700; }

.ct-agree.is-plain .ct-agree-box::after,
.ct-agree.is-allbar .ct-agree-box::after{
    content: ''; position: absolute;
    left: 5px; top: 2px; width: 4px; height: 8px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.ct-agree.is-allbar .ct-agree-box{ background: var(--ct-line); }

.ct-agree.is-plain .ct-agree-box::after,
.ct-agree.is-allbar .ct-agree-box::after{ content: none; }

.ct-agree.is-plain .ct-agree-box,
.ct-agree.is-allbar .ct-agree-box{
    background-color: var(--ct-line);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 L4.9 8.6 L9.5 3.8' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 12px;
    border-radius: 4px;
}
.ct-agree.is-plain .ct-agree-head input:checked + .ct-agree-box,
.ct-agree.is-allbar .ct-agree-head input:checked + .ct-agree-box{
    background-color: var(--ct-primary);
}


.ct-agree.is-plain .ct-agree-box,
.ct-agree.is-allbar .ct-agree-box{
    width: 16px; height: 16px; flex: 0 0 16px;
    border: 0; border-radius: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'><path d='M11.805 5.52833C11.867 5.59025 11.9162 5.66377 11.9497 5.74471C11.9833 5.82564 12.0005 5.91239 12.0005 6C12.0005 6.08761 11.9833 6.17436 11.9497 6.25529C11.9162 6.33623 11.867 6.40975 11.805 6.47167L7.13833 11.1383C7.07642 11.2003 7.00289 11.2495 6.92196 11.283C6.84103 11.3166 6.75428 11.3339 6.66667 11.3339C6.57906 11.3339 6.49231 11.3166 6.41137 11.283C6.33044 11.2495 6.25692 11.2003 6.195 11.1383L4.195 9.13833C4.06991 9.01324 3.99963 8.84358 3.99963 8.66667C3.99963 8.48976 4.06991 8.32009 4.195 8.195C4.32009 8.06991 4.48976 7.99963 4.66667 7.99963C4.84358 7.99963 5.01324 8.06991 5.13833 8.195L6.66667 9.72417L10.8617 5.52833C10.9236 5.46635 10.9971 5.41718 11.078 5.38363C11.159 5.35008 11.2457 5.33281 11.3333 5.33281C11.4209 5.33281 11.5077 5.35008 11.5886 5.38363C11.6696 5.41718 11.7431 5.46635 11.805 5.52833ZM16 1.33333V14.6667C16 15.0203 15.8595 15.3594 15.6095 15.6095C15.3594 15.8595 15.0203 16 14.6667 16H1.33333C0.979711 16 0.640573 15.8595 0.390524 15.6095C0.140476 15.3594 0 15.0203 0 14.6667V1.33333C0 0.979711 0.140476 0.640573 0.390524 0.390524C0.640573 0.140476 0.979711 0 1.33333 0H14.6667C15.0203 0 15.3594 0.140476 15.6095 0.390524C15.8595 0.640573 16 0.979711 16 1.33333ZM14.6667 14.6667V1.33333H1.33333V14.6667H14.6667Z' fill='%23DBDDE0'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}
.ct-agree.is-plain .ct-agree-head input:checked + .ct-agree-box,
.ct-agree.is-allbar .ct-agree-head input:checked + .ct-agree-box{
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'><path d='M14.6667 0H1.33333C0.979711 0 0.640573 0.140476 0.390524 0.390524C0.140476 0.640573 0 0.979711 0 1.33333V14.6667C0 15.0203 0.140476 15.3594 0.390524 15.6095C0.640573 15.8595 0.979711 16 1.33333 16H14.6667C15.0203 16 15.3594 15.8595 15.6095 15.6095C15.8595 15.3594 16 15.0203 16 14.6667V1.33333C16 0.979711 15.8595 0.640573 15.6095 0.390524C15.3594 0.140476 15.0203 0 14.6667 0ZM11.805 6.47167L7.13833 11.1383C7.07642 11.2003 7.00289 11.2495 6.92196 11.283C6.84103 11.3166 6.75428 11.3339 6.66667 11.3339C6.57906 11.3339 6.49231 11.3166 6.41137 11.283C6.33044 11.2495 6.25692 11.2003 6.195 11.1383L4.195 9.13833C4.06991 9.01324 3.99963 8.84358 3.99963 8.66667C3.99963 8.48976 4.06991 8.32009 4.195 8.195C4.32009 8.06991 4.48976 7.99963 4.66667 7.99963C4.84358 7.99963 5.01324 8.06991 5.13833 8.195L6.66667 9.72417L10.8617 5.52833C10.9236 5.46639 10.9971 5.41726 11.0781 5.38374C11.159 5.35022 11.2457 5.33296 11.3333 5.33296C11.4209 5.33296 11.5077 5.35022 11.5886 5.38374C11.6695 5.41726 11.7431 5.46639 11.805 5.52833C11.8669 5.59027 11.9161 5.66381 11.9496 5.74474C11.9831 5.82566 12.0004 5.9124 12.0004 6C12.0004 6.0876 11.9831 6.17434 11.9496 6.25526C11.9161 6.33619 11.8669 6.40973 11.805 6.47167Z' fill='%237C3AED'/></svg>");
}


.ct-modal-box{ width: min(310px, calc(100% - 50px)); border-radius: 14px; }
.ct-modal-body{ padding: 32px 26px 0; }
.ct-modal .ct-resico{ margin: 0 0 14px; }
.ct-modal .ct-resico-badge{ width: 60px; height: 60px; }
.ct-modal .ct-resico-badge b{ font-size: 22px; }
.ct-modal-title{ font-size: 15px; font-weight: 700; }
.ct-modal-txt{ margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--ct-text-sub); }
.ct-modal-out{ margin: 16px 0 0; padding-bottom: 37px; font-size: 14px; }
.ct-modal-btns .ct-modal-btn{ height: 48px; padding: 0; line-height: 48px; font-size: 15px; }

:root{ --ct-biz: #ff2186; }

.ct-kindtab{ border-bottom-color: var(--ct-line); }
.ct-kindtab input:checked + span{ color: var(--ct-text); font-weight: 700; }
.ct-kindtab input:checked + span::after{ height: 2px; background: var(--ct-primary); }
.ct-kindtab input[value="biz"]:checked + span::after{ background: var(--ct-biz); }

.ct-joinform .ct-inline-btn:disabled,
.ct-joinform .ct-inline-btn[disabled]{
    background: var(--ct-btn-off); color: var(--ct-btn-off-fg); cursor: not-allowed;
}

.ct-resico-badge{ width: 66px; height: 66px; }
.ct-resico-badge .ct-ico{ width: 34px; height: 34px; }
.ct-resico-badge b{ font-size: 24px; }

.ct-resico-badge.is-warn{
    color: #fff; background: var(--ct-warn); border: 0;
    box-shadow: 0 0 0 8px rgba(240, 84, 27, .12);
}
.ct-resico-badge.is-lock{
    color: #fff; background: var(--ct-info); border: 0;
    box-shadow: 0 0 0 8px rgba(68, 154, 223, .12);
}
.ct-resico-badge.is-ok{
    color: var(--ct-primary); background: transparent; border: 3px solid currentColor;
    box-shadow: 0 0 0 8px rgba(124, 58, 237, .10);
}
.ct-resico-badge.is-done{
    color: var(--ct-biz); background: transparent; border: 3px solid currentColor;
    box-shadow: 0 0 0 8px rgba(255, 33, 134, .10);
}
.ct-modal .ct-resico-badge{ width: 60px; height: 60px; }

.ct-signres{ padding-top: 27px; text-align: center; }
.ct-signres .ct-resico{ margin: 0 0 21px; }
.ct-signres .ct-done-title{ margin: 0 0 19px; font-size: 18px; font-weight: 700; }
.ct-body .ct-signres p.ct-done-sub{ margin: 0 0 46px; font-size: 13px; color: var(--ct-text-sub); }
.ct-signres .ct-done-dl{ padding: 16px; background: var(--ct-bg-soft); border-radius: 10px; }
.ct-body .ct-signres p.ct-done-note{ margin: 22px 0 0; }

.ct-resico-svg{ display: block; margin: 0 auto; width: 65px; height: 65px; }

.ct-done-note{
    display: block; text-align: center;
    font-size: 12.5px; color: var(--ct-text-dim);
}
.ct-done-note .ct-ico{
    display: inline-block; vertical-align: -3px; margin-right: 4px;
    width: 15px; height: 15px; fill: var(--ct-text-dim);
}
.ct-done-note a{ color: var(--ct-info); }



.ct-cocard{ padding: 13px; gap: 12px; }
.ct-cocard-logo{ flex: 0 0 72px; width: 72px; height: 72px; border-radius: 12px; }
.ct-cocard-star .ct-ico{ width: 18px; height: 18px; }
.ct-cocard-star{ padding: 2px; }
.ct-cocard .ct-stat{
    height: 24px; padding: 0 10px; display: inline-flex; align-items: center;
    font-size: 11.5px; border-radius: 6px;
}
.ct-cocard-stats{ gap: 6px; margin-top: 9px; }
.ct-cocard-name{ font-size: 16px; }
.ct-badge-area{ padding: 2px 7px; font-size: 10.5px; }
.ct-cocard-sum{ font-size: 13px; font-weight: 500; letter-spacing: -0.5px; color: var(--ct-text); margin-top: 6px; }

.ct-gradeico svg{ width: 100%; height: 100%; }
.ct-gradeico.is-premium,.ct-gradeico.is-vip{ background: #f142a9; }
.ct-gradeico.is-special,.ct-gradeico.is-gold{ background: #f6d142; }
.ct-gradeico.is-basic,.ct-gradeico.is-silver{ background: #dad4d4; }
.ct-gradeico.is-none{ background: #dad4d4; }

.ct-mycard-av{ background: none; width: 24px; height: 24px; }
.ct-mycard-av .ct-gradeico{ width: 100%; height: 100%; }
.ct-gradeico.is-raw{ background: none; border-radius: 0; }
.ct-gradeico.is-raw svg{ width: 100%; height: 100%; }

.ct-menu-act{ margin-left: auto; font-size: 13px; color: var(--ct-text-sub); flex: 0 0 auto; }

.ct-badge.is-wait{
    background: var(--ct-wait-bg); color: var(--ct-wait-fg);
    padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 700; line-height: 1.35;
}

.ct-foot.is-blank{ height: 24px; }

.ct-upthumb{ position: relative; display: inline-block; width: 80px; height: 80px;
    border: 1px solid var(--ct-line); border-radius: 12px; overflow: visible;
    background: var(--ct-bg-elev); margin-bottom: 10px; }
.ct-upthumb.is-lg{ width: 150px; height: 150px; }
.ct-upthumb img{ width: 100%; height: 100%; object-fit: cover; border-radius: 12px; display: block; }
.ct-upthumb-x{ position: absolute; top: -8px; right: -8px; width: 24px; height: 24px;
    padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
.ct-upthumb-x svg{ width: 24px; height: 24px; fill: var(--ct-primary);
    background: var(--ct-bg-elev); border-radius: 50%; }

.ct-mycard-ticket{ display: inline-block; font-style: normal; font-size: 12px; font-weight: 700;
    color: var(--ct-primary); background: var(--ct-primary-soft);
    padding: 3px 8px; border-radius: 999px; margin-left: 6px; vertical-align: 2px; }

.ct-pills{ gap: 4px; }
.ct-pill{ height: 35px; padding: 0 10px; font-size: 13px; }

:root{ --ct-pad: 16px; }

.ct-stat{ background: var(--ct-bg-elev); }
.ct-stat b{ margin-left: 4px; color: var(--ct-primary); font-weight: 700; }

.ct-cocard-logo{ background: linear-gradient(150deg, #ace1fe, #88cefe); }
.ct-cocard-cat{ background: #375266; color: #bec4cb; }

.ct-top{ border-bottom-color: var(--ct-line); }
.ct-hero{ margin-top: 9px; padding-bottom: 23px; }

.ct-top.ct-top-logo{ height: 64px; }
.ct-carousel{ margin-top: 9px; }
.ct-carousel-item{ height: 114px; }
.ct-carousel-intro{ background: linear-gradient(90deg, #6034dd 0%, #6535e0 30%, #9a67fd 100%); }

.ct-tabs-star{ display: inline-flex; margin-right: 3px; }
.ct-tabs-star .ct-ico{ width: 15px; height: 15px; }
.ct-cocard-star .ct-ico{ width: 19px; height: 19px; }

.ct-carousel-intro.is-img{ padding: 0; background: none; height: auto; aspect-ratio: 328 / 114; }
.ct-hero-img{ display: block; width: 100%; height: 100%; object-fit: contain; }

.ct-foot{ margin-top: 36px; padding: 0 0 43px; border-top: 0; color: #a5a1b8; }
.ct-body p.ct-foot-warn{ margin: 0 0 20px; font-size: 13px; line-height: 1.5; }
.ct-body p.ct-foot-kw{ margin: 0 0 2px; font-size: 13px; line-height: 1.5; }
.ct-body p.ct-foot-copy{ margin: 0 0 28px; font-size: 12px; line-height: 1.5; }
.ct-foot-nav{ gap: 0 17px; font-size: 14px; }
.ct-foot-nav a{ color: #a4a4a4; }
.ct-foot-nav a + a::before{ left: -9px; color: #d9d9d9; }

.ct-foot p, .ct-foot-nav{ white-space: nowrap; }
.ct-foot-nav{ flex-wrap: nowrap; }

@media (max-width: 767px) {
    .ct-body p.ct-foot-warn,
    .ct-body p.ct-foot-kw,
    .ct-foot-nav{ font-size: min(13px, calc(4.1vw - 1.7px)); }
    .ct-body p.ct-foot-copy{ font-size: min(12px, calc(3.8vw - 1.6px)); }
}

.ct-prof.is-ask{ padding: 21px 16px 0; }
.ct-prof.is-ask .ct-prof-logo{ width: 64px; height: 64px; margin: 0 auto 8px; }
.ct-prof.is-ask .ct-prof-name{ font-size: 17px; font-weight: 700; margin: 0 0 6px; }
.ct-prof.is-ask .ct-prof-meta{ font-size: 13px; line-height: 20px; color: var(--ct-text-sub); }
.ct-prof.is-ask .ct-prof-meta b{ color: inherit; font-weight: inherit; }

.ct-contactbar.is-rows{ display: block; margin: 16px 16px 0; padding: 8px 0;
    border-top: 1px solid var(--ct-line-soft); border-bottom: 1px solid var(--ct-line-soft);
    background: none; overflow: visible; }
.ct-contactbar.is-rows .ct-contact-item{ display: flex; justify-content: center; align-items: center;
    gap: 7px; width: 100%; padding: 5px 0; border: 0; background: none; font-size: 14px; }
.ct-contactbar.is-rows .ct-contact-item + .ct-contact-item{ border-left: 0; }
.ct-body p.ct-ask-tip{ margin: 20px 0 0; }
.ct-body p.ct-ask-tip.is-sub{ margin-top: 0; }

:root{
    --ct-talk-bg:      #ffffff;
    --ct-talk-surface: #ffffff;
    --ct-talk-text:    var(--ct-text);
    --ct-talk-dim:     var(--ct-text-sub);
    --ct-talk-line:    var(--ct-line);
}
.ct-talk{ background: var(--ct-bg-elev); }
.ct-talk .ct-talk-date{ background: var(--ct-bg-soft); color: var(--ct-text-sub); }
.ct-talk .ct-talk-bubble{ background: var(--ct-bg-elev); border: 1px solid var(--ct-line); color: var(--ct-text); }
.ct-talk .ct-talk-bubble.is-notice{ background: var(--ct-primary-soft); border-color: var(--ct-primary); }
.ct-talkpager{ background: rgba(255,255,255,.95); border-color: var(--ct-line);
               box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.ct-talkpager a, .ct-talkpager span{ color: var(--ct-text); }
.ct-talkpager b{ color: var(--ct-text-sub); }

.ct-talk-row{ align-items: flex-start; }
.ct-talk-row .ct-talk-time{ align-self: flex-end; }
.ct-talk .ct-talk-bubble{ background: #3a3844; border-color: #3a3844; color: #f1eff5; }
.ct-talk .ct-talk-bubble.is-notice{ background: #2b2440; border-color: var(--ct-primary); color: #f1eff5; }
.ct-talk{ border-bottom: 1px solid var(--ct-line); }

@font-face{ font-family: 'CT Emoji';
    src: local('Apple Color Emoji'), local('AppleColorEmoji'), local('Segoe UI Emoji'), local('SegoeUIEmoji'),
         local('Noto Color Emoji'), local('NotoColorEmoji');
    unicode-range: U+A9, U+AE, U+200D, U+203C-10FFFF; }
.ct-talk .ct-talk-bubble{ font-family: 'Wanted Sans', 'CT Emoji', -apple-system, BlinkMacSystemFont,
    'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif; }

.ct-talk-head.is-topsearch[hidden]{ display: none; }
.ct-talk-head.is-topsearch{
    position: fixed; top: 0; left: 50%; transform: translateX(-50%);
    width: 100%; max-width: var(--ct-app-max); height: var(--ct-top-h);
    display: flex; align-items: center; gap: 8px; padding: 0 10px;
    background: var(--ct-bg); border-bottom: 1px solid var(--ct-line); z-index: 40;
}
.ct-talk-head.is-topsearch .ct-talk-search{ flex: 1 1 auto; min-width: 0; }
.ct-talk-schclose{ flex: 0 0 auto; width: 30px; height: 30px; border: 0; background: none;
    font-size: 22px; line-height: 1; color: var(--ct-text); cursor: pointer; }
.ct-talk-head .ct-talk-star{ position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; }

.ct-talk{ min-height: calc(100dvh - var(--ct-top-h) - var(--ct-tab-h) - env(safe-area-inset-bottom, 0px)); }

.ct-talk-tobottom{ position: fixed; right: 16px; z-index: 35;
    bottom: calc(var(--ct-tab-h) + env(safe-area-inset-bottom, 0px) + 16px);
    display: flex; align-items: center; justify-content: center; padding: 0;
    width: 38px; height: 38px; border: 0; border-radius: 50%; cursor: pointer;
    background: #1e1e1e; box-shadow: 0 3px 10px rgba(0,0,0,.25); }
.ct-talk-tobottom:active{ transform: scale(.94); }
.ct-talk-tobottom[hidden]{ display: none; }
.ct-talk-tobottom svg{ width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2.4;
    stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 768px){
    .ct-talk-tobottom{ right: calc(50% - var(--ct-app-max) / 2 + 16px); }
}

.ct-top-btn .ct-ico-search{ width: 18px; height: 18px; }
.ct-top-btn .ct-ico-back{ width: 20px; height: 20px; }
.ct-top-btn .ct-ico-more{ width: 18px; height: 18px; }

.ct-body.is-talkroom{ height: 100dvh; overflow: hidden; }
.ct-body.is-talkroom .ct-app{ height: 100dvh; min-height: 0; display: flex; flex-direction: column; }
.ct-body.is-talkroom .ct-main{
    flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column;
    padding-bottom: 0;
}
.ct-body.is-talkroom .ct-talk{
    flex: 1 1 auto; height: auto; min-height: 0;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    border-bottom: 0;
}
.ct-body.is-talkroom .ct-talk-tobottom{ bottom: calc(env(safe-area-inset-bottom, 0px) + 16px); }

.ct-top.ct-top-back{ padding: 0 9px; }
.ct-top-back .ct-top-btn{ width: 24px; }
.ct-top-back .ct-top-title{ margin-left: 6px; }
.ct-top-btn .ct-ico{ flex: 0 0 auto; }

.ct-wikidoc .ct-wikiintro{
    margin: 14px 0 0; padding: 14px 16px; border-radius: 10px;
    background: var(--ct-bg-soft); color: var(--ct-text-sub);
    font-size: 13px; line-height: 1.7; word-break: keep-all;
}
.ct-wikidoc-body{
    min-height: 150px; padding: 30px 2px;
    font-size: 13px; line-height: 1.8; color: var(--ct-text-sub); word-break: keep-all;
}
.ct-wikidoc .ct-wikinote{
    padding: 16px; border-radius: 10px; background: var(--ct-bg-soft); border: 0;
}
.ct-body .ct-wikidoc .ct-wikinote p{
    margin: 0; font-size: 13px; line-height: 1.8; color: var(--ct-text-sub); word-break: keep-all;
}
.ct-body .ct-wikidoc .ct-wikinote p + p{ margin-top: 16px; }
.ct-wikidoc .ct-wikinote b{ color: #3b7dd8; font-weight: 400; }
.ct-wikidoc .ct-wikilist{ margin-top: 26px; }
.ct-wiki-title{ color: #3b7dd8; }
.ct-wiki-diff.is-plus{ color: #14a44d; }
.ct-wiki-diff.is-minus{ color: #e04a35; }
.ct-wikidoc .ct-wikiintro{ margin-top: 21px; }
.ct-wikidoc .ct-wikilist{ margin-top: 38px; }
.ct-wikidoc .ct-wikilist a{ padding: 15px; }
.ct-top-back.is-tcenter .ct-top-title{ flex: 1 1 auto; justify-content: center; margin-left: 0; }
.ct-top-back.is-tcenter .ct-top-btn, .ct-top-back.is-tcenter .ct-top-menu{ flex: 0 0 auto; }

.ct-tabs.is-half{ padding: 0; overflow: visible; }
.ct-tabs.is-half .ct-tabs-item{ flex: 1 1 0; padding: 13px 0; text-align: center; }

.ct-kwinput{ background: #F5F5F5; border-color: transparent; }

.ct-kwsetting{ background: var(--ct-bg-elev); border-color: var(--ct-line); }
.ct-kwsetting b{ color: var(--ct-text); font-weight: 600; }

.ct-empty-msg{ font-size: 13px; color: var(--ct-text-dim); }
.ct-noti-item.is-new .ct-noti-subject::before{ background: var(--ct-primary); }

.ct-listbar-del.is-plain{ border-radius: 6px; padding: 6px 12px; font-weight: 400; }
.ct-tab.is-on .ct-tab-badge{ display: none; }

.ct-noti-item{ margin: 0 var(--ct-pad); border-bottom: 1px solid var(--ct-line); }
.ct-noti-item a{ display: flex; flex-direction: column; gap: 4px;
                 min-height: 70px; box-sizing: border-box;
                 padding: 12px; justify-content: center; }
@media (hover: hover) {
    .ct-noti-item a:hover{ background: var(--ct-bg-soft); }
}
.ct-tabs.is-half{ padding: 0 var(--ct-pad); }
.ct-noti + .ct-listbar, .ct-listbar{ border-bottom: 0; }
.ct-noti-item:last-child{ border-bottom: 0; }
.ct-noti-item.is-new{ background: transparent; }

.ct-post-meta{ background: transparent; padding: 0; margin-top: 10px; }

.ct-rule i{ display: inline-flex; color: #6753a1; }
.ct-rule i .ct-ico{ width: 20px; height: 20px; }
.ct-search button .ct-ico, .ct-search-solo button .ct-ico{ width: 20px; height: 20px; color: #5d479a; }

#bo_v{ padding: 0 var(--ct-pad); }
.ct-pv-head{ padding-top: 21px; }
.ct-pv-cate{ display: inline-block; padding: 3px 10px; border-radius: 6px;
    background: var(--ct-primary-soft); color: var(--ct-primary); font-size: 12px; font-weight: 600; }
.ct-body h2.ct-pv-title{ margin: 11px 0 0; font-size: 17px; font-weight: 700; line-height: 1.4;
    color: var(--ct-text); word-break: keep-all; }
.ct-body p.ct-pv-meta{ margin: 13px 0 0; font-size: 12.5px; color: var(--ct-text-sub); }
.ct-pv-meta b{ color: var(--ct-text); font-weight: 600; }
.ct-pv-meta span{ margin: 0 5px; color: var(--ct-line); }
#bo_v_atc{ margin-top: 16px; padding-top: 28px; border-top: 1px solid var(--ct-line); }
#bo_v_con{ font-size: 14px; line-height: 21px; color: var(--ct-text); word-break: keep-all; }
#bo_v .bo_v_option, #bo_v_top{ display: none; }
#bo_v .ct-pv-head{ padding-top: 21px; }
#bo_v h2.ct-pv-title{ margin: 11px 0 0; font-size: 17px; font-weight: 700; line-height: 1.4; }
#bo_v p.ct-pv-meta{ margin: 13px 0 0; font-size: 12.5px; }
#bo_v #bo_v_atc{ margin-top: 16px; padding-top: 28px; border-top: 1px solid var(--ct-line); }

.ct-body #bo_v{ padding: 0 var(--ct-pad); }
.ct-body .ct-gnu{ padding: 17px var(--ct-pad) 0; margin-bottom: 0; }
.ct-body #bo_v{ margin-top: 0; }
.ct-body #bo_v .ct-pv-head{ padding-top: 0; }
.ct-body #bo_v h2.ct-pv-title{ margin: 8px 0 0; font-size: 17px; font-weight: 700; line-height: 1.4; }
.ct-body #bo_v p.ct-pv-meta{ margin: 10px 0 0; font-size: 12.5px; }
.ct-body #bo_v #bo_v_atc{ margin-top: 16px; padding-top: 28px; border-top: 1px solid var(--ct-line); }
.ct-body #bo_v #bo_v_top, .ct-body #bo_v .bo_v_option{ display: none; }

.ct-body .ct-gnu-chip{ border-radius: 6px; height: 24px; padding: 0 10px; margin: 0; font-weight: 600; }
.ct-body #bo_v_act{ display: flex; justify-content: center; gap: 14px; margin: 26px 0 0; }
.ct-body #bo_v_act .bo_v_good, .ct-body #bo_v_act .bo_v_nogood{
    display: inline-flex; align-items: center; gap: 7px;
    min-width: 84px; height: 40px; padding: 0 18px; box-sizing: border-box;
    justify-content: center; border: 1px solid var(--ct-primary); border-radius: 999px;
    background: var(--ct-bg-elev); color: var(--ct-primary); font-size: 14px; }
.ct-body #bo_v_act .ct-ico{ width: 20px; height: 20px; fill: none; stroke: currentColor; }
.ct-body #bo_v_act strong{ font-weight: 600; color: var(--ct-text); }

.ct-form .ct-note{ border: 0; border-radius: 0; background: var(--ct-bg-soft);
    text-align: center; padding: 16px 24px; margin: 18px calc(var(--ct-pad) * -1) 0;
    word-break: keep-all; }
.ct-rt{ border-radius: 8px; }
.ct-rt-bar{ border-bottom: 1px solid var(--ct-line-soft); }

.ct-upbox input[type="file"]{ position: absolute; inset: 0; width: 100%; height: 100%;
    opacity: 0; cursor: pointer; }
.ct-field-label{ color: var(--ct-text); font-weight: 600; }
.ct-label-sub{ font-size: inherit; font-weight: inherit; color: inherit; font-style: normal; }
.ct-form .ct-note{ padding: 16px 34px; }


.ct-upbox{ position: relative; width: 80px; height: 80px; }

.ct-form .ct-note{ background: var(--ct-bg-soft); padding: 12px 24px; }

body.is-writepost .ct-fixfoot{
    border-top: 1px solid var(--ct-line);
    padding: 5px var(--ct-pad) calc(5px + env(safe-area-inset-bottom, 0px));
}
body.is-writepost .ct-fixfoot .ct-bigbtn{
    height: 48px; padding: 0; line-height: 48px; margin-top: 10px;
}
body.is-writepost .ct-fixfoot .ct-bigbtn:first-child{ margin-top: 0; }

body.is-writepost .ct-rt{ padding: 11px 12px; overflow: visible; }
body.is-writepost .ct-rt-tools{
    height: 40px; padding: 0 8px; border: 0; border-radius: 8px; background: var(--ct-bg-soft);
}
body.is-writepost .ct-rt-body{ padding: 18px 0 0; min-height: 199px; }
body.is-writepost .ct-rt.is-empty .ct-rt-body::before{ top: 18px; left: 0; right: 0; }

.ct-upslot{ position: relative; display: inline-block; }
.ct-upbox{ overflow: hidden; }
.ct-upbox-img{ width: 100%; height: 100%; object-fit: contain; }
.ct-upbox-img[hidden]{ display: none; }
.ct-upbox.has-img{ height: auto; min-height: 56px; max-height: 140px; }
.ct-upbox.has-img .ct-upbox-plus{ display: none; }
.ct-upbox.has-img{ border-color: transparent; }
.ct-upbox-x{
    position: absolute; top: -6px; right: -6px; z-index: 2;
    width: 20px; height: 20px; padding: 0; border: 0; background: transparent; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.ct-upbox-x[hidden]{ display: none; }
.ct-upbox-x .ct-ico{ width: 20px; height: 20px; fill: var(--ct-navy); }

.ct-post-cnt{ display: flex; align-items: center; gap: 12px; }
.ct-post-cnt i{ display: flex; align-items: center; gap: 4px; font-style: normal; }
.ct-post-cnt .ct-ico{ width: 16px; height: 16px; flex: 0 0 auto; }
.ct-post-cnt b{ font-weight: 400; }

.ct-post-meta{
    height: 38px; padding: 0 14px; margin-top: 12px;
    border-radius: 4px; background: var(--ct-bg-soft);
}

.ct-paging{ gap: 0; padding: 24px 0; }
.ct-paging-num, .ct-paging-arrow{
    min-width: 40px; width: 40px; height: 24px; border-radius: 0;
    font-size: 13px; font-weight: 400; color: #757c85 !important;
}
.ct-paging-num.is-on{ background: transparent !important; color: var(--ct-text) !important; font-weight: 600; }
.ct-paging-arrow{ color: var(--ct-text) !important; }
.ct-paging-arrow.is-off{ color: #757c85 !important; opacity: .4; }

.ct-post-subject{ -webkit-line-clamp: 1; }
.ct-paging-arrow .ct-ico{ width: 16px; height: 16px; }

.ct-post, .ct-post-ad{
    margin: 0 var(--ct-pad); border-bottom: 1px solid var(--ct-line);
}
.ct-post > a{ padding-left: 0; padding-right: 0; }

.ct-filter .ct-search{ height: 44px; }
.ct-filter .ct-search input{ height: 44px; box-sizing: border-box; }
.ct-filter .ct-search button{
    right: 11px; padding: 0; width: 24px; height: 24px;
    display: flex; align-items: center; justify-content: center;
}
.ct-filter .ct-search button .ct-ico{ width: 16px; height: 16px; display: block; }

.ct-adbanner.is-img{
    display: block; padding: 0; background: none; border: 0;
    margin: 0 0 18px;
}
.ct-adbanner.is-img img{ width: 100%; height: auto; display: block; }

.ct-adcard-meta .ct-ico-avatar_star{
    width: 16px; height: 16px; flex: 0 0 auto; margin-right: 4px; vertical-align: -3px;
}
.ct-adcard-meta .ct-gradeico{
    width: 16px; height: 16px; flex: 0 0 auto; margin-right: 4px; vertical-align: -3px;
}

.ct-filter-row .ct-filter-btn{ flex: 1 1 0; min-width: 0; height: 46px; justify-content: flex-start; }
.ct-filter-row .ct-filter-btn::after{ margin-left: auto; }
.ct-filter-row .ct-filter-btn > span{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ct-adbanner.is-img{ margin: 11px var(--ct-pad) 18px; }

.ct-filter{ padding-top: 6px; }

.ct-filter-btn{ border-radius: 10px; }
.ct-filter-btn > span{ color: var(--ct-text-dim); font-weight: 400; }
.ct-filter-btn > b{ color: var(--ct-text); font-weight: 700; }
.ct-filter-btn::after{
    width: 9px; height: 9px; border: 0;
    border-right: 2px solid var(--ct-text); border-bottom: 2px solid var(--ct-text);
    transform: rotate(45deg) translate(-2px, -2px);
}

.ct-adcard{ position: relative; }
.ct-adcard-star{
    position: absolute; top: 8px; right: 10px; z-index: 2;
    width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #8d969f;
}
.ct-adcard-star.is-on{ color: #f7d649; }
.ct-adcard-star .ct-ico{ width: 18px; height: 18px; }

#sheet-filter .ct-sheet-box{
    height: 100%; max-height: none; border-radius: 0;
    display: flex; flex-direction: column;
}
#sheet-filter .ct-sheet-dim{ display: none; }

.ct-sheet-tabs{ display: flex; flex: 0 0 auto; border-bottom: 1px solid var(--ct-line); }
.ct-sheet-tab{
    flex: 1 1 0; height: 48px; border: 0; background: none; cursor: pointer;
    color: var(--ct-text-dim); font-size: 15px; font-weight: 500;
}
.ct-sheet-tab.is-on{ color: var(--ct-text); font-weight: 700; box-shadow: inset 0 -2px 0 var(--ct-primary); }

.ct-sheet-pane{ display: none; flex: 1 1 auto; min-height: 0; flex-direction: column; }
.ct-sheet-pane.is-on{ display: flex; }
#sheet-filter .ct-sheet-body{ flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; }

.ct-sheet-sido{ flex: 0 0 50%; overflow-y: auto; background: var(--ct-bg-soft); }
.ct-sido{
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    width: 100%; height: 52px; padding: 0 16px; border: 0; cursor: pointer;
    background: transparent; color: var(--ct-text-dim); font-size: 15px; text-align: left;
}
.ct-sido.is-on{ background: var(--ct-bg-elev); color: var(--ct-text); font-weight: 700; }
.ct-sido b{ font-weight: 700; }

.ct-sheet-gu{ flex: 1 1 auto; overflow-y: auto; background: var(--ct-bg-elev); }
.ct-sheet-gu.is-one{ flex: 1 1 100%; }
.ct-gu{ display: flex; align-items: center; height: 52px; padding: 0 16px; cursor: pointer;
    color: var(--ct-text-dim); font-size: 15px; }
.ct-gu input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-gu:has(input:checked){ color: var(--ct-text); font-weight: 700; }
.ct-gu:has(input:checked)::after{
    content: ''; margin-left: auto; width: 14px; height: 8px;
    border-left: 2px solid var(--ct-text); border-bottom: 2px solid var(--ct-text);
    transform: rotate(-45deg) translate(2px, -3px);
}

.ct-sheet-sel{
    flex: 0 0 auto; padding: 14px 16px 4px; border-top: 1px solid var(--ct-line);
    display: grid; grid-template-columns: 1fr auto; gap: 10px 8px;
}
.ct-sheet-sel-tit{ font-size: 14px; font-weight: 700; color: var(--ct-text); align-self: center; }
.ct-sheet-reset{
    display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 10px;
    border: 0; border-radius: 8px; cursor: pointer;
    background: var(--ct-primary-soft); color: var(--ct-primary); font-size: 13px; font-weight: 600;
}
.ct-sheet-reset .ct-ico{ width: 13px; height: 13px; }
.ct-sheet-chips{ grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-sheet-chip{
    display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px;
    border: 1px solid var(--ct-line); border-radius: 10px; font-size: 14px; color: var(--ct-text);
}
.ct-sheet-chip i{ font-style: normal; color: var(--ct-text-dim); cursor: pointer; }

#sheet-filter .ct-sheet-ft{ flex: 0 0 auto; display: flex; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
.ct-sheet-close, #sheet-filter .ct-sheet-apply{
    flex: 1 1 0; height: 48px; border: 0; border-radius: 10px; cursor: pointer;
    font-size: 15px; font-weight: 700;
}
.ct-sheet-close{ background: var(--ct-btn-off); color: var(--ct-text); }
#sheet-filter .ct-sheet-apply{ background: var(--ct-navy); color: #fff; }
#sheet-filter .ct-gu:has(input:checked),
#sheet-filter .ct-gu:has(input:checked) span{ color: var(--ct-text) !important; font-weight: 700; }

.ct-pillradio{ display: flex; flex-wrap: wrap; gap: 8px; }
.ct-pillradio-i{ cursor: pointer; }
.ct-pillradio-i input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-pillradio-i span{
    display: inline-flex; align-items: center; justify-content: center;
    height: 38px; padding: 0 18px; border-radius: 999px;
    border: 1px solid var(--ct-line); background: var(--ct-bg-elev);
    color: var(--ct-text-sub); font-size: 14px; font-weight: 500;
}
.ct-pillradio-i input:checked + span{
    border-color: var(--ct-primary); background: var(--ct-primary); color: #fff; font-weight: 700;
}
.ct-pillradio-i input:focus-visible + span{ outline: 2px solid var(--ct-primary-2); outline-offset: 2px; }

.ct-formsec.is-icon{
    display: flex; align-items: center; gap: 8px;
    margin: 28px 0 14px; font-size: 16px; font-weight: 700; color: var(--ct-text);
}
.ct-formsec.is-icon .ct-ico{ width: 18px; height: 18px; color: var(--ct-primary); }
.ct-formsec.is-icon .ct-formsec-btn{
    margin-left: auto; height: 26px; padding: 0 10px; border: 0; border-radius: 8px; cursor: pointer;
    background: var(--ct-primary-soft); color: var(--ct-primary); font-size: 12.5px; font-weight: 700;
}

.ct-amt{ position: relative; display: block; margin-top: 10px; }
.ct-amt .ct-input{ width: 100%; padding-right: 52px; }
.ct-amt em{
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    font-style: normal; color: var(--ct-text-dim); font-size: 14px; pointer-events: none;
}
.ct-upthumb[hidden]{ display: none !important; }

.ct-sheet-msg .ct-sheet-box{
    height: auto; max-height: none; border-radius: 16px 16px 0 0;
    padding: 10px 16px calc(16px + env(safe-area-inset-bottom, 0px)); text-align: center;
}
.ct-sheet-grip{ display: block; width: 44px; height: 4px; margin: 0 auto 22px;
    border-radius: 2px; background: var(--ct-line); }
.ct-sheet-msg-t{ display: block; font-size: 16px; font-weight: 700; color: var(--ct-text); }
.ct-body p.ct-sheet-msg-d{ margin: 8px 0 20px; font-size: 13.5px; color: var(--ct-text-dim); }
.ct-sheet-msg-go{
    display: flex; align-items: center; justify-content: center; gap: 8px;
    height: 52px; border-radius: 10px; background: var(--ct-navy); color: #fff;
    font-size: 15px; font-weight: 700;
}
.ct-sheet-msg-go em{ font-style: normal; font-weight: 400; }

.ct-bizform .ct-input{ height: 50px; box-sizing: border-box; }
.ct-bizform .ct-amt .ct-input{ height: 46px; }
.ct-bizform .ct-field{ margin-bottom: 17px; }
.ct-bizform .ct-field-label{ margin-bottom: 10px; }
.ct-bizform .ct-select .ct-input{ height: 50px; }
.ct-sheet-msg-ico{ display: block; margin: 4px auto 18px; }
.ct-sheet-msg-ico .ct-ico{ width: 80px; height: 80px; }
.ct-formsec.is-icon::before{ display: none; }
.ct-formsec.is-icon .ct-ico{ width: 24px; height: 24px; }

.ct-adwarn:not(.is-foot){
    padding: 12px var(--ct-pad); background: var(--ct-bg-soft); color: var(--ct-text-dim);
    font-size: 13px; line-height: 1.55;
}
.ct-adwarn:not(.is-foot) a{ color: var(--ct-blue, #449adf); text-decoration: none; margin-top: 2px; }
.ct-bizform .ct-formsec.is-icon:first-of-type{ margin-top: 0; }

body.is-adform .ct-main{ padding-bottom: 0; }
body.is-adform .ct-bizform .ct-field:last-of-type{ margin-bottom: 0; }

body.is-adform .ct-foot.is-blank{ display: none; }
body.is-adform .ct-select .ct-ico{ display: none; }
body.is-adform .ct-select{ position: relative; }
body.is-adform .ct-select::after{
    content: ''; position: absolute; right: 15px; top: 50%; pointer-events: none;
    width: 9px; height: 9px;
    border-right: 1.6px solid var(--ct-text); border-bottom: 1.6px solid var(--ct-text);
    transform: translateY(-70%) rotate(45deg) scale(1.05, 0.75);
}
body.is-adform .ct-fixfoot{
    border-top: 1px solid var(--ct-line);
    padding: 4px var(--ct-pad) calc(4px + env(safe-area-inset-bottom, 0px));
}
body.is-adform .ct-fixfoot .ct-bigbtn{ height: 49px; padding: 0; line-height: 49px; }

body.is-adform .ct-rt{ padding: 11px 12px; overflow: visible; }
body.is-adform .ct-rt-tools{
    height: 40px; padding: 0 8px; border: 0; border-radius: 8px; background: var(--ct-bg-soft);
}
body.is-adform .ct-rt-body{ padding: 18px 0 0; min-height: 236px; }
body.is-adform .ct-rt.is-empty .ct-rt-body::before{ top: 18px; left: 0; right: 0; }

.ct-top-ava.is-icon{ background: none; border: 0; display: flex; align-items: center; justify-content: center; }
.ct-top-ava.is-icon .ct-ico{ width: 16px; height: 16px; }
.ct-cta-bookmark .ct-ico{ width: 17px; height: 24px; }

.ct-detail-dl:not(.is-person){ padding-top: 18px; border-top: 1px solid var(--ct-line); }
.ct-detail-dl.is-dim{ border-top-color: var(--ct-line); }
.ct-detail-body .ct-menu.ct-detail-links{ margin-top: 20px; padding-top: 6px; border-top: 1px solid var(--ct-line); }
.ct-detail-body .ct-menu.ct-detail-links a{
    border-bottom: 0; background: none; padding: 8px 0; font-size: 15px; font-weight: 600;
}

.ct-modal-box{ width: min(310px, calc(100% - 48px)); }
.ct-modal-btns{ border-top: 0; }
.ct-modal-btn{ height: 48px; padding: 0; display: flex; align-items: center; justify-content: center; }
.ct-modal-btn:not(.is-primary){ background: var(--ct-bg-soft); color: var(--ct-text); }
.ct-modal-btn.is-primary{ background: #3d4047; color: #fff; }

body.is-jobview .ct-foot.is-blank{ display: none; }
body.is-jobview .ct-detail{ padding-bottom: 81px; }
body.is-jobview .ct-detail-dl dt,
body.is-jobview .ct-detail-dl dd{ color: var(--ct-text-dim); }
body.is-jobview .ct-top-title{ gap: 0; }
body.is-jobview .ct-top-sub{ font-size: 12.5px; color: var(--ct-text-dim); margin-left: 4px; }
body.is-jobview .ct-top-ava.is-icon{ width: 16px; height: 16px; margin-left: 5px; }
body.is-jobview .ct-top-back.has-ava .ct-top-title{ padding-left: 0; margin-left: 5px; }
body.is-jobview .ct-detail-content{ margin: 24px 0; }
body.is-jobview .ct-detail-sub b{ color: var(--ct-text); font-weight: 700; }
body.is-jobview .ct-detail-sub span{ color: var(--ct-text-dim); font-weight: 400; }
body.is-jobview .ct-detail-sub{ margin-top: 12px; }

#m-call .ct-modal-body{ padding: 26px 20px 30px; }
#m-call .ct-modal-txt{ margin-top: 7px; }
#m-call .ct-modal-strong{ margin-top: 8px; }
.ct-cta-btn{
    display: flex; align-items: center; justify-content: center;
    text-align: center; box-sizing: border-box; padding: 0 10px;
}

body.is-cs .ct-csform{ bottom: 0; }
body.is-cs .ct-csform button{ background: none; padding: 0; width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center; }
body.is-cs .ct-csform button .ct-ico{ width: 40px; height: 40px; transform: none; fill: none; }
body.is-cs .ct-csform button[type="submit"] .ct-ico rect{ fill: #F1F1F5; }
body.is-cs .ct-csform button[type="submit"] .ct-ico path{ fill: #8D969F; }
html[data-theme="dark"] body.is-cs .ct-csform button[type="submit"] .ct-ico rect{ fill: #8A8A8A; }
html[data-theme="dark"] body.is-cs .ct-csform button[type="submit"] .ct-ico path{ fill: #211A3A; }
body.is-cs .ct-csimg{ color: var(--ct-text-dim); border: 0; background: none; }
body.is-cs .ct-csimg .ct-ico{ width: 24px; height: 24px; }
.ct-top-menu-list a{ white-space: nowrap; }

body.is-cs .ct-csform:has(.ct-csprev:not([hidden])){ background: var(--ct-bg-soft); padding-top: 14px; }
body.is-cs .ct-csprev{ margin: 0 0 12px; }
body.is-cs .ct-csprev img{
    background: var(--ct-bg-elev); border: 0; border-radius: 14px; max-height: 150px; object-fit: cover;
}
body.is-cs .ct-csform .ct-csprev-x{
    top: 8px; right: 8px; width: 26px; height: 26px; font-size: 16px;
    display: flex; align-items: center; justify-content: center;
    background: var(--ct-primary); color: #fff;
}
body.is-cs .ct-csform:has(.ct-csprev:not([hidden])) button[type="submit"] .ct-ico rect,
body.is-cs .ct-csform:has(input[type="text"]:not(:placeholder-shown)) button[type="submit"] .ct-ico rect{ fill: var(--ct-primary); }
body.is-cs .ct-csform:has(.ct-csprev:not([hidden])) button[type="submit"] .ct-ico path,
body.is-cs .ct-csform:has(input[type="text"]:not(:placeholder-shown)) button[type="submit"] .ct-ico path{ fill: #fff; }
html[data-theme="dark"] body.is-cs .ct-csform:has(.ct-csprev:not([hidden])) button[type="submit"] .ct-ico path,
html[data-theme="dark"] body.is-cs .ct-csform:has(input[type="text"]:not(:placeholder-shown)) button[type="submit"] .ct-ico path{ fill: #F4F2FA; }
body.is-cs .ct-csform input{ background: var(--ct-bg-elev2); border: 0; }
body.is-cs .ct-csform input::placeholder{ color: var(--ct-text-dim); }

body.is-cs .ct-cs-row.is-mine .ct-cs-bubble{
    background: var(--ct-primary-soft); border: 0; color: var(--ct-text);
}
body.is-cs .ct-cs-row:not(.is-mine) .ct-cs-bubble{
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line); color: var(--ct-text);
}

.ct-benefits{ margin: 20px 0 24px; }
.ct-benefits li{ padding: 0 0 0 30px; min-height: 20px; margin-bottom: 19px; font-size: 15px; }
.ct-benefits li:last-child{ margin-bottom: 0; }
.ct-benefits li::before{ top: 6px; left: 5px; }
.ct-benefits li.is-no::before{ top: 3px; }

.ct-terms{ gap: 12px; }
.ct-term{ min-height: 70px; border-radius: 10px; }
.ct-term-body b{ font-size: 15px; }
.ct-term{ position: relative; overflow: visible; }
.ct-term-off{
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    height: 24px; padding: 0 12px; border-radius: 999px;
    display: inline-flex; align-items: center; white-space: nowrap;
    background: var(--ct-primary); color: #fff; font-size: 12px; font-weight: 700; font-style: normal;
}
.ct-terms{ margin-top: 14px; }

body.is-buy .ct-tabs{ gap: 0; }
body.is-buy .ct-tabs-item{
    flex: 1 1 0; padding: 11px 0 9px; text-align: center; font-size: 15px;
}
body.is-buy .ct-tabs-item .ct-gradeico{ width: 20px; height: 20px; margin-right: 6px; vertical-align: -5px; }
body.is-buy .ct-benefits{ margin: 29px 0 0; }
body.is-buy .ct-benefits li{ margin-bottom: 11.5px; }
body.is-buy .ct-term{ min-height: 70px; height: 70px; }
body.is-buy .ct-term-body{ gap: 1px; }
body.is-buy .ct-term-list{ font-size: 11.5px; line-height: 1.3; }
body.is-buy .ct-terms{ margin-top: 38px; }
body.is-buy .ct-page{ padding-top: 0; }
body.is-buy .ct-tabs{ margin: 0 calc(var(--ct-pad) * -1); padding: 0; }
body.is-buy .ct-fixfoot{ padding-bottom: 4px; }
body.is-buy .ct-fixfoot .ct-bigbtn{ height: 48px; min-height: 48px; border-radius: 10px; }
body.is-buy .ct-paybox{ margin-top: 37px; }
body.is-buy .ct-paybox h3{ margin-bottom: 20px; }
body.is-buy .ct-paybox-total{ margin-top: 5px; }

#m-waitpay .ct-modal-box{ width: 310px; max-width: calc(100vw - 40px); border-radius: 12px; overflow: hidden; }
#m-waitpay .ct-modal-body{ padding: 33px 20px 34px; text-align: center; }
#m-waitpay .ct-modal-title{ display: block; margin: 0 0 9px; color: var(--ct-text);
    font-size: 16px; line-height: 20px; font-weight: 700; }
#m-waitpay .ct-modal-txt{ margin: 0; color: var(--ct-text-sub); font-size: 15px; line-height: 23px; }
#m-waitpay .ct-modal-link{ display: block; margin: 0; color: #449adf;
    font-size: 15px; line-height: 23px; font-weight: 700; }
#m-waitpay .ct-modal-btns{ margin: 0; padding: 0; border: 0; }
#m-waitpay .ct-modal-btn{
    width: 100%; height: 46px; border: 0; border-radius: 0;
    background: #3d4047; color: #fff; font-size: 16px; font-weight: 700;
}

.ct-mycard{ align-items: flex-start; padding: 9px 16px 14px; gap: 4px; }
.ct-mycard-av{ margin-top: -2px; }
.ct-mycard.is-noticket .ct-mycard-av{ margin-top: 0; }
.ct-mycard-body{ display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; }
.ct-mycard-acts{ align-self: center; margin-top: -2px; flex: 0 0 auto; white-space: nowrap; gap: 11px; }
.ct-mycard-acts a{ white-space: nowrap; font-size: 14px; font-weight: 400; color: var(--ct-text); }
.ct-mycard-acts a:first-child{ color: var(--ct-text-dim); }
.ct-mycard-av .ct-gradeico{ width: 20px; height: 20px; margin: 2px; }
.ct-mycard-av .ct-gradeico.is-raw{ width: 24px; height: 24px; margin: 0; }
.ct-mycard-av .ct-gradeico svg{ width: 100%; height: 100%; }
.ct-mycard-ticket{
    margin-left: 0; vertical-align: 0;
    height: 24px; padding: 0 10px; display: inline-flex; align-items: center;
    font-size: 12px; font-weight: 700; border-radius: 999px;
}
.ct-mycard-body .ct-mycard-ticket{ margin-left: -28px; padding: 0 5px; letter-spacing: .3px; }
.ct-mycard-id{ font-size: 16px; line-height: 20px; }
.ct-mycard-ticket{ height: 24px; line-height: 24px; }

.ct-menu a, .ct-menu button{ padding: 11.5px 14px; font-size: 16px; line-height: 20px; }
.ct-menu em{ font-size: 0; line-height: 0; color: transparent; position: relative;
    display: inline-block; width: 8px; height: 14px; }
.ct-menu em::after{ content: ''; position: absolute; right: 2px; top: 0;
    width: 7.2px; height: 7.2px; border: 2px solid #8f8e9c; border-left: 0; border-bottom: 0;
    transform: rotate(45deg); border-radius: 1px; }
.ct-menu a, .ct-menu button{ padding-right: 21px; }
.ct-menu .ct-menu-act{ font-size: 14px; color: var(--ct-text); }

.ct-mycard.is-noticket{ align-items: center; padding: 14px 16px; }
.ct-mycard.is-noticket .ct-mycard-body{ gap: 0; }

body.is-orders .ct-empty{ padding: 60px 20px; }
body.is-orders .ct-empty-msg{ font-size: 14px; color: var(--ct-text-sub); }

body.is-adform .ct-formsec{ margin: 26px 0 12px; font-size: 17px; font-weight: 700; }
body.is-adform .ct-field{ margin-bottom: 10px; }
body.is-adform .ct-2col{ display: flex; gap: 10px; }
body.is-adform .ct-2col > *{ flex: 1 1 0; min-width: 0; }
.ct-selectbtn{
    display: flex; align-items: center; gap: 6px; width: 100%; height: 52px; padding: 0 14px;
    border: 1px solid var(--ct-line); border-radius: 10px; background: var(--ct-bg-elev);
    font-size: 15px; text-align: left;
}
.ct-selectbtn::after{
    content: ''; margin-left: auto; width: 8px; height: 8px; border: 2px solid #8f8e9c;
    border-top: 0; border-left: 0; transform: rotate(45deg) translate(-2px, -2px);
}
.ct-selectbtn-l{ color: var(--ct-text-dim); font-size: 15px; font-style: normal; }
.ct-selectbtn b{ font-weight: 700; }
body.is-adform .ct-select{ position: relative; display: block; }
body.is-adform .ct-select > .ct-ico,
body.is-adform .ct-select svg:not(:root){ display: none !important; }
body.is-adform .ct-select .is-abs{ position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    pointer-events: none; }
body.is-adform .ct-select select{ padding-left: 52px; }
body.is-adform .ct-amt{ position: relative; display: block; }
body.is-adform .ct-amt-l{ position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    color: var(--ct-text-dim); font-size: 15px; font-style: normal; pointer-events: none; }
body.is-adform .ct-amt input{ padding-left: 52px; text-align: left; }

.ct-pvcard{ display: flex; gap: 12px; padding: 14px 0; border-top: 1px solid var(--ct-line-soft);
    border-bottom: 1px solid var(--ct-line-soft); }
.ct-pvcard-img{ flex: 0 0 auto; width: 76px; height: 76px; border-radius: 10px; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: var(--ct-btn-off); color: #98a0aa; font-size: 12px; font-weight: 700; text-align: center; line-height: 1.3; }
.ct-pvcard-img img{ width: 100%; height: 100%; object-fit: cover; }
.ct-pvcard-body{ min-width: 0; flex: 1 1 auto; }
.ct-pvcard-top{ display: flex; align-items: center; gap: 4px; margin: 2px 0 0; font-size: 13px; color: var(--ct-text-sub); }
.ct-pvcard-top .ct-gradeico{ width: 16px; height: 16px; }
.ct-pvcard-top b{ color: var(--ct-text); font-weight: 700; }
.ct-pvcard-tit{ margin: 4px 0 0; font-size: 15px; font-weight: 700; overflow: hidden;
    text-overflow: ellipsis; white-space: nowrap; }
.ct-pvcard-sub{ margin: 4px 0 0; font-size: 13px; color: var(--ct-text-sub); }
.ct-adfoot-note{ margin: 22px calc(var(--ct-pad) * -1) 0; padding: 16px var(--ct-pad);
    background: var(--ct-bg-soft); color: #8a9199; font-size: 13px; line-height: 1.6; text-align: center; }
body.is-adform .ct-formsec::before{ display: none; }
body.is-adform .ct-formsec{ padding-left: 0; }
body.is-adform .ct-bigbtn.is-off{ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); }
.ct-inline-btn.is-dark{ background: var(--ct-navy); color: #fff; border-color: var(--ct-navy); }
.ct-inline-btn.is-dark.is-off{ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); border-color: var(--ct-btn-off); }
.ct-pvcard-img{ background: transparent; padding: 0; }
.ct-pvcard-ready{ width: 100%; height: 100%; object-fit: contain; }

.ct-upbox[hidden]{ display: none !important; }
.ct-upthumb[hidden]{ display: none !important; }

body.is-adform .ct-select select,
body.is-adform .ct-amt input,
body.is-adform .ct-selectbtn,
body.is-adform .ct-field > .ct-input{
    height: 52px; border-radius: 10px; font-size: 15px; border-color: var(--ct-line);
}
body.is-adform .ct-select select{
    padding: 0 40px 0 52px;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    background-image: none;
}
body.is-adform .ct-select select::-ms-expand{ display: none; }
body.is-adform .ct-field > .ct-input{ padding: 0 14px; }

body.is-adform .ct-selectbtn::after,
body.is-adform .ct-select::after{
    content: ''; position: absolute; right: 15px; top: 50%; pointer-events: none;
    width: 9px; height: 9px; margin: 0;
    border: 0; border-right: 1.6px solid var(--ct-text); border-bottom: 1.6px solid var(--ct-text);
    transform: translateY(-70%) rotate(45deg) scale(1.05, 0.75);
}
body.is-adform .ct-selectbtn{ position: relative; padding-right: 34px; }
body.is-adform .ct-selectbtn-l,
body.is-adform .ct-amt-l{ color: var(--ct-text-dim); font-size: 15px; }
body.is-adform .ct-selectbtn b{ font-weight: 700; color: var(--ct-text); }
body.is-adform .ct-2col > *{ min-width: 0; }

body.is-adform .ct-select select,
body.is-adform .ct-amt input,
body.is-adform .ct-selectbtn,
body.is-adform .ct-field > .ct-input,
body.is-adform .ct-inline .ct-input{
    border-color: var(--ct-line); border-radius: 12px;
}
body.is-adform .ct-selectbtn::after,
body.is-adform .ct-select::after{
    width: 10px; height: 10px; right: 16px;
    border-right-width: 1.4px; border-bottom-width: 1.4px;
    border-color: var(--ct-text-sub);
    transform: translateY(-70%) rotate(45deg) scale(1.1, 0.7);
}
body.is-adform .ct-selectbtn{ gap: 6px; }
body.is-adform .ct-select .is-abs{ left: 16px; }
body.is-adform .ct-select select{ padding-left: 56px; }
body.is-adform .ct-amt-l{ left: 16px; }
body.is-adform .ct-amt input{ padding-left: 56px; }

body.is-adform .ct-selectbtn::after,
body.is-adform .ct-select::after{ display: none !important; }
body.is-adform .ct-select select,
body.is-adform .ct-selectbtn{
    background-image: url("../img/chevron-down.svg") !important;
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 14px 8px;
}

body.is-adform .ct-select select,
body.is-adform .ct-amt input,
body.is-adform .ct-selectbtn,
body.is-adform .ct-field > .ct-input,
body.is-adform .ct-inline .ct-input,
body.is-adform .ct-inline-btn{
    height: 41px; border-radius: 10px; font-size: 14px;
}
body.is-adform .ct-formsec{ margin: 22px 0 10px; font-size: 15px; }
body.is-adform .ct-field{ margin-bottom: 12px; }
body.is-adform .ct-2col{ gap: 8px; }
body.is-adform .ct-selectbtn-l,
body.is-adform .ct-amt-l{ font-size: 14px; }
body.is-adform .ct-select select{ padding-left: 50px; }
body.is-adform .ct-amt input{ padding-left: 50px; }
body.is-adform .ct-select .is-abs,
body.is-adform .ct-amt-l{ left: 14px; }
body.is-adform .ct-select select,
body.is-adform .ct-selectbtn{ background-position: right 14px center; }
body.is-adform .ct-amt em{ font-size: 14px; right: 14px; }
body.is-adform .ct-page{ padding-top: 0; }
body.is-adform .ct-formsec:first-of-type{ margin-top: 12px; }

body.is-adform .ct-select select,
body.is-adform .ct-amt input,
body.is-adform .ct-field > .ct-input,
body.is-adform .ct-inline .ct-input{
    line-height: 39px;
    box-sizing: border-box; border: 1px solid var(--ct-line); background-color: var(--ct-bg-elev);
}
body.is-adform .ct-amt{ display: block; height: 41px; }
body.is-adform .ct-amt input{ width: 100%; height: 41px; border-radius: 10px; }
body.is-adform .ct-amt em{ position: absolute; top: 50%; transform: translateY(-50%);
    color: var(--ct-text-dim); font-style: normal; }
body.is-adform .ct-amt-l{ top: 50%; transform: translateY(-50%); }
body.is-adform .ct-select.is-plain select{ padding-left: 14px; }
body.is-adform .ct-2col{ align-items: center; }
body.is-adform .ct-2col > .ct-select,
body.is-adform .ct-2col > .ct-amt,
body.is-adform .ct-2col > .ct-selectbtn{ height: 41px; }
body.is-adform .ct-2col > .ct-select select{ height: 41px; }

body.is-adform .ct-2col{
    display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; align-items: stretch;
}
body.is-adform .ct-2col > *{ height: 41px !important; width: auto !important; min-width: 0; }
body.is-adform .ct-2col > .ct-select > select,
body.is-adform .ct-2col > .ct-amt > input,
body.is-adform .ct-2col > .ct-selectbtn{
    height: 41px !important; box-sizing: border-box !important; margin: 0 !important;
}
body.is-adform .ct-amt input[type="number"]{ -moz-appearance: textfield; appearance: textfield; }
body.is-adform .ct-amt input[type="number"]::-webkit-outer-spin-button,
body.is-adform .ct-amt input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }

body.is-adform .ct-bizform .ct-amt .ct-input,
body.is-adform .ct-amt .ct-input,
body.is-adform .ct-amt input{ height: 41px !important; }
body.is-adform .ct-2col > .ct-select,
body.is-adform .ct-2col > .ct-amt,
body.is-adform .ct-2col > .ct-selectbtn{ height: 41px !important; align-self: stretch; }
body.is-adform .ct-2col > .ct-amt{ margin-top: 0 !important; }

body.is-bizinfo .ct-secico-img{ width: 24px; height: 24px; vertical-align: -5px; margin-right: 6px; }
body.is-bizinfo .ct-formsec{ margin: 26px 0 14px; font-size: 17px; font-weight: 700; }
body.is-bizinfo .ct-formsec::before{ display: none; }
body.is-bizinfo .ct-field-label{ display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700;
    color: var(--ct-text); }
body.is-bizinfo .ct-input{ height: 48px; border-radius: 12px; border-color: var(--ct-line); font-size: 15px; }
body.is-bizinfo .ct-field{ margin-bottom: 16px; }
body.is-bizinfo .ct-input[readonly]{ background: #f1f2f4; color: var(--ct-text-sub); }
body.is-bizinfo .ct-inline-btn{ height: 48px; min-width: 84px; border-radius: 12px;
    background: var(--ct-btn-off); color: var(--ct-text-sub); border: 0; font-size: 15px; font-weight: 700; }
body.is-bizinfo #ct_addr_find:not([disabled]){
    background: var(--ct-navy); color: #fff; }
body.is-bizinfo .ct-inline{ display: flex; gap: 8px; align-items: center; }
body.is-bizinfo .ct-inline .ct-input{ flex: 1 1 auto; min-width: 0; }

body.is-bizinfo .ct-radios{ display: flex; flex-direction: column; gap: 18px; }
body.is-bizinfo .ct-radio{
    display: block !important; position: relative; padding: 0 0 0 26px !important;
    min-height: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important;
    gap: 0 !important;
}
body.is-bizinfo .ct-radio:has(input:checked){ border: 0 !important; background: none !important; }
body.is-bizinfo .ct-radio input{ position: absolute; opacity: 0; width: 0; height: 0; }
body.is-bizinfo .ct-radio > span{ display: block; font-size: 15px; font-weight: 700; }
body.is-bizinfo .ct-radio::before{
    content: ''; position: absolute; left: 0; top: 3px; width: 16px; height: 16px;
    background: url("../img/radio-off.svg") no-repeat center / 16px 16px;
}
body.is-bizinfo .ct-radio:has(input:checked)::before{ background-image: url("../img/radio-on.svg"); }
body.is-bizinfo .ct-radio-sub{ display: block; margin-top: 4px; color: var(--ct-text-sub);
    font-size: 13px; font-weight: 400; font-style: normal; }
body.is-bizinfo .ct-page{ padding-top: 0; }
body.is-bizinfo .ct-adwarn,
body.is-bizinfo .ct-page > .ct-adwarn{ margin-left: calc(var(--ct-pad) * -1); margin-right: calc(var(--ct-pad) * -1); }
body.is-bizinfo .ct-upbox{ width: 84px; height: 84px; border-radius: 12px; }
body.is-bizinfo .ct-field-help{ font-size: 13px; line-height: 1.7; color: var(--ct-text-sub); }
body.is-bizinfo .ct-adwarn.is-foot{
    margin: 24px calc(var(--ct-pad) * -1) 0; padding: 16px 6px;
    background: var(--ct-bg-soft); color: #8a9199; font-size: 12px; line-height: 1.7; text-align: center; word-break: keep-all;
}
body.is-bizinfo .ct-fixfoot .ct-bigbtn{ height: 49px; border-radius: 10px; }
body.is-bizinfo .ct-actions .ct-bigbtn:not(:disabled){ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); }
body.is-bizinfo .ct-fixfoot{
    border-top: 1px solid var(--ct-line);
    padding: 8px var(--ct-pad) calc(8px + env(safe-area-inset-bottom, 0px));
}
body.is-bizinfo .ct-upthumb.is-lg{
    position: relative; width: 100%; height: 176px; border-radius: 12px; overflow: visible;
    background: var(--ct-bg-soft); border: 1px solid var(--ct-line);
}
body.is-bizinfo .ct-upthumb.is-lg img{
    width: 100%; height: 100%; object-fit: contain; border-radius: 12px; background: var(--ct-bg-soft);
}
body.is-bizinfo .ct-upthumb.is-lg .ct-upthumb-x{ top: -10px; right: -10px; }
body.is-bizinfo .ct-upbox-name{ display: none !important; }
body.is-bizinfo .ct-bigbtn.is-off{ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); }
body.is-bizinfo .ct-inline-btn.is-on{ background: var(--ct-navy); color: #fff; }
body.is-bizinfo .ct-field-msg.is-ok{
    display: flex; align-items: center; gap: 6px; margin-top: 8px;
    color: var(--ct-primary); font-size: 13px;
}
body.is-bizinfo .ct-field-msg.is-ok::before{
    content: ''; flex: 0 0 auto; width: 14px; height: 14px;
    background: url("../img/check-ok.svg") no-repeat center / 14px 14px;
}
body.is-bizinfo .ct-imgmodal{ position: fixed; inset: 0; z-index: 9999; display: flex;
    align-items: center; justify-content: center; }
body.is-bizinfo .ct-imgmodal[hidden]{ display: none !important; }
body.is-bizinfo .ct-imgmodal-dim{ position: absolute; inset: 0; background: rgba(0,0,0,.65); }
body.is-bizinfo .ct-imgmodal-box{ position: relative; max-width: 92vw; max-height: 92vh; }
body.is-bizinfo .ct-imgmodal-box img{ display: block; max-width: 92vw; max-height: 92vh;
    border-radius: 8px; background: var(--ct-bg-elev); }
body.is-bizinfo .ct-imgmodal-x{ position: absolute; top: -14px; right: -14px; width: 34px; height: 34px;
    border: 0; border-radius: 50%; background: var(--ct-bg-elev); color: var(--ct-text); font-size: 20px; cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.3); }
body.is-bizinfo .ct-upthumb.is-lg img[data-ct-imgview]{ cursor: zoom-in; }
body.is-bizinfo .ct-bigbtn:disabled{ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); cursor: default; }
body.is-bizinfo #sheet-verified .ct-sheet-msg-go{
    display: block; width: 100%; height: 48px; margin-top: 18px; border: 0; border-radius: 10px;
    background: var(--ct-navy); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer;
}

.ct-ticketbar{
    display: flex; align-items: center; gap: 8px;
    margin: 12px var(--ct-pad) 0; padding: 0 14px; height: 46px;
    border-radius: 10px; background: var(--ct-primary-soft);
}
.ct-ticketbar-l{ display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--ct-text); }
.ct-ticketbar-l .ct-gradeico{ width: 18px; height: 18px; }
.ct-ticketbar-l b{ font-weight: 700; }
.ct-ticketbar-r{ margin-left: auto; color: var(--ct-primary); font-size: 14px; font-weight: 700; }
.ct-ticketbar-r em{ font-style: normal; font-weight: 400; color: var(--ct-text); }
.ct-pills.is-admanage{ display: flex; gap: 8px; margin: 14px var(--ct-pad) 0; padding: 0; }
.ct-pills.is-admanage .ct-pill{
    display: inline-flex; align-items: center; height: 36px; padding: 0 18px; border-radius: 999px;
    background: var(--ct-primary); color: #fff; font-size: 14px; font-weight: 700;
}
body.is-admanage .ct-listbar{ display: flex; align-items: center; gap: 10px; margin: 14px var(--ct-pad) 0; }
.ct-listbar-btn{
    display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 999px;
    border: 1px solid var(--ct-line); background: var(--ct-bg-elev); color: var(--ct-text); font-size: 13px;
}
.ct-listbar-sub{ color: var(--ct-text-sub); font-size: 13px; }
body.is-admanage .ct-adcards{ margin-top: 6px; }
body.is-admanage .ct-tabs{ margin: 0 var(--ct-pad); padding: 0; }
body.is-admanage .ct-tabs-item{ padding: 12px 8px; margin-right: 12px; font-size: 15px; }
body.is-admanage .ct-tabs-item:last-child{ margin-right: 0; }
body.is-admanage .ct-ticketbar{ height: 44px; }
body.is-admanage .ct-ticketbar-l,
body.is-admanage .ct-ticketbar-r{ font-size: 15px; }
body.is-admanage .ct-pills.is-admanage .ct-pill{ height: 34px; font-size: 14.5px; }
.ct-adcard-ready{ width: 100%; height: 100%; object-fit: contain; background: var(--ct-bg-elev); }
.ct-adcard-thumb{ background: var(--ct-bg-elev) !important; border: 1px solid var(--ct-line); }

.ct-order-state{
    height: 21px; min-width: 63px; padding: 0 8px; border-radius: 4px; border: 0;
    justify-content: center; font-size: 12px; font-weight: 700;
}
.ct-order-state.is-wait{ background: var(--ct-wait-bg) !important; color: #b8790a !important; border: 0 !important; }
.ct-order-state.is-paid{ background: var(--ct-ok-soft) !important; color: #1fae72 !important; border: 0 !important; }
.ct-order-state.is-cancel,
.ct-order-state.is-refund,
.ct-order-state.is-cancel_req{ background: var(--ct-gray-bg) !important; color: var(--ct-gray-fg) !important; border: 0 !important; }

.ct-order-dl dd{ color: var(--ct-text); font-weight: 700; }
.ct-order-dl dt{ color: var(--ct-text-sub); font-weight: 400; }
.ct-order-sep ~ dt,
.ct-order-sep ~ dd{ color: var(--ct-text-dim); font-weight: 400; }
.ct-order-cancel:disabled{ color: var(--ct-btn-off-fg); border-color: var(--ct-line); background: #fafbfc; cursor: default; }

body.is-account .ct-page-title{ margin: 26px 0 14px; font-size: 17px; font-weight: 700; }
body.is-account .ct-page-desc{ margin-bottom: 14px; color: var(--ct-text-sub); font-size: 14px; line-height: 1.7; }
body.is-account .ct-input{ height: 48px; border-radius: 10px; border-color: var(--ct-line); font-size: 15px; }
body.is-account .ct-field{ margin-bottom: 10px; }
body.is-account .ct-bigbtn{ width: 100%; height: 52px; border-radius: 10px; margin-top: 8px; }
.ct-leave-agree{ display: flex; align-items: center; gap: 6px; margin: 14px 0 4px;
    color: var(--ct-text-sub); font-size: 14px; cursor: pointer; }
.ct-leave-agree input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-leave-agree::before{ content: ''; flex: 0 0 auto; width: 14px; height: 14px;
    background: url("../img/check-agree.svg") no-repeat center / 14px 14px; }
.ct-leave-agree:has(input:checked)::before{ background-image: url("../img/check-agree-on.svg"); }
.ct-leave-agree:has(input:checked){ color: var(--ct-text); }
body.is-account .ct-page{ padding-top: 0; }
body.is-account .ct-page > .ct-page-title:first-of-type{ margin-top: 14px !important; }
body.is-account .ct-bigbtn{ background: var(--ct-navy); color: #fff; border: 0; }
body.is-account .ct-bigbtn:disabled{ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); }
.ct-findres .ct-field-label,
body .ct-find .ct-field-label{ color: var(--ct-text); font-weight: 700; font-size: 14px; }
.ct-findres .ct-done-dl dd{ color: var(--ct-text); font-weight: 700; }
.ct-findres .ct-done-dl dd:last-of-type{ color: var(--ct-text); font-weight: 400; }
.ct-findres .ct-done-dl dt{ color: var(--ct-text-dim); font-weight: 400; }

.ct-findres .ct-infonote,
.ct-find .ct-infonote{
    gap: 10px; padding: 16px 16px 18px; border-radius: 12px; background: var(--ct-bg-soft); align-items: flex-start;
}
.ct-findres .ct-infonote .ct-ico,
.ct-find .ct-infonote .ct-ico{ width: 20px; height: 20px; margin-top: 0; }
.ct-findres .ct-infonote strong,
.ct-find .ct-infonote strong{ color: #8d969f; font-size: 15px; font-weight: 400; line-height: 20px; }
.ct-findres .ct-infonote em,
.ct-find .ct-infonote em{ margin-top: 10px; color: #8d969f; font-size: 15px; line-height: 20px; }
.ct-findres .ct-resico{ margin: 26px 0 0 !important; }
.ct-findres .ct-resico-svg{ width: 80px !important; height: 80px !important; }
.ct-findres .ct-done-title{ margin: 25px 0 0 !important; font-size: 20px !important; font-weight: 700 !important; }
.ct-findres .ct-done-sub{ margin: 19px 0 0 !important; color: var(--ct-text-sub) !important; font-size: 15px !important; }
.ct-findres .ct-infonote{ margin-top: 48px !important; }
.ct-findres .ct-infonote strong{ line-height: 21px !important; }
.ct-findres .ct-infonote em{ margin-top: 0 !important; line-height: 21px !important; }

.ct-tabs.is-half{ display: flex; }
.ct-tabs.is-half .ct-tabs-item{ justify-content: center; }

.ct-carousel-item.is-img{ height:auto; aspect-ratio: 656 / 230; background:transparent; }
.ct-carousel-track{ overflow-x:hidden; scroll-snap-type:none; }
.ct-carousel-item.is-img .ct-hero-img{ height:auto; object-fit:contain; }

.ct-tabs-cnt{ display:inline-flex; align-items:center; justify-content:center;
              min-width:18px; height:18px; margin-left:6px; padding:0 5px; border-radius:9px;
              background:var(--ct-primary-soft, #f3edff); color:var(--ct-primary, #7c3aed);
              font-size:11.5px; font-weight:700; font-style:normal; line-height:1; vertical-align:1px; }
.ct-tabs-item.is-on .ct-tabs-cnt{ background:var(--ct-primary, #7c3aed); color:#fff; }

.ct-pills.is-inset .ct-pill{ height:32px; padding:0 14px; border-radius:8px;
                             background: var(--ct-bg-elev); font-size:13px; font-weight:400; }
.ct-pills.is-inset .ct-pill.is-on{ background: var(--ct-bg-elev); border-color:var(--ct-primary);
                                   color:var(--ct-primary); font-weight:500; }

.ct-cta-bookmark .ct-bm-fill{ display: none; }
.ct-cta-bookmark.is-on .ct-bm-line{ display: none; }
.ct-cta-bookmark.is-on .ct-bm-fill{ display: block; }

.ct-detail-hero{ position: sticky; top: var(--ct-top-h); z-index: 0; }
.ct-detail-body{ position: relative; z-index: 1; background: var(--ct-bg); }

body.is-adform .ct-rt-body{ height: 190px; min-height: 0; overflow-y: auto; }

body.ct-body.is-intro{ background: var(--ct-bg); }
.ct-intro-bottom{ flex: 1 0 auto; width: 100%; padding: 9px 0 61px;
                  background: linear-gradient(to bottom, var(--ct-primary-soft) 0, var(--ct-bg) 185px); }
html[data-theme="dark"] .ct-intro-bottom{
    background: linear-gradient(to bottom, #301c58 0, var(--ct-bg) 185px); }
body.is-intro .ct-main{ padding-bottom: 0; }
.ct-intro{ position: relative; min-height: 100vh; min-height: 100dvh; overflow: hidden;
           display: flex; flex-direction: column; align-items: center; text-align: center; }

.ct-intro-deco{ position: absolute; border-radius: 50%; pointer-events: none; }
.ct-intro-deco.is-a{ left: -104px; top: -104px; width: 244px; height: 244px; background: var(--ct-primary-soft); }
.ct-intro-deco.is-b{ right: 42px; top: 152px; width: 22px; height: 22px; background: var(--ct-primary-2); }

.ct-intro-logo{ position: relative; width: 174px; height: auto; margin-top: 130px; }
.ct-intro-title{ position: relative; margin: 38px 0 0; font-size: 22px; font-weight: 700;
                 letter-spacing: -.03em; color: var(--ct-text); }
.ct-intro-title b{ color: var(--ct-primary); font-weight: 700; }
.ct-intro-sub{ position: relative; margin: 16px 0 0; font-size: 13.5px; color: var(--ct-text-sub); }
.ct-intro-illust{ position: relative; width: 100%; max-width: 470px; height: auto; margin-top: 17px; }
.ct-intro-illust.is-dark{ display: none; }
html[data-theme="dark"] .ct-intro-illust.is-light{ display: none; }
html[data-theme="dark"] .ct-intro-illust.is-dark{ display: block; margin-top: 75px; }

.ct-intro-btns{ position: relative; width: 100%;
                display: flex; flex-direction: column; gap: 20px;
                padding: 0 12px; }
.ct-intro-btn{ display: flex; align-items: center; justify-content: center;
               height: 48px; border-radius: 20px; font-size: 15px; font-weight: 700; }
.ct-intro-btn.is-fill{ background: var(--ct-primary); color: #fff; }
.ct-intro-btn.is-line{ background: var(--ct-bg-elev); color: var(--ct-primary);
                       border: 1px solid var(--ct-primary); }
html[data-theme="dark"] .ct-intro-btn.is-line{ background: transparent; color: var(--ct-text); }

body.is-bizinfo .ct-inline-btn.is-off,
body.is-bizinfo .ct-inline-btn[disabled],
.ct-inline-btn.is-off,
.ct-inline-btn[disabled]{ background: var(--ct-btn-off); border-color: transparent;
                          color: var(--ct-btn-off-fg); cursor: default; }
body.is-bizinfo .ct-inline-btn[disabled]:hover,
.ct-inline-btn.is-off:hover,
.ct-inline-btn[disabled]:hover{ border-color: transparent; color: var(--ct-btn-off-fg); }

.ct-adcard{ position: relative; }
.ct-adcard-menu{ position: absolute; top: 10px; right: 10px; }
.ct-adcard-more{
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    width: 28px; height: 28px; border: 0; background: none; cursor: pointer;
}
.ct-adcard-more i{ width: 3px; height: 3px; border-radius: 50%; background: var(--ct-btn-off-fg); }
.ct-adcard-sheet{
    position: absolute; top: 30px; right: 0; z-index: 5; min-width: 132px;
    display: flex; flex-direction: column; padding: 6px;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line); border-radius: 12px;
    box-shadow: 0 6px 20px rgba(33,26,58,.14);
}
.ct-adcard-sheet[hidden]{ display: none !important; }
.ct-adcard-mi{
    display: block; width: 100%; padding: 9px 12px; border: 0; background: none;
    text-align: left; font-size: 14px; color: var(--ct-text); cursor: pointer; border-radius: 8px;
}
.ct-adcard-mi:hover{ background: var(--ct-bg-soft); }
.ct-adcard-mi.is-danger{ color: var(--ct-warn); }

.ct-adcard-mi{ display: flex !important; align-items: center; gap: 10px; }
.ct-adcard-mico{ display: inline-flex; width: 20px; height: 20px; flex: 0 0 auto; }
.ct-adcard-mico svg{ width: 100%; height: 100%; display: block; }

.ct-adcard:has(> .ct-adcard-act),
.ct-adcard:has(> .ct-adcard-termrow){ flex-wrap: wrap; }
.ct-adcard-act{
    flex: 0 0 100%; width: 100%; order: 9;
    display: block; margin: 0; padding: 0;
    height: 29px; line-height: 29px;
    border-radius: 8px; background: var(--ct-soft-bg); color: var(--ct-soft-fg);
    text-align: center; font-size: 14px; font-weight: 700; border: 0; cursor: pointer;
}
.ct-adcard-act:hover{ filter: brightness(0.97); }

.ct-adcard-termrow{ flex: 0 0 100%; width: 100%; order: -1; display: block; margin: 0 0 8px; }
.ct-adcard-term{
    display: inline-block; min-width: 99px; height: 24px; line-height: 24px;
    padding: 0 10px; border-radius: 4px; box-sizing: border-box; text-align: center;
    background: var(--ct-soft-bg); color: var(--ct-soft-fg); font-size: 13px; font-weight: 700;
}

.ct-adcard.is-dim .ct-adcard-subject,
.ct-adcard.is-dim .ct-adcard-sub,
.ct-adcard.is-dim .ct-adcard-meta{ color: #9aa0a6; }
.ct-adcard.is-dim .ct-adcard-id,
.ct-adcard.is-dim .ct-adcard-pay{ color: #9aa0a6; }
.ct-adcard-act.is-gray{ background: var(--ct-gray-bg); color: var(--ct-gray-fg); }
.ct-adcard-act.is-gray:hover{ filter: brightness(0.97); }

.ct-adempty{ padding: 24px var(--ct-pad) 0; text-align: center; }
.ct-adempty-ico{ display: inline-flex; width: 80px; height: 80px; margin-bottom: 14px; }
.ct-adempty-ico svg{ width: 100%; height: 100%; display: block; }
.ct-adempty-ttl{ display: block; font-size: 19px; font-weight: 700; color: var(--ct-text); }
.ct-adempty-sub{ margin: 6px 0 0; font-size: 14px; color: var(--ct-text-sub); }
.ct-adempty-btn{
    display: block; margin: 43px 0 0; height: 48px; line-height: 48px; border-radius: 10px;
    background: var(--ct-primary); color: #fff; font-size: 16px; font-weight: 700;
}
.ct-adempty-note{
    display: flex; align-items: center; gap: 8px; margin: 43px 0 0; padding: 0 14px;
    height: 48px; border-radius: 10px; background: var(--ct-soft-bg); color: var(--ct-soft-fg); font-size: 13.5px; text-align: left;
}
.ct-adempty-note b{ font-weight: 700; }
.ct-adempty-bang{ flex: 0 0 auto; width: 20px; height: 20px; display: inline-flex; }
.ct-adempty-bang svg{ width: 100%; height: 100%; display: block; }
.ct-adempty-note em{ margin-left: auto; font-style: normal; font-size: 18px; color: var(--ct-soft-fg); }

.ct-menu .ct-menu-toggle{
    display: flex; align-items: center; width: 100%; border: 0; background: none;
    padding: 12px 16px; font-size: 16px; font-weight: 400; color: var(--ct-text); text-align: left; cursor: pointer;
}
.ct-menu .ct-menu-toggle + a{ border-top: 1px solid var(--ct-line-soft); }
.ct-menu .ct-menu-sun{ margin-left: auto; display: inline-flex; flex: 0 0 20px; width: 20px; height: 20px;
                       font-size: initial; line-height: 0; color: inherit; }
.ct-menu .ct-menu-sun::after{ content: none !important; display: none !important; }
.ct-menu .ct-menu-sun svg{ width: 20px; height: 20px; display: block; }

html[data-theme="dark"] {
    color-scheme: dark;
    --ct-bg:            #15121c;
    --ct-bg-elev:       #1d1929;
    --ct-bg-soft:       #221d31;
    --ct-bg-elev2:      #2a2439;
    --ct-line:          #3a3350;
    --ct-line-soft:     #2b2540;

    --ct-text:          #f4f2fa;
    --ct-text-sub:      #b9b3c9;
    --ct-text-dim:      #8f88a3;

    --ct-primary:       #9d6bf0;
    --ct-primary-2:     #b18cf5;
    --ct-primary-soft:  #2a2140;
    --ct-primary-text:  #c4a6ff;

    --ct-accent:        #ff6bc0;
    --ct-accent-2:      #ff9ad2;
    --ct-star:          #f7d649;
    --ct-danger:        #ff6b6b;
    --ct-warn:          #ff8a5c;
    --ct-info:          #6ab6ef;
    --ct-avatar-bg:     #2a2439;
    --ct-avatar-fg:     #8f88a3;

    --ct-soft-bg:       #2a2140;
    --ct-soft-fg:       #c4a6ff;
    --ct-gray-bg:       #2a2439;
    --ct-gray-fg:       #b9b3c9;
    --ct-wait-bg:       #3a2f14;
    --ct-wait-fg:       #f0c25a;
    --ct-ico:           #d8d3e6;

    --ct-navy:          #5b3ba8;
    --ct-btn-off:       #241f33;
    --ct-btn-off-fg:    #8f88a3;
    --ct-danger-soft:   #3a1f1f;
    --ct-danger-fg:     #ff8a8a;
    --ct-ok-soft:       #15302a;
    --ct-ok-fg:         #4ed6a3;
}

.ct-menu-sun svg path,
.ct-adcard-mico svg path{ fill: var(--ct-ico); }
.ct-adcard-mi.is-danger .ct-adcard-mico svg path{ fill: var(--ct-warn); }
.ct-adempty-ico svg rect{ fill: var(--ct-bg-elev2); }
.ct-adempty-ico svg path{ fill: var(--ct-text-dim); }
.ct-adempty-bang svg path{ fill: var(--ct-soft-fg); }

.ct-menu .ct-menu-sun .ct-ico-moon{ display: none; }
html[data-theme="dark"] .ct-menu .ct-menu-sun .ct-ico-sun{ display: none; }
html[data-theme="dark"] .ct-menu .ct-menu-sun .ct-ico-moon{ display: block; }



.ct-detail-dl a.ct-detail-link{ color: inherit; text-decoration: none; }

body.is-deposit .ct-page{ padding-top: 26px; text-align: center; }
.ct-deposit-ico{ display: inline-flex; }
.ct-deposit-ico svg{ width: 80px; height: 80px; display: block; }
.ct-deposit-ico-bg{ fill: var(--ct-bg-soft); }
.ct-deposit-ico-fg{ fill: var(--ct-text-dim); }

.ct-deposit-ttl{ margin: 18px 0 0; font-size: 18px; font-weight: 700; color: var(--ct-text); letter-spacing: -.02em; }
.ct-deposit-sub{ margin: 10px 0 0; font-size: 13px; color: var(--ct-text-dim); }

.ct-deposit-box{ margin: 32px 0 0; padding: 20px 18px 18px; border-radius: 12px;
                 background: var(--ct-primary-soft); text-align: left; }
.ct-deposit-box.is-empty{ padding: 22px 18px; text-align: center; font-size: 13.5px;
                          color: var(--ct-text-sub); line-height: 1.7; }
.ct-deposit-dl{ display: grid; grid-template-columns: auto 1fr; gap: 10px 12px; margin: 0; }
.ct-deposit-dl dt{ font-size: 13px; color: var(--ct-text-sub); }
.ct-deposit-dl dd{ margin: 0; text-align: right; font-size: 13.5px; font-weight: 700; color: var(--ct-text); }
.ct-deposit-dl.is-amt{ margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ct-line); }
.ct-deposit-dl.is-amt dd b{ font-size: 17px; color: var(--ct-primary-text); }

.ct-deposit-copy{ display: block; width: 100%; height: 46px; margin: 18px 0 0; padding: 0;
                  border: 0; border-radius: 10px; background: var(--ct-bg-elev);
                  color: var(--ct-primary-text); font-size: 14px; font-weight: 700; cursor: pointer; }
.ct-deposit-copy.is-done{ background: var(--ct-primary); color: #fff; }

.ct-deposit-notes{ margin: 14px 0 0; padding: 16px 18px; list-style: none; text-align: left;
                   border: 1px solid var(--ct-line); border-radius: 12px; }
.ct-deposit-notes li{ position: relative; padding-left: 12px; font-size: 12.5px; line-height: 1.9;
                      color: var(--ct-text-sub); }
.ct-deposit-notes li::before{ content: ''; position: absolute; left: 0; top: 10px;
                              width: 3px; height: 3px; border-radius: 50%; background: var(--ct-text-dim); }
.ct-deposit-notes b{ color: var(--ct-text); font-weight: 700; }

body.is-deposit .ct-fixfoot .ct-bigbtn{ background: var(--ct-primary); border-color: var(--ct-primary); color: #fff; }

.ct-bimg{ position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.ct-bimg[hidden]{ display: none !important; }
.ct-bimg-dim{ position: absolute; inset: 0; background: rgba(0,0,0,.78); }
.ct-bimg-box{ position: relative; margin: 0; max-width: 94vw; max-height: 94vh; text-align: center; }
.ct-bimg-box img{ max-width: 94vw; max-height: 86vh; border-radius: 10px; background: var(--ct-bg-elev); }
.ct-bimg-box figcaption{ margin-top: 10px; color: #fff; font-size: 13px; }
.ct-bimg-x{ position: absolute; top: 14px; right: 14px; z-index: 2;
            width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
            background: rgba(255,255,255,.14); color: #fff; font-size: 26px; line-height: 40px;
            cursor: pointer; }
.ct-bimg-x:hover{ background: rgba(255,255,255,.26); }

.ct-top-dark{ padding: 0; border: 0; background: none; cursor: pointer; -webkit-appearance: none; appearance: none; }
.ct-top-dark svg{ display: block; width: 24px; height: 24px; }
.ct-top-dark svg path{ fill: currentColor; }
.ct-top-dark .ct-ico-moon{ display: none; }
html[data-theme="dark"] .ct-top-dark .ct-ico-sun{ display: none; }
html[data-theme="dark"] .ct-top-dark .ct-ico-moon{ display: block; }

.ct-mycard-nick{ font-size: 13px; line-height: 17px; color: var(--ct-text-dim); }
.ct-mycard.is-noticket{ align-items: flex-start; padding: 12px 16px; }
.ct-mycard.is-noticket .ct-mycard-av{ margin-top: 0; }
.ct-mycard.is-noticket .ct-mycard-id{ line-height: 24px; }
.ct-mycard.is-noticket .ct-mycard-nick{ margin-left: 0; line-height: 20px; white-space: nowrap; }
.ct-mycard.is-noticket .ct-mycard-acts{ align-self: center; margin-top: 0; }

.ct-flabel{ display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--ct-text); }
.ct-flabel-sub{ margin-left: 4px; font-size: 12px; font-weight: 400; font-style: normal; color: var(--ct-text-dim); }

.ct-formsec.is-ico{ display: flex; align-items: center; gap: 6px; }
.ct-formsec.is-ico .ct-ico{ width: 18px; height: 18px; flex: 0 0 18px; }
.ct-formsec-btn{ margin-left: auto; padding: 4px 10px; border: 0; border-radius: 999px;
                 background: var(--ct-primary-soft); color: var(--ct-primary-2);
                 font-size: 12px; font-weight: 600; cursor: pointer; }

.ct-optpills{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.ct-optpill{ display: inline-flex; }
.ct-optpill input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ct-optpill span{ display: inline-flex; align-items: center; justify-content: center;
                  height: 34px; padding: 0 16px; border: 1px solid var(--ct-line); border-radius: 999px;
                  background: var(--ct-bg-elev); color: var(--ct-text-sub); font-size: 13px; cursor: pointer; }
.ct-optpill input:checked + span{ border-color: var(--ct-primary); background: var(--ct-primary); color: #fff; font-weight: 600; }
.ct-optpill input:focus-visible + span{ outline: 2px solid var(--ct-primary-2); outline-offset: 2px; }

.ct-subimgs{ display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.ct-subimgs .ct-subimg{ position: relative; width: 84px; height: 84px; border-radius: 10px; overflow: hidden;
                        background: var(--ct-bg-soft); }
.ct-subimgs .ct-subimg img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-subimg-x{ position: absolute; top: 3px; right: 3px; width: 20px; height: 20px; padding: 0;
              display: flex; align-items: center; justify-content: center;
              border: 0; border-radius: 50%; background: var(--ct-primary); color: #fff;
              font-size: 13px; line-height: 1; cursor: pointer; }
.ct-subimg-x .ct-ico{ width: 12px; height: 12px; }
.ct-subimgs .ct-subadd{ width: 84px; height: 84px; flex-direction: column; gap: 2px; }
.ct-subadd-n{ font-size: 11px; font-style: normal; color: var(--ct-text-dim); }
.ct-subadd[hidden]{ display: none !important; }

.ct-detail-imgs{ gap: 0; }
.ct-detail-shot{ aspect-ratio: auto; height: 238px; }
.ct-detail-imgs img{ width: 220px; height: 220px; aspect-ratio: auto; user-select: none; -webkit-user-drag: none; }
.ct-detail-nav{ position: absolute; top: 92px; z-index: 1; width: 36px; height: 36px; padding: 0;
                display: flex; align-items: center; justify-content: center;
                border: 0; border-radius: 50%; background: var(--ct-photo-nav-bg); color: var(--ct-photo-nav-fg); cursor: pointer; }
.ct-detail-nav.is-prev{ left: 4px; }
.ct-detail-nav.is-next{ right: 4px; }
.ct-detail-nav svg{ width: 9px; height: 15px; }
.ct-detail-count{ position: absolute; right: 8px; bottom: 26px; z-index: 1; min-width: 40px; height: 20px; padding: 0 8px;
                  border-radius: 10px; background: var(--ct-photo-count-bg); color: #fff;
                  font-size: 12px; line-height: 20px; text-align: center; font-variant-numeric: tabular-nums; }
.ct-detail-count b{ font-weight: inherit; }

.ct-detail-by{ display: flex; align-items: center; gap: 4px; margin-top: 8px; font-size: 13px; line-height: 20px; color: var(--ct-text-dim); }
.ct-detail-by svg{ flex: 0 0 auto; width: 16px; height: 16px; }
.ct-detail-by b{ color: var(--ct-text); font-weight: 700; }
.ct-detail-facts{ display: flex; margin-top: 32px; padding: 16px 0; border-radius: 10px; background: var(--ct-bg-soft); text-align: center; }
.ct-detail-facts > div{ position: relative; flex: 1 1 0; min-width: 0; padding: 0 8px; }
.ct-detail-facts > div + div::before{ content: ''; position: absolute; left: 0; top: 5px; bottom: 6px; width: 1px; background: var(--ct-line); }
.ct-detail-facts span{ display: block; font-size: 13px; line-height: 17px; color: var(--ct-text-dim); }
.ct-detail-facts strong{ display: block; margin-top: 4px; font-size: 15px; line-height: 20px; font-weight: 500; color: var(--ct-text);
                         white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ct-note.is-done{ position: relative; margin: 12px 16px 0; padding: 12px 14px 12px 44px;
    border: 0; border-radius: var(--ct-radius-sm); background: var(--ct-primary-soft); color: var(--ct-text-sub); }
.ct-note.is-done::before{ content: ''; position: absolute; left: 14px; top: 13px; width: 20px; height: 20px;
    border-radius: 50%; background: var(--ct-primary); }
.ct-note.is-done::after{ content: ''; position: absolute; left: 21px; top: 17px; width: 5px; height: 9px;
    border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.ct-note.is-done strong{ display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--ct-text); }
.ct-note.is-done strong em{ font-style: normal; font-weight: 600; color: var(--ct-primary-text); margin-left: 2px; }
.ct-note.is-done span{ display: block; margin-top: 2px; font-size: 13px; line-height: 18px; }

body.is-community .ct-tabs.is-half .ct-tabs-item{ padding: 10px 0; font-size: 16px; line-height: 22px; font-weight: 400; color: var(--ct-text-dim); }
body.is-community .ct-tabs.is-half .ct-tabs-item.is-on{ font-weight: 700; color: var(--ct-text); border-bottom-color: var(--ct-primary); }
body.is-community .ct-filter .ct-search button .ct-ico{ width: 18px; height: 18px; color: var(--ct-primary); }
body.is-community .ct-rule{ display: flex; align-items: center; gap: 8px; height: 43px; box-sizing: border-box;
    padding: 0 12px 0 14px; margin-bottom: 17px; font-size: 15px; line-height: 20px; }
body.is-community .ct-rule i{ color: var(--ct-primary); }
body.is-community .ct-rule i .ct-ico{ width: 18px; height: 18px; }
body.is-community .ct-rule em{ display: flex; margin-left: auto; color: var(--ct-text-dim); }
body.is-community .ct-rule em .ct-ico{ width: 18px; height: 18px; }
body.is-community .ct-post > a{ display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 35px 35px auto;
    column-gap: 12px; align-items: stretch; padding: 12px 0 13px; }
body.is-community .ct-post.has-thumb > a{ grid-template-columns: minmax(0, 1fr) 70px; }
body.is-community .ct-post .ct-post-head{ grid-column: 1; grid-row: 1; align-self: end; }
body.is-community .ct-post .ct-post-sum{ grid-column: 1; grid-row: 2; align-self: start; margin-top: 4px; }
body.is-community .ct-post.has-thumb .ct-post-thumb{ grid-column: 2; grid-row: 1 / span 2; }
body.is-community .ct-post-thumb img{ width: 70px; height: 70px; border-radius: 9px; }
body.is-community .ct-post .ct-post-meta{ grid-column: 1 / -1; grid-row: 3; height: 36px; box-sizing: border-box; margin-top: 12px;
    padding: 0 13px; border-radius: 4px; background: var(--ct-bg-soft); font-size: 13px; }
body.is-community .ct-post-meta .ct-post-name{ color: var(--ct-text); }
body.is-community .ct-post-meta .ct-post-name{ font-size: 14px; font-weight: 400; line-height: 21px; letter-spacing: -0.5px; color: var(--ct-text); }

.ct-talkfloat{ --tf-right: calc(50% - min(50%, var(--ct-app-max, 100%) / 2)); }
.ct-talkfloat-list{ position: fixed; z-index: 34; top: 100px; right: calc(var(--tf-right) + 12px);
    display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ct-talkfloat-btn{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    width: 56px; height: 52px; padding: 0; border: 0; border-radius: 8px; cursor: pointer;
    background: #f3eefd; color: var(--ct-text); text-decoration: none; box-shadow: 0 2px 6px rgba(33, 26, 58, .08); }
.ct-talkfloat-btn.is-star{ background: #fff6dc; }
.ct-talkfloat-btn img{ display: block; width: 28px; height: 28px; }
.ct-talkfloat-btn span{ font-size: 10.5px; line-height: 14px; font-weight: 500; letter-spacing: -0.3px; white-space: nowrap; color: var(--ct-text); }
.ct-talkfloat-btn.is-star.is-on{ box-shadow: inset 0 0 0 1.5px #f5b800, 0 2px 6px rgba(33, 26, 58, .08); }
.ct-talkfloat-close{ display: flex; width: 28px; height: 28px; align-items: center; justify-content: center;
    padding: 0; border: 0; background: none; cursor: pointer; color: #2b2440; }
.ct-talkfloat-close svg{ width: 20px; height: 20px; }
.ct-talkfloat-handle{ display: none; position: fixed; z-index: 34; top: 178px; right: var(--tf-right);
    width: 20px; height: 48px; padding: 0; border: 0; border-radius: 8px 0 0 8px; cursor: pointer;
    align-items: center; justify-content: center; background: #211a3a; color: #fff; }
.ct-talkfloat.is-folded .ct-talkfloat-list{ display: none; }
.ct-talkfloat.is-folded .ct-talkfloat-handle{ display: flex; }
html[data-theme="dark"] .ct-talkfloat-btn{ background: #2c2640; }
html[data-theme="dark"] .ct-talkfloat-btn.is-star{ background: #3a3222; }
html[data-theme="dark"] .ct-talkfloat-close{ color: #e8e4f2; }
html[data-theme="dark"] .ct-talkfloat-handle{ background: #4a4266; }
.ct-talk-head.is-topsearch .ct-talk-search button{ right: 8px; }
.ct-talk-head.is-topsearch .ct-talk-search input{ padding-right: 44px; }
.ct-talk-head.is-topsearch .ct-talk-search button{ top: 50%; transform: translateY(-50%); display: flex; align-items: center; }
.ct-talkfloat-btn.is-img{ width: 56px; height: 51px; padding: 0; gap: 0; border-radius: 8px; overflow: hidden; background: none; box-shadow: none; }
.ct-talkfloat-btn.is-img img{ display: block; width: 56px; height: 51px; }
.ct-talkfloat-btn.is-img.is-star.is-on{ box-shadow: none; outline: 1.5px solid #f5b800; outline-offset: -1.5px; }
html[data-theme="dark"] .ct-talkfloat-btn.is-img,
html[data-theme="dark"] .ct-talkfloat-btn.is-img.is-star{ background: none; }
.ct-talkfloat-list{ z-index: 25; right: calc(var(--tf-right) + 12px + var(--tf-sb, 0px)); }
.ct-talkfloat-handle{ z-index: 25; right: calc(var(--tf-right) + var(--tf-sb, 0px)); }

.ct-body.is-talkroom .ct-talk-notice{
    position: fixed; z-index: 24; top: 52px;
    left: calc(50% - min(50%, var(--ct-app-max, 100%) / 2) + 16px);
    right: calc(50% - min(50%, var(--ct-app-max, 100%) / 2) + 16px + var(--tf-sb, 0px));
    display: flex; align-items: center; gap: 8px; height: 36px; box-sizing: border-box; margin: 0; padding: 0 14px;
    border: 0; border-radius: 8px; background: rgba(72, 72, 78, .92); color: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
    font-size: 13px; font-weight: 700; line-height: 18px; letter-spacing: -0.3px; text-align: left;
}
.ct-body.is-talkroom .ct-talk-notice .ct-ico{ flex: 0 0 auto; width: 18px; height: 18px; color: #fff; fill: currentColor; }
.ct-body.is-talkroom .ct-talk-notice span{ min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
html[data-theme="dark"] .ct-body.is-talkroom .ct-talk-notice{ background: rgba(90, 86, 104, .94); }
.ct-body.is-talkroom .ct-talk-notice.is-link{ text-decoration: none; cursor: pointer; }
.ct-body.is-talkroom .ct-talk-notice.is-link span{ flex: 1 1 auto; }
.ct-body.is-talkroom .ct-talk-notice.is-link .ct-ico-chevron_right{ width: 16px; height: 16px; margin-left: auto; opacity: .85; }
.ct-body.is-talkroom .ct-talk-notice.is-link:active{ background: rgba(58, 58, 64, .95); }

.ct-body.is-talkroom .ct-top-menu-list{ min-width: 90px; padding: 0; overflow: hidden;
    background: var(--ct-bg-elev); border: 1px solid var(--ct-line); border-radius: 4px; box-shadow: 0 4px 12px rgba(33, 26, 58, .10); }
.ct-body.is-talkroom .ct-top-menu-list li + li{ border-top: 1px solid var(--ct-line); }
.ct-body.is-talkroom .ct-top-menu-list a{ padding: 8px 10px; border-radius: 0; font-size: 13px; line-height: 19px; }
body.is-admanage .ct-adcard-meta{ gap: 0; }
body.is-admanage .ct-adcard-meta .ct-gradeico,
body.is-admanage .ct-adcard-meta .ct-ico-avatar_star{ margin-right: 4px; }
body.is-admanage .ct-adcard-meta > em{ margin-left: 4px; }
body.is-admanage .ct-adcard-id{ margin-right: 4px; }
body.is-admanage .ct-adcard-id{ font-size: 13px; font-weight: 600; color: var(--ct-text); }
body.is-admanage .ct-adcard-pay{ font-size: 13px; font-weight: 400; color: var(--ct-text); }
body.is-admanage .ct-adcard-meta > em{ font-size: 12px; font-weight: 400; color: var(--ct-text-dim); }
body.is-admanage .ct-adcard-sub{ font-size: 12px; font-weight: 400; color: var(--ct-text-dim); }

body.is-joblist .ct-adcard-meta{ gap: 0; }
body.is-joblist .ct-adcard-meta .ct-ico-avatar_star{ margin-right: 3.2px; }
body.is-joblist .ct-adcard-meta .ct-gradeico{ margin-right: 3.2px; }
body.is-joblist .ct-adcard-meta > em{ margin-left: 4px; font-size: 12px; font-weight: 400; color: var(--ct-text-dim); }
body.is-joblist .ct-adcard-id{ font-size: 13px; }
body.is-joblist .ct-adcard-pay{ font-size: 13px; }
body.is-joblist .ct-adcard-sub{ font-size: 12px; font-weight: 400; color: var(--ct-text-dim); }
body.is-joblist .ct-list-right{ font-size: 12px; font-weight: 400; color: var(--ct-text-dim); }
body.is-joblist .ct-list-right b{ font-weight: 400; color: var(--ct-text); }
body.is-joblist .ct-adcard-id{ margin-right: 4px; }

.ct-decl{ padding-top: 16px; }
.ct-decl-target{ margin: 0 0 22px; padding: 14px 16px; border: 1px solid var(--ct-line); border-radius: 12px; background: var(--ct-bg-soft); }
.ct-decl-kind{ display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px;
    background: var(--ct-primary-soft); color: var(--ct-primary); font-size: 12px; font-weight: 700; }
.ct-decl-subject{ margin: 8px 0 0; font-size: 15px; font-weight: 700; line-height: 1.45; color: var(--ct-text);
    word-break: break-all; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.is-declare .ct-field{ margin-bottom: 22px; }
.ct-decl-pills{ margin-bottom: 0; }
.ct-decl-pills .ct-optpill span{ height: 38px; padding: 0 14px; font-size: 14px; }
body.is-declare .ct-field > input.ct-input{ height: 50px; padding: 0 14px; border-radius: 10px; font-size: 15px; }
body.is-declare .ct-field > input.ct-input[hidden]{ display: none !important; }
#f_reason_text{ margin-top: 10px; }
body.is-declare .ct-field > .ct-decl-link{ background: var(--ct-bg-soft); color: var(--ct-text-sub); font-size: 14px; }
body.is-declare textarea.ct-input{ height: auto; min-height: 196px; padding: 12px 14px; border-radius: 10px; font-size: 15px; line-height: 1.6; }
.ct-decl-count{ margin: 6px 0 0; text-align: right; font-size: 12px; color: var(--ct-text-dim); }
.ct-decl-count b{ font-weight: 600; color: var(--ct-text-sub); }
body.is-declare .ct-adfoot-note{ margin-top: 4px; margin-bottom: 16px; }
.ct-decl-alert{ position: relative; margin: 0 0 24px; padding: 14px 16px 14px 46px; border-radius: 12px; font-size: 13px; line-height: 1.55; }
.ct-decl-alert strong{ display: block; font-size: 14px; font-weight: 700; line-height: 20px; }
.ct-decl-alert span{ display: block; margin-top: 3px; color: var(--ct-text-sub); }
.ct-decl-alert::before{ content: '!'; position: absolute; left: 16px; top: 14px; width: 20px; height: 20px; border-radius: 50%;
    font-size: 13px; font-weight: 800; line-height: 20px; text-align: center; color: #fff; }
.ct-decl-alert.is-err{ background: var(--ct-danger-soft); color: var(--ct-danger); }
.ct-decl-alert.is-err::before{ background: var(--ct-danger); }
.ct-decl-alert.is-dup{ background: var(--ct-primary-soft); color: var(--ct-text); }
.ct-decl-alert.is-dup::before{ content: ''; background: var(--ct-primary); }
.ct-decl-alert.is-dup::after{ content: ''; position: absolute; left: 23px; top: 18px; width: 5px; height: 9px;
    border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
body.is-declare .ct-bigbtn.is-off, body.is-declare .ct-bigbtn:disabled{ background: var(--ct-btn-off); color: var(--ct-btn-off-fg); cursor: default; }

#ct_cscrap_done .ct-modal-box{ width: min(296px, calc(100% - 48px)); border-radius: 18px; overflow: hidden; }
#ct_cscrap_done .ct-modal-body{ padding: 28px 24px 22px; }
#ct_cscrap_done .ct-modal-body::before{ content: ''; display: block; width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%;
    background: #fff6dc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFC53D' d='M12 2.8l2.85 5.78 6.38.93-4.62 4.5 1.09 6.35L12 17.36l-5.7 3 1.09-6.35-4.62-4.5 6.38-.93z'/%3E%3C/svg%3E") center / 30px no-repeat; }
#ct_cscrap_done.is-off .ct-modal-body::before{ background-color: var(--ct-bg-elev2);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23A8ADB5' stroke-width='1.8' stroke-linejoin='round' d='M12 2.8l2.85 5.78 6.38.93-4.62 4.5 1.09 6.35L12 17.36l-5.7 3 1.09-6.35-4.62-4.5 6.38-.93z'/%3E%3C/svg%3E"); }
#ct_cscrap_done .ct-modal-title{ font-size: 17px; font-weight: 700; letter-spacing: -0.3px; color: var(--ct-text); }
#ct_cscrap_done .ct-modal-txt{ margin-top: 6px; font-size: 14px; line-height: 1.55; color: var(--ct-text-sub); }
#ct_cscrap_done .ct-modal-btns{ padding: 0 20px 20px; border-top: 0; }
#ct_cscrap_done .ct-modal-btns .ct-modal-btn,
#ct_cscrap_done .ct-modal-btns > .ct-modal-btn.is-primary:only-child{ height: 48px; line-height: 48px; border-radius: 12px;
    background: var(--ct-navy); color: #fff; font-size: 15px; font-weight: 700; }
html[data-theme="dark"] #ct_cscrap_done .ct-modal-body::before{ background-color: #3a3222; }
html[data-theme="dark"] #ct_cscrap_done.is-off .ct-modal-body::before{ background-color: var(--ct-bg-elev2); }
.ct-talkfloat-btn:focus{ outline: none; }
.ct-talkfloat-btn:focus-visible{ outline: 2px solid var(--ct-primary-2); outline-offset: 2px; }

.ct-talkfloat.is-nonotice .ct-talkfloat-list{ top: 52px; }
.ct-talkfloat.is-nonotice .ct-talkfloat-handle{ top: 130px; }

#m-cpnotice .ct-modal-body{ padding: 30px 24px 26px; }
#m-cpnotice .ct-modal-title{ line-height: 22px; }
#m-cpnotice .ct-modal-txt{ margin-top: 10px; line-height: 1.5; word-break: keep-all; }

.ct-body.is-talkroom .ct-talk-notice{ background: rgba(85, 85, 85, .8); padding: 8px 12px; gap: 4px; }
.ct-body.is-talkroom .ct-talk-notice.is-link:active{ background: rgba(68, 68, 68, .85); }
html[data-theme="dark"] .ct-body.is-talkroom .ct-talk-notice{ background: rgba(90, 86, 104, .8); }

.ct-body.is-talkroom button.ct-talk-notice{ font-family: inherit; text-align: left; -webkit-appearance: none; appearance: none; color: #fff; }
.ct-body.is-talkroom button.ct-talk-notice span{ flex: 1 1 auto; }
#m-cpnotice-body .ct-modal-box{ width: min(328px, calc(100% - 32px)); border-radius: 14px; }
#m-cpnotice-body .ct-modal-body{ padding: 24px 20px 20px; }
#m-cpnotice-body .ct-modal-title{ font-size: 16px; line-height: 22px; word-break: keep-all; color: var(--ct-text); }
#m-cpnotice-body .ct-modal-txt{ margin-top: 12px; max-height: min(52vh, 380px); overflow-y: auto; padding: 12px 14px; border-radius: 10px;
    background: var(--ct-bg-soft); color: var(--ct-text); text-align: left; font-size: 14px; line-height: 1.6; word-break: keep-all; overflow-wrap: anywhere; }
#m-cpnotice-body .ct-modal-btns .ct-modal-btn{ background: var(--ct-navy); color: #fff; }

.ct-cta-bookmark.is-star .ct-ico{ width: 22px; height: 22px; }
.ct-cta-bookmark.is-star{ color: var(--ct-btn-off-fg); }
.ct-cta-bookmark.is-star.is-on{ color: var(--ct-star); }
.ct-cta-icon{ flex: 0 0 auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 0; background: none; color: var(--ct-text-sub); cursor: pointer; }
.ct-cta-icon .ct-ico{ width: 24px; height: 24px; fill: currentColor; }
.ct-cta-icon:active{ opacity: .6; }

.ct-noticebar.is-roll{ align-items: center; }
.ct-noticebar.is-gap{ margin-top: 12px; }
.ct-nroll{ flex: 1 1 auto; min-width: 0; height: 20px; overflow: hidden; }
.ct-nroll-track{ display: flex; flex-direction: column; will-change: transform; transition: transform .45s ease; }
.ct-nroll-it{ display: flex; align-items: center; height: 20px; min-width: 0; text-decoration: none; }
.ct-nroll-it .ct-noticebar-txt{ line-height: 20px; }
@media (prefers-reduced-motion: reduce){ .ct-nroll-track{ transition: none; } }

.ct-nolist{ margin: 0 var(--ct-pad); padding: 0; list-style: none; border-top: 1px solid var(--ct-line); }
.ct-nolist > li{ border-bottom: 1px solid var(--ct-line); }
.ct-nolist > li > a{ display: block; padding: 14px 2px; text-decoration: none; }
.ct-nolist-subject{ display: block; font-size: 15px; line-height: 21px; font-weight: 500; color: var(--ct-text);
    word-break: keep-all; overflow-wrap: anywhere; }
.ct-nolist-date{ display: block; margin-top: 6px; font-size: 12px; color: var(--ct-text-dim); }

.ct-cocard{ position: relative; }
.ct-cocard > .ct-cocard-star{ position: absolute; top: 8px; right: 8px; }
.ct-cocard-body .ct-cocard-line{ padding-right: 34px; }
.ct-cocard-body .ct-cocard-stats{ display: flex; flex-wrap: nowrap; container-type: inline-size; min-width: 0; }
.ct-cocard-body .ct-cocard-stats .ct-stat{ flex: 0 1 auto; display: inline-flex; align-items: baseline; gap: .15em; min-width: 0;
    padding: .38em .42em; border-radius: 7px; white-space: nowrap;
    font-size: 11.5px; font-size: min(11.5px, calc(100cqw / 21.4)); font-weight: 600; letter-spacing: -0.04em; }
.ct-cocard-body .ct-cocard-stats .ct-stat + .ct-stat{ margin-left: .26em; }
.ct-cocard-body .ct-cocard-stats .ct-stat b{ margin-left: 0; font-size: 1.05em; font-weight: 800; }

.ct-talk .ct-talk-bubble{ white-space: pre-wrap; }
#hd_login_msg{ display: none !important; }
