html.dp-setup-done #dashboard .dp-guide-link{display:none!important}
/* 오픈 준비: home summary card and the full-screen, one-step-at-a-time setup. */
#quickStartCard:not(.osShow){display:none}
.quickStartBody.osHome{display:block;margin-top:12px}
.osCount{font-size:14px;font-weight:700;color:#2459cf}
.osBars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.osBars i{height:6px;border-radius:3px;background:#dce3eb}
.osBars i.on{background:#2459cf}
.osNext{margin:12px 0;font-size:15px;line-height:1.5;color:#3d4f6b}
.osNext b{color:#1c2b45}
.osPrimary{display:block;width:100%;min-height:52px;border:0;border-radius:14px;background:#2459cf;color:#fff;font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.osPrimary:disabled{background:#e7ecf3;color:#5d6c83;cursor:default}
#openSetupResume{max-width:320px}

#openSetup{position:fixed;inset:0;z-index:19000;display:grid;grid-template-columns:260px minmax(0,1fr);background:#fff;color:#1c2b45;letter-spacing:-.02em}
#openSetup[hidden],#openSetup .osRail[hidden],#openSetup .osMain[hidden]{display:none}
.osRail{box-sizing:border-box;padding:32px 24px;border-right:1px solid #e7ecf3;display:flex;flex-direction:column;gap:26px}
.osRail small{display:block;font-size:13px;color:#54657f}
.osRail strong{font-size:21px;font-weight:900}
.osRailList{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.osRailList button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 10px;border:0;border-radius:12px;background:none;color:#54657f;font:inherit;font-size:15px;text-align:left;cursor:pointer}
.osRailList span{flex:none;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:26px;height:26px;border:1px solid #c8d4e6;border-radius:50%;font-size:13px}
.osRailList .is-done span{border-color:#2459cf;background:#2459cf;color:#fff}
.osRailList .is-now{background:#eaf0fd;color:#1a44a3;font-weight:700}
.osRailList .is-now span{border:2px solid #2459cf}
.osMain{min-width:0;min-height:0;display:flex;flex-direction:column}
.osTop{padding:14px 20px 10px}
.osTopRow{display:flex;align-items:center;justify-content:space-between;min-height:44px}
.osTopRow button{min-width:44px;min-height:44px;padding:0;border:0;background:none;color:#54657f;font:inherit;font-size:14px;cursor:pointer}
.osTopRow button.osBack{font-size:0;color:#1c2b45}
.osTopRow button.osBack::before{content:"←";font-size:22px}
.osStepNo{font-size:14px;font-weight:700;color:#54657f}
.osTop .osBars{margin-top:10px}
.osScroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 20px 20px}
.osBody{display:grid;grid-template-columns:minmax(0,560px) minmax(0,420px);justify-content:center;gap:48px;align-items:start}
.osBody.is-single{grid-template-columns:minmax(0,560px)}
.osTitle{margin:0 0 14px;font-size:clamp(26px,3vw,34px);line-height:1.3;font-weight:900}
.osLead{margin:-8px 0 18px;font-size:15px;line-height:1.55;color:#3d4f6b}
.osFoot{padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 18px);border-top:1px solid #e7ecf3;display:flex;justify-content:center}
.osFoot .osPrimary{max-width:560px}
.osMsg{min-height:20px;margin:10px 0 0;font-size:14px;line-height:1.5;color:#b42318}
.osNote{margin:12px 0 0;font-size:13px;line-height:1.5;color:#54657f}
.osTask{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:14px;border:1px solid #dce3eb;border-radius:16px}
.osTask>div:first-child{flex:1;min-width:0}
.osTask b{display:block;font-size:16px}
.osTask small{display:block;margin-top:2px;font-size:13px;color:#54657f}
/* Every row ends in the same 76×40 pill: blue when there is something to do, green when done. */
.osTaskBtn,.osDoneTag,#openSetup #ownerInstallSlot .ai-btn{flex:none;box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;width:76px!important;min-width:0!important;height:40px!important;margin:0!important;padding:0!important;border:0!important;border-radius:999px!important;font:inherit!important;font-size:15px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important}
.osTaskBtn,#openSetup #ownerInstallSlot .ai-btn{background:#2459cf!important;color:#fff!important;cursor:pointer}
.osTaskBtn:disabled{opacity:.6;cursor:default}
.osDoneTag{background:#e6f5ee;color:#0f6a40}
#openSetup #ownerInstallSlot{flex:none;width:auto;margin:0;padding:0}
#openSetup #ownerInstallSlot .ai-card{display:block!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
#openSetup #ownerInstallSlot .ai-icon,#openSetup #ownerInstallSlot .ai-body,#openSetup #ownerInstallSlot .ai-later{display:none!important}
.osTypes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.osTypes button{min-height:52px;border:1px solid #c8d4e6;border-radius:12px;background:#fff;color:#3d4f6b;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.osTypes button[aria-pressed=true]{border:2px solid #2459cf;background:#eaf0fd;color:#1a44a3}
.osForm h2,.osForm h3,.osForm>div>h2,.osForm .settingsHelp,.osForm .settingsSave,.osForm #stampSettingsCard>.muted,.osForm #missionSettingsCard>.muted,.osForm .pointPolicy>b,.osForm .pointPolicy>.muted{display:none}
.osForm #stampSettingsCard,.osForm #missionSettingsCard,.osForm #pointSettingsCard{display:block!important;margin:0;padding:0;border:0;background:none;box-shadow:none}
.osForm .settingsGrid,.osForm .pointPolicyGrid{display:grid;grid-template-columns:1fr;gap:14px;margin:0}
.osForm label{display:block;font-size:15px;font-weight:700}
.osForm input[type=number],.osForm input[type=text]{display:block;box-sizing:border-box;width:100%;height:50px;margin-top:6px;border:1px solid #c8d4e6;border-radius:12px;padding:0 14px;font:inherit;font-weight:500;color:#1c2b45}
.osForm .pointTabletSettingsCard{display:block!important;margin:0;padding:0;border:0;background:none;box-shadow:none}
.osForm .reward-rate-row{display:block;margin-bottom:14px}
.osForm .pointPolicy{margin:0;padding:0;border:0;background:none}
.osPreview{position:sticky;top:0;box-sizing:border-box;padding:20px;border-radius:18px;background:#eef2f8}
.osPreview>span{display:block;margin-bottom:10px;font-size:14px;font-weight:700;color:#3d4f6b}
.osPreview{container-type:inline-size}
.osTablet{aspect-ratio:16/10;box-sizing:border-box;display:flex;flex-direction:column;gap:2.4cqw;padding:2.4cqw;border:2.2cqw solid #17305f;border-radius:4cqw;background:#f3f7ff;overflow:hidden;font-size:2.4cqw;color:#182338}
.osTabHead{display:flex;align-items:center;gap:2cqw}
.osTabPlaque{flex:1;min-width:0;padding:1.6cqw;border:1px solid #bcd6ff;border-radius:2.4cqw;background:linear-gradient(135deg,#e7f0ff,#fff 60%);text-align:center;font-size:3.6cqw;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.osTabTab{padding:1.4cqw 3cqw;border-radius:2cqw;background:#1558e8;color:#fff;font-weight:700}
.osTabBody{flex:1;min-height:0;display:grid;grid-template-columns:1.05fr 1fr;gap:2cqw}
.osTabPad,.osOffer{min-width:0;box-sizing:border-box;padding:2cqw;border-radius:2.4cqw;background:#fff;display:flex;flex-direction:column}
.osTabAsk{margin:0 0 1.4cqw;font-size:2.6cqw;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.osTabSlots{display:grid;grid-template-columns:repeat(8,1fr);gap:.8cqw;margin-bottom:1.4cqw}
.osTabSlots i{height:3.6cqw;border-radius:.8cqw;background:#eef5ff}
.osTabKeys{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:.8cqw}
.osTabKeys i{display:flex;align-items:center;justify-content:center;border-radius:1.2cqw;background:#f0f1f2;font-style:normal;font-weight:700;font-size:2.4cqw}
.osTabKeys i:nth-child(10){font-size:1.8cqw}
.osTabEarn{margin-top:1.2cqw;padding:1.4cqw;border-radius:1.4cqw;background:#1558e8;color:#fff;text-align:center;font-weight:700}
.osOffer small{font-size:2.2cqw;color:#54657f}
.osOffer strong{margin-top:.6cqw;font-size:4.4cqw;line-height:1.25;font-weight:900;color:#1558e8}
.osOffer em{margin-top:.4cqw;font-style:normal;font-size:2.8cqw;font-weight:700}
.osDots{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2cqw;margin-top:auto;padding-top:1.6cqw}
.osDots i{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;border:1px solid #c9d8f5;color:#3d5a94;font-size:2.2cqw;font-style:normal;font-weight:700}
.osForm input::placeholder{color:#a3aebf;font-weight:400}
.osOffer.is-example strong,.osOffer.is-example em,.osOffer.is-example .osDots i{opacity:.45}
.osOffer.is-example small::after{content:' · 예시';color:#8a96a8}
.osDots i.is-gift{border-style:dashed;border-color:#e0b04a;background:#fff7e3}
.osCode{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:16px}
.osCode span{display:flex;align-items:center;justify-content:center;height:64px;border-radius:12px;background:#eef3fb;color:#17305f;font-size:28px;font-weight:900}
.osWait{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:#3d4f6b}
.osWait i{width:10px;height:10px;border-radius:50%;background:#2459cf;animation:osPulse 1.4s infinite}
@keyframes osPulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.osWait i{animation:none}}
.osLink{min-height:44px;padding:0;border:0;background:none;color:#2459cf;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.osOk{display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#e6f5ee;color:#0f6a40;font-size:15px;font-weight:700}
.osQuote{padding:16px;border:1px solid #dce3eb;border-radius:16px}
.osQuote small{display:block;margin-bottom:4px;font-size:13px;color:#54657f}
.osQuote b{font-size:17px;line-height:1.45}
.osFinish{grid-column:1/-1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:28px max(24px,calc(50% - 240px));background:#17305f;color:#fff}
.osFinish .osMark{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:#fff;color:#2459cf;font-size:34px;font-weight:900}
.osFinish h1{margin:0;font-size:31px;line-height:1.3;font-weight:900}
.osFinish p{margin:0;font-size:16px;line-height:1.6;color:#d7e2f7}
.osFinish .osPrimary{margin-top:14px;background:#fff;color:#17305f}
#openSetup button:focus-visible,#openSetup input:focus-visible{outline:3px solid #2459cf;outline-offset:2px}
@media(max-width:900px){
 #openSetup{grid-template-columns:minmax(0,1fr)}
 .osRail{display:none}
 .osBody,.osBody.is-single{grid-template-columns:minmax(0,1fr);gap:16px}
 .osPreview{position:static;margin-bottom:14px;padding:0;background:none}
 .osFinish{padding:28px 24px}
}
