/* BTStudy components — opt-in, namespaced (.bt-*). Uses only tokens from site-theme.css.
[class^="bt-"],[class*=" bt-"]{box-sizing:border-box}
   Usage: <link rel="stylesheet" href="/static/css/site-theme.css"> then this file.
   Rules: min font 12px (.75rem) · radius 4/6/8 only · one accent · breakpoint 600px. */

.bt-page{max-width:var(--site-content-w);margin:0 auto;padding:calc(var(--site-header-h) + 20px) 16px 60px;color:var(--site-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;line-height:1.6}

/* Card */
.bt-card{background:var(--site-surface);border:1.5px solid var(--site-border);border-radius:var(--site-radius-s);box-shadow:var(--site-shadow);overflow:hidden}
.bt-card__body{padding:20px}
.bt-card--accent{border-left:4px solid var(--site-accent)}

/* Tag (section label) */
.bt-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--site-border);border-radius:var(--site-radius-xs);background:var(--site-accent-soft);color:var(--site-accent);font-size:.75rem;font-weight:700}

/* Buttons */
.bt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--site-border);border-radius:var(--site-radius-s);background:var(--site-surface);color:var(--site-text-2);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer;text-decoration:none;transition:border-color .18s,background .18s,color .18s}
.bt-btn:hover{border-color:var(--site-accent);color:var(--site-accent);background:var(--site-accent-soft)}
.bt-btn--primary{border-color:var(--site-accent);background:var(--site-accent);color:#fff}
.bt-btn--primary:hover{border-color:var(--site-accent-d);background:var(--site-accent-d);color:#fff}
.bt-btn--ghost{border-color:transparent;background:transparent}
.bt-btn[disabled],.bt-btn[aria-disabled="true"]{opacity:.5;pointer-events:none}

/* Menu button (icon + label) */
.bt-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bt-menu__item{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid var(--site-border);border-radius:var(--site-radius-s);background:var(--site-surface);color:var(--site-text);font-size:.875rem;font-weight:600;text-decoration:none;overflow-wrap:anywhere;transition:border-color .18s,background .18s}
.bt-menu__item i{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--site-radius-s);background:var(--site-bg);color:var(--site-accent)}
.bt-menu__item:hover{border-color:var(--site-accent);background:var(--site-bg)}
@media(max-width:600px){.bt-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Form controls */
.bt-field{display:grid;gap:6px;color:var(--site-text-2);font-size:.8125rem;font-weight:700}
.bt-input,.bt-select{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--site-border);border-radius:var(--site-radius-s);background:var(--site-surface);color:var(--site-text);font:inherit;font-size:.9375rem}
.bt-input:focus,.bt-select:focus{border-color:var(--site-accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--site-accent) 16%,transparent)}
.bt-search{display:grid;grid-template-columns:120px minmax(0,1fr) 52px;border:1px solid var(--site-border);border-radius:var(--site-radius-s);background:var(--site-surface);overflow:hidden}
.bt-search:focus-within{border-color:var(--site-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-accent) 14%,transparent)}
.bt-search select,.bt-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--site-text);font:inherit;font-size:.9375rem;padding:13px 12px}
.bt-search select{border-right:1px solid var(--site-border);font-weight:700;font-size:.8125rem}
.bt-search button{display:grid;place-items:center;border:0;background:var(--site-accent);color:#fff;cursor:pointer}

/* Notice */
.bt-notice{padding:14px 16px;border:1px solid var(--site-border);border-left:3px solid var(--site-accent);border-radius:var(--site-radius-s);background:var(--site-accent-soft);color:var(--site-text);font-size:.875rem}

/* Chip */
.bt-chip{display:inline-block;padding:5px 10px;border:1px solid var(--site-border);border-radius:var(--site-radius-xs);color:var(--site-text-2);font-size:.75rem;text-decoration:none}
.bt-chip:hover{border-color:var(--site-accent);color:var(--site-accent)}
