@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{color:#1e1e1e;font-synthesis:none;text-rendering:optimizelegibility;--primary:#7458c8;--primary-hover:#6549b8;--primary-soft:#f0e9fd;--secondary:#315ba8;--secondary-soft:#ddebfa;--pink-soft:#f9e8f2;--surface:#fff;--surface-soft:#faf8fe;--background:#f8f8f8;--ink:#1e1e1e;--muted:#6f6c73;--outline:#e8e3ec;--danger:#b3261e;--danger-soft:#ffedea;--shadow:0 18px 60px #41335e17;background:#f8f8f8;font-family:Noto Sans KR,Manrope,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--background);min-height:100vh}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #7458c852}.landing-shell{background:var(--background);min-height:100vh;overflow:hidden}.landing-nav{justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:84px;margin:auto;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:11px;font:800 19px/1 Manrope,sans-serif;display:inline-flex}.brand img{border-radius:12px;width:38px;height:38px;box-shadow:0 6px 20px #7458c82e}.web-login-link,.primary-button,.secondary-button{border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 19px;font-size:14px;font-weight:700;display:inline-flex}.web-login-link{background:var(--surface);border:1px solid var(--outline);box-shadow:0 5px 22px #2e24430d}.landing-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(48px,8vw,110px);width:min(1180px,100% - 48px);min-height:630px;margin:0 auto;padding:64px 24px 78px;display:grid;position:relative}.landing-hero:before{content:"";z-index:0;background:radial-gradient(circle,#f0e9fde6,#f9e8f23d 55%,#0000 72%);border-radius:50%;width:640px;height:640px;position:absolute;top:-80px;right:-260px}.hero-copy,.preview-card{z-index:1;position:relative}.eyebrow,.section-kicker{width:fit-content;color:var(--primary);letter-spacing:.05em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.eyebrow{background:var(--primary-soft);border-radius:999px;padding:8px 12px}.hero-copy h1{letter-spacing:-.055em;margin:21px 0 0;font-size:clamp(42px,5vw,68px);line-height:1.13}.hero-copy>p{max-width:590px;color:var(--muted);word-break:keep-all;margin:24px 0 0;font-size:17px;line-height:1.8}.hero-actions{gap:11px;margin-top:34px;display:flex}.primary-button{color:#fff;background:var(--primary);min-height:55px;padding:0 23px;box-shadow:0 12px 30px #7458c838}.primary-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.secondary-button{background:var(--surface);border:1px solid var(--outline);min-height:55px;padding:0 23px}.trust-line{color:var(--muted);align-items:center;gap:8px;margin-top:19px;font-size:12px;display:flex}.trust-line svg{color:var(--primary)}.preview-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #7458c81f;border-radius:34px;padding:11px;transform:rotate(1.5deg);box-shadow:0 28px 90px #47356a24}.preview-top{gap:5px;padding:10px 12px 15px;display:flex}.preview-top span{background:#d8d2dc;border-radius:50%;width:7px;height:7px}.preview-body{background:var(--surface-soft);border-radius:24px;grid-template-columns:72px 1fr;min-height:430px;display:grid;overflow:hidden}.preview-body aside{border-right:1px solid var(--outline);background:#fff;flex-direction:column;align-items:center;gap:16px;padding:18px 12px;display:flex}.mini-logo{color:#fff;background:var(--primary);border-radius:13px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.preview-body aside div:not(.mini-logo){background:#eee9f2;border-radius:5px;width:36px;height:8px}.preview-body section{padding:46px 30px}.preview-body small{color:var(--primary);font-weight:800}.preview-body h3{max-width:310px;margin:8px 0 34px;font-size:26px;line-height:1.3}.preview-message{border-radius:19px;width:fit-content;max-width:88%;margin-top:13px;padding:13px 16px;font-size:13px;line-height:1.55}.preview-message.user{color:#fff;background:var(--primary);border-bottom-right-radius:6px;margin-left:auto}.preview-message.bot{border:1px solid var(--outline);background:#fff;border-bottom-left-radius:6px}.landing-features{grid-template-columns:repeat(3,1fr);gap:14px;width:min(1120px,100% - 48px);margin:-10px auto 90px;display:grid}.landing-features article{border:1px solid var(--outline);background:var(--surface);border-radius:26px;flex-direction:column;align-items:flex-start;min-height:190px;padding:28px;display:flex}.landing-features svg{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border-radius:13px;padding:9px}.landing-features strong{margin-top:25px;font-size:17px}.landing-features span{color:var(--muted);word-break:keep-all;margin-top:8px;font-size:13px;line-height:1.65}.landing-shell footer{width:min(1120px,100% - 48px);color:var(--muted);border-top:1px solid var(--outline);justify-content:space-between;margin:auto;padding:25px 0 34px;font-size:12px;display:flex}.web-page{background:var(--background);min-height:100vh}.web-page:has(.login-card){background:radial-gradient(circle at 50% 20%, var(--primary-soft), transparent 42%), var(--background);place-items:center;padding:28px;display:grid}.login-card{text-align:center;border:1px solid var(--outline);background:var(--surface);width:min(470px,100%);box-shadow:var(--shadow);border-radius:32px;flex-direction:column;align-items:center;padding:48px 42px;display:flex}.login-card>img{border-radius:22px;width:70px;height:70px;margin-bottom:23px;box-shadow:0 10px 30px #7458c833}.login-card h1{letter-spacing:-.04em;margin:12px 0 0;font-size:30px;line-height:1.35}.login-card p{color:var(--muted);word-break:keep-all;margin:16px 0 26px;font-size:14px;line-height:1.75}.login-card>a{color:var(--muted);align-items:center;gap:6px;margin-top:25px;font-size:13px;display:inline-flex}.console-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.console-sidebar{z-index:20;background:var(--surface);border-right:1px solid var(--outline);flex-direction:column;width:252px;padding:25px 18px 19px;display:flex;position:fixed;inset:0 auto 0 0}.console-sidebar>.brand{padding:0 10px 24px}.console-sidebar nav{gap:5px;display:grid}.console-sidebar nav button,.console-sidebar nav a{min-height:48px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:15px;align-items:center;gap:12px;padding:0 14px;font-size:14px;font-weight:600;display:flex}.console-sidebar nav button:hover,.console-sidebar nav a:hover{background:var(--surface-soft)}.console-sidebar nav button.active{color:var(--primary);background:var(--primary-soft);font-weight:800}.console-sidebar nav svg{flex:none;width:20px}.sidebar-account{border-top:1px solid var(--outline);margin-top:auto;padding-top:9px;position:relative}.sidebar-profile{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:15px;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:10px;display:grid}.sidebar-profile:hover,.sidebar-profile[aria-expanded=true]{background:var(--surface-soft)}.sidebar-profile>span:not(.profile-avatar),.profile-menu-header>span:last-child{min-width:0;display:grid}.sidebar-profile strong,.sidebar-profile small,.profile-menu-header strong,.profile-menu-header small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-profile strong,.profile-menu-header strong{font-size:13px}.sidebar-profile small,.profile-menu-header small{color:var(--muted);margin-top:2px;font-size:10px}.profile-avatar{color:#fff;background:linear-gradient(145deg,#514b65,#272432);border-radius:50%;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff29}.profile-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.profile-chevron{width:17px;color:var(--muted);transition:transform .18s}.profile-chevron.open{transform:rotate(90deg)}.profile-menu-scrim{z-index:21;background:0 0;border:0;position:fixed;inset:0}.profile-menu{z-index:22;border:1px solid var(--outline);background:var(--surface);border-radius:18px;padding:8px;position:absolute;bottom:calc(100% + 9px);left:0;right:0;box-shadow:0 18px 48px #2a20362e}.profile-menu-header{border-bottom:1px solid var(--outline);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px 13px;display:grid}.profile-menu>button{width:100%;min-height:44px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:22px minmax(0,1fr) auto 16px;align-items:center;gap:9px;padding:0 10px;font-size:13px;display:grid}.profile-menu>button:hover{background:var(--surface-soft)}.profile-menu>button svg{width:18px;color:var(--muted)}.profile-menu>button svg:last-child{width:14px}.profile-menu .usage-window{font-weight:750}.profile-menu>button>strong{color:var(--muted);font-size:12px;font-weight:650}.profile-menu .logout-item{color:var(--danger);grid-template-columns:22px minmax(0,1fr)}.profile-menu .logout-item svg{color:var(--danger)}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a161f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.usage-dialog{border:1px solid var(--outline);background:var(--surface);border-radius:24px;width:min(430px,100%);padding:22px;box-shadow:0 24px 70px #1f182740}.usage-dialog header{justify-content:space-between;align-items:flex-start;display:flex}.usage-dialog header span{color:var(--primary);letter-spacing:.08em;font-size:11px;font-weight:800}.usage-dialog h2{margin:4px 0 18px;font-size:22px}.usage-dialog header button{background:var(--surface-soft);cursor:pointer;border:0;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.usage-dialog header button svg{width:18px}.usage-window-list{gap:8px;display:grid}.usage-window-list>div{background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.usage-window-list span{gap:3px;display:grid}.usage-window-list strong{font-size:14px}.usage-window-list small{color:var(--muted);font-size:11px}.usage-window-list b{color:var(--primary);font-size:16px}.usage-dialog>p{color:var(--muted);margin:14px 2px 0;font-size:11px;line-height:1.5}.console-main{grid-column:2;min-width:0}.console-topbar{z-index:12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f8f8db;border-bottom:1px solid #e8e3ece6;justify-content:space-between;align-items:center;height:70px;padding:0 28px;display:flex;position:sticky;top:0}.console-topbar>div{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.console-topbar i{background:#27a572;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #27a5721f}.refresh-button,.mobile-menu{border:1px solid var(--outline);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.refresh-button svg{width:15px}.mobile-menu{padding:0 9px;display:none}.nav-scrim{display:none}.chat-layout{grid-template-columns:280px minmax(0,1fr);height:calc(100vh - 70px);display:grid}.thread-list{background:var(--surface);border-right:1px solid var(--outline);padding:20px 13px;overflow-y:auto}.new-chat{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:44px;margin-bottom:13px;font-size:13px;font-weight:700;display:flex}.thread-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:13px;gap:5px;width:100%;padding:12px 13px;display:grid}.thread-item:hover{background:var(--surface-soft)}.thread-item.active{background:var(--primary-soft)}.thread-item>span{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.thread-title-row{align-items:center;gap:7px;min-width:0;display:flex}.thread-title-row b{white-space:nowrap;text-overflow:ellipsis;font:inherit;overflow:hidden}.thread-progress{width:14px;height:14px;color:var(--primary);flex:none}.thread-item small{color:var(--muted);font-size:10px}.conversation{background:var(--background);flex-direction:column;min-width:0;display:flex}.conversation>header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:center;min-height:78px;padding:14px 28px;display:flex}.header-actions{align-items:center;gap:4px;display:flex}.conversation>header small,.section-head small{color:var(--primary);letter-spacing:.09em;font-size:10px;font-weight:800}.conversation>header h2{white-space:nowrap;text-overflow:ellipsis;max-width:60vw;margin:3px 0 0;font-size:19px;overflow:hidden}.messages{flex:1;padding:28px clamp(22px,5vw,72px);overflow-y:auto}.message{gap:5px;max-width:760px;margin:0 auto 18px;display:grid}.message>span{color:var(--muted);font-size:10px;font-weight:700}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--outline);background:var(--surface);border-radius:19px 19px 19px 6px;gap:10px;width:fit-content;max-width:min(96%,680px);padding:13px 16px;font-size:14px;line-height:1.7;display:grid;box-shadow:0 4px 14px #32294508}.message.user{justify-items:end}.message.user>.message-content{color:#fff;background:var(--primary);border-color:var(--primary);border-radius:19px 19px 6px;max-width:min(82%,680px)}.message-markdown{white-space:normal;min-width:0}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p{margin:0}.message-markdown p+p{margin-top:.8em}.message-markdown :is(h1,h2,h3,h4,h5,h6){margin:1em 0 .35em;line-height:1.35}.message-markdown h1{font-size:1.35em}.message-markdown h2{font-size:1.2em}.message-markdown h3,.message-markdown h4,.message-markdown h5,.message-markdown h6{font-size:1.05em}.message-markdown :is(ul,ol){margin:.55em 0;padding-left:1.45em}.message-markdown li+li{margin-top:.2em}.message-markdown blockquote{border-left:3px solid var(--primary);color:var(--muted);margin:.7em 0;padding-left:.8em}.message-markdown :not(pre)>code{background:var(--surface-soft);border-radius:5px;padding:.1em .35em;font-size:.9em}.message-markdown pre{color:#f8f6fb;white-space:pre;background:#292433;border-radius:10px;margin:.7em 0;padding:10px 12px;overflow-x:auto}.message-markdown pre code{font-size:12px}.message-markdown a{color:var(--primary);text-underline-offset:2px;font-weight:700;text-decoration:underline}.message-markdown hr{border:0;border-top:1px solid var(--outline);margin:1em 0}.message-table-scroll{border:1px solid var(--outline);white-space:normal;border-radius:10px;max-width:100%;overflow-x:auto}.message-table-scroll table{border-collapse:collapse;min-width:100%;font-size:12px;line-height:1.5}.message-table-scroll th,.message-table-scroll td{border-right:1px solid var(--outline);border-bottom:1px solid var(--outline);text-align:left;vertical-align:top;min-width:90px;padding:8px 10px}.message-table-scroll th{background:var(--surface-soft);font-weight:800}.message-table-scroll th:last-child,.message-table-scroll td:last-child{border-right:0}.message-table-scroll tbody tr:last-child td{border-bottom:0}.room-summary{border-bottom:1px solid var(--outline);min-height:34px;color:var(--muted);background:var(--surface-soft);align-items:center;gap:7px;padding:7px 28px;font-size:11px;display:flex}.room-summary span{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.room-summary small{white-space:nowrap;text-overflow:ellipsis;max-width:42%;margin-left:auto;overflow:hidden}.goal-playback{color:#493487;cursor:pointer;text-align:left;background:#f7f3ff;border:1px solid #d7ccf6;border-radius:14px;align-items:center;gap:8px;width:min(860px,100% - 44px);min-height:42px;margin:8px auto 0;padding:8px 13px;display:flex}.goal-playback.active{background:var(--secondary-soft);color:#254d8f;border-color:#c8ddf5}.goal-playback>span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.goal-playback small{flex:none;font-size:10px;font-weight:700}.goal-playback svg{flex:none}.chat-media{object-fit:contain;background:#eeebf1;border-radius:13px;width:min(100%,420px);max-height:440px;display:block}.media-loading,.media-unavailable{min-height:42px;color:var(--muted);background:var(--surface-soft);border-radius:11px;align-items:center;gap:6px;padding:9px 11px;font-size:11px;display:inline-flex}.media-unavailable{color:var(--danger);background:var(--danger-soft)}.attachment-tray{gap:8px;width:min(860px,100% - 44px);margin:0 auto 8px;display:flex;overflow-x:auto}.draft-media{border:1px solid var(--outline);background:var(--surface);border-radius:14px;flex:0 0 72px;width:72px;height:72px;position:relative;overflow:hidden}.draft-media img{object-fit:cover;width:100%;height:100%}.draft-media button{color:#fff;cursor:pointer;background:#1e1e1eb3;border:0;border-radius:50%;place-items:center;width:23px;height:23px;display:grid;position:absolute;top:4px;right:4px}.draft-media button svg{width:14px}.composer-tools{width:min(860px,100% - 44px);min-height:26px;color:var(--muted);align-items:center;gap:10px;margin:0 auto 5px;font-size:11px;display:flex}.composer-tools label{align-items:center;gap:5px;display:inline-flex}.composer-tools select{border:1px solid var(--outline);max-width:150px;min-height:28px;color:var(--ink);background:var(--surface);font:inherit;border-radius:8px}.composer-tools small{color:var(--primary);font-weight:700}.composer{border:1px solid var(--outline);background:var(--surface);border-radius:22px;grid-template-columns:auto auto minmax(0,1fr) 44px;align-items:end;gap:8px;width:min(860px,100% - 44px);min-height:62px;margin:0 auto 22px;padding:8px 9px;display:grid;box-shadow:0 12px 36px #3c2d5b14}.composer textarea{resize:none;background:0 0;border:0;outline:0;grid-column:3;min-height:42px;max-height:130px;padding:10px 0;font-size:14px}.composer>button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.composer>button:last-child{grid-column:4}.composer>.composer-tool{color:var(--primary);background:var(--primary-soft);grid-column:auto}.composer>.stop-button{background:var(--danger)}.composer button:disabled{opacity:.42;cursor:default}.composer svg{width:18px}.clarification-banner{color:#493487;background:#f7f3ff;border:1px solid #d7ccf6;border-radius:13px;align-items:center;gap:8px;width:min(860px,100% - 44px);margin:0 auto 8px;padding:10px 12px;font-size:12px;display:flex}.clarification-banner span{flex:1}.clarification-banner button{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;font-weight:800}.slash-menu{z-index:4;border:1px solid var(--outline);background:var(--surface);border-radius:16px;width:min(860px,100% - 44px);margin:0 auto 7px;padding:7px;box-shadow:0 14px 42px #3c2d5b21}.slash-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 10px;display:grid}.slash-menu button:hover{background:var(--primary-soft)}.slash-menu button>svg{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:50%;padding:8px}.slash-menu span{gap:2px;min-width:0;display:grid}.slash-menu strong{font-size:14px}.slash-menu small{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:10px;overflow:hidden}.room-sheet-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#20192b52;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.room-sheet{border:1px solid var(--outline);background:var(--surface);width:min(570px,100%);max-height:min(760px,100vh - 40px);box-shadow:var(--shadow);border-radius:24px;flex-direction:column;padding:22px;display:flex;overflow:auto}.room-sheet>header{justify-content:space-between;align-items:flex-start;display:flex}.room-sheet h3{margin:3px 0 0;font-size:21px}.friend-picker{gap:7px;margin-top:14px;display:grid}.friend-option{border:1px solid var(--outline);cursor:pointer;border-radius:13px;grid-template-columns:18px 29px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:58px;padding:9px 11px;display:grid}.friend-option.selected{background:var(--primary-soft);border-color:#cbbbf2}.friend-option input{margin:0}.friend-option>svg{color:var(--primary);background:#7458c821;border-radius:50%;padding:6px}.friend-option span{gap:2px;min-width:0;display:grid}.friend-option strong,.friend-option small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.friend-option strong{font-size:13px}.friend-option small{color:var(--muted);font-size:10px}.room-goal-field{color:var(--muted);gap:7px;margin-top:17px;font-size:12px;font-weight:700;display:grid}.room-goal-field textarea{resize:vertical;border:1px solid var(--outline);min-height:82px;color:var(--ink);font:inherit;border-radius:12px;padding:10px}.room-sheet footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.goal-dialog{width:min(610px,100%)}.goal-field{color:var(--muted);gap:7px;margin-top:14px;font-size:12px;font-weight:700;display:grid}.goal-field textarea{resize:vertical;border:1px solid var(--outline);min-height:90px;color:var(--ink);background:var(--surface);font:inherit;border-radius:12px;padding:11px}.goal-field+.goal-field textarea{min-height:68px}.goal-budget{border:0;gap:8px;margin:15px 0 0;padding:0;display:grid}.goal-budget legend{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.choice-row{flex-wrap:wrap;gap:6px;display:flex}.choice-row button{border:1px solid var(--outline);background:var(--surface);cursor:pointer;border-radius:999px;min-height:34px;padding:0 12px;font-size:11px;font-weight:700}.choice-row button.selected{color:var(--primary);background:var(--primary-soft);border-color:#cbbbf2}.goal-details{gap:7px;margin-top:18px;display:grid}.goal-details>strong{margin-top:5px;font-size:12px}.goal-details>p{max-height:140px;color:var(--muted);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65;overflow:auto}.goal-status-line{background:var(--surface-soft);color:var(--primary);border-radius:11px;justify-content:space-between;gap:8px;margin-top:10px;padding:10px 12px;font-size:11px;font-weight:800;display:flex}.danger-action{background:var(--danger);box-shadow:none}.primary-button.compact,.secondary-button.compact{border-radius:12px;min-height:40px;padding:0 14px;font-size:12px}.secondary-button.compact{border:1px solid var(--outline);background:var(--surface);cursor:pointer}.camera-modal{z-index:85;background:#100d14e6;grid-template-rows:minmax(0,1fr) auto;gap:16px;padding:24px;display:grid;position:fixed;inset:0}.camera-modal video{object-fit:contain;background:#08070a;border-radius:18px;justify-self:center;width:min(860px,100%);height:100%}.camera-modal>div{justify-content:center;gap:10px;display:flex}.legal-gate{background:radial-gradient(circle at 50% 20%, var(--primary-soft), transparent 42%), var(--background);min-height:100vh;padding:28px}.legal-gate>section{border:1px solid var(--outline);background:var(--surface);width:min(780px,100%);box-shadow:var(--shadow);border-radius:28px;margin:auto;padding:34px}.legal-gate img{border-radius:16px;width:52px;height:52px}.legal-gate h1{margin:10px 0;font-size:25px}.legal-gate>section>p{color:var(--muted);font-size:13px;line-height:1.7}.legal-document{white-space:pre-wrap;border:1px solid var(--outline);background:var(--surface-soft);max-height:280px;color:var(--muted);border-radius:14px;padding:14px;font:11px/1.6 Noto Sans KR,sans-serif;overflow:auto}.legal-choice{flex-wrap:wrap;align-items:center;gap:11px;margin-top:14px;font-size:12px;display:flex}.legal-choice strong{width:100%;font-size:13px}.legal-choice label{align-items:center;gap:4px;display:inline-flex}.legal-actions{justify-content:flex-end;gap:8px;margin-top:21px;display:flex}.data-section{width:min(1120px,100% - 48px);margin:auto;padding:42px 0 70px}.section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px;display:flex}.section-head h2{letter-spacing:-.035em;margin:5px 0 0;font-size:28px}.section-head p{color:var(--muted);margin:7px 0 0;font-size:13px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.archive-card{border:1px solid var(--outline);background:var(--surface);border-radius:20px;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:12px;display:grid}.archive-preview{width:74px;height:64px;color:var(--primary);background:linear-gradient(135deg,var(--primary-soft),var(--pink-soft));cursor:pointer;border:0;border-radius:14px;place-items:center;display:grid}.archive-preview svg{width:24px}.archive-details{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:5px;padding:0;display:grid}.archive-details:hover strong{color:var(--primary)}.archive-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.archive-card span{color:var(--muted);font-size:11px}.archive-player-backdrop{z-index:85;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#100d14ad;place-items:center;padding:28px;display:grid;position:fixed;inset:0;overflow-y:auto}.archive-player-modal{background:var(--surface);border:1px solid #ffffff2e;border-radius:24px;grid-template-rows:auto minmax(0,1fr);width:min(920px,100%);max-height:calc(100dvh - 56px);display:grid;overflow:hidden;box-shadow:0 28px 90px #140e1d5c}.archive-player-modal>header{z-index:1;border-bottom:1px solid var(--outline);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:17px 17px 14px 21px;display:flex;position:relative}.archive-player-modal header>div:first-child{min-width:0}.archive-player-modal header small{color:var(--primary);letter-spacing:.09em;font-size:10px;font-weight:800}.archive-player-modal h3{white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;font-size:17px;overflow:hidden}.archive-player-modal p{color:var(--muted);margin:4px 0 0;font-size:11px}.archive-player-actions{flex:none;align-items:center;gap:2px;display:flex}.archive-player-menu{position:relative}.archive-player-menu-popover{z-index:2;border:1px solid var(--outline);background:var(--surface);border-radius:13px;min-width:134px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 32px #2d214229}.archive-player-menu-popover button{width:100%;min-height:37px;color:var(--danger);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:0 9px;font-size:12px;font-weight:700;display:flex}.archive-player-menu-popover button:hover{background:var(--danger-soft)}.archive-player-close:hover{background:var(--surface-soft)}.archive-player-modal video{background:#111014;width:100%;max-height:calc(100dvh - 162px);display:block}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.management-card{border:1px solid var(--outline);background:var(--surface);border-radius:24px;flex-direction:column;min-height:390px;padding:24px;display:flex}.management-card>header{align-items:center;gap:12px;margin-bottom:22px;display:flex}.management-card>header>svg{width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:14px;padding:10px}.management-card h3{margin:0;font-size:16px}.management-card header span{color:var(--muted);font-size:11px}.management-list{gap:7px;display:grid}.management-list>div{background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:flex}.management-list span{gap:3px;min-width:0;display:grid}.management-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.management-list small{color:var(--muted);font-size:10px}.management-list i{background:#27a572;border-radius:50%;flex:none;width:9px;height:9px}.management-list i.off{background:#aaa4ad}.session-device{background:var(--surface-soft);border-radius:14px;overflow:hidden}.session-device-summary{width:100%;min-height:58px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.session-device-summary:hover{background:#7952d40f}.session-device-summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.session-device-summary .session-device-copy{min-width:0}.session-device-summary .session-device-actions{align-items:center;gap:8px;min-width:max-content;display:flex}.session-device-actions small{text-align:right}.session-history{border-top:1px solid var(--outline);gap:12px;padding:0 12px 12px;display:grid}.session-history-day{gap:6px;padding-top:11px;display:grid}.session-history-day>strong{color:var(--muted);font-size:10px}.session-history-entry{background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-height:43px;padding:8px 10px;display:flex}.session-history-entry span{min-width:0}.session-history-entry strong{font-size:11px}.danger-button{min-height:39px;color:var(--danger);background:var(--danger-soft);cursor:pointer;border:1px solid #f0c8c4;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.danger-button.full{width:100%;margin-top:auto}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.icon-button.danger{color:var(--danger)}.icon-button.danger:hover{background:var(--danger-soft)}.muted{color:var(--muted);font-size:13px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:280px;padding:30px;display:flex}.empty-state.compact{min-height:330px}.empty-state>svg{width:50px;height:50px;color:var(--primary);background:var(--primary-soft);border-radius:17px;padding:12px}.empty-state h3{margin:16px 0 0;font-size:17px}.empty-state p{color:var(--muted);margin:7px 0 0;font-size:12px}.error-banner{color:var(--danger);background:var(--danger-soft);border:1px solid #f0c8c4;border-radius:12px;margin:14px 0;padding:11px 14px;font-size:12px}.error-banner.page{width:min(1120px,100% - 48px);margin:18px auto 0}.page-loader{height:calc(100vh - 70px);color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.page-loader svg{width:24px;color:var(--primary)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.admin-shell-collapsed{grid-template-columns:66px minmax(0,1fr)}.admin-main{grid-column:2;min-width:0;padding-bottom:90px}.admin-sidebar{width:100%;height:100dvh;box-shadow:none;grid-column:1;position:sticky;inset:0 auto auto;overflow-y:auto}.admin-sidebar-toggle{display:inline-flex}.admin-sidebar.collapsed{padding-inline:9px}.admin-sidebar.collapsed>.brand{justify-content:center;padding-inline:0}.admin-sidebar.collapsed>.brand span,.admin-sidebar.collapsed .admin-sidebar-label span,.admin-sidebar.collapsed nav span,.admin-sidebar.collapsed .sidebar-profile>span{display:none}.admin-sidebar.collapsed .admin-sidebar-label{justify-content:center;margin-inline:0;padding-inline:0}.admin-sidebar.collapsed nav a{justify-content:center;padding-inline:0}.admin-sidebar.collapsed .sidebar-profile{grid-template-columns:1fr;justify-items:center;padding:5px 0}.admin-sidebar.collapsed .sidebar-profile>svg{display:none}.admin-sidebar-label{color:var(--primary);background:var(--primary-soft);letter-spacing:.04em;border-radius:12px;align-items:center;gap:8px;margin:0 8px 18px;padding:10px 11px;font-size:11px;font-weight:800;display:flex}.admin-sidebar-label svg{width:16px}.admin-sidebar .sidebar-profile{cursor:default;grid-template-columns:30px minmax(0,1fr) 34px;gap:8px;margin-top:auto}.admin-sidebar .sidebar-profile>svg{width:22px;height:22px}.admin-logout-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.admin-logout-button:hover{color:var(--primary);background:var(--primary-soft)}.admin-logout-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.admin-section{width:min(1420px,100% - 48px);margin:auto;padding-top:40px;scroll-margin-top:82px}.admin-as-of,.admin-total-count{color:var(--muted);font-size:11px}.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.admin-kpi-card{border:1px solid var(--outline);background:var(--surface);border-radius:21px;align-items:center;gap:15px;min-width:0;padding:21px;display:flex;box-shadow:0 8px 30px #41335e09}.admin-kpi-card>svg{width:43px;height:43px;color:var(--primary);background:var(--primary-soft);border-radius:14px;flex:none;padding:11px}.admin-kpi-card>div{min-width:0;display:grid}.admin-kpi-card small{color:var(--muted);font-size:10px;font-weight:700}.admin-kpi-card strong{letter-spacing:-.03em;margin-top:3px;font:800 27px/1.2 Manrope,sans-serif}.admin-kpi-card span{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);margin-top:4px;font-size:10px;overflow:hidden}.admin-role-overview{border:1px solid var(--outline);background:var(--surface);border-radius:20px;justify-content:space-between;align-items:center;gap:22px;margin-top:13px;padding:18px 21px;display:flex}.admin-role-overview>header{align-items:center;gap:11px;min-width:0;display:flex}.admin-role-overview>header>svg{width:36px;height:36px;color:var(--secondary);background:var(--secondary-soft);border-radius:12px;padding:8px}.admin-role-overview header div{min-width:0;display:grid}.admin-role-overview header strong{font-size:13px}.admin-role-overview header span{color:var(--muted);font-size:10px}.admin-role-overview>div{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.admin-role-overview>div>span{background:var(--surface-soft);border-radius:10px;align-items:center;gap:7px;padding:5px 8px 5px 5px;font-size:11px;display:flex}.meta-shadow-section{padding-bottom:4px}.meta-shadow-empty,.meta-shadow-result{border:1px solid var(--outline);background:var(--surface);border-radius:18px}.meta-shadow-empty{color:var(--muted);padding:17px 20px;font-size:11px}.meta-shadow-result{overflow:hidden}.meta-shadow-result.matched{border-color:#b7e4d0}.meta-shadow-result.mismatched{border-color:#efcfb3}.meta-shadow-summary{background:var(--surface-soft);align-items:center;gap:11px;padding:15px 18px;display:flex}.meta-shadow-summary>svg{color:#166946;background:#e2f6ed;border-radius:11px;width:34px;height:34px;padding:8px}.meta-shadow-result.mismatched .meta-shadow-summary>svg{color:#915300;background:#fff0d8}.meta-shadow-summary span{gap:2px;display:grid}.meta-shadow-summary small,.meta-shadow-checks dt{color:var(--muted);font-size:9px;font-weight:700}.meta-shadow-summary strong{font-size:14px}.meta-shadow-summary code{color:var(--muted);margin-left:auto;font-size:10px}.meta-shadow-checks{background:var(--outline);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin:0;display:grid}.meta-shadow-checks>div{background:var(--surface);min-width:0;padding:12px}.meta-shadow-checks dd{color:var(--ink);margin:4px 0 0;font-size:11px;font-weight:800}.admin-role-badge,.admin-status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:24px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.admin-role-badge.role-admin{color:#7a3d00;background:#fff1dc}.admin-role-badge.role-test{color:#7a2163;background:var(--pink-soft)}.admin-role-badge.role-premium{color:#315ba8;background:var(--secondary-soft)}.admin-role-badge.role-normal{color:#625f65;background:#efedf0}.admin-status-badge.status-active{color:#166946;background:#e2f6ed}.admin-status-badge.status-deletion_pending{color:#915300;background:#fff0d8}.admin-status-badge.status-forced_withdrawn,.admin-status-badge.status-terminated,.admin-status-badge.status-disabled{color:var(--danger);background:var(--danger-soft)}.admin-users-section{padding-bottom:80px}.admin-user-filters{grid-template-columns:minmax(280px,1fr) repeat(3,minmax(130px,180px)) auto;align-items:end;gap:9px;margin-bottom:12px;display:grid}.admin-user-filters>label{min-width:0;color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.admin-user-filters select,.admin-user-filters input,.role-select-label select,.termination-dialog input,.termination-dialog textarea{border:1px solid var(--outline);width:100%;min-height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:11px;padding:0 11px;font-size:12px}.admin-user-filters select,.role-select-label select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23615c67' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.admin-user-filters select:focus,.admin-user-filters input:focus,.role-select-label select:focus,.termination-dialog input:focus,.termination-dialog textarea:focus{border-color:#b8a7e3;outline:3px solid #7458c830}.admin-search-field{grid-template-columns:minmax(0,1fr) auto;position:relative;display:grid!important}.admin-search-field>svg{z-index:1;width:17px;color:var(--muted);position:absolute;bottom:11px;left:12px}.admin-search-field input{border-radius:12px 0 0 12px;padding-left:37px}.admin-search-field button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:0 12px 12px 0;min-width:58px;font-size:11px;font-weight:800}.admin-privacy-strip{color:#315b4d;background:#eaf7f2;border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 13px;font-size:11px;display:flex}.admin-privacy-strip svg{flex:none;width:17px}.admin-table-scroll{border:1px solid var(--outline);background:var(--surface);border-radius:20px;overflow-x:auto;box-shadow:0 10px 35px #41335e09}.admin-user-table{border-collapse:collapse;width:100%;min-width:1320px;font-size:11px}.admin-user-table th{color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--outline);text-align:left;white-space:nowrap;padding:12px 10px;font-size:10px;font-weight:800}.admin-user-table td{vertical-align:middle;color:#4f4b53;border-bottom:1px solid #f0edf2;max-width:260px;padding:13px 10px}.admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-table tbody tr:hover td{background:#fdfcff}.admin-user-table .selection-cell{width:42px;max-width:42px;padding-inline:14px 5px}.admin-user-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.admin-user-identity{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:190px;display:grid}.admin-user-identity>svg:first-child{width:30px;height:30px;color:var(--primary);background:var(--primary-soft);border-radius:50%;padding:7px}.admin-user-identity>svg:last-child{color:#9a5d11;width:14px}.admin-user-identity span,.admin-date-stack,.admin-stat-stack,.admin-budget-cell{gap:3px;min-width:0;display:grid}.admin-user-identity strong,.admin-user-identity small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-user-identity strong,.admin-date-stack strong,.admin-stat-stack strong,.admin-budget-cell strong{color:var(--ink);font-size:11px}.admin-user-identity small,.admin-date-stack small,.admin-stat-stack small,.admin-budget-cell small,.table-subcopy{color:var(--muted);font-size:9px}.admin-recent-date{overflow-wrap:anywhere;max-width:140px;line-height:1.45;display:block}.role-select-label{align-items:center;min-width:100px;display:flex;position:relative}.role-select-label select{min-height:34px;padding-right:28px}.role-select-label svg{width:14px;color:var(--primary);pointer-events:none;position:absolute;right:8px}.protected-role{align-items:center;gap:5px;display:flex}.protected-role>svg{color:#9a5d11;width:14px}.protected-role>small{color:var(--muted);font-size:9px}.admin-budget-cell{min-width:145px}.admin-budget-cell i{background:#eeeaf1;border-radius:999px;height:5px;overflow:hidden}.admin-budget-cell i b{border-radius:inherit;background:var(--primary);height:100%;display:block}.admin-detail-button{border:1px solid var(--outline);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:2px;min-height:31px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.admin-empty-row,.admin-table-loading{min-height:250px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex}.admin-empty-row{flex-direction:column}.admin-empty-row svg{width:35px;height:35px;color:var(--primary);background:var(--primary-soft);border-radius:12px;padding:8px}.admin-empty-row strong{color:var(--ink)}.admin-empty-row span{font-size:10px}.admin-pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:10px;display:flex}.admin-pagination button{border:1px solid var(--outline);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:3px;min-height:34px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.admin-pagination button:disabled,.admin-user-filters button:disabled,.role-select-label select:disabled,.termination-dialog button:disabled{opacity:.45;cursor:default}.admin-pagination svg{width:14px}.admin-bulk-bar{z-index:18;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #7458c833;border-radius:19px;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:10px 13px 10px 17px;display:flex;position:fixed;bottom:20px;left:276px;right:24px;box-shadow:0 17px 60px #37285233}.admin-bulk-bar>div{align-items:center;gap:9px;display:flex}.admin-bulk-bar>div:first-child>svg{width:31px;height:31px;color:var(--primary);background:var(--primary-soft);border-radius:10px;padding:7px}.admin-bulk-bar span{display:grid}.admin-bulk-bar strong{font-size:12px}.admin-bulk-bar small{color:var(--muted);font-size:9px}.admin-bulk-bar>div:last-child>button:first-child{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 9px;font-size:10px}.admin-bulk-bar .danger-button svg,.termination-dialog .danger-button svg{width:15px}.admin-drawer-backdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14101959;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-user-drawer{border-left:1px solid var(--outline);background:var(--surface);width:min(570px,100%);height:100%;padding:0 25px 32px;overflow-y:auto;box-shadow:-25px 0 70px #241a332e}.admin-user-drawer>header{z-index:2;border-bottom:1px solid var(--outline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;min-height:74px;padding:12px 0;display:flex;position:sticky;top:0}.admin-user-drawer header small{color:var(--primary);letter-spacing:.09em;font-size:9px;font-weight:800}.admin-user-drawer h2{margin:3px 0 0;font-size:19px}.admin-drawer-loading{min-height:300px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.admin-detail-profile{align-items:center;gap:14px;padding:23px 0 17px;display:flex}.admin-detail-profile>svg{width:52px;height:52px;color:var(--primary);background:var(--primary-soft);border-radius:18px;padding:12px}.admin-detail-profile>div{gap:3px;min-width:0;display:grid}.admin-detail-profile strong,.admin-detail-profile span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-detail-profile strong{font-size:17px}.admin-detail-profile span{color:var(--muted);font-size:11px}.admin-detail-profile div>div{gap:5px;margin-top:4px;display:flex}.admin-user-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;display:grid}.admin-user-metadata>div{background:var(--surface-soft);border-radius:12px;min-width:0;padding:11px 12px}.admin-user-metadata dt{color:var(--muted);font-size:9px}.admin-user-metadata dd{margin:3px 0 0;font-size:11px;font-weight:700}.admin-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:17px;display:grid}.admin-detail-stats article{border:1px solid var(--outline);border-radius:13px;gap:3px;min-width:0;padding:12px;display:grid}.admin-detail-stats small{color:var(--muted);font-size:9px}.admin-detail-stats strong{font:800 17px/1.2 Manrope,sans-serif}.admin-detail-stats label{border:1px solid var(--outline);border-radius:13px;gap:5px;min-width:0;padding:12px;display:grid}.admin-detail-stats label small{color:var(--muted);font-size:9px}.admin-detail-stats label input{box-sizing:border-box;border:1px solid var(--outline);width:100%;font:inherit;border-radius:8px;padding:7px}.admin-character-section .primary-button{margin-top:10px}.admin-character-section{margin-top:22px}.admin-character-section>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.admin-character-section header div{display:grid}.admin-character-section header strong{font-size:13px}.admin-character-section header span{color:var(--muted);font-size:9px}.admin-character-section>header>span{text-align:center;background:var(--primary-soft);min-width:28px;color:var(--primary);border-radius:999px;padding:4px 7px;font-weight:800}.admin-character-list{gap:6px;display:grid}.admin-character-list article{background:var(--surface-soft);border-radius:13px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:10px 11px;display:grid}.admin-character-list article>svg{width:34px;height:34px;color:var(--secondary);background:var(--secondary-soft);border-radius:12px;padding:8px}.admin-character-list article span{gap:2px;min-width:0;display:grid}.admin-character-list strong,.admin-character-list small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-character-list strong{font-size:11px}.admin-character-list small{color:var(--muted);font-size:9px}.admin-privacy-note{color:#315b4d;background:#eaf7f2;border-radius:13px;align-items:flex-start;gap:9px;margin-top:20px;padding:12px;display:flex}.admin-privacy-note>svg{flex:none;width:19px}.admin-privacy-note span{gap:2px;display:grid}.admin-privacy-note strong{font-size:11px}.admin-privacy-note small,.admin-coverage{color:var(--muted);font-size:9px;line-height:1.55}.admin-coverage{text-align:center}.admin-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#100d14a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.termination-dialog{background:var(--surface);border:1px solid #fff3;border-radius:24px;width:min(610px,100%);padding:24px;box-shadow:0 28px 90px #140e1d57}.termination-dialog>header{grid-template-columns:46px minmax(0,1fr) 38px;align-items:center;gap:11px;display:grid}.termination-icon{width:46px;height:46px;color:var(--danger);background:var(--danger-soft);border-radius:15px;place-items:center;display:grid}.termination-icon svg{width:23px}.termination-dialog header small{color:var(--danger);letter-spacing:.08em;font-size:9px;font-weight:800}.termination-dialog h2{margin:3px 0 0;font-size:20px}.termination-targets{flex-wrap:wrap;gap:5px;margin-top:17px;display:flex}.termination-targets span{white-space:nowrap;text-overflow:ellipsis;background:var(--surface-soft);max-width:100%;color:var(--muted);border-radius:8px;padding:5px 8px;font-size:9px;overflow:hidden}.termination-warning{color:var(--danger);background:var(--danger-soft);border:1px solid #f0c8c4;border-radius:13px;align-items:flex-start;gap:9px;margin-top:14px;padding:12px;display:flex}.termination-warning>svg{flex:none;width:19px}.termination-warning span{gap:3px;display:grid}.termination-warning strong{font-size:11px}.termination-warning small{font-size:9px;line-height:1.55}.termination-reason,.termination-confirm{gap:6px;margin-top:16px;font-size:11px;font-weight:700;display:grid;position:relative}.termination-reason>small{color:var(--muted);font-size:9px;font-weight:500}.termination-reason textarea{resize:vertical;min-height:110px;padding:10px 11px 24px;line-height:1.6}.termination-reason>span{color:var(--muted);font-size:9px;font-weight:500;position:absolute;bottom:7px;right:10px}.termination-confirm strong{color:var(--danger)}.termination-dialog>footer{justify-content:flex-end;gap:8px;margin-top:19px;display:flex}.termination-batch-panel{background:linear-gradient(135deg,#fff,var(--primary-soft));border:1px solid #d6c9f2;border-radius:18px;width:min(1420px,100% - 48px);margin:22px auto 0;padding:17px 19px}.termination-batch-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.termination-batch-panel header>div:first-child{gap:2px;display:grid}.termination-batch-panel header small{color:var(--primary);letter-spacing:.08em;font-size:9px;font-weight:800}.termination-batch-panel header strong{font-size:13px}.termination-batch-panel header span{color:var(--muted);font-size:9px}.termination-batch-panel header>div:last-child{display:flex}.termination-batch-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:13px;display:grid}.termination-batch-summary>span{background:#ffffffb3;border-radius:10px;gap:2px;min-width:0;padding:9px 10px;display:grid}.termination-batch-summary strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.termination-batch-summary small{color:var(--muted);font-size:8px}.termination-target-statuses{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.termination-target-statuses span{color:var(--muted);background:#ffffffb8;border-radius:8px;padding:4px 7px;font-size:9px}.account-status-page,.admin-access-state{background:radial-gradient(circle at 50% 18%,var(--danger-soft),transparent 42%),var(--background);place-items:center;min-height:100vh;padding:28px;display:grid}.account-status-card,.admin-access-state>section{text-align:center;border:1px solid var(--outline);background:var(--surface);width:min(530px,100%);box-shadow:var(--shadow);border-radius:28px;flex-direction:column;align-items:center;padding:45px 39px;display:flex}.account-status-icon,.admin-access-state>section>svg{width:66px;height:66px;color:var(--danger);background:var(--danger-soft);border-radius:21px;place-items:center;margin-bottom:19px;display:grid}.account-status-icon svg{width:31px}.admin-access-state>section>svg{color:var(--primary);background:var(--primary-soft);padding:16px}.account-status-card h1,.admin-access-state h1{letter-spacing:-.035em;margin:10px 0 0;font-size:27px}.account-status-message,.admin-access-state p{color:var(--muted);white-space:pre-line;word-break:break-word;margin:14px 0 0;font-size:13px;line-height:1.75}.account-status-date{color:var(--muted);margin:9px 0 0;font-size:10px}.account-status-actions,.admin-access-state section>div{justify-content:center;gap:8px;margin-top:23px;display:flex}.account-status-card>small{max-width:390px;color:var(--muted);margin-top:15px;font-size:9px;line-height:1.55}@media (width<=940px){.landing-hero{text-align:center;grid-template-columns:1fr;padding-top:40px}.hero-copy{flex-direction:column;align-items:center;display:flex}.preview-card{width:min(560px,100%);margin:0 auto;transform:none}.landing-features{margin-top:40px}.console-shell{grid-template-columns:0 minmax(0,1fr)}.console-sidebar{transition:transform .2s;transform:translate(-102%);box-shadow:20px 0 60px #2c214121}.console-sidebar.open{transform:translate(0)}.nav-scrim{z-index:19;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e1e1e38;border:0;padding:0;display:block;position:fixed;inset:0}.console-main{grid-column:2}.admin-shell{grid-template-columns:252px minmax(0,1fr)}.admin-shell-collapsed{grid-template-columns:66px minmax(0,1fr)}.admin-sidebar,.admin-sidebar.collapsed{box-shadow:none;transform:none}.admin-main{grid-column:2}.admin-bulk-bar{left:20px;right:20px}.mobile-menu{display:inline-flex}.console-topbar{padding:0 16px}.chat-layout{grid-template-columns:230px minmax(0,1fr)}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-search-field{grid-column:span 2}}@media (width<=700px){.landing-nav,.landing-hero,.landing-features,.landing-shell footer{width:min(100% - 28px,560px)}.landing-nav{height:72px}.web-login-link{min-height:42px;padding:0 13px}.landing-hero{padding:38px 0 55px}.hero-copy h1{font-size:40px}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:column;width:100%}.preview-body{grid-template-columns:50px 1fr;min-height:340px}.preview-body aside{padding-inline:6px}.preview-body aside div:not(.mini-logo){width:28px}.preview-body section{padding:35px 18px}.preview-body h3{font-size:21px}.landing-features{grid-template-columns:1fr;margin-bottom:55px}.landing-features article{min-height:160px}.landing-shell footer{flex-direction:column;gap:12px}.login-card{padding:40px 22px}.web-page,.console-shell,.console-main{height:100dvh;min-height:0}.console-shell{overflow:hidden}.console-main{overscroll-behavior:contain;overflow-y:auto}.console-topbar{height:62px;min-height:62px;position:relative}.console-topbar>div{white-space:nowrap}.chat-layout{grid-template-rows:78px minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:calc(100dvh - 62px);min-height:0;overflow:hidden}.thread-list{border-right:0;border-bottom:1px solid var(--outline);scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch;gap:7px;height:78px;min-height:0;padding:9px 12px;display:flex;overflow:auto hidden}.thread-list::-webkit-scrollbar{display:none}.new-chat{border-radius:16px;width:auto;min-width:105px;height:auto;min-height:0;margin:0;padding:0 13px}.thread-item{min-width:150px;padding:7px 11px}.conversation{height:100%;min-height:0;overflow:hidden}.conversation>header{flex:0 0 64px;min-height:64px;padding:9px 16px}.conversation>header h2{max-width:65vw;font-size:16px}.room-summary{min-height:31px;padding:6px 16px}.room-summary small{display:none}.messages{overscroll-behavior:contain;flex:1 1 0;min-height:0;padding:18px 14px 12px}.message-content{width:100%;max-width:100%;padding:12px}.message.user>.message-content{width:fit-content;max-width:90%}.conversation>.error-banner{flex:none;margin:0 12px 8px}.composer{width:calc(100% - 24px);min-height:56px;margin:0 auto max(10px, env(safe-area-inset-bottom));border-radius:19px;flex:none;grid-template-columns:auto auto minmax(0,1fr) 42px}.composer>button{width:42px;height:42px}.composer-tools,.attachment-tray,.clarification-banner,.goal-playback,.slash-menu{width:calc(100% - 24px)}.composer-tools{white-space:nowrap;overflow-x:auto}.chat-media{max-height:320px}.room-sheet{border-radius:20px;max-height:calc(100dvh - 28px);padding:18px}.camera-modal,.legal-gate{padding:14px}.legal-gate>section{padding:22px 17px}.data-section{width:calc(100% - 28px);padding-top:26px}.section-head{flex-direction:column;align-items:flex-start}.section-head h2{font-size:24px}.archive-grid,.management-grid{grid-template-columns:1fr}.management-card{min-height:340px}.archive-card{grid-template-columns:62px minmax(0,1fr)}.archive-preview{width:62px;height:58px}.archive-player-backdrop{padding:14px}.archive-player-modal{border-radius:20px;max-height:calc(100dvh - 28px)}.archive-player-modal>header{padding:14px 12px 13px 16px}.archive-player-modal video{max-height:calc(100dvh - 146px)}.refresh-button{justify-content:center;width:38px;padding:0;font-size:0}.admin-section,.termination-batch-panel{width:calc(100% - 28px)}.admin-section{padding-top:28px}.admin-kpi-grid{grid-template-columns:1fr}.admin-kpi-card{padding:17px}.admin-role-overview{flex-direction:column;align-items:flex-start}.admin-role-overview>div{justify-content:flex-start}.admin-user-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-search-field,.admin-user-filters>button{grid-column:1/-1}.meta-shadow-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-bulk-bar{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:7px;padding:10px 12px}.admin-bulk-bar>div{justify-content:space-between}.admin-bulk-bar small{display:none}.admin-user-drawer{padding-inline:16px}.admin-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-modal-backdrop{padding:12px}.termination-dialog{border-radius:20px;padding:18px}.termination-batch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-status-card,.admin-access-state>section{padding:37px 21px}.account-status-actions,.admin-access-state section>div{flex-direction:column;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}
