/* Smart Note Builder — page-scoped styles (prefix nb-) */
.nb-builder{border:1px solid #dbe4ea;border-radius:1.2rem;background:#fff;overflow:visible;margin:0 0 1rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#0f172a}
.nb-head{padding:1.15rem 1.35rem 1rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff);border-radius:1.2rem 1.2rem 0 0}
.nb-kicker{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#047857;margin-bottom:.35rem}
.nb-head h3{margin:0 0 .3rem;font-family:"Playfair Display",Fraunces,Georgia,serif;font-weight:500;font-size:1.35rem;letter-spacing:-.01em}
.nb-head p{margin:0;font-size:.85rem;color:#475569;line-height:1.5}
.nb-phi{display:inline-flex;align-items:center;gap:.4rem;margin-top:.65rem;padding:.35rem .6rem;border-radius:.5rem;background:#fffbeb;border:1px solid #fde68a;color:#78350f;font-size:.72rem;font-weight:600}
.nb-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media (min-width:1024px){.nb-layout{grid-template-columns:minmax(0,26rem) minmax(0,1fr)}}
.nb-formcol{padding:.75rem 1rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}
@media (min-width:1024px){.nb-formcol{border-bottom:0;border-right:1px solid #e2e8f0;border-radius:0 0 0 1.2rem;max-height:calc(100vh - 8rem);overflow:auto;position:sticky;top:5.5rem}}
.nb-group{border:1px solid #e2e8f0;border-radius:.8rem;background:#fff;margin:.55rem 0}
.nb-group>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:.6rem;padding:.7rem .9rem;min-height:44px}
.nb-group>summary::-webkit-details-marker{display:none}
.nb-group-num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;color:#047857;font-weight:700}
.nb-group-title{font-weight:700;font-size:.86rem;letter-spacing:.01em}
.nb-group-hint{margin-left:auto;font-size:.68rem;color:#94a3b8;font-weight:500}
.nb-group-body{padding:0 .9rem .6rem}
.nb-field{padding:.6rem 0;border-top:1px solid #f1f5f9}
.nb-field-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;margin-bottom:.4rem}
.nb-label{font-size:.78rem;font-weight:700;color:#1e293b}
.nb-hint{font-size:.68rem;color:#94a3b8}
.nb-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.nb-chip{min-height:36px;padding:.35rem .7rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font:600 .74rem/1.2 Inter,ui-sans-serif,sans-serif;cursor:pointer;transition:all .12s}
.nb-chip:hover{border-color:#94a3b8;background:#f8fafc}
.nb-chip[aria-checked="true"]{background:#0f172a;border-color:#0f172a;color:#fff}
.nb-chip:focus-visible{outline:3px solid rgba(4,120,87,.35);outline-offset:2px}
.nb-select,.nb-input{width:100%;min-height:40px;padding:.45rem .65rem;border:1px solid #cbd5e1;border-radius:.55rem;background:#fff;color:#0f172a;font:500 .82rem/1.3 Inter,ui-sans-serif,sans-serif}
.nb-select:focus,.nb-input:focus{outline:2px solid #047857;outline-offset:1px;border-color:#047857}
.nb-input-num{max-width:9rem}
.nb-input-row{display:flex;align-items:center;gap:.5rem}
.nb-unit{font-size:.72rem;color:#64748b}
.nb-textarea{resize:vertical;min-height:3.2rem}
.nb-field-note{margin:.4rem 0 0;font-size:.7rem;color:#64748b}
.nb-field-note a{color:#047857;text-decoration:underline}
.nb-outcol{display:flex;flex-direction:column;min-width:0}
.nb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff;position:sticky;top:4.2rem;z-index:2}
@media (min-width:1024px){.nb-toolbar{position:static}}
.nb-seg{display:inline-flex;border:1px solid #cbd5e1;border-radius:.6rem;overflow:hidden}
.nb-seg button{min-height:40px;padding:0 .8rem;border:0;background:#fff;color:#334155;font:700 .7rem/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.nb-seg button+button{border-left:1px solid #cbd5e1}
.nb-seg button[aria-pressed="true"]{background:#0f172a;color:#fff}
.nb-btn{min-height:40px;padding:0 .95rem;border-radius:.6rem;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font:700 .7rem/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.nb-btn:hover{background:#f8fafc;border-color:#94a3b8}
.nb-btn-primary{background:#047857;border-color:#047857;color:#fff}
.nb-btn-primary:hover{background:#065f46;border-color:#065f46}
.nb-btn[disabled]{opacity:.5;cursor:default}
.nb-toolbar .nb-status{flex-basis:100%;font-size:.72rem;color:#64748b;margin:0}
.nb-evlabel{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:#475569;font-weight:600;margin-left:auto}
.nb-preview{padding:1rem 1.25rem 1.25rem;font-size:.86rem;line-height:1.55;color:#1e293b}
.nb-block{margin:0 0 1rem}
.nb-block-title{margin:0 0 .35rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#047857}
.nb-line{margin:0 0 .35rem}
.nb-sec{margin:.75rem 0 .25rem;font-size:.8rem;font-weight:700;color:#0f172a}
.nb-items{margin:0;padding-left:1.1rem}
.nb-items li{margin:.2rem 0}
.nb-item-flag{color:#991b1b}
.nb-ev{display:inline-block;margin-left:.4rem;padding:.05rem .4rem;border-radius:.35rem;background:#ecfdf5;color:#047857;font:700 .6rem/1.5 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.02em;text-decoration:none;vertical-align:middle;white-space:nowrap}
a.nb-ev:hover{background:#d1fae5}
.nb-warnings{margin-top:.75rem;padding:.6rem .8rem;border-radius:.6rem;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:.78rem}
.nb-warnings p{margin:.15rem 0}
.nb-editarea{display:none;width:100%;min-height:28rem;padding:1rem 1.1rem;border:0;border-top:1px solid #e2e8f0;font:.8rem/1.5 "JetBrains Mono",ui-monospace,monospace;color:#0f172a;background:#fff;resize:vertical}
.nb-editing .nb-preview{display:none}.nb-editing .nb-editarea{display:block}
.nb-foot{padding:.75rem 1.25rem 1rem;border-top:1px solid #e2e8f0;background:#fffbeb;color:#78350f;font-size:.74rem;line-height:1.5;border-radius:0 0 1.2rem 1.2rem}
.nb-foot a{color:#78350f;text-decoration:underline}
/* Personalization + AI panels */
.nb-panel{margin:1rem 0 0;border:1px solid #e2e8f0;border-radius:.9rem;background:#fff;padding:1rem 1.15rem}
.nb-panel h4{margin:0 0 .3rem;font-size:.9rem;font-weight:700}
.nb-panel p{margin:0 0 .6rem;font-size:.8rem;color:#475569;line-height:1.5}
.nb-panel form{display:flex;flex-wrap:wrap;gap:.5rem}
.nb-panel form select{min-height:40px;flex:0 1 14rem}
.nb-panel form input{flex:1 1 14rem}
.nb-phrase-list{margin:.6rem 0 0;padding:0;list-style:none;font-size:.78rem}
.nb-phrase-list li{padding:.3rem 0;border-top:1px solid #f1f5f9}
.nb-phrase-sec{display:inline-block;padding:.05rem .4rem;border-radius:.3rem;background:#f1f5f9;color:#475569;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.nb-x{border:0;background:transparent;color:#94a3b8;font-size:1rem;cursor:pointer;min-width:32px;min-height:32px}
.nb-ai{border-color:#a7f3d0;background:linear-gradient(180deg,#f0fdf4,#fff)}
.nb-ai textarea{width:100%;min-height:4rem}
.nb-ai-msg{font-size:.76rem;color:#065f46;margin:.5rem 0 0;min-height:1.1rem}
.nb-ai-out{margin-top:.75rem}
.nb-ai-out textarea{min-height:16rem;font:.78rem/1.5 "JetBrains Mono",ui-monospace,monospace}
.nb-ai-off{font-size:.74rem;color:#64748b}

/* ---- Residents workspace (left panel + in-place builder) ---- */
.rw{background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#0f172a}
.rw-hero{max-width:76rem;margin:0 auto;padding:2.5rem 1.5rem 1rem}
.rw-kicker{display:inline-block;margin-bottom:.6rem;color:#047857;font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.rw-hero h1{margin:0 0 .6rem;font-family:"Playfair Display",Fraunces,Georgia,serif;font-size:2.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.rw-hero p{max-width:50rem;margin:0;color:#475569;font-size:1rem;line-height:1.6}
.rw-disc{max-width:76rem;margin:1rem auto 1.25rem;padding:0 1.5rem}
.rw-disc-inner{padding:.8rem 1.1rem;border:1px solid #fde68a;border-radius:.8rem;background:#fffbeb;color:#78350f;font-size:.85rem;line-height:1.5}
.rw-disc-inner a{color:inherit;text-decoration:underline}
.rw-shell{max-width:76rem;margin:0 auto 3rem;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
@media (min-width:1024px){.rw-shell{grid-template-columns:15.5rem minmax(0,1fr)}}
.rw-side{position:relative}
@media (min-width:1024px){.rw-side{position:sticky;top:5.5rem;max-height:calc(100vh - 6.5rem);overflow:auto}}
.rw-nav{border:1px solid #e2e8f0;border-radius:1rem;background:#fff;padding:.5rem}
.rw-cat{margin:.25rem 0}
.rw-cat-title{display:block;padding:.6rem .7rem .3rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#047857}
.rw-item{display:flex;align-items:center;gap:.5rem;width:100%;min-height:44px;padding:.5rem .7rem;border:0;border-radius:.6rem;background:transparent;color:#1e293b;font:600 .82rem/1.25 Inter,ui-sans-serif,sans-serif;text-align:left;cursor:pointer}
.rw-item:hover{background:#f1f5f9}
.rw-item[aria-current="true"]{background:#0f172a;color:#fff}
.rw-item[disabled]{color:#94a3b8;cursor:default}
.rw-item[disabled]:hover{background:transparent}
.rw-item .rw-soon{margin-left:auto;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#94a3b8}
.rw-mobile{display:block;margin:0 0 .5rem}
@media (min-width:1024px){.rw-mobile{display:none}.rw-nav{display:block}}
@media (max-width:1023px){.rw-nav{display:none}.rw-side.open .rw-nav{display:block;margin-top:.5rem}}
.rw-mobile select{width:100%;min-height:44px;padding:.5rem .7rem;border:1px solid #cbd5e1;border-radius:.6rem;background:#fff;font:600 .85rem/1.3 Inter,ui-sans-serif,sans-serif;color:#0f172a}
.rw-main{min-width:0}
.rw-main .nb-builder{margin:0}
.rw-main .nb-formcol{max-height:none;position:static}
@media (min-width:1280px){.rw-main .nb-layout{grid-template-columns:minmax(0,24rem) minmax(0,1fr)}}
.rw-more{max-width:76rem;margin:0 auto 3rem;padding:0 1.5rem}
.rw-more h2{margin:0 0 .5rem;font-family:"Playfair Display",Fraunces,Georgia,serif;font-size:1.6rem;font-weight:700}
.rw-more p{max-width:50rem;color:#475569;font-size:.95rem;line-height:1.6;margin:0 0 .9rem}
.rw-more h3{margin:1.4rem 0 .35rem;font-size:1.05rem;font-weight:750}
.rw-more a{color:#047857;text-decoration:underline}
.rw-steps{display:grid;gap:.75rem;grid-template-columns:1fr;margin:1rem 0 1.5rem}
@media (min-width:768px){.rw-steps{grid-template-columns:repeat(3,1fr)}}
.rw-step{padding:1rem 1.1rem;border:1px solid #e2e8f0;border-radius:.875rem;background:#fff}
.rw-step .num{font-family:"JetBrains Mono",ui-monospace,monospace;color:#047857;font-size:.7rem;font-weight:700}
.rw-step h3{margin:.25rem 0 .3rem;font-size:.98rem}
.rw-step p{margin:0;font-size:.85rem}
.rw-credit{margin:0;padding:0 1.5rem 4rem;color:#64748b;text-align:center;font-size:.82rem}
.rw-credit a{color:#047857;font-weight:700;text-decoration:none}

/* ---- Workspace v2: compact top, sticky switcher bar, draft dots ---- */
.rw-hero-compact{padding:1.6rem 1.5rem .6rem}
.rw-hero-compact h1{font-size:1.7rem;margin-bottom:.35rem}
.rw-hero-compact p{font-size:.9rem}
.rw-hero-compact p a{color:#047857;text-decoration:underline}
.rw-shell{margin-top:.75rem}
.rw-bar{position:sticky;top:4.1rem;z-index:5;display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;padding:.45rem .6rem;border:1px solid #e2e8f0;border-radius:.8rem;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);box-shadow:0 6px 18px -14px rgba(15,23,42,.35)}
@media (min-width:1024px){.rw-bar{top:5.5rem}}
.rw-bar-label{flex:0 0 auto;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#047857;padding-left:.2rem}
.rw-bar-chips{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;scroll-behavior:smooth}
.rw-bar-chips::-webkit-scrollbar{display:none}
.rw-chip{position:relative;flex:0 0 auto;min-height:36px;padding:.35rem .75rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font:700 .72rem/1.2 Inter,ui-sans-serif,sans-serif;cursor:pointer;white-space:nowrap}
.rw-chip:hover{border-color:#94a3b8;background:#f8fafc}
.rw-chip[aria-current="true"]{background:#0f172a;border-color:#0f172a;color:#fff}
.rw-dot{display:none;width:.45rem;height:.45rem;border-radius:50%;background:#f59e0b;margin-left:.4rem;vertical-align:middle}
.rw-item .rw-dot{margin-left:auto}
.has-draft .rw-dot{display:inline-block}
.rw-item[aria-current="true"] .rw-dot,.rw-chip[aria-current="true"] .rw-dot{background:#fbbf24}
.rw-nav-hint{display:block;padding:.6rem .8rem .3rem;font-size:.66rem;color:#94a3b8;line-height:1.4}
@media (max-width:1023px){.rw-side{display:none}.rw-shell{grid-template-columns:minmax(0,1fr)}}

/* ---- Teach / Quiz / Feedback ---- */
.nb-btn-teach{background:#0f172a;border-color:#0f172a;color:#fff}
.nb-btn-teach:hover{background:#1e293b;border-color:#1e293b}
.nb-learn{margin-top:.9rem;padding:1rem 1.1rem;border:1px solid #cbd5e1;border-radius:.8rem;background:#fff}
.nb-learn h5{margin:0 0 .5rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#047857}
.nb-learn h6{margin:.8rem 0 .2rem;font-size:.82rem;font-weight:800;color:#0f172a}
.nb-learn-body p{margin:.35rem 0;font-size:.86rem;line-height:1.55;color:#1e293b}
.nb-learn-ans{margin-top:.35rem}
.nb-learn-ans summary{cursor:pointer;font-weight:700;color:#047857;font-size:.8rem}
.nb-learn-foot{margin:.8rem 0 0;font-size:.7rem;color:#64748b}
.nb-quiz-q{padding:.7rem 0;border-top:1px solid #f1f5f9}
.nb-quiz-stem{margin:0 0 .45rem;font-size:.88rem;font-weight:700;color:#0f172a;line-height:1.5}
.nb-quiz-opts{display:grid;gap:.35rem}
.nb-quiz-opt{text-align:left;min-height:40px;padding:.45rem .7rem;border:1px solid #cbd5e1;border-radius:.55rem;background:#fff;color:#1e293b;font:500 .82rem/1.4 Inter,ui-sans-serif,sans-serif;cursor:pointer}
.nb-quiz-opt:hover{border-color:#94a3b8;background:#f8fafc}
.nb-quiz-opt.is-right{border-color:#047857;background:#ecfdf5;color:#065f46}
.nb-quiz-opt.is-wrong{border-color:#fca5a5;background:#fff1f2;color:#9f1239}
.nb-quiz-opt[disabled]{cursor:default}
.nb-quiz-why{margin:.45rem 0 0;font-size:.8rem;color:#334155;line-height:1.5}
.nb-fb{display:flex;align-items:center;gap:.4rem;margin-top:.7rem;font-size:.76rem;color:#475569}
.nb-fb-btn{min-width:38px;min-height:34px;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;font-size:1rem;cursor:pointer}
.nb-fb-btn:hover{border-color:#94a3b8}
.nb-fb-btn[disabled]{opacity:.5;cursor:default}
.nb-fb-thanks{color:#047857;font-weight:600}
