:root{
 --font-sans:"Pretendard Variable","Pretendard","Noto Sans KR","Segoe UI","Malgun Gothic",sans-serif;
 --font-size-title:28px;--font-size-section:18px;--font-size-item:16px;--font-size-body:14px;--font-size-caption:13px;--font-size-badge:12px;
 --font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;

 --radius-control:7px;--radius-card:10px;--radius-modal:12px;
 --shadow-modal:0 24px 70px var(--color-shadow-alpha-22-0);
 --ai-accent:var(--color-brand);--ai-accent-soft:var(--color-brand-soft);--ai-accent-border:var(--color-brand-border);
 --ai-surface:var(--color-surface);--ai-text:var(--color-text);--ai-text-muted:var(--color-text-secondary);
 --ai-overlay:var(--color-shadow-alpha-58-0);--ai-glow:var(--color-brand-alpha-20-0);--ai-backdrop-blur:10px;
 --ai-modal-width:440px;--ai-motion-duration:2.4s;
 --brand-symbol-url:url('/brand/ezette-one-glyph.svg');--brand-symbol-size:34px;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
 --control-height:40px;--content-max:1440px;
 --page-title-size:30px;--page-section-gap:var(--space-5);--page-copy-max:670px;
 --ui-radius-sm:var(--radius-control);--ui-radius-md:var(--radius-card);--ui-control-border:var(--color-border);
 --ui-control-bg:var(--color-surface);--ui-control-text:var(--color-text-secondary);--ui-control-hover:var(--color-surface-hover);--ui-control-active:var(--color-brand);
}
html,body,button,input,select,textarea{font-family:var(--font-sans)}
.one-logo-symbol{position:relative;display:inline-block;flex:none;width:var(--brand-symbol-size);height:var(--brand-symbol-size)}
.one-logo-symbol::before{content:"";position:absolute;inset:4.6875%;border-radius:29.31%;background:linear-gradient(135deg,var(--color-brand),var(--color-brand-hover))}
.one-logo-symbol::after{content:"";position:absolute;inset:0;background:var(--color-on-brand);mask:var(--brand-symbol-url) center/contain no-repeat;-webkit-mask:var(--brand-symbol-url) center/contain no-repeat}
.one-logo-symbol--large{--brand-symbol-size:52px}.one-logo-symbol--ai{--brand-symbol-size:58px}.one-logo-symbol--chat{--brand-symbol-size:56px}
.one-login-brand{display:flex;align-items:center;gap:14px;color:var(--color-text);font-size:18px;font-weight:var(--font-weight-bold);letter-spacing:.04em}.one-login-brand b{color:var(--color-brand);font-weight:var(--font-weight-bold)}
body{color:var(--color-text);font-size:var(--font-size-body)}
button,input,select,textarea{font-size:var(--font-size-body)}
.btn,.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:1;box-shadow:none;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover,.ui-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}
.btn.primary,.ui-button--primary{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.btn.primary:hover,.ui-button--primary:hover{background:var(--color-brand-hover)}
.btn.soft,.ui-button--soft{border-color:transparent;background:var(--color-brand-soft);color:var(--color-brand)}
.btn:disabled,.ui-button:disabled{cursor:not-allowed;opacity:.5}
.pill,.ui-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border-radius:var(--radius-control);background:var(--color-surface-hover);color:var(--color-text-secondary);font-size:var(--font-size-badge);font-weight:var(--font-weight-semibold);white-space:nowrap}
.ui-badge--brand{background:var(--color-brand-soft);color:var(--color-brand)}.ui-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}
.ui-card,.panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:none}
.ui-action-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 11px;border:1px solid var(--ui-control-border);border-radius:var(--ui-radius-sm);background:var(--ui-control-bg);color:var(--ui-control-text);font-size:var(--font-size-badge);font-weight:var(--font-weight-semibold);line-height:1.2;white-space:nowrap;text-decoration:none}.ui-action-chip:hover{background:var(--ui-control-hover);color:var(--ui-control-active)}.ui-action-chip .icon{width:14px;height:14px}.ui-action-chip.is-primary{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.ui-action-chip.is-quiet{border-color:transparent;background:transparent}
.ui-revision-badge{display:inline-grid;place-items:center;min-width:34px;height:27px;padding:0 8px;border-radius:var(--radius-control);background:var(--color-brand-soft);color:var(--color-brand);font-size:var(--font-size-badge);font-weight:var(--font-weight-bold)}
.ui-modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:var(--space-5);background:var(--color-overlay);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);overflow:auto}
.ui-modal{width:min(680px,calc(100vw - 48px));max-height:min(86vh,840px);display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-modal);background:var(--color-surface);box-shadow:var(--shadow-modal);overflow:hidden}
.ui-modal--wide{width:min(820px,calc(100vw - 48px))}.ui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:20px var(--space-5);border-bottom:1px solid var(--color-border)}.ui-modal__header h2{margin:0;font-size:var(--font-size-section);font-weight:var(--font-weight-semibold)}.ui-modal__header p{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:1.55}.ui-modal__close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text-secondary);font-size:22px;cursor:pointer}.ui-modal__close:hover{background:var(--color-surface-hover)}
.ui-modal__body{min-height:0;padding:var(--space-5);overflow:auto}.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-subtle)}
.ui-field{display:grid;gap:var(--space-2);color:var(--color-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.ui-field input,.ui-field select,.ui-field textarea{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text)}.ui-field input,.ui-field select{min-height:var(--control-height)}.ui-field textarea{line-height:1.6;resize:vertical}.ui-field input:focus,.ui-field select:focus,.ui-field textarea:focus{border-color:var(--color-brand);outline:2px solid var(--color-brand-soft)}
body.ui-modal-open{overflow:hidden}
@media(max-width:720px){:root{--font-size-title:24px;--font-size-section:17px;--font-size-item:15px;--page-title-size:24px}.ui-modal-backdrop{padding:var(--space-3)}.ui-modal,.ui-modal--wide{width:100%;max-height:92vh}.ui-modal__header,.ui-modal__body{padding:var(--space-4)}.ui-modal__footer{padding:var(--space-3) var(--space-4)}}
