:root {
  --pp-ink: #fff3d5;
  --pp-muted: #c4bb9e;
  --pp-bg: #040303;
  --pp-surface: #12100e;
  --pp-line: #3b3830;
  --pp-green: #d6b242;
  --pp-green-dark: #fceb76;
  --pp-green-soft: #272625;
  --pp-gold: #fff3a0;
  --pp-red: #ff8d83;
  --pp-shadow: 0 16px 40px rgba(0, 0, 0, .36);
  --pp-radius: 18px;
}

* { box-sizing: border-box; }
html { background: var(--pp-bg); }
body { margin: 0; min-width: 320px; color: var(--pp-ink); background: var(--pp-bg); font-family: "DM Sans", "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.pp-app { min-height: 100vh; }
.pp-shell { max-width: 1200px; margin: 0 auto; padding: 0 28px 56px; }
.pp-hero { color: #fff; background: radial-gradient(circle at 88% 8%, rgba(241, 201, 106, .34), transparent 27%), linear-gradient(130deg, #0d2b1e, #1f6a4b 62%, #2d8061); box-shadow: 0 10px 30px rgba(15, 55, 37, .22); }
.pp-hero-inner { max-width: 1200px; margin: 0 auto; min-height: 166px; padding: 28px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.pp-back { display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.88); text-decoration: none; font-size: .84rem; font-weight: 700; padding: 7px 11px; border-radius: 9px; background: rgba(255,255,255,.10); }
.pp-back:hover { background: rgba(255,255,255,.18); }
.pp-kicker { margin: 16px 0 6px; color: var(--pp-gold); font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pp-hero h1 { margin: 0; font: 700 clamp(1.75rem, 4vw, 2.55rem) "Playfair Display", Georgia, serif; letter-spacing: -.02em; }
.pp-hero p { max-width: 620px; margin: 8px 0 0; color: rgba(255,255,255,.78); line-height: 1.55; font-size: .93rem; }
.pp-vault-status { min-width: 176px; margin-top: 12px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.17); border-radius: 13px; color: #eff8f2; background: rgba(4,25,16,.25); text-align: left; }
.pp-vault-status strong { display: block; font-size: .78rem; }
.pp-vault-status span { display: block; margin-top: 3px; color: rgba(255,255,255,.72); font-size: .72rem; }

.pp-tabs { display: flex; gap: 8px; margin: 24px 0 20px; padding: 7px; overflow-x: auto; border: 1px solid var(--pp-line); border-radius: 15px; background: rgba(255,255,255,.8); box-shadow: 0 4px 14px rgba(20, 54, 35, .04); }
.pp-tab { flex: 1 0 auto; min-height: 42px; padding: 9px 17px; border: 0; border-radius: 10px; color: var(--pp-muted); background: transparent; font-size: .86rem; font-weight: 800; }
.pp-tab:hover { color: var(--pp-green); background: var(--pp-green-soft); }
.pp-tab.is-active { color: #fff; background: var(--pp-green-dark); box-shadow: 0 5px 12px rgba(18,59,42,.2); }

.pp-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 28px 0 18px; }
.pp-section-head h2 { margin: 0; font: 700 clamp(1.35rem, 3vw, 1.8rem) "Playfair Display", Georgia, serif; color: var(--pp-green-dark); }
.pp-section-head p { margin: 5px 0 0; color: var(--pp-muted); font-size: .88rem; line-height: 1.5; }
.pp-toolbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.pp-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 9px 14px; border: 1px solid transparent; border-radius: 10px; color: #fff; background: var(--pp-green); font-size: .8rem; font-weight: 800; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.pp-button:hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(31,106,75,.2); background: #175b40; }
.pp-button.pp-secondary { color: var(--pp-green-dark); border-color: #b9d4c4; background: #fff; }
.pp-button.pp-secondary:hover { background: var(--pp-green-soft); }
.pp-button.pp-danger { color: var(--pp-red); border-color: #efc7c5; background: #fff6f5; }
.pp-button.pp-small { min-height: 32px; padding: 6px 10px; border-radius: 8px; font-size: .73rem; }
.pp-icon-button { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid var(--pp-line); border-radius: 10px; color: var(--pp-green-dark); background: #fff; font-size: 1rem; }
.pp-icon-button:hover, .pp-icon-button.is-active { color: #fff; border-color: var(--pp-green); background: var(--pp-green); }

.pp-project-list { display: grid; gap: 12px; }
.pp-project-row { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); color: inherit; background: var(--pp-surface); box-shadow: 0 3px 10px rgba(15, 48, 30, .035); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.pp-project-row:hover { transform: translateY(-2px); box-shadow: var(--pp-shadow); }
.pp-logo { width: 54px; height: 54px; overflow: hidden; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg, #2d8061, #123b2a); font-size: 1.55rem; font-weight: 800; }
.pp-logo img { width: 100%; height: 100%; object-fit: cover; }
.pp-logo.pp-logo-small { width: 18px; height: 18px; border-radius: 5px; font-size: .55rem; }
.pp-project-copy { min-width: 0; }
.pp-project-copy h3 { margin: 0; overflow: hidden; color: var(--pp-green-dark); font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.pp-project-copy p { margin: 5px 0 0; overflow: hidden; color: var(--pp-muted); font-size: .82rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.pp-project-meta { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.pp-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; border-radius: 999px; color: #20533c; background: #e5f2e9; font-size: .68rem; font-weight: 800; line-height: 1.1; text-align: center; }
.pp-status-idea { color: #7d5b13; background: #fff2ce; }.pp-status-development { color: #275d84; background: #dff0ff; }.pp-status-adjustments { color: #755326; background: #f9e4cb; }.pp-status-final { color: #573c85; background: #ece3ff; }.pp-status-effective { color: #1a6c43; background: #d8f3df; }

.pp-project-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(126px, 1fr)); gap: 14px; }
.pp-project-tile { position: relative; aspect-ratio: 1; overflow: hidden; display: grid; place-items: center; border: 1px solid var(--pp-line); border-radius: 20px; color: inherit; background: #fff; box-shadow: 0 4px 13px rgba(20,54,35,.05); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.pp-project-tile:hover, .pp-project-tile:focus-within { z-index: 1; transform: translateY(-3px); box-shadow: var(--pp-shadow); }
.pp-project-tile .pp-logo { width: 82px; height: 82px; border-radius: 24px; font-size: 2.15rem; }
.pp-tile-actions { position: absolute; top: 8px; right: 8px; display: flex; gap: 4px; opacity: 0; transition: opacity .15s ease; }
.pp-project-tile:hover .pp-tile-actions, .pp-project-tile:focus-within .pp-tile-actions { opacity: 1; }
.pp-tile-actions button { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; color: #fff; background: rgba(16,45,31,.83); font-size: .75rem; }
.pp-tile-actions button:hover { background: var(--pp-green); }

.pp-empty { padding: 38px 24px; border: 1px dashed #b9cdbf; border-radius: var(--pp-radius); color: var(--pp-muted); background: rgba(255,255,255,.66); text-align: center; }
.pp-empty strong { display: block; margin-bottom: 6px; color: var(--pp-green-dark); font-family: "Playfair Display", Georgia, serif; font-size: 1.12rem; }

.pp-filter-bar { display: grid; grid-template-columns: minmax(190px, 1fr) repeat(2, minmax(130px, .45fr)) auto; align-items: center; gap: 10px; margin-bottom: 16px; }
.pp-field, .pp-filter-bar select { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid #cfdad2; border-radius: 9px; outline: none; color: var(--pp-ink); background: #fff; font-size: .84rem; }
.pp-field:focus, .pp-filter-bar select:focus { border-color: var(--pp-green); box-shadow: 0 0 0 3px rgba(31,106,75,.12); }
.pp-ideas { display: grid; gap: 11px; }
.pp-idea { padding: 15px 16px; border: 1px solid var(--pp-line); border-radius: 15px; background: #fff; box-shadow: 0 3px 10px rgba(15,48,30,.03); }
.pp-idea-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pp-idea h3 { margin: 0; color: var(--pp-green-dark); font-size: .98rem; }
.pp-idea p { margin: 8px 0 11px; color: var(--pp-muted); font-size: .84rem; line-height: 1.55; white-space: pre-wrap; }
.pp-idea-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.pp-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pp-tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 7px; color: #496154; background: #eef3ee; font-size: .68rem; font-weight: 700; }
.pp-priority-urgent { color: #992d2c; background: #ffe1df; }.pp-priority-high { color: #ad5d12; background: #fff0d8; }.pp-priority-medium { color: #71601a; background: #fff7d8; }.pp-priority-low { color: #2d6686; background: #e0f2fd; }.pp-priority-calm { color: #4e6276; background: #ebeff3; }

.pp-ai-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.pp-ai-card { min-height: 220px; padding: 19px; border: 1px solid var(--pp-line); border-radius: 19px; color: #fff; background: linear-gradient(150deg, #163b2a, #0e261a); box-shadow: var(--pp-shadow); }
.pp-ai-card.is-ready { color: var(--pp-ink); border-color: #cce5d5; background: linear-gradient(150deg, #f9fffb, #e5f5eb); }
.pp-ai-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.pp-ai-provider { margin: 0; opacity: .72; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pp-ai-card h3 { margin: 4px 0 0; font-size: .94rem; line-height: 1.3; overflow-wrap: anywhere; }
.pp-ai-state { margin-top: 26px; font: 700 clamp(1.8rem, 3.7vw, 2.5rem) "DM Mono", Consolas, monospace; letter-spacing: -.05em; }
.pp-ai-state-label { margin-top: 5px; color: inherit; opacity: .7; font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.pp-ai-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.pp-ai-actions .pp-button { min-height: 33px; padding: 7px 9px; font-size: .69rem; }
.pp-ai-card .pp-secondary { color: inherit; border-color: currentColor; background: transparent; }

.pp-detail-top { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 17px; margin: 26px 0 22px; }
.pp-detail-top .pp-logo { width: 86px; height: 86px; border-radius: 23px; font-size: 2.3rem; }
.pp-detail-top h1 { margin: 0; color: var(--pp-green-dark); font: 700 clamp(1.55rem, 4vw, 2.25rem) "Playfair Display", Georgia, serif; }
.pp-detail-top p { margin: 7px 0 0; color: var(--pp-muted); line-height: 1.55; white-space: pre-wrap; }
.pp-detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pp-detail-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 17px; }
.pp-panel { margin-bottom: 17px; padding: 19px; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); background: #fff; box-shadow: 0 3px 11px rgba(15,48,30,.03); }
.pp-panel h2 { margin: 0; color: var(--pp-green-dark); font: 700 1.25rem "Playfair Display", Georgia, serif; }
.pp-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pp-panel-head h2 { margin: 0; }
.pp-project-links { display: grid; gap: 9px; }
.pp-project-link { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border-radius: 10px; color: var(--pp-green-dark); background: #f1f6f2; font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.pp-tool-list { display: grid; gap: 9px; }
.pp-tool-button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border: 1px solid #c9ddd0; border-radius: 11px; color: var(--pp-green-dark); background: #fbfefb; text-align: left; }
.pp-tool-button:hover { border-color: var(--pp-green); background: var(--pp-green-soft); }
.pp-tool-button strong { display: block; font-size: .84rem; }.pp-tool-button span { display: block; margin-top: 2px; color: var(--pp-muted); font-size: .7rem; }
.pp-timeline { display: grid; gap: 11px; }
.pp-event { position: relative; padding: 0 0 0 17px; border-left: 2px solid #cae1d2; }
.pp-event::before { content: ""; position: absolute; top: 4px; left: -5px; width: 8px; height: 8px; border-radius: 50%; background: var(--pp-green); }
.pp-event-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }.pp-event h3 { margin: 0; font-size: .87rem; }.pp-event p { margin: 4px 0; color: var(--pp-muted); font-size: .79rem; line-height: 1.48; white-space: pre-wrap; }.pp-event time { color: #728177; font-size: .68rem; font-weight: 700; }
.pp-idea-mini { display: flex; align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid #edf0ed; }.pp-idea-mini:last-child { border-bottom: 0; }.pp-idea-mini .pp-logo { width: 26px; height: 26px; border-radius: 7px; font-size: .75rem; }.pp-idea-mini strong { display: block; font-size: .8rem; }.pp-idea-mini span { color: var(--pp-muted); font-size: .7rem; }

.pp-modal { position: fixed; z-index: 10000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 18px; background: rgba(10,27,18,.58); }
.pp-modal-card { width: min(650px, 100%); max-height: min(88vh, 830px); overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.pp-modal-card.pp-modal-wide { width: min(820px, 100%); }
.pp-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 20px 21px 15px; border-bottom: 1px solid #e7ece8; }.pp-modal-header h2 { margin: 0; color: var(--pp-green-dark); font: 700 1.35rem "Playfair Display", Georgia, serif; }.pp-modal-header p { margin: 4px 0 0; color: var(--pp-muted); font-size: .78rem; line-height: 1.4; }
.pp-modal-body { padding: 19px 21px 21px; }.pp-modal-close { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 9px; color: #526158; background: #eef2ee; font-size: 1.05rem; }.pp-modal-close:hover { color: var(--pp-red); background: #fae8e7; }
.pp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }.pp-form-grid .pp-full { grid-column: 1 / -1; }.pp-form-label { display: block; color: #355342; font-size: .72rem; font-weight: 800; }.pp-form-label > span { display: block; margin-bottom: 5px; }.pp-form-label textarea { min-height: 92px; resize: vertical; }.pp-form-label .pp-field { display: block; }
.pp-form-note { margin: 13px 0; padding: 10px 11px; border-radius: 9px; color: #496154; background: #eef6f0; font-size: .75rem; line-height: 1.45; }.pp-error { min-height: 18px; margin-top: 9px; color: var(--pp-red); font-size: .76rem; font-weight: 700; }
.pp-modal-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 18px; }.pp-tools-editor { margin-top: 13px; padding-top: 13px; border-top: 1px solid #e7ece8; }.pp-tools-editor h3 { margin: 0 0 8px; font-size: .84rem; }.pp-tool-add { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; gap: 8px; }.pp-tool-drafts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }.pp-tool-draft { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid #d3e2d7; border-radius: 8px; color: #315742; background: #f5faf6; font-size: .72rem; font-weight: 700; }.pp-tool-draft button { padding: 0; border: 0; color: var(--pp-red); background: transparent; font-weight: 900; }
.pp-secret-hint { padding: 12px; border: 1px solid #eadab0; border-radius: 10px; color: #725a1d; background: #fff8e4; font-size: .77rem; line-height: 1.45; }.pp-tool-public-link { margin-top: 11px; font-size: .77rem; }.pp-tool-public-link a { color: var(--pp-green); font-weight: 800; }

.pp-toast { position: fixed; z-index: 11000; right: 20px; bottom: 20px; max-width: min(360px, calc(100vw - 40px)); padding: 11px 13px; border-radius: 10px; color: #fff; background: #153d2a; box-shadow: 0 12px 27px rgba(0,0,0,.2); font-size: .8rem; font-weight: 700; }
.pp-hidden { display: none !important; }

/* Identidade exclusiva de Projetos pessoais: preto, grafite e dourado metálico. */
html { color-scheme: dark; }
body { background: radial-gradient(circle at 82% -8%, rgba(252, 235, 118, .12), transparent 28%), var(--pp-bg); }
.pp-hero { color: #fff9d9; background: radial-gradient(circle at 87% 9%, rgba(255,243,160,.3), transparent 25%), linear-gradient(128deg, #040303 8%, #12100e 52%, #272625 100%); box-shadow: inset 0 -1px 0 rgba(252,235,118,.32), 0 10px 30px rgba(0,0,0,.45); }
.pp-back { color: #fff3a0; border: 1px solid rgba(252,235,118,.26); background: rgba(4,3,3,.55); }
.pp-back:hover { background: rgba(252,235,118,.13); }
.pp-kicker { color: #fff3a0; }
.pp-hero p, .pp-vault-status span { color: rgba(255,243,160,.76); }
.pp-vault-status { color: #fff3a0; border-color: rgba(252,235,118,.32); background: rgba(4,3,3,.58); }

.pp-tabs { border-color: #3b3830; background: linear-gradient(135deg, #12100e, #272625); box-shadow: 0 4px 14px rgba(0,0,0,.28); }
.pp-tab { color: #c4bb9e; }
.pp-tab:hover { color: #fff3a0; background: rgba(252,235,118,.11); }
.pp-tab.is-active { color: #040303; background: linear-gradient(115deg, #d6b242, #fceb76 48%, #fff3a0); box-shadow: 0 5px 14px rgba(252,235,118,.18); }
.pp-section-head h2, .pp-project-copy h3, .pp-idea h3, .pp-detail-top h1, .pp-panel h2, .pp-modal-header h2, .pp-empty strong { color: #fceb76; }

.pp-button { color: #040303; border-color: #fff3a0; background: linear-gradient(115deg, #d6b242 0%, #fceb76 50%, #fff3a0 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
.pp-button:hover { color: #040303; background: linear-gradient(115deg, #fff3a0, #fceb76 52%, #d6b242); box-shadow: 0 7px 18px rgba(252,235,118,.2); }
.pp-button.pp-secondary { color: #fceb76; border-color: #66592c; background: #12100e; }
.pp-button.pp-secondary:hover { color: #fff3a0; background: #272625; }
.pp-button.pp-danger { color: #ffaca4; border-color: #804842; background: #2a1513; }
.pp-icon-button { color: #fceb76; border-color: #4d4629; background: #12100e; }
.pp-icon-button:hover, .pp-icon-button.is-active { color: #040303; border-color: #fff3a0; background: linear-gradient(115deg, #d6b242, #fff3a0); }

.pp-project-row, .pp-project-tile, .pp-idea, .pp-panel { background: linear-gradient(135deg, #12100e, #1b1917); box-shadow: 0 4px 14px rgba(0,0,0,.22); }
.pp-project-row:hover, .pp-project-tile:hover, .pp-project-tile:focus-within { box-shadow: 0 14px 30px rgba(0,0,0,.4); border-color: #806f35; }
.pp-logo { color: #040303; background: linear-gradient(135deg, #d6b242, #fceb76 52%, #fff3a0); box-shadow: inset 0 0 0 1px rgba(4,3,3,.28); }
.pp-badge { color: #fff3a0; background: #39331b; }
.pp-tile-actions button { color: #fceb76; background: rgba(4,3,3,.91); border: 1px solid rgba(252,235,118,.32); }
.pp-tile-actions button:hover { color: #040303; background: #fceb76; }
.pp-empty { border-color: #66592c; background: rgba(18,16,14,.78); }

.pp-field, .pp-filter-bar select { color: #fff3d5; border-color: #4a463e; background: #12100e; }
.pp-field::placeholder { color: #89806d; }
.pp-field:focus, .pp-filter-bar select:focus { border-color: #fceb76; box-shadow: 0 0 0 3px rgba(252,235,118,.15); }
.pp-tag { color: #ddd1ac; background: #272625; }
.pp-project-link { color: #fceb76; background: #272625; }
.pp-tool-button { color: #fff3d5; border-color: #4d4629; background: #12100e; }
.pp-tool-button:hover { border-color: #fceb76; background: #272625; }
.pp-tool-button span, .pp-event time { color: #c4bb9e; }
.pp-event { border-color: #806f35; }.pp-event::before { background: #fceb76; box-shadow: 0 0 0 3px rgba(252,235,118,.1); }
.pp-idea-mini { border-color: #393631; }

.pp-ai-card { color: #fff3d5; border-color: #5a502b; background: radial-gradient(circle at 92% 8%, rgba(255,243,160,.2), transparent 28%), linear-gradient(145deg, #12100e, #272625); }
.pp-ai-card.is-ready { color: #fff3d5; border-color: #8b7837; background: radial-gradient(circle at 90% 5%, rgba(255,243,160,.24), transparent 30%), linear-gradient(145deg, #272625, #12100e); }
.pp-ai-card .pp-secondary { color: #fff3a0; border-color: #806f35; background: rgba(4,3,3,.42); }

.pp-modal { background: rgba(0,0,0,.78); }
.pp-modal-card { color: #fff3d5; border: 1px solid #4c452b; background: linear-gradient(145deg, #12100e, #1c1a18); }
.pp-modal-header, .pp-tools-editor { border-color: #3b3830; }
.pp-modal-close { color: #fceb76; background: #272625; }.pp-modal-close:hover { color: #ffaca4; background: #3a1d1a; }
.pp-form-label { color: #e5d9b8; }.pp-form-note { color: #ddd1ac; background: #272625; }
.pp-tool-draft { color: #fff3a0; border-color: #5f542d; background: #272625; }
.pp-secret-hint { color: #fff3a0; border-color: #806f35; background: #322c16; }.pp-tool-public-link a { color: #fff3a0; }
.pp-toast { color: #040303; border: 1px solid #fff3a0; background: linear-gradient(115deg, #d6b242, #fff3a0); }

.pp-provider-icon { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; border-radius: 6px; background: #040303; }
.pp-provider-icon[alt="ChatGPT"], .pp-provider-icon[alt="Codex"] { filter: invert(1); }
.pp-tool-button > span:first-child { display: flex; align-items: center; gap: 9px; min-width: 0; }.pp-tool-button > span:first-child > span { min-width: 0; margin: 0; }
.pp-tool-draft .pp-provider-icon { width: 16px; height: 16px; flex-basis: 16px; border-radius: 4px; }
.pp-tool-modal-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: #fceb76; font-weight: 800; }
.pp-tool-modal-brand .pp-provider-icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 9px; }

/* Tema da área de trabalho: inspirado na interface escura do VS Code. */
:root { --pp-ink: #f5f5f5; --pp-muted: #c5c5c5; --pp-bg: #1e1e1e; --pp-surface: #252526; --pp-line: #3e3e42; --pp-green: #0e639c; --pp-green-dark: #ffffff; --pp-green-soft: #2a2d2e; --pp-gold: #4fc1ff; --pp-red: #f48771; --pp-shadow: 0 8px 24px rgba(0,0,0,.3); }
body, button, input, select, textarea { font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", sans-serif; }
body { color: #f5f5f5; background: #1e1e1e; font-size: 14px; }
.pp-hero { color: #f5f5f5; background: #181818; border-bottom: 1px solid #3e3e42; box-shadow: none; }
.pp-hero h1, .pp-section-head h2, .pp-detail-top h1, .pp-panel h2, .pp-modal-header h2, .pp-empty strong { color: #f5f5f5; font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", sans-serif; font-weight: 400; letter-spacing: 0; }
.pp-hero h1 { font-size: clamp(1.65rem, 3.5vw, 2.2rem); }.pp-kicker { color: #75beff; }.pp-hero p, .pp-vault-status span, .pp-section-head p, .pp-project-copy p, .pp-idea p, .pp-detail-top p, .pp-event p, .pp-form-note { color: #c5c5c5; }
.pp-back { color: #cccccc; border: 1px solid #3e3e42; background: #252526; }.pp-back:hover { color: #ffffff; background: #2a2d2e; }
.pp-vault-status { color: #f5f5f5; border-color: #3e3e42; background: #252526; }.pp-vault-status:hover { border-color: #007acc; background: #2a2d2e; }

.pp-tabs { padding: 0; gap: 0; border: 0; border-bottom: 1px solid #3e3e42; border-radius: 0; background: transparent; box-shadow: none; }
.pp-tab { min-height: 45px; padding: 12px 18px; border-radius: 0; color: #c5c5c5; font-size: .82rem; font-weight: 400; }.pp-tab:hover { color: #ffffff; background: #2a2d2e; }.pp-tab.is-active { color: #ffffff; border-bottom: 2px solid #007acc; background: #1e1e1e; box-shadow: none; }

.pp-button { min-height: 32px; padding: 6px 11px; border: 1px solid #007acc; border-radius: 2px; color: #ffffff; background: #0e639c; box-shadow: none; font-weight: 400; }.pp-button:hover { color: #ffffff; background: #1177bb; box-shadow: none; transform: none; }
.pp-button.pp-secondary { color: #ffffff; border-color: #3e3e42; background: #3a3d41; }.pp-button.pp-secondary:hover { background: #505357; }.pp-button.pp-danger { color: #ffffff; border-color: #be1100; background: #a1260d; }
.pp-icon-button { width: 32px; height: 32px; border: 1px solid transparent; border-radius: 2px; color: #cccccc; background: transparent; }.pp-icon-button:hover, .pp-icon-button.is-active { color: #ffffff; border-color: #3e3e42; background: #3a3d41; }

.pp-project-row, .pp-project-tile, .pp-idea, .pp-panel { border-color: #3e3e42; border-radius: 3px; background: #252526; box-shadow: none; }.pp-project-row:hover, .pp-project-tile:hover, .pp-project-tile:focus-within { border-color: #007acc; background: #2a2d2e; box-shadow: none; transform: none; }
.pp-project-copy h3, .pp-idea h3 { color: #f5f5f5; font-weight: 600; }.pp-logo { color: #ffffff; border-radius: 4px; background: #0e639c; box-shadow: none; }.pp-badge { color: #d7eaff; background: #094771; }.pp-tag { color: #cccccc; background: #333333; border-radius: 2px; }
.pp-tile-actions button { color: #ffffff; border: 1px solid #3e3e42; border-radius: 2px; background: #252526; }.pp-tile-actions button:hover { background: #0e639c; }
.pp-empty { border-color: #3e3e42; border-radius: 3px; background: #252526; }.pp-empty strong { color: #f5f5f5; }

.pp-field, .pp-filter-bar select { color: #f5f5f5; border-color: #3e3e42; border-radius: 2px; background: #3c3c3c; }.pp-field::placeholder { color: #a6a6a6; }.pp-field:focus, .pp-filter-bar select:focus { border-color: #007fd4; box-shadow: 0 0 0 1px #007fd4; }
.pp-project-link { color: #4fc1ff; border-radius: 2px; background: #2a2d2e; }.pp-tool-button { color: #f5f5f5; border-color: #3e3e42; border-radius: 3px; background: #252526; }.pp-tool-button:hover { border-color: #007acc; background: #2a2d2e; }.pp-tool-button span, .pp-event time { color: #c5c5c5; }
.pp-event { border-color: #3e3e42; }.pp-event::before { background: #007acc; box-shadow: none; }.pp-idea-mini { border-color: #3e3e42; }

.pp-ai-card, .pp-ai-card.is-ready { color: #f5f5f5; border-color: #3e3e42; border-radius: 3px; background: #252526; }.pp-ai-card.is-ready { border-top: 2px solid #89d185; }.pp-ai-card .pp-secondary { color: #ffffff; border-color: #3e3e42; background: #3a3d41; }
.pp-modal { background: rgba(0,0,0,.62); }.pp-modal-card { color: #f5f5f5; border-color: #3e3e42; border-radius: 4px; background: #252526; }.pp-modal-header, .pp-tools-editor { border-color: #3e3e42; }.pp-modal-close { color: #cccccc; background: transparent; }.pp-modal-close:hover { color: #ffffff; background: #3a3d41; }.pp-form-label { color: #cccccc; }.pp-form-note, .pp-tool-draft { color: #cccccc; border-color: #3e3e42; border-radius: 2px; background: #2a2d2e; }.pp-secret-hint { color: #d7eaff; border-color: #094771; border-radius: 2px; background: #063b5d; }.pp-tool-public-link a { color: #4fc1ff; }.pp-toast { color: #ffffff; border-color: #007acc; border-radius: 3px; background: #0e639c; }

.pp-provider-icon { border-radius: 3px; background: #1e1e1e; }.pp-tool-modal-brand { color: #f5f5f5; }.pp-ui-icon { width: 16px; height: 16px; display: inline-block; vertical-align: -3px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }.pp-button .pp-ui-icon, .pp-tab .pp-ui-icon, .pp-back .pp-ui-icon { margin-right: 5px; }.pp-icon-button .pp-ui-icon { margin: 0; vertical-align: -3px; }
.pp-vault-status strong .pp-ui-icon, .pp-project-link .pp-ui-icon { margin-right: 6px; }.pp-tool-button b .pp-ui-icon { color: #75beff; }.pp-status-idea, .pp-status-development, .pp-status-adjustments, .pp-status-final, .pp-status-effective { color: #d7eaff; background: #094771; }.pp-priority-urgent { color: #ffd7d1; background: #7a1f1f; }.pp-priority-high { color: #ffe5bf; background: #6b4519; }.pp-priority-medium { color: #fff1ba; background: #5c4f1c; }.pp-priority-low { color: #d7eaff; background: #094771; }.pp-priority-calm { color: #d6d6d6; background: #454545; }
.pp-secret-hint .pp-ui-icon, .pp-tool-public-link .pp-ui-icon { margin-right: 6px; }
.pp-related-list { display: grid; gap: 7px; margin-top: 13px; }.pp-related-project { display: flex; align-items: center; gap: 9px; padding: 9px; border: 1px solid #3e3e42; border-radius: 3px; color: #f5f5f5; background: #2a2d2e; text-decoration: none; }.pp-related-project:hover { border-color: #007acc; background: #333333; }.pp-related-project .pp-logo { width: 25px; height: 25px; flex: 0 0 25px; border-radius: 3px; font-size: .72rem; }.pp-related-project span { min-width: 0; flex: 1; }.pp-related-project strong, .pp-related-project small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-related-project strong { font-size: .78rem; }.pp-related-project small { margin-top: 2px; color: #c5c5c5; font-size: .68rem; }.pp-related-project > .pp-ui-icon { width: 14px; color: #75beff; }
.pp-library-docs { margin: 0 0 22px; border: 1px solid #3e3e42; border-radius: 4px; background: #252526; overflow: hidden; }.pp-library-docs-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px; border-bottom: 1px solid #3e3e42; background: linear-gradient(90deg, #202020, #252526); }.pp-library-docs-head h2 { margin: 3px 0 0; color: #f5f5f5; font-size: 1.18rem; font-weight: 500; }.pp-library-docs-head p { max-width: 720px; margin: 7px 0 0; color: #c5c5c5; font-size: .82rem; line-height: 1.5; }.pp-doc-kicker { color: #75beff !important; font-size: .66rem !important; font-weight: 700; letter-spacing: .1em; }.pp-doc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #3e3e42; background: #1e1e1e; }.pp-doc-stats span { padding: 12px 15px; border-right: 1px solid #3e3e42; color: #c5c5c5; font-size: .72rem; }.pp-doc-stats span:last-child { border-right: 0; }.pp-doc-stats b { display: block; margin-bottom: 2px; color: #ffffff; font: 600 1.15rem "Consolas", monospace; }.pp-doc-folders { padding: 12px; display: grid; gap: 8px; }.pp-doc-folder { border: 1px solid #3e3e42; border-radius: 3px; background: #202020; }.pp-doc-folder summary { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 9px 12px; cursor: pointer; list-style: none; }.pp-doc-folder summary::-webkit-details-marker { display: none; }.pp-doc-folder summary::before { content: "›"; width: 14px; color: #75beff; font-size: 1.25rem; text-align: center; transition: transform .14s ease; }.pp-doc-folder[open] summary::before { transform: rotate(90deg); }.pp-doc-folder summary:hover { background: #2a2d2e; }.pp-doc-folder-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 3px; color: #75beff; background: #094771; }.pp-doc-folder-icon .pp-ui-icon { width: 17px; height: 17px; }.pp-doc-folder summary > span:nth-child(2) { min-width: 0; flex: 1; }.pp-doc-folder strong, .pp-doc-folder small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-doc-folder strong { color: #f5f5f5; font-size: .82rem; font-weight: 600; }.pp-doc-folder small { margin-top: 3px; color: #a6a6a6; font-size: .7rem; }.pp-doc-folder-count { min-width: 23px; padding: 3px 6px; border-radius: 10px; color: #d7eaff; background: #094771; font: .68rem "Consolas", monospace; text-align: center; }.pp-doc-children { display: grid; gap: 5px; padding: 0 10px 10px 49px; }.pp-doc-item { width: 100%; display: flex; align-items: center; gap: 9px; padding: 8px; border: 1px solid transparent; border-radius: 3px; color: #f5f5f5; background: transparent; text-align: left; }.pp-doc-item:hover { border-color: #3e3e42; background: #2a2d2e; }.pp-doc-item-icon { color: #75beff; }.pp-doc-item-icon .pp-ui-icon { width: 15px; height: 15px; }.pp-doc-item > span:nth-child(2) { min-width: 0; flex: 1; }.pp-doc-item strong, .pp-doc-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-doc-item strong { color: #e7e7e7; font-size: .77rem; font-weight: 500; }.pp-doc-item small { margin-top: 2px; color: #a6a6a6; font-size: .67rem; }.pp-doc-item > .pp-ui-icon { width: 13px; color: #75beff; opacity: .75; }.pp-doc-modal-copy { color: #d4d4d4; font-size: .87rem; line-height: 1.6; }.pp-doc-modal-copy p { margin: 0 0 11px; padding-left: 15px; border-left: 2px solid #007acc; }.pp-doc-modal-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 15px; border-radius: 4px; color: #75beff; background: #094771; }.pp-doc-modal-icon .pp-ui-icon { width: 22px; height: 22px; }
.pp-mindmap { min-width: 0; padding: 8px 0 4px; }.pp-mindmap-root { width: min(260px, 100%); display: grid; place-items: center; gap: 5px; margin: 0 auto 23px; padding: 18px; border: 1px solid #007acc; border-radius: 4px; color: #f5f5f5; background: #094771; text-align: center; box-shadow: 0 0 0 4px rgba(0,122,204,.12); }.pp-mindmap-root .pp-ui-icon { width: 24px; height: 24px; color: #75beff; }.pp-mindmap-root strong { font-size: .92rem; line-height: 1.25; }.pp-mindmap-root small { color: #d7eaff; font-size: .68rem; }.pp-mindmap-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.pp-mindmap-branch { position: relative; padding: 10px; border: 1px solid #3e3e42; border-radius: 3px; background: #202020; }.pp-mindmap-folder, .pp-mindmap-items button { width: 100%; display: flex; align-items: center; gap: 7px; border: 0; border-radius: 3px; text-align: left; }.pp-mindmap-folder { padding: 8px; color: #f5f5f5; background: #2a2d2e; font-size: .75rem; font-weight: 600; }.pp-mindmap-folder:hover { background: #333333; }.pp-mindmap-folder .pp-ui-icon { color: #75beff; }.pp-mindmap-items { display: grid; gap: 3px; margin-top: 7px; }.pp-mindmap-items button { padding: 6px 7px; color: #c5c5c5; background: transparent; font-size: .68rem; }.pp-mindmap-items button:hover { color: #ffffff; background: #2a2d2e; }.pp-mindmap-items .pp-ui-icon { width: 13px; height: 13px; flex: 0 0 13px; color: #75beff; }

/* Mapa mental navegável: cena ampla, pan, zoom e detalhes sem fechar o diagrama. */
.pp-modal-card.pp-modal-map { width: min(1440px, calc(100vw - 32px)); }.pp-modal-map .pp-modal-body { overflow: hidden; }.pp-mindmap-interactive { padding: 0; }.pp-mindmap-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; padding: 9px 10px; border: 1px solid #3e3e42; border-radius: 4px; background: #202020; }.pp-mindmap-help { min-width: 0; display: flex; align-items: center; gap: 8px; color: #c5c5c5; font-size: .72rem; }.pp-mindmap-help .pp-ui-icon { width: 17px; height: 17px; flex: 0 0 17px; color: #75beff; }.pp-mindmap-controls { display: flex; align-items: center; gap: 5px; }.pp-mindmap-control, .pp-mindmap-reset { border: 1px solid #3e3e42; border-radius: 3px; color: #d4d4d4; background: #2a2d2e; cursor: pointer; }.pp-mindmap-control { width: 28px; height: 28px; font: 600 1.08rem "Consolas", monospace; line-height: 1; }.pp-mindmap-control:hover, .pp-mindmap-reset:hover { color: #ffffff; border-color: #007acc; background: #094771; }.pp-mindmap-control:focus-visible, .pp-mindmap-reset:focus-visible, .pp-mindmap-node:focus-visible { outline: 2px solid #75beff; outline-offset: 2px; }.pp-mindmap-zoom { min-width: 44px; color: #75beff; font: .68rem "Consolas", monospace; text-align: center; }.pp-mindmap-reset { min-height: 28px; padding: 0 8px; font-size: .67rem; }.pp-mindmap-layout { display: grid; grid-template-columns: minmax(0, 1fr) 286px; gap: 12px; }.pp-mindmap-viewport { position: relative; min-width: 0; height: min(64vh, 680px); overflow: hidden; border: 1px solid #3e3e42; border-radius: 4px; background-color: #181818; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 24px 24px; cursor: grab; touch-action: none; }.pp-mindmap-viewport:focus-visible { outline: 2px solid #75beff; outline-offset: 2px; }.pp-mindmap-viewport.is-dragging { cursor: grabbing; }.pp-mindmap-stage { position: absolute; top: 0; left: 0; width: 1840px; height: 1180px; transform-origin: 0 0; will-change: transform; }.pp-mindmap-lines { position: absolute; inset: 0; width: 1840px; height: 1180px; overflow: visible; pointer-events: none; }.pp-mindmap-lines path { fill: none; stroke: #3e8ec3; stroke-width: 3; stroke-linecap: round; opacity: .72; }.pp-mindmap-node { position: absolute; left: var(--map-x); top: var(--map-y); width: var(--map-w); min-height: 62px; display: grid; gap: 4px; padding: 10px 12px; border: 1px solid #3e3e42; border-left: 3px solid #75beff; border-radius: 4px; color: #e7e7e7; background: #252526; box-shadow: 0 5px 16px rgba(0,0,0,.28); cursor: pointer; text-align: left; transition: border-color .14s ease, background .14s ease, box-shadow .14s ease, transform .14s ease; }.pp-mindmap-node:hover { border-color: #75beff; background: #2a2d2e; box-shadow: 0 7px 21px rgba(0,0,0,.42); transform: translateY(-2px); }.pp-mindmap-node[aria-pressed="true"] { border-color: #75beff; background: #094771; box-shadow: 0 0 0 3px rgba(0,122,204,.22); }.pp-mindmap-node > span { color: #f5f5f5; font-size: .73rem; font-weight: 700; line-height: 1.25; }.pp-mindmap-node > small { color: #a6a6a6; font-size: .62rem; line-height: 1.3; }.pp-mindmap-node-root { border-color: #75beff; background: linear-gradient(145deg, #094771, #1e1e1e); text-align: center; }.pp-mindmap-node-root > span { color: #d7eaff; font-size: .84rem; }.pp-mindmap-node-root > small { color: #d7eaff; }.pp-mindmap-node-folder { border-left-color: #4ec9b0; }.pp-mindmap-node-file { border-left-color: #dcdcaa; }.pp-mindmap-node-module { border-left-color: #c586c0; }.pp-mindmap-node-collection { border-left-color: #b5cea8; }.pp-mindmap-node-rule { border-left-color: #ce9178; }.pp-mindmap-detail { min-height: 0; padding: 17px; border: 1px solid #3e3e42; border-radius: 4px; color: #c5c5c5; background: #202020; overflow: auto; }.pp-mindmap-detail-kicker { display: block; margin-bottom: 8px; color: #75beff; font: 700 .62rem "Consolas", monospace; letter-spacing: .1em; }.pp-mindmap-detail h3 { margin: 0; color: #f5f5f5; font-size: .94rem; line-height: 1.35; }.pp-mindmap-detail > p, .pp-mindmap-detail-copy p, .pp-mindmap-detail li { color: #c5c5c5; font-size: .74rem; line-height: 1.56; }.pp-mindmap-detail > p { margin: 10px 0; }.pp-mindmap-detail ul { margin: 12px 0 0; padding-left: 18px; }.pp-mindmap-detail li + li { margin-top: 7px; }.pp-mindmap-detail-meta { margin: 6px 0 13px !important; color: #9cdcfe !important; font: .68rem "Consolas", monospace; }.pp-mindmap-detail-copy p { margin: 0 0 10px; padding-left: 10px; border-left: 2px solid #007acc; }

/* Página de mapa mental: dados editáveis em uma árvore navegável. */
.pp-map-page { max-width: 1500px; }.pp-map-page-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 24px 0 14px; }.pp-map-breadcrumb { min-width: 0; display: flex; align-items: center; gap: 10px; }.pp-map-breadcrumb .pp-logo { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 8px; font-size: .9rem; }.pp-map-breadcrumb span, .pp-map-breadcrumb strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-map-breadcrumb span { margin-bottom: 3px; color: #75beff; font: 700 .62rem "Consolas", monospace; letter-spacing: .1em; }.pp-map-breadcrumb strong { color: #f5f5f5; font-size: .88rem; }.pp-map-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.pp-map-board { padding: 12px; border: 1px solid #3e3e42; border-radius: 5px; background: #202020; }.pp-map-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border: 1px solid #3e3e42; border-radius: 4px; background: #181818; }.pp-map-toolbar-help { min-width: 0; display: flex; align-items: center; gap: 8px; color: #c5c5c5; font-size: .72rem; }.pp-map-toolbar-help .pp-ui-icon { width: 17px; height: 17px; flex: 0 0 17px; color: #75beff; }.pp-map-controls { display: flex; align-items: center; gap: 5px; }.pp-map-control, .pp-map-center { min-height: 28px; border: 1px solid #3e3e42; border-radius: 3px; color: #d4d4d4; background: #2a2d2e; cursor: pointer; }.pp-map-control { width: 29px; font: 600 1.1rem "Consolas", monospace; }.pp-map-center { padding: 0 9px; font-size: .68rem; }.pp-map-control:hover, .pp-map-center:hover { border-color: #007acc; color: #ffffff; background: #094771; }.pp-map-control:focus-visible, .pp-map-center:focus-visible, .pp-map-node:focus-visible { outline: 2px solid #75beff; outline-offset: 2px; }.pp-map-controls output { min-width: 43px; color: #75beff; font: .68rem "Consolas", monospace; text-align: center; }.pp-map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 292px; gap: 12px; margin-top: 12px; }.pp-map-viewport { position: relative; min-width: 0; height: min(68vh, 740px); overflow: hidden; border: 1px solid #3e3e42; border-radius: 4px; background-color: #181818; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 24px 24px; cursor: grab; touch-action: none; }.pp-map-viewport.is-dragging { cursor: grabbing; }.pp-map-viewport:focus-visible { outline: 2px solid #75beff; outline-offset: 2px; }.pp-map-stage { position: absolute; top: 0; left: 0; width: var(--map-stage-w); height: var(--map-stage-h); transform-origin: 0 0; will-change: transform; }.pp-map-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }.pp-map-lines path { fill: none; stroke: #2584c3; stroke-width: 3; stroke-linecap: round; opacity: .8; }.pp-map-node { position: absolute; left: var(--map-node-x); top: var(--map-node-y); width: 246px; min-height: 70px; display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #3e3e42; border-left: 3px solid #75beff; border-radius: 4px; color: #e7e7e7; background: #252526; box-shadow: 0 5px 16px rgba(0,0,0,.3); cursor: pointer; text-align: left; transition: background .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease; }.pp-map-node:hover { border-color: #75beff; background: #2a2d2e; box-shadow: 0 8px 19px rgba(0,0,0,.42); transform: translateY(-2px); }.pp-map-node.is-selected { border-color: #75beff; background: #094771; box-shadow: 0 0 0 3px rgba(0,122,204,.22); }.pp-map-node-icon { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 26px; border-radius: 3px; color: #75beff; background: #1e1e1e; }.pp-map-node-icon .pp-ui-icon { width: 16px; height: 16px; }.pp-map-node > span:last-child { min-width: 0; }.pp-map-node strong, .pp-map-node small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-map-node strong { color: #f5f5f5; font-size: .72rem; line-height: 1.3; }.pp-map-node small { margin-top: 3px; color: #a6a6a6; font-size: .62rem; }.pp-map-node-root { border-color: #75beff; background: linear-gradient(135deg, #094771, #1e1e1e); }.pp-map-node-root .pp-map-node-icon { color: #d7eaff; background: #094771; }.pp-map-node-folder { border-left-color: #4ec9b0; }.pp-map-node-folder .pp-map-node-icon { color: #4ec9b0; }.pp-map-node-file { border-left-color: #dcdcaa; }.pp-map-node-file .pp-map-node-icon { color: #dcdcaa; }.pp-map-node-module { border-left-color: #c586c0; }.pp-map-node-module .pp-map-node-icon { color: #c586c0; }.pp-map-node-collection { border-left-color: #b5cea8; }.pp-map-node-collection .pp-map-node-icon { color: #b5cea8; }.pp-map-node-rule { border-left-color: #ce9178; }.pp-map-node-rule .pp-map-node-icon { color: #ce9178; }.pp-map-node-note { border-left-color: #9cdcfe; }.pp-map-node-note .pp-map-node-icon { color: #9cdcfe; }.pp-map-detail { min-height: 0; padding: 18px; border: 1px solid #3e3e42; border-radius: 4px; color: #c5c5c5; background: #181818; overflow: auto; }.pp-map-detail-kicker { display: block; margin-bottom: 9px; color: #75beff; font: 700 .62rem "Consolas", monospace; letter-spacing: .1em; }.pp-map-detail h2 { margin: 0; color: #f5f5f5; font-size: 1rem; line-height: 1.32; }.pp-map-detail > p, .pp-map-detail li, .pp-map-detail-copy p { color: #c5c5c5; font-size: .76rem; line-height: 1.58; }.pp-map-detail > p { margin: 11px 0; }.pp-map-detail ul { margin: 12px 0 0; padding-left: 18px; }.pp-map-detail li + li { margin-top: 7px; }.pp-map-detail-title { display: flex; align-items: flex-start; gap: 9px; }.pp-map-detail-title > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 28px; border-radius: 3px; color: #75beff; background: #094771; }.pp-map-detail-title .pp-ui-icon { width: 16px; height: 16px; }.pp-map-detail-meta { margin: 10px 0 14px !important; color: #9cdcfe !important; font: .65rem "Consolas", monospace; }.pp-map-detail-copy p { margin: 0 0 11px; padding-left: 10px; border-left: 2px solid #007acc; }

/* Upgrade inspirado no Todoist: checklist com sublistas, etiquetas, prazos, favoritos, prompt e anexos. */
.pp-favorite-filter { display: inline-flex; align-items: center; gap: 6px; padding: 0 4px; color: #c5c5c5; font-size: .78rem; white-space: nowrap; }
.pp-favorite-filter input { accent-color: #e3b341; }
.pp-idea.is-favorite { border-color: #6b5a1f; }
.pp-idea-top-row { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.pp-idea-star { color: #e3b341; font-size: .85rem; }
.pp-idea-section { display: inline-block; padding: 2px 7px; border-radius: 2px; color: #d7eaff; background: #094771; font-size: .64rem; font-weight: 600; }
.pp-idea-section-group + .pp-idea-section-group { margin-top: 20px; }
.pp-idea-section-title { margin: 0 0 9px; color: #a6a6a6; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pp-tag-overdue { color: #ffd7d1 !important; background: #7a1f1f !important; }
.pp-star-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 7px 12px; border: 1px solid #3e3e42; border-radius: 2px; color: #c5c5c5; background: #3c3c3c; }
.pp-star-toggle:hover { border-color: #e3b341; color: #f5f5f5; }
.pp-star-toggle.is-active { color: #1e1e1e; border-color: #e3b341; background: #e3b341; font-weight: 700; }
.pp-duedate-row { display: grid; gap: 8px; }
.pp-duedate-quick { display: flex; flex-wrap: wrap; gap: 6px; }
.pp-duedate-quick button { min-height: 28px; padding: 5px 9px; border: 1px solid #3e3e42; border-radius: 2px; color: #c5c5c5; background: #2a2d2e; font-size: .68rem; }
.pp-duedate-quick button:hover { color: #ffffff; border-color: #007acc; background: #094771; }
.pp-form-section { margin-top: 17px; padding-top: 15px; border-top: 1px solid #3e3e42; }
.pp-form-section h3 { margin: 0 0 6px; color: #f5f5f5; font-size: .84rem; font-weight: 600; }
.pp-form-section-hint { margin: 0 0 10px; color: #a6a6a6; font-size: .72rem; line-height: 1.5; }
.pp-quick-add-row { display: flex; gap: 8px; margin-bottom: 10px; }
.pp-quick-add-row .pp-field { flex: 1; min-width: 0; }
.pp-label-chip { display: inline-flex; align-items: center; gap: 5px; }
.pp-label-chip button { padding: 0; border: 0; color: inherit; background: transparent; font-weight: 900; opacity: .7; }
.pp-label-chip button:hover { color: #f48771; opacity: 1; }
.pp-prompt-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.pp-checklist-list, .pp-checklist-children { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.pp-checklist-children { margin: 5px 0 3px 25px; padding-left: 12px; border-left: 1px dashed #3e3e42; }
.pp-checklist-item { display: block; }
.pp-checklist-row { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 6px 7px; border-radius: 2px; }
.pp-checklist-row:hover { background: #2a2d2e; }
.pp-checklist-toggle { position: relative; width: 18px; height: 18px; flex: 0 0 18px; padding: 0; border: 1.5px solid #6b6b6b; border-radius: 50%; background: transparent; }
.pp-checklist-toggle:hover { border-color: #007acc; }
.pp-checklist-item.is-done > .pp-checklist-row .pp-checklist-toggle { border-color: #89d185; background: #89d185; }
.pp-checklist-item.is-done > .pp-checklist-row .pp-checklist-toggle::after { content: "\2713"; position: absolute; inset: 0; display: grid; place-items: center; color: #1e1e1e; font-size: .62rem; font-weight: 900; }
.pp-checklist-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; font-size: .82rem; }
.pp-checklist-item.is-done > .pp-checklist-row .pp-checklist-text { color: #808080; text-decoration: line-through; }
.pp-checklist-actions { display: flex; align-items: center; gap: 2px; flex: 0 0 auto; opacity: .5; }
.pp-checklist-row:hover .pp-checklist-actions { opacity: 1; }
.pp-icon-button.pp-tiny { width: 26px; height: 26px; }
.pp-icon-button.pp-tiny .pp-ui-icon { width: 13px; height: 13px; }
.pp-checklist-progress { display: flex; align-items: center; gap: 9px; margin: 2px 0 12px; }
.pp-checklist-progress-bar { flex: 1; height: 6px; border-radius: 999px; background: #3c3c3c; overflow: hidden; }
.pp-checklist-progress-bar span { display: block; height: 100%; background: linear-gradient(90deg, #0e639c, #4fc1ff); }
.pp-checklist-progress small { color: #a6a6a6; font-size: .68rem; white-space: nowrap; }
.pp-attachments { display: grid; gap: 8px; }
.pp-attachment-item { display: flex; align-items: center; gap: 10px; padding: 8px; border: 1px solid #3e3e42; border-radius: 2px; background: #2a2d2e; }
.pp-attachment-thumb { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 2px; object-fit: cover; }
.pp-attachment-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 2px; color: #75beff; background: #094771; }
.pp-attachment-name { flex: 1; min-width: 0; overflow: hidden; color: #4fc1ff; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; text-decoration: none; }
.pp-attachment-name:hover { text-decoration: underline; }
.pp-idea-checklist-toggle { display: inline-flex; align-items: center; gap: 5px; margin: 2px 0 6px; padding: 3px 0; border: 0; background: transparent; color: #a6a6a6; font-size: .74rem; font-weight: 600; }
.pp-idea-checklist-toggle:hover { color: #4fc1ff; }
.pp-idea-inline-checklist { margin: 2px 0 12px; padding: 10px; border: 1px solid #3e3e42; border-radius: 2px; background: #202020; }

@media (max-width: 760px) {
  .pp-shell { padding: 0 16px 42px; }.pp-hero-inner { min-height: 0; padding: 22px 16px; flex-direction: column; }.pp-vault-status { margin-top: 0; width: 100%; }.pp-section-head { align-items: stretch; flex-direction: column; }.pp-toolbar { justify-content: flex-start; }.pp-project-row { grid-template-columns: 48px minmax(0,1fr); gap: 11px; }.pp-project-row > .pp-project-meta { grid-column: 1 / -1; justify-content: space-between; }.pp-logo { width: 46px; height: 46px; border-radius: 12px; }.pp-filter-bar, .pp-form-grid, .pp-tool-add { grid-template-columns: 1fr; }.pp-ai-grid, .pp-detail-grid { grid-template-columns: 1fr; }.pp-detail-top { grid-template-columns: 58px minmax(0,1fr); gap: 11px; }.pp-detail-top .pp-logo { width: 58px; height: 58px; border-radius: 16px; font-size: 1.6rem; }.pp-detail-actions { grid-column: 1 / -1; justify-content: flex-start; }.pp-modal { align-items: flex-end; padding: 0; }.pp-modal-card { max-height: 92vh; border-radius: 20px 20px 0 0; }.pp-project-copy p { white-space: normal; }.pp-project-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }.pp-project-tile .pp-logo { width: 68px; height: 68px; border-radius: 19px; font-size: 1.75rem; }.pp-tile-actions { opacity: 1; }
  .pp-library-docs-head { align-items: stretch; flex-direction: column; padding: 16px; }.pp-library-docs-head .pp-button { width: 100%; }.pp-doc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pp-doc-stats span:nth-child(2) { border-right: 0; }.pp-doc-stats span:nth-child(-n+2) { border-bottom: 1px solid #3e3e42; }.pp-doc-children { padding-left: 10px; }.pp-doc-folder small, .pp-doc-item small { white-space: normal; }.pp-mindmap-branches { grid-template-columns: 1fr; }
  .pp-favorite-filter { justify-content: flex-start; }.pp-quick-add-row { flex-direction: column; }.pp-checklist-children { margin-left: 14px; padding-left: 9px; }
}

@media (max-width: 980px) {
  .pp-mindmap-layout, .pp-map-layout { grid-template-columns: 1fr; }.pp-mindmap-detail { max-height: 230px; }.pp-map-detail { max-height: 245px; }
}
@media (max-width: 560px) {
  .pp-modal-card.pp-modal-map { width: 100%; }.pp-mindmap-toolbar, .pp-map-toolbar { align-items: flex-start; flex-direction: column; }.pp-mindmap-controls, .pp-map-controls { width: 100%; }.pp-mindmap-reset, .pp-map-center { margin-left: auto; }.pp-mindmap-viewport { height: 54vh; min-height: 350px; }.pp-mindmap-help, .pp-map-toolbar-help { line-height: 1.35; }.pp-mindmap-detail { max-height: 215px; }.pp-map-page-head { align-items: stretch; flex-direction: column; }.pp-map-actions { justify-content: flex-start; }.pp-map-actions .pp-button { flex: 1; justify-content: center; }.pp-map-board { padding: 8px; }.pp-map-viewport { height: 54vh; min-height: 360px; }.pp-map-detail { max-height: 210px; }
}
