
:root{color-scheme:light;--ink:#183b3a;--paper:#f7f5ee;--accent:#bc542b;--line:#d5dcd3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;left:20px;top:-80px}.skip:focus{top:10px}header,main,footer{max-width:1200px;margin:auto;padding:0 5vw}header{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:110px;border-bottom:1px solid var(--line)}.brand{font-size:30px;font-family:Georgia,serif;text-decoration:none;font-weight:bold}.brand span{font:11px system-ui;display:block;text-transform:uppercase;letter-spacing:2px}nav{display:flex;gap:25px;font-size:13px}nav a{text-decoration:none}.hero{padding:90px 0 55px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:650;color:var(--accent)}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.07;letter-spacing:-1.5px}h1{font-size:clamp(52px,7.5vw,100px);max-width:900px;margin:25px 0}h2{font-size:clamp(34px,4vw,54px);max-width:780px;margin:22px 0}h3{font-size:27px;letter-spacing:-.5px}p{max-width:740px}.intro,.lead{font-size:20px;max-width:660px}.button{display:inline-flex;align-items:center;gap:35px;background:var(--ink);color:var(--paper);padding:13px 23px;margin-top:20px;text-decoration:none;font-size:14px}.journey{display:flex;justify-content:space-between;margin-top:60px;padding-top:20px;border-top:1px solid var(--line);color:#59726a;font:italic 20px Georgia,serif}.journey span:before{content:'•';color:var(--accent);margin-right:12px}section{padding:65px 0;border-bottom:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.number{font-size:12px;color:var(--accent)}.grid p{font-size:15px;color:#49625c}.subjects{display:flex;flex-wrap:wrap;gap:12px;margin:35px 0}.subjects span,.badge{border:1px solid #bfcfc6;padding:9px 16px;border-radius:100px}.review-call{padding:60px 35px;margin:50px 0;background:#e7ece3}footer{display:flex;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:40px;font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0}input,select,button{font:inherit;padding:10px;border:1px solid #a3b6aa;background:#fff;color:var(--ink)}input{flex:1;min-width:200px}.evidence-card{border:1px solid var(--line);padding:25px;margin:18px 0;background:#fff}.evidence-card h3{line-height:1.25}.evidence-card p{white-space:pre-line;max-width:none}.badge{font:12px system-ui;display:inline-block;background:#fff4dc;border-color:#dfc28d}.status{padding:20px;background:#e7ece3}.source{font-size:12px;color:#49625c}details summary{cursor:pointer}details[open] summary{margin-bottom:20px}.empty{padding:30px}body.review h1{font-size:60px}#summary{font-size:17px}@media(max-width:650px){header{align-items:flex-start;padding-top:20px;padding-bottom:20px}nav{flex-direction:column;gap:8px}.grid{grid-template-columns:1fr;gap:15px}.hero{padding-top:50px}.journey{font-size:16px}footer{flex-direction:column}.review-call{padding:25px}body.review h1{font-size:42px}}@media print{header,nav,.toolbar,.button{display:none}body{background:white;color:black}.evidence-card{break-inside:avoid}details{display:block}footer{display:none}}

/* Journey Facilitator: original nautical artwork and colours inspired by the author's philosophy site. */
:root{--ink:#234e54;--accent:#b95532}.hero-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:35px;align-items:center}.hero h1{font-size:clamp(48px,5.6vw,76px);letter-spacing:-2.8px}.hero .intro{font-size:18px;max-width:560px}.voyage-art{margin:0;align-self:center}.voyage-art svg{display:block;width:100%;height:auto}.voyage-art figcaption{text-align:center;font:italic 15px Georgia,serif;color:#567574;margin-top:15px}.approach-note{font-style:italic;color:var(--accent)!important}.philosophy-story{display:grid;grid-template-columns:1fr 1.6fr;gap:50px;background:#e6eeea;padding:36px;margin-top:40px}.philosophy-story h3{font-size:32px;line-height:1.2;margin-top:15px}.philosophy-story p{font-size:15px}.source-link{font-size:12px!important;line-height:2}.source-link span{margin:0 5px}@media(max-width:760px){.hero-layout{grid-template-columns:1fr}.hero h1{font-size:clamp(48px,9vw,72px)}.voyage-art{max-width:360px;margin:10px auto 0;width:100%}.philosophy-story{grid-template-columns:1fr;gap:10px;padding:25px}.journey{font-size:15px;gap:8px}.journey span:before{margin-right:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.profile { display: grid; grid-template-columns: 1fr 1.45fr; gap: 2rem; align-items: center; }
.project-grid article, .standard-card { padding: 1.4rem; background: #e6eeea; border: 1px solid var(--line); }
.project-grid article h3 { margin: .65rem 0; }
.standard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: .75rem; margin: 2rem 0; }
.standard-card { display: grid; gap: .4rem; text-align: left; align-content: start; }
.standard-card:hover { background: #d5e5dd; }
.toolbar label { display: grid; gap: .35rem; flex: 1; }
.toolbar select, .toolbar input { width: 100%; min-width: 0; }
.evidence-card details { margin-top: 1rem; }
.evidence-card:focus { outline: 2px solid var(--accent); }
button { cursor: pointer; }
#journal-form { max-width: 740px; padding: 1.4rem; background: #e6eeea; margin: 1.5rem 0; }
#journal-form > label { display: grid; gap: .35rem; margin: 1rem 0; }
#journal-form input { min-width: 0; }
#journal-form fieldset { margin: 1rem 0; border: 1px solid #a3b6aa; }
textarea { width: 100%; font: inherit; color: var(--ink); padding: .75rem; border: 1px solid #a3b6aa; }
textarea:focus-visible { outline: 3px solid var(--accent); }
.choice { display: flex; gap: .5rem; align-items: baseline; padding: .25rem; }
.choice input { flex: none; }
@media (max-width: 760px) { .profile { grid-template-columns: 1fr; gap: 0; } }
@media print { #journal-form, .standard-grid { display: none; } }


/* Celestial Navigator — November 2026 visual refresh.
   Presentational changes only; privacy boundaries and application logic remain untouched. */
:root {
  color-scheme:light;
  --night:#101d32;
  --navy:#182b45;
  --deep-sea:#183f50;
  --glacial:#3c8994;
  --sea-glass:#dcece9;
  --parchment:#f7f4ec;
  --paper:#f7f4ec;
  --surface:#fffdf8;
  --surface-tint:#ecf2ee;
  --gold:#a77d3a;
  --gold-light:#d2b57e;
  --ink:#21384b;
  --accent:#8c642e;
  --muted:#52677a;
  --line:#d8dfdc;
  --focus:#136c81;
  --shadow:0 18px 54px -40px rgba(16,29,50,.42);
}
html { scroll-padding-top:1.75rem; }
body { background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7; }
body::before { content:"";position:absolute;inset:0 0 auto 0;height:660px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 78% 24%,rgba(60,137,148,.14),transparent 45%),radial-gradient(ellipse at 18% 6%,rgba(210,181,126,.13),transparent 36%); }
header { min-height:100px;border-color:var(--line); }
.brand { color:var(--night);letter-spacing:-.06em; }
.brand span { color:var(--muted);letter-spacing:.2em;font-weight:650; }
nav a { color:var(--deep-sea);font-weight:600;border-bottom:1px solid transparent;transition:border-color .18s,color .18s; }
nav a:hover { color:var(--gold);border-color:currentColor; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--focus);outline-offset:4px; }
h1,h2,h3 { color:var(--night);font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;letter-spacing:-.035em; }
h1 { letter-spacing:-.055em; }
h3 { line-height:1.22; }
.eyebrow { color:var(--gold);letter-spacing:.19em; }
.hero { padding-top:80px;position:relative; }
.hero::before { content:"✦";position:absolute;right:11%;top:2%;color:var(--gold);opacity:.5;font-size:21px; }
.hero::after { content:"·  ✧  ·";position:absolute;right:34%;top:14%;color:var(--glacial);opacity:.45;letter-spacing:22px;font-size:19px;pointer-events:none; }
.hero h1 { color:var(--night);text-wrap:balance; }
.hero .intro,.lead { color:var(--deep-sea);line-height:1.75; }
.button { background:var(--night);color:#fffaf0;border:1px solid var(--night);border-radius:5px;box-shadow:var(--shadow);font-weight:650;transition:transform .18s,background .18s,border-color .18s; }
.button:hover { background:var(--deep-sea);border-color:var(--deep-sea);transform:translateY(-2px); }
.voyage-art { filter:drop-shadow(0 18px 18px rgba(21,62,74,.08)); }
.voyage-art figcaption { color:var(--muted); }
.journey { color:var(--deep-sea);border-top:1px solid var(--gold-light); }
.journey span:before { color:var(--gold); }
section { border-color:var(--line); }
.grid article { position:relative; }
.grid article .number { color:var(--gold);font-weight:700; }
.grid p { color:var(--muted); }
.approach-note { color:var(--gold)!important; }
.philosophy-story,.project-grid article,.standard-card,#journal-form,.review-call { background:var(--surface-tint);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow); }
.philosophy-story { border-left:4px solid var(--gold-light); }
.project-grid article { padding:1.65rem; }
.project-grid article h3 { color:var(--night); }
.project-grid article a { color:var(--deep-sea);font-weight:700; }
.standard-card { color:var(--ink);transition:background .18s,transform .18s; }
.standard-card:hover { background:var(--sea-glass);transform:translateY(-2px); }
.evidence-card { background:var(--surface);border-radius:9px;border:1px solid var(--line);box-shadow:var(--shadow); }
.evidence-card h3 { color:var(--night); }
.badge { background:#f6eedb;color:#604d2b;border:1px solid #d4bc8b; }
.status { background:var(--surface-tint);border-radius:6px;border:1px solid var(--line); }
.source { color:var(--muted); }
input,select,button,textarea { border-radius:5px; }
input,select,textarea { background:var(--surface);border:1px solid #abbdbd;color:var(--ink); }
button { background:var(--night);border-color:var(--night);color:#fffaf0; }
button:hover { background:var(--deep-sea); }
#journal-form { border-top:3px solid var(--gold-light); }
#journal-form fieldset { border-color:var(--line); }
.review-call { background:linear-gradient(130deg,var(--surface-tint),var(--sea-glass)); }
footer { color:var(--muted);border-top:1px solid var(--line); }
::selection { background:#b8dce0;color:#102b40; }
@media(max-width:760px) {
  header { min-height:unset; }
  .hero::after { display:none; }
  .hero { padding-top:48px; }
  .philosophy-story { padding:26px; }
  .journey { flex-wrap:wrap; }
}
/* Respect the viewer's preferred theme while keeping the public and private areas legible. */
@media(prefers-color-scheme:dark) {
  :root {
    color-scheme:dark;
    --paper:#101b2c;
    --surface:#1a2b40;
    --surface-tint:#192b3b;
    --sea-glass:#214354;
    --ink:#e7edf0;
    --night:#eef3f1;
    --navy:#d5e3e9;
    --deep-sea:#b8d7dc;
    --glacial:#76b9c2;
    --gold:#d9b777;
    --gold-light:#96774e;
    --muted:#afc2cc;
    --line:#385165;
    --focus:#9de0ec;
    --shadow:0 18px 54px -40px rgba(0,0,0,.75);
  }
  body::before { background:radial-gradient(ellipse at 80% 14%,rgba(62,130,148,.16),transparent 50%); }
  .brand { color:var(--ink); }
  .eyebrow,.journey span:before,.grid article .number { color:var(--gold); }
  .button,button { background:#d5e9e7;border-color:#d5e9e7;color:#102235; }
  .button:hover,button:hover { background:#a3d2d2;border-color:#a3d2d2;color:#102235; }
  .badge { background:#433b31;color:#f5dcb1;border-color:#7a664d; }
  .review-call { background:linear-gradient(130deg,#192b3b,#203e4c); }
  input,select,textarea { border-color:#587083; }
  .voyage-art svg { filter:saturate(.88); }
  .project-grid article a { color:var(--deep-sea); }
  ::selection { background:#376f81;color:#fff; }
}
@media(prefers-reduced-motion:reduce) {
  .button,.standard-card,nav a { transition:none; }
  .button:hover,.standard-card:hover { transform:none; }
}

/* Private portfolio: compact, accessible journal timeline and section tabs */
.portal-panel[hidden], #journal-form[hidden], #new-entry[hidden] { display:none!important; }
.portal-tabs { display:flex;gap:.5rem;align-items:center;border-bottom:1px solid var(--line);padding-top:1.75rem; }
.portal-tab { border:1px solid transparent;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);font-weight:700;padding:.85rem 1.15rem; }
.portal-tab[aria-selected="true"] { background:var(--surface-tint);border-color:var(--line);border-bottom-color:var(--glacial);color:var(--ink); }
.portal-tab:hover { background:var(--surface-tint);color:var(--ink); }
body.review .portal-panel { padding-top:2rem; }
.journal-intro { max-width:700px;color:var(--muted); }
.journal-controls { display:grid;grid-template-columns:minmax(210px,2fr) minmax(190px,1fr);gap:1rem;align-items:end;margin:1.25rem 0 .85rem; }
.journal-controls label { display:grid;gap:.4rem;font-size:.87rem;font-weight:650; }
.journal-controls input,.journal-controls select { min-width:0;width:100%; }
.journal-years { display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem; }
.year-button { border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:.43rem .9rem;font-size:.85rem;font-weight:650; }
.year-button[aria-pressed="true"] { background:var(--deep-sea);border-color:var(--deep-sea);color:var(--paper); }
.year-button:not([aria-pressed="true"]):hover { background:var(--surface-tint);color:var(--ink); }
.journal-count { font-size:.83rem;color:var(--muted);margin:.6rem 0 1rem; }
.journal-timeline { display:grid;gap:.65rem;max-width:950px; }
.journal-card { background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow); }
.journal-card details { margin:0; }
.journal-card summary { padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none; }
.journal-card summary::-webkit-details-marker { display:none; }
.journal-card summary::marker { content:""; }
.journal-card details[open] summary { margin:0;border-bottom:1px solid var(--line);background:var(--surface-tint); }
.journal-card-heading { display:grid;gap:.3rem;min-width:0; }
.journal-card-heading .eyebrow { font-size:.68rem;letter-spacing:.11em; }
.journal-card-heading strong { font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;font-size:clamp(1.12rem,2vw,1.36rem);font-weight:600;line-height:1.3;color:var(--night); }
.journal-preview { display:block;max-width:740px;color:var(--muted);font-size:.86rem;line-height:1.5; }
.journal-chevron { flex:none;width:.65rem;height:.65rem;border-right:2px solid var(--glacial);border-bottom:2px solid var(--glacial);transform:rotate(45deg);transition:transform .15s; }
details[open] .journal-chevron { transform:rotate(225deg); }
.journal-body { padding:1rem 1.25rem 1.3rem; }
.journal-body > p:first-child { white-space:pre-line;max-width:100%;line-height:1.75; }
.journal-saved { font-size:.75rem;color:var(--muted); }
.journal-tags { display:flex;gap:.4rem;flex-wrap:wrap;margin:.9rem 0; }
.journal-tag { font-size:.72rem;border:1px solid var(--line);color:var(--muted);background:var(--surface-tint);border-radius:999px;padding:.25rem .55rem; }
.journal-edit,.new-entry { margin-top:.5rem;padding:.65rem 1rem;font-size:.85rem;font-weight:600; }
.new-entry { margin:1.2rem 0; }
.timeline-year { font-size:1.5rem;margin:1rem 0 .3rem; }
#journal-form { max-width:950px;scroll-margin-top:2rem; }
body.review #journal { border-bottom:0; }
@media(max-width:650px) {
 .portal-tabs { width:100%; }
 .portal-tab { flex:1;padding:.8rem .45rem;font-size:.88rem; }
 .journal-controls { grid-template-columns:1fr; }
 .journal-card summary { padding:.9rem; }
 .journal-body { padding:.9rem; }
}
@media print {
 .portal-tabs,.journal-years,.journal-controls,.journal-edit,.new-entry { display:none!important; }
 .portal-panel[hidden] { display:block!important; }
 .journal-card details > * { display:block!important; }
 .journal-card summary { border:0; }
 .journal-preview,.journal-chevron { display:none!important; }
}
@media(prefers-color-scheme:dark) {
 .year-button[aria-pressed="true"] { background:#9dcbd1;color:#102235;border-color:#9dcbd1; }
}

/* Private supporting-document library */
#attachment-form { background:var(--surface-tint);border:1px solid var(--line);border-radius:12px;padding:1.25rem;max-width:1050px;margin:1.5rem 0; }
#attachment-form > label { display:grid;gap:.35rem;margin:1rem 0;font-weight:600; }
#attachment-form fieldset {border:1px solid var(--line);border-radius:8px;padding:.75rem;margin:.75rem 0;}
#attachment-form fieldset label {display:flex;align-items:center;gap:.5rem;margin:.5rem 0;}
#attachment-form input[type=radio],#attachment-form input[type=checkbox] {min-width:0;flex:none;}
#attachment-form input[type=file],#attachment-form input[type=url] {width:100%;max-width:800px;min-width:0;}
#attachment-form [hidden] {display:none!important;}
.attachment-targets {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.attachment-picker {max-height:220px;overflow:auto;background:var(--surface);border-radius:5px;padding:.4rem;}
.attachment-picker .choice {font-size:.78rem;line-height:1.4;}
.attachment-list {display:grid;gap:.7rem;max-width:1050px;margin:1.5rem 0;}
.attachment-card {border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:1rem 1.25rem;}
.attachment-header {display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center;}
.attachment-header a {font-weight:700;color:var(--deep-sea);overflow-wrap:anywhere;}
.attachment-card > p {max-width:none;}
.attachment-card button {padding:.4rem .7rem;font-size:.78rem;}
@media(max-width:720px){.attachment-targets{grid-template-columns:1fr}.portal-tab{font-size:.8rem;min-width:0}}
@media print{#attachment-form{display:none!important}}

/* On-demand previews, loaded only after opening a supporting file */
.attachment-preview {margin:.75rem 0;border-top:1px solid var(--line);padding-top:.65rem;}
.attachment-preview summary {color:var(--deep-sea);font-weight:600;font-size:.83rem;cursor:pointer;}
.attachment-preview iframe {display:block;width:100%;min-height:460px;border:1px solid var(--line);border-radius:8px;background:white;margin-top:.7rem;}
.attachment-preview img {display:block;max-width:100%;max-height:640px;object-fit:contain;border-radius:8px;margin-top:.7rem;}

/* Evidence review tracking: subdued, descriptive statuses rather than approval badges */
.evidence-review-help {max-width:920px;font-size:.86rem;color:var(--muted);margin:.75rem 0;}
.evidence-review-labels {display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.65rem 0;}
.review-tag {display:inline-block;padding:.24rem .65rem;font-size:.73rem;font-weight:600;line-height:1.5;letter-spacing:.01em;background:var(--surface-tint);color:var(--deep-sea);border:1px solid var(--line);border-radius:999px;}
.evidence-card .evidence-review-labels + details {margin-top:.75rem;}
#evidence .toolbar label {min-width:min(100%,175px);}
