.osh-app{--osh-primary:#003876;--osh-primary-hover:#002a65;--osh-primary-soft:#e6effb;--osh-navy:#06264c;--osh-ink:#14243d;--osh-muted:#52627a;--osh-line:#d6e0ed;--osh-input-line:#7b8aa0;--osh-paper:#f5f8fd;--osh-surface:#fff;--osh-focus:#0e4a9f;--osh-demo-bg:#fff2d6;--osh-demo-ink:#785209;--osh-success-bg:#edf7f1;--osh-success-ink:#22613c;--osh-error-bg:#fff0f3;--osh-error-ink:#9b1c31;--osh-radius-card:12px;--osh-radius-control:7px;--osh-radius-badge:4px;--osh-font:"Noto Sans KR Variable", "Noto Sans KR", Arial, sans-serif;color:var(--osh-ink);background:var(--osh-paper);font:400 16px/1.7 var(--osh-font);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}body.osh-app{margin:0}.osh-app,.osh-app *,.osh-app :before,.osh-app :after{box-sizing:border-box}.osh-app :where(button,input,select,textarea){font:inherit;color:inherit}.osh-app :where(button,input,select,a){touch-action:manipulation}.osh-app :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--osh-focus);outline-offset:4px}.osh-app ::selection{background:#b5cced}.osh-app .osh-container{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}.osh-app .osh-header{background:var(--osh-surface);border-bottom:1px solid var(--osh-line)}.osh-app .osh-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;min-height:88px;padding-block:16px;display:flex}.osh-app .osh-brand{color:var(--osh-primary);align-items:center;gap:12px;font-size:22px;font-weight:750;line-height:1.3;text-decoration:none;display:inline-flex}.osh-app .osh-brand small{color:var(--osh-muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.osh-app .osh-brand-mark{flex:0 0 32px;width:32px;height:34px;display:block;position:relative;transform:rotate(-8deg)}.osh-app .osh-brand-mark i{border-radius:2px;width:9px;position:absolute;transform:skewY(-28deg)}.osh-app .osh-brand-mark i:first-child{background:var(--osh-primary);height:23px;top:8px;left:0}.osh-app .osh-brand-mark i:nth-child(2){background:#1769c2;height:33px;top:0;left:11px}.osh-app .osh-brand-mark i:nth-child(3){background:#63a5ef;height:23px;top:3px;left:22px}.osh-app .osh-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.osh-app .osh-main{padding-block:40px 64px}.osh-app .osh-intro{max-width:760px;margin-bottom:32px}.osh-app .osh-title{letter-spacing:-1px;word-break:keep-all;margin:12px 0;font-size:36px;font-weight:750;line-height:1.4}.osh-app .osh-heading{word-break:keep-all;margin:0 0 12px;font-size:24px;font-weight:700;line-height:1.5}.osh-app .osh-card-title{margin:0 0 8px;font-size:20px;font-weight:650;line-height:1.5}.osh-app .osh-copy{margin:0 0 16px}.osh-app .osh-muted{color:var(--osh-muted)}.osh-app .osh-help{color:var(--osh-muted);margin:8px 0 0;font-size:14px;line-height:1.7}.osh-app .osh-section{margin-top:40px}.osh-app .osh-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.osh-app .osh-workspace{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.osh-app .osh-stack{gap:16px;display:grid}.osh-app .osh-card{background:var(--osh-surface);border:1px solid var(--osh-line);border-radius:var(--osh-radius-card);min-width:0;padding:24px}.osh-app .osh-panel{border:1px solid var(--osh-line);border-radius:var(--osh-radius-card);background:var(--osh-primary-soft);padding:20px}.osh-app .osh-button{border-radius:var(--osh-radius-control);background:var(--osh-primary);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 20px;font-size:16px;font-weight:600;line-height:1.5;text-decoration:none;transition:background-color .15s;display:inline-flex}.osh-app .osh-button:hover:not(:disabled){background:var(--osh-primary-hover)}.osh-app .osh-button--secondary{border-color:var(--osh-input-line);color:var(--osh-primary);background:#fff}.osh-app .osh-button--secondary:hover:not(:disabled){background:var(--osh-primary-soft)}.osh-app .osh-button:disabled{cursor:not-allowed;opacity:.55}.osh-app .osh-link{color:var(--osh-primary);text-underline-offset:4px;font-weight:600;text-decoration:underline}.osh-app .osh-field{gap:8px;min-width:0;display:grid}.osh-app .osh-label{font-size:16px;font-weight:600}.osh-app .osh-input{border:1px solid var(--osh-input-line);border-radius:var(--osh-radius-control);background:#fff;width:100%;min-width:0;min-height:44px;padding:10px 12px;line-height:1.5}.osh-app textarea.osh-input{resize:vertical;min-height:120px}.osh-app .osh-input::placeholder{color:var(--osh-muted)}.osh-app .osh-input[aria-invalid=true]{border-color:var(--osh-error-ink)}.osh-app .osh-badge{border-radius:var(--osh-radius-badge);background:var(--osh-primary-soft);color:var(--osh-primary);padding:4px 8px;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex}.osh-app .osh-badge--demo{background:var(--osh-demo-bg);color:var(--osh-demo-ink)}.osh-app .osh-note{border:1px solid var(--osh-line);border-radius:var(--osh-radius-control);background:var(--osh-primary-soft);color:var(--osh-ink);margin:0;padding:16px 20px;font-size:14px}.osh-app .osh-note--success{background:var(--osh-success-bg);color:var(--osh-success-ink);border-color:currentColor}.osh-app .osh-note--error{background:var(--osh-error-bg);color:var(--osh-error-ink);border-color:currentColor}.osh-app .osh-table-scroll{border:1px solid var(--osh-line);border-radius:var(--osh-radius-card);background:#fff;max-width:100%;overflow:auto}.osh-app .osh-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.osh-app .osh-table caption{text-align:left;color:var(--osh-muted);padding:16px}.osh-app .osh-table :where(th,td){border-bottom:1px solid var(--osh-line);vertical-align:top;padding:12px 16px}.osh-app .osh-table th{background:var(--osh-paper);font-weight:600}.osh-app .osh-table tbody tr:last-child td{border-bottom:0}.osh-app .osh-skip{clip-path:inset(50%);z-index:100;background:var(--osh-primary);color:#fff;padding:12px 20px;position:fixed;top:-100px;left:16px}.osh-app .osh-skip:focus{clip-path:none;top:12px}.osh-app .osh-footer{border-top:1px solid var(--osh-line);color:var(--osh-muted);background:#fff;padding-block:24px;font-size:14px}@media (max-width:1150px){.osh-app .osh-container{width:calc(100% - 48px)}}@media (max-width:850px){.osh-app .osh-grid,.osh-app .osh-workspace{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.osh-app .osh-container{width:calc(100% - 36px)}.osh-app .osh-header-inner{min-height:72px}.osh-app .osh-main{padding-top:24px}.osh-app .osh-title{font-size:28px}.osh-app .osh-heading{font-size:22px}.osh-app .osh-card{padding:20px}}@media (prefers-reduced-motion:reduce){.osh-app .osh-button{transition:none}}
