/* Shared DEVFOIL light theme: learning, community, support, rankings, profile, settings and composers. */
html:has(body.df-unified){color-scheme:light;background:#f4f7fc}
body.df-unified{--gold:#2459e0;--gold-light:#4679ed;--gold-dark:#1d47b5;--bg:#f4f7fc;--bg-card:#fff;--bg-card2:#f0f4fb;--text:#182641;--text-sub:#53657e;--text-muted:#708098;--border:#dde5f0;--danger:#c43b45;--success:#228266;--blue:#2459e0;--purple:#6851c8;--green:#228266;--primary:#2459e0;font-family:Pretendard,Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#182641;background:#f4f7fc}
.df-unified .status-bar{display:none}.df-unified .header{height:76px;flex-shrink:0;padding:0 28px;background:#fff!important;border-bottom:1px solid #e1e8f2}.df-unified .header-row{max-width:1280px;width:100%;margin:auto;display:flex;align-items:center;gap:14px;height:100%}.df-unified .header .logo{margin-right:auto}.df-unified .header .logo img{height:40px!important;max-width:190px;filter:none!important}.df-unified .user-chip{color:#263b5a;background:#f1f5fc;border:1px solid #dee7f4;border-radius:24px;max-width:45%;overflow:hidden;text-overflow:ellipsis}.df-unified .user-chip .lv{color:#2459e0}.df-unified .header-logout-btn{background:#fff;color:#62718a;border:1px solid #dce4ef;border-radius:7px;padding:8px 12px;font-size:12px;cursor:pointer}
.df-workspace-nav{display:flex;align-items:center;gap:8px;background:#fff;border-bottom:1px solid #e1e8f2;padding:12px 28px;flex-shrink:0;overflow-x:auto;scrollbar-width:thin}.df-workspace-nav a{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:10px 17px;border-radius:8px;font-size:13px;font-weight:750;color:#61718a;text-decoration:none}.df-workspace-nav a:hover{background:#f1f5fb;color:#2459e0}.df-workspace-nav a[aria-current=page]{background:#eaf0ff;color:#2459e0}.df-workspace-nav .df-nav-practice{margin-left:auto;background:#2459e0;color:#fff}
.df-unified:not(:has(#homeView.active .df-public)) .app{max-width:1440px;margin:auto;height:100dvh;background:#f6f8fc;box-shadow:0 0 0 1px #e3eaf4;min-height:0}.df-unified:not(:has(#homeView.active .df-public)) .scroll.view{min-height:0;scrollbar-width:thin;scrollbar-color:#ccd6e5 transparent}.df-unified:not(:has(#homeView.active .df-public)) .scroll.view.active{background:#f6f8fc!important;overflow-y:auto;overscroll-behavior:contain;padding-bottom:30px}.df-unified:has(#homeView.active .df-public) .df-workspace-nav{display:none}
.df-unified .tab-bar{background:#fff!important;border-top:1px solid #dfe6f1!important;box-shadow:0 -4px 20px #24416a08}.df-unified .tab{color:#718099;background:transparent}.df-unified .tab-icon,.df-unified .tab-label{color:#718099!important}.df-unified .tab.active{background:#eef3ff;border-radius:8px}.df-unified .tab.active .tab-icon,.df-unified .tab.active .tab-label{color:#2459e0!important}
.df-unified :is(.settings-wrap,.rank-wrap,.profile-wrap){max-width:1000px!important;margin:0 auto;padding:28px 24px}.df-unified #bugreportView .content-area{max-width:1000px!important;padding:28px 24px!important}.df-unified #questView>.quest-dashboard,.df-unified #questView>.content-area{max-width:1120px;margin:auto}
.df-unified :is(.settings-header,.profile-header,.rank-header){background:transparent!important;border:0!important;box-shadow:none!important;color:#182641;padding:24px 0}.df-unified :is(.settings-title,.profile-name,.rank-title){color:#182641!important;background:none!important;-webkit-text-fill-color:#182641!important;letter-spacing:-.04em}.df-unified :is(.settings-section,.api-key-card,.api-card,.profile-section,.rank-card,.rank-item,.quest-card,.qd-card,.qd-section,.mission-card,.review-card,.lesson-preview-card,.featured-item,.rank-me,.settings-notice,.api-usage-info,.profile-stats,.leaderboard-item){background:#fff!important;border:1px solid #dfe6f1!important;border-radius:12px;box-shadow:0 4px 14px #243b6404;color:#182641}
.df-unified :is(.settings-section-title,.profile-section-title,.section-title,.qd-title,.rm-title,.settings-subtitle){color:#263b5a!important}.df-unified :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){background:#fff;color:#182641;border-color:#cdd8e8;border-radius:8px;caret-color:#2459e0}.df-unified :is(input,textarea)::placeholder{color:#8190a5;opacity:1}.df-unified :is(input,select,textarea,button,a):focus-visible{outline:3px solid #8caaf0;outline-offset:2px}.df-unified :is(.btn-primary,.save-btn,.api-save-btn,.dchat-send,.bug-submit-btn,.tq-publish-btn){background:#2459e0!important;color:#fff!important;border-color:#2459e0!important;box-shadow:none!important}.df-unified button:disabled{cursor:not-allowed;opacity:.5}
/* Community and inline writing */
.df-unified .dchat{background:#fff;color:#182641;max-width:1280px;margin:auto;height:100%;min-height:480px}.df-unified .dchat-channels{background:#f2f5fb;border-color:#dfe6f1}.df-unified .dchat-channel{color:#5a6c84}.df-unified .dchat-channel:hover{background:#e8eef9;color:#2459e0}.df-unified .dchat-channel.active{background:#e2ebff;color:#2459e0}.df-unified .dchat-ch-count,.df-unified .dchat-channel.active .dchat-ch-count{background:#fff;color:#637b9e}.df-unified .dchat-header,.df-unified .dchat-thread-head{background:#fff;border-color:#dfe6f1}.df-unified .dchat-title{color:#182641}.df-unified .dchat-online,.df-unified .dchat-menu-btn{color:#61718a}.df-unified .dchat-messages{background:#fff}.df-unified :is(.dchat-day,.dchat-loadmore){background:#eff3f9;border-color:#dfe6f1;color:#6a7c96}.df-unified .dchat-thread{background:#fff;border-color:#dfe6f1;box-shadow:-8px 0 30px #29436615}.df-unified .dchat-inputbar,.df-unified .dchat-thread-inputbar{background:#fff;border-color:#dfe6f1}.df-unified .dchat-input{background:#f4f7fc!important;color:#182641!important;border:1px solid #d8e2ef!important}.df-unified :is(.dchat-bubble,.dchat-msg-bubble,.dchat-message-content,.dchat-msg-text,.dchat-text){color:#263b5a}.df-unified :is(.dchat-msg-name,.dchat-author,.dchat-nick){color:#2459e0}.df-unified .dchat-login-prompt{background:#f0f5ff;color:#526783}.df-unified .dchat-jump{background:#2459e0;color:#fff}
/* Every writing and profile dialog shares the same surface and controls. */
.df-unified :is(.sheet,.profile-modal,.profile-modal-content,.threads-quick-content,.notice-content,.checkin-modal,.bug-modal-content,.dchat-compose-modal,.msg-panel){background:#fff!important;color:#182641!important;border:1px solid #dce5f1!important;box-shadow:0 24px 80px #1c365c22!important;border-radius:18px}.df-unified :is(.threads-quick-header,.threads-quick-footer,.threads-quick-body,.threads-quick-templates,.tq-post-header,.tq-post-item,.tq-writer-header,.tq-account-switch,.profile-modal-header,.sheet-head){background:#fff!important;border-color:#e0e7f1!important;color:#263b5a}.df-unified :is(.threads-quick-title,.tq-title,.tq-user-name,.tq-username,.sheet-title,.profile-modal-name){color:#182641!important;background:none!important;-webkit-text-fill-color:#182641!important}.df-unified :is(.tq-textarea,.threads-quick-content textarea,.threads-quick-content input){background:#f7f9fd!important;color:#182641!important;border:1px solid #d9e3f0!important}.df-unified :is(.tq-template-chip,.tq-attach-btn,.tq-add-btn,.tq-add-post-btn,.tq-connect-prompt){background:#eff4ff!important;color:#2459e0!important;border-color:#d9e5fa!important;box-shadow:none!important}.df-unified :is(.tq-char-count,.tq-image-count,.tq-subtitle){color:#6b7f9c!important}.df-unified .threads-floating-btn{background:#2459e0!important;color:#fff!important;border:0!important;box-shadow:0 8px 24px #2459e029!important}.df-unified .threads-fab-glow{display:none}.df-unified :is(.tq-close-btn,.threads-quick-close,.sheet-close,.profile-modal-close){background:#f0f4fa!important;color:#526783!important;border-color:#dce5f1!important}.df-unified .tq-publish-btn .btn-icon{stroke:#fff}
/* Older generated inline blocks receive semantic tokens, including AJAX content. */
.df-unified .df-light-surface{background-color:#fff!important;background-image:none!important;border-color:#dfe6f1!important;color:#263b5a}.df-unified .df-light-ink{color:#263b5a!important;-webkit-text-fill-color:#263b5a!important}.df-unified .df-light-muted{color:#61718a!important}.df-unified .df-light-border{border-color:#dfe6f1!important}
.df-unified :is(.sheet-bg,.threads-quick-modal,.profile-modal-overlay,.notice-overlay,.checkin-overlay){backdrop-filter:blur(5px)}.df-unified .splash{display:none!important}.df-unified .header .logo{cursor:pointer}
.df-unified>footer{background:#f4f7fc!important;color:#61718a!important}.df-unified>footer a,.df-unified>footer div{color:#61718a!important}
@media(min-width:901px){.df-unified .tab-bar{display:none!important}.df-unified:not(:has(#homeView.active .df-public)) .scroll.view.active{padding-bottom:32px}.df-unified .threads-floating-btn{bottom:28px!important;right:28px!important}}
@media(max-width:900px){.df-unified .header{height:68px;padding:0 16px}.df-unified .header .logo img{height:34px!important;max-width:158px}.df-workspace-nav{padding:9px 12px;gap:3px}.df-workspace-nav a{padding:9px 12px;font-size:12px}.df-unified .header-logout-btn{font-size:11px;padding:7px}.df-unified .user-chip{font-size:11px}.df-unified:not(:has(#homeView.active .df-public)) .scroll.view.active{padding-bottom:85px}.df-unified :is(.settings-wrap,.rank-wrap,.profile-wrap){padding:20px 14px}.df-unified #bugreportView .content-area{padding:20px 14px!important}.df-unified .threads-quick-content{width:calc(100% - 20px)!important;max-height:88dvh!important;overflow:auto}.df-unified .dchat{min-height:0;height:100%}.df-unified #communityView{padding-bottom:75px!important}.df-unified .threads-floating-btn{bottom:86px!important}.df-unified .df-workspace-nav .df-nav-practice{margin-left:0}}
@media(prefers-reduced-motion:reduce){.df-unified *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.df-unified .tq-brand{color:#182641!important}.df-unified .tq-close{color:#536985!important;background:#edf2fa!important}.df-unified .tq-glass-bg{display:none!important}.df-unified .tq-avatar{background:#e8efff!important;color:#2459e0!important;box-shadow:none!important}.df-unified .tq-char-counter,.df-unified .tq-char-counter span{color:#61718a!important}.df-unified .threads-quick-header{min-height:68px}.df-unified .tq-user-row{color:#182641}.df-unified .tq-connect-prompt{line-height:1.5}.df-unified .threads-quick-modal{background:rgba(24,38,65,.28)!important}
.df-learning-home{max-width:1120px;margin:24px auto;padding:34px;border:1px solid #dce6f4;border-radius:16px;background:linear-gradient(120deg,#f0f5ff,#fff);color:#182641}.df-workspace-kicker{color:#2459e0;font-size:10px;font-weight:800;letter-spacing:.15em}.df-learning-home h2{font-size:30px;letter-spacing:-.04em;margin:10px 0}.df-learning-home p{color:#637792;font-size:14px;margin:8px 0 14px}.df-learning-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.df-learning-shortcuts a{background:#fff;border:1px solid #dfe7f3;border-radius:10px;padding:22px;text-decoration:none;display:grid;gap:10px}.df-learning-shortcuts b{color:#2459e0;font-size:12px}.df-learning-shortcuts strong{color:#263b5a;font-size:17px}.df-learning-shortcuts span{color:#718099;font-size:12px}.df-learning-shortcuts a:hover{border-color:#2459e0}.df-unified .qd-hero,.df-unified .qd-stats,.df-unified .qd-continue,.df-unified .qd-course{background:#fff!important;border-color:#dee7f2!important;color:#263b5a!important;box-shadow:none!important}
@media(max-width:750px){.df-learning-home{margin:16px 12px;padding:24px 18px}.df-learning-home h2{font-size:25px}.df-learning-shortcuts{grid-template-columns:1fr;gap:10px}.df-learning-shortcuts a{padding:17px}.df-learning-shortcuts strong{font-size:15px}.df-unified .threads-quick-content{max-width:calc(100vw - 24px)!important;margin:0 12px}}
.df-unified .dmsg:hover{background:#f1f5fc}.df-unified .dmsg-nick,.df-unified .dmsg.mine .dmsg-nick{color:#263b5a}.df-unified .dmsg-text{color:#3e536f}.df-unified .dmsg-text a,.df-unified .dmsg-text .mention,.df-unified .dmsg-text .hashtag{color:#2459e0}.df-unified .dmsg-lv{background:#eaf0ff;color:#2459e0}.df-unified .dmsg-cat,.df-unified .dmsg-threads-badge{background:#edf2f8;color:#627992}.df-unified .dmsg-actions{background:#fff;border-color:#dce6f2;box-shadow:0 6px 20px #213f6c12}.df-unified .dmsg-act{color:#61718a;border-color:#dce6f2}.df-unified .dmsg-act:hover,.df-unified .dmsg-meta .lk:hover{background:#edf3ff;color:#2459e0}.df-unified .dmsg-edit-input{background:#fff;color:#263b5a}.df-unified .api-key-test{background:#2459e0!important;color:#fff!important;border:1px solid #2459e0!important}.df-unified .dchat-send{position:relative;z-index:2}.df-unified:has(#communityView.active) .threads-floating-btn{bottom:96px!important;right:28px!important}.df-unified #rankView>.section,.df-unified #profileView>.profile-header~*{max-width:1000px;margin-left:auto;margin-right:auto}.df-unified .profile-avatar{background:#e9f0ff!important;color:#2459e0!important;box-shadow:none!important;border:3px solid #d7e5fc!important}.df-unified .profile-avatar-edit{background:#2459e0;color:#fff}.df-unified .rank-num,.df-unified .rank-name{color:#263b5a}
@media(max-width:900px){.df-unified:has(#communityView.active) .threads-floating-btn{bottom:145px!important;right:15px!important}}
.df-unified .df-positive-ink{color:#228266!important}.df-unified .df-danger-ink{color:#b33c49!important}.df-unified .df-accent-ink{color:#2459e0!important}.df-study-note{display:flex;flex-wrap:wrap;gap:10px;padding:18px 22px;background:#edf4ff;border:1px solid #d9e7fb;border-radius:12px;margin-bottom:24px;font-size:13px;color:#526b91}.df-study-note strong{color:#2459e0}.df-catalog-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.df-catalog-links a{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #dde6f2;border-radius:10px;padding:19px 16px;text-decoration:none}.df-catalog-links strong{font-size:14px;color:#263b5a}.df-catalog-links span{font-size:12px;color:#617a9c}.df-catalog-links a:hover{border-color:#2459e0}
@media(max-width:900px){.df-catalog-links{grid-template-columns:repeat(2,minmax(0,1fr))}.df-unified .quest-dashboard{padding-left:14px;padding-right:14px}}
.df-unified :is(.checkin-card,.notice-card,.xpa-modal,.ld-cheer-modal){background:#fff!important;color:#182641!important;border-color:#dce5f1!important;box-shadow:0 24px 70px #213f6426!important}.df-unified :is(.checkin-title,.notice-title,.xpa-modal-title,.ld-cheer-modal-title){color:#182641!important;background:none!important;-webkit-text-fill-color:#182641!important}.df-unified :is(.checkin-sub,.notice-body,.xpa-no-cases,.xpa-section-title){color:#61718a!important}.df-unified :is(.notice-header,.xpa-modal-header,.ld-cheer-modal-header){background:#fff!important;border-color:#dce5f1!important}.df-unified .user-chip .lv{background:#e5edff!important;color:#2459e0!important}
