:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;color:#1d1d1f;background:#f5f5f7;font-size:15px;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}
.file-launch-notice{display:none}.opened-as-file .app-shell,.opened-as-file .notice-dialog{display:none}
.opened-as-file .file-launch-notice{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}
.file-launch-card{width:min(540px,100%);padding:48px;border:1px solid #e5e5e7;border-radius:20px;background:#fff;box-shadow:0 10px 38px #0000000d}
.file-launch-eyebrow{color:#0071e3;font-size:12px;font-weight:650}.file-launch-card h1{margin:15px 0 14px;font-size:34px;line-height:1.12}
.file-launch-card p{color:#424245;font-size:15px;line-height:1.55}.file-launch-card .file-launch-hint{margin-bottom:27px;color:#6e6e73;font-size:13px}
.file-launch-card .button{display:inline-block;text-decoration:none}
.app-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px;background:#fff;border-bottom:1px solid #e5e5e7}
.brand strong,.brand span{display:block}.brand strong{font-size:16px;font-weight:650;letter-spacing:-.02em}.brand span{margin-top:2px;color:#86868b;font-size:11px}
.top-actions{display:flex;align-items:center;gap:8px}.top-divider{width:1px;height:21px;margin:0 7px;background:#d2d2d7}
.button{border:1px solid transparent;border-radius:980px;padding:8px 15px;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.2;transition:background .15s ease,color .15s ease}
.button:focus-visible,.drag-handle:focus-visible,summary:focus-visible{outline:3px solid #83b9fb;outline-offset:2px}
.button:disabled{opacity:.42;cursor:not-allowed}.button.ghost{color:#424245;background:transparent}.button.ghost:hover:not(:disabled){background:#f5f5f7}
.button.subtle{color:#0066cc;background:transparent}.button.subtle:hover:not(:disabled){background:#f0f7ff}
.button.primary{color:white;background:#0071e3}.button.primary:hover:not(:disabled){background:#0077ed}
.workspace{display:grid;grid-template-columns:minmax(420px,46%) minmax(0,54%);flex:1;min-height:0}
.tree-pane{height:calc(100vh - 64px);overflow-y:auto;padding:32px 36px 60px;background:#fff;border-right:1px solid #e5e5e7}
.pane-heading,.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
h1,h2{margin:0;letter-spacing:-.035em;font-weight:680}h1{font-size:27px}h2{font-size:20px}
.page-pill{color:#6e6e73;font-size:12px;font-weight:600;white-space:nowrap}
.pane-instruction{margin:9px 0 20px;color:#6e6e73;font-size:13px;line-height:1.5}
.tree{border-top:1px solid #e5e5e7}.category{border-bottom:1px solid #e5e5e7}
.category>summary,.skill-group>summary,.entry>summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}
.category>summary{display:flex;align-items:center;gap:12px;min-height:61px;padding:10px 4px}
.category>summary:hover,.skill-group>summary:hover{background:#fafafa}
.chevron{display:inline-block;width:7px;height:7px;flex:none;margin-right:3px;border-right:1.5px solid #86868b;border-bottom:1.5px solid #86868b;transform:rotate(-45deg);transition:transform .15s ease}
details[open]>summary .chevron{transform:rotate(45deg)}
.category-title{flex:1;font-size:15px;font-weight:640;letter-spacing:-.01em}.category-count{color:#86868b;font-size:12px;font-weight:500;white-space:nowrap}
.category-body{padding:0 0 19px 25px}.category-tip{margin:0 0 9px;color:#86868b;font-size:11px;line-height:1.45}
.entry-list{display:grid}.entry{border-bottom:1px solid #f0f0f2}.entry:last-child{border-bottom:0}
.entry>summary{display:flex;align-items:center;gap:10px;min-height:55px;padding:7px 5px;border-radius:7px}
.entry>summary:hover,.entry[open]>summary{background:#f5f5f7}
.entry.drag-over,.bullet-row.drag-over{box-shadow:inset 0 -2px #0071e3}
.entry-summary-text{flex:1;min-width:0}.entry-name{display:block;overflow:hidden;color:#1d1d1f;font-size:13px;font-weight:590;text-overflow:ellipsis;white-space:nowrap}
.entry-meta{display:block;overflow:hidden;padding-top:3px;color:#86868b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.drag-handle{border:0;background:transparent;color:#a1a1a6;cursor:grab;font-size:17px;line-height:1;touch-action:none}
.drag-handle:hover{color:#6e6e73}.drag-handle:active{cursor:grabbing}.entry-handle{width:19px;padding:3px 0}
.bullet-handle{flex:none;width:17px;margin-top:5px;padding:2px 0;font-size:15px}
.entry-check,.skill-check,.bullet-check{width:16px;height:16px;flex:none;margin:0;accent-color:#0071e3;cursor:pointer}
.entry-body{padding:14px 10px 17px 45px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.field{display:grid;gap:5px;min-width:0}.field.wide{grid-column:1/-1}
.field span,.quick-add label{color:#6e6e73;font-size:10px;font-weight:600}
.field input,.field textarea,.field select,.quick-add input,.quick-add select{width:100%;min-height:34px;padding:7px 9px;border:1px solid #d2d2d7;border-radius:7px;outline:none;background:#fff;color:#1d1d1f;font-size:12px}
.field input:focus,.field textarea:focus,.field select:focus,.quick-add input:focus,.quick-add select:focus,.bullet-content textarea:focus,.skill-row input[type="text"]:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}
.field textarea{min-height:66px;resize:vertical;line-height:1.4}
.bullet-list{display:grid;gap:2px;padding-top:4px;border-top:1px solid #ededf0}
.bullet-row{display:flex;align-items:flex-start;gap:9px;padding:7px 4px;border-radius:6px}.bullet-row:hover{background:#fafafa}.bullet-row .bullet-check{margin-top:5px}
.bullet-content{min-width:0;flex:1}.bullet-content textarea{display:block;width:100%;min-height:48px;padding:5px 7px;resize:vertical;border:1px solid transparent;border-radius:5px;background:transparent;color:#424245;font-size:12px;line-height:1.45}
.bullet-row:hover textarea{border-color:#e5e5e7;background:white}.archived-label{display:inline-block;margin:0 0 3px 7px;color:#9a6700;font-size:10px;font-weight:650}
.add-bullet,.save-bullet{border:0;background:transparent;color:#0066cc;font-size:11px;font-weight:600}
.add-bullet{margin:9px 0 0 24px;padding:7px 8px}.save-bullet{margin:0 0 3px 7px;padding:4px 0}
.add-bullet:hover,.save-bullet:hover{text-decoration:underline}.save-bullet:disabled{opacity:.45;cursor:default}
.skill-group{border-bottom:1px solid #f0f0f2}.skill-group>summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:7px 4px;font-size:12px;font-weight:580}.skill-group>summary .category-count{margin-left:auto}
.skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;padding:3px 0 9px 20px}
.skill-row{display:flex;align-items:center;gap:8px;min-width:0;padding:3px 2px}.skill-row input[type="text"]{width:100%;min-width:0;padding:4px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#424245;font-size:12px}.skill-row:hover input[type="text"]{border-color:#ededf0}
.quick-add{margin-top:18px;padding-top:15px;border-top:1px solid #ededf0}.quick-add label{display:block;margin-bottom:8px}
.quick-add-row{display:grid;grid-template-columns:minmax(0,1fr) 142px auto;align-items:center;gap:7px}.quick-add .button{padding:8px 14px}
.preview-pane{display:flex;flex-direction:column;height:calc(100vh - 64px);min-width:0;padding:30px 34px;background:#f5f5f7}
.preview-heading{flex:none;margin-bottom:17px}.status{color:#6e6e73;font-size:12px;font-weight:500;text-align:right}.status.error{color:#b2453c}
.preview-frame{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;position:relative}
#pdf-preview{display:none;width:auto;max-width:100%;height:100%;object-fit:contain;background:white;box-shadow:0 4px 24px #0000001a}
.preview-empty{position:absolute;inset:0;display:grid;place-items:center;padding:30px;color:#86868b;font-size:13px;text-align:center}
.notice-dialog{width:min(390px,calc(100% - 32px));padding:26px;border:1px solid #e5e5e7;border-radius:15px;color:#1d1d1f;box-shadow:0 20px 80px #0003}
.notice-dialog::backdrop{background:#0006}.notice-dialog h2{margin:14px 0 9px;font-size:21px}.notice-dialog p{margin:0 0 20px;color:#6e6e73;font-size:13px;line-height:1.5}
.dialog-symbol{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#fff0ed;color:#b2453c;font-weight:700}
@media(max-width:900px){.workspace{display:flex;flex-direction:column}.tree-pane{height:auto;padding:25px 24px 38px;border-right:0;border-bottom:1px solid #e5e5e7}.preview-pane{height:80vh;min-height:540px;padding:25px 24px}}
@media(max-width:570px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:8px;padding:12px 17px}.top-actions{width:100%;overflow-x:auto}.tree-pane,.preview-pane{padding-right:17px;padding-left:17px}.fields,.skill-list{grid-template-columns:1fr}.field.wide{grid-column:1}.entry-body{padding-left:17px}.quick-add-row{grid-template-columns:minmax(0,1fr) auto}.quick-add-row select{grid-column:1/-1;grid-row:2}}
.entry-handle{width:28px;min-height:30px}.bullet-handle{width:28px;min-height:30px;margin-top:0;padding:5px}
/* Hosted sign-in and workspace controls share the builder's typography. */
[hidden] { display: none !important; }
.sign-in { min-height: 100vh; display: grid; align-items: center; padding: 48px 24px; background: #f7f8fa; }
.sign-in-content { width: min(620px, 100%); margin: auto; }
.sign-in h1 { font-size: clamp(36px, 6vw, 60px); letter-spacing: -0.04em; line-height: 1.08; margin: 24px 0; }
.sign-in p { line-height: 1.65; color: #535966; }
#login-form { margin-top: 32px; display: grid; gap: 16px; max-width: 440px; }
#login-form input { width: 100%; }
#login-form button { justify-self: start; }
#login-error { color: #a32b35; margin: 0; }
.sign-in-note { font-size: 13px; margin-top: 32px; }
.category-actions { display: flex; gap: 12px; margin-top: 12px; }
.remove-entry { margin-left: 12px; color: #9b2933; }
#mcp-dialog { max-width: 650px; }
#mcp-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 12px; background: #f2f3f5; font-size: 12px; }
#drafts-list { max-height: 50vh; overflow: auto; }

[hidden]{display:none!important}.manager-dialog{width:min(900px,calc(100% - 32px));max-height:90vh;overflow:auto}.manager-controls{display:flex;gap:15px;margin:18px 0}.manager-controls input[type=search]{flex:1;min-width:0;padding:10px;border:1px solid #d2d2d7;border-radius:8px}.manager-card,.manager-bullet{padding:15px;margin:10px 0;border:1px solid #e5e5e7;border-radius:9px}.manager-bullet{background:#f5f5f7}.manager-card summary{font-weight:600;cursor:pointer;margin-bottom:10px}.manager-card .button,.manager-bullet .button{margin:4px}.manager-dialog h3{margin-top:25px}.notice-dialog .field{margin:12px 0}.notice-dialog form[method=dialog]{display:inline-block;margin-top:15px}.saved-resume{padding:12px 0;border-bottom:1px solid #ddd}.saved-resume p{margin:8px 0}.notice-dialog pre{overflow:auto;white-space:pre-wrap;font-size:12px}#consent-redirect{overflow-wrap:anywhere}#guest-note{color:#0066cc}.topbar{height:auto;min-height:64px;gap:16px;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.workspace{flex:1}.tree-pane,.preview-pane{height:calc(100vh - 100px)}@media(max-width:900px){.tree-pane{height:auto}.preview-pane{height:80vh}.manager-controls{flex-wrap:wrap}}
