/* content.css — the INSIDE of windows. Tahmures design system lives here:
   DM Serif Display titles, DM Mono body, CMYK accents, hairline rules,
   white pages, zero radius. The XP chrome wraps it; the content stays austere. */

.doc { font-family:var(--tg-mono); color:var(--tg-black); }

/* ---- design-system section header ---- */
.ds-label {
  font-family:var(--tg-mono); font-size:9px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ds-accent,var(--tg-cyan));
  line-height:1;
}
.ds-rule { border:0; border-top:.5px solid var(--ds-accent,var(--tg-cyan)); margin:6px 0 12px; }
.ds-rule--n { border-top-color:var(--tg-grey-20); }
.ds-h1 { font-family:var(--tg-serif); font-weight:400; font-size:30px; line-height:1.05; letter-spacing:-.01em; margin:0 0 10px; }
.ds-h2 { font-family:var(--tg-serif); font-weight:400; font-size:21px; line-height:1.15; margin:0 0 8px; }
.ds-h3 { font-family:var(--tg-mono); font-weight:500; font-size:13px; margin:0 0 6px; }
.ds-body { font-family:var(--tg-mono); font-size:12.5px; line-height:1.55; color:var(--tg-black); margin:0 0 12px; max-width:64ch; }
.ds-cap { font-family:var(--tg-mono); font-size:11px; line-height:1.45; color:var(--tg-grey-50); margin-top:5px; }
.ds-kicker { font-family:var(--tg-mono); font-size:12px; line-height:1.5; color:var(--tg-grey-80); margin:0 0 14px; max-width:60ch; }

.ds-meta { display:grid; row-gap:4px; font-family:var(--tg-mono); font-size:12px; }
.ds-meta .row { display:grid; grid-template-columns:96px 1fr; column-gap:10px; }
.ds-meta dt { color:var(--tg-grey-50); margin:0; }
.ds-meta dd { color:var(--tg-black); margin:0; }

.ds-img { display:block; width:100%; border:0; border-radius:0; }
.plate { margin:0 0 4px; }
.plate img { width:100%; display:block; background:var(--tg-grey-5); }

/* =========================================================================
   EXPLORER (My Computer / Projects folder)
   ========================================================================= */
.exp { display:grid; grid-template-columns:180px 1fr; height:100%; background:#fff; font-family:var(--xp-tahoma); }
.exp__side { background:linear-gradient(180deg,#7aa1e8,#5a82d6); padding:10px; overflow:auto; }
.exp__panel { background:linear-gradient(180deg,#fbfdff,#cddff6); border-radius:4px; margin-bottom:10px; overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.18); }
.exp__panelhead {
  display:flex; align-items:center; justify-content:space-between;
  padding:5px 9px; font-size:11px; font-weight:700; color:#1a3a86;
  background:linear-gradient(180deg,#e8f0fe,#c3d8f5);
}
.exp__panelhead .chev { width:13px; height:13px; border-radius:50%; background:#2f6fd6; color:#fff; display:flex; align-items:center; justify-content:center; font-size:9px; }
.exp__panelbody { padding:7px 10px; font-size:11px; color:#13357e; }
.exp__panelbody .lnk { display:flex; gap:7px; align-items:center; padding:2px 0; cursor:pointer; }
.exp__panelbody .lnk:hover { text-decoration:underline; color:#cf2a25; }
.exp__panelbody .lnk svg { width:16px; height:16px; flex:none; }
.exp__panelbody .info { color:#1a3a86; line-height:1.5; }
.exp__panelbody .info b { display:block; color:#0a235f; }

.exp__main { padding:14px 16px; overflow:auto; }
.exp__grouphdr { font-size:11px; color:#2a5fc0; border-bottom:1px solid #c3d2ea; margin:0 0 10px; padding-bottom:3px; }
.exp__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:6px 4px; }
.exp__item { display:flex; gap:9px; align-items:center; padding:5px 6px; border-radius:3px; cursor:pointer; }
.exp__item:hover { background:#e8f0fe; outline:1px solid #b6cdf0; }
.exp__item.is-sel { background:#c3d8f5; outline:1px solid #6f9be0; }
.exp__item__ico { width:32px; height:32px; flex:none; }
.exp__item__t { font-size:11px; line-height:1.2; }
.exp__item__t small { display:block; color:#777; font-size:10px; }

/* drive bar (skill capacity) */
.drive { display:flex; gap:11px; align-items:center; padding:7px 6px; border-radius:3px; cursor:default; }
.drive:hover { background:#e8f0fe; }
.drive__ico { width:34px; height:34px; flex:none; display:flex; align-items:center; justify-content:center; }
.drive__meta { flex:1; min-width:0; }
.drive__name { font-size:11.5px; font-weight:700; color:#1a3a86; }
.drive__bartrack { height:10px; background:#fff; border:1px solid #9aa9c4; margin:4px 0 3px; border-radius:1px; overflow:hidden; }
.drive__bar { height:100%; }
.drive__free { font-size:10px; color:#666; }

/* =========================================================================
   TERMINAL
   ========================================================================= */
.term { height:100%; background:#0a0a12; color:#d6ffe0; font-family:var(--tg-mono); font-size:12.5px; line-height:1.5; padding:10px 12px; overflow:auto; }
.term .c-dim { color:#6fae8a; }
.term .c-key { color:var(--tg-cyan); }
.term .c-warn { color:var(--tg-yellow); }
.term .c-mag { color:#ff6fc4; }
.term .c-ok { color:#5dff8b; }
.term .prompt { color:#5dff8b; }
.term .prompt b { color:var(--tg-cyan); font-weight:400; }
.term__line { white-space:pre-wrap; word-break:break-word; }
.term__cursor { display:inline-block; width:8px; height:15px; background:#5dff8b; vertical-align:-2px; animation:tcur 1s steps(1) infinite; }
@keyframes tcur { 50% { opacity:0; } }
.term__input { background:transparent; border:none; color:#d6ffe0; font-family:var(--tg-mono); font-size:12.5px; outline:none; flex:1; caret-color:#5dff8b; }
.term__row { display:flex; gap:8px; align-items:baseline; }
.term img.term__plate { max-width:330px; width:100%; margin:8px 0 4px; border:1px solid #243; }

/* =========================================================================
   PICTURE & FAX VIEWER
   ========================================================================= */
.pfv { display:flex; flex-direction:column; height:100%; background:#5a5a5a; }
.pfv__stage { flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:8px; background:#6e6e6e; }
.pfv__stage img { max-width:100%; max-height:100%; box-shadow:0 3px 14px rgba(0,0,0,.5); transition:transform .15s ease-out; }
.pfv__cap { background:#3c3c3c; color:#e0e0e0; font-size:11px; padding:4px 10px; font-family:var(--tg-mono); }
.pfv__bar { flex:none; height:40px; background:linear-gradient(180deg,#f3f1e7,#d9d4c2); border-top:1px solid #fff; display:flex; align-items:center; justify-content:center; gap:5px; }
.pfv__btn { width:28px; height:28px; border-radius:50%; border:1px solid #8a8676; background:linear-gradient(180deg,#fff,#dcd7c6); display:flex; align-items:center; justify-content:center; cursor:pointer; color:#2a5fc0; }
.pfv__btn:hover { border-color:#2f6fd6; background:linear-gradient(180deg,#eaf2ff,#c7dcf7); }
.pfv__btn:active { background:linear-gradient(180deg,#c7dcf7,#eaf2ff); }
.pfv__btn svg { width:15px; height:15px; }
.pfv__sep { width:1px; height:22px; background:#aca899; margin:0 4px; }

/* =========================================================================
   ACROBAT READER (PDF)
   ========================================================================= */
.pdf { display:flex; flex-direction:column; height:100%; background:#535353; }
.pdf__bar { flex:none; background:linear-gradient(180deg,#e9e6da,#cdc8b6); border-bottom:1px solid #fff; display:flex; align-items:center; gap:8px; padding:3px 8px; font-size:11px; }
.pdf__bar .pdf__logo { display:flex; align-items:center; gap:5px; font-weight:700; color:#b3120e; }
.pdf__bar .pdf__logo svg { width:16px; height:16px; }
.pdf__bar .pdf__pg { margin-left:auto; display:flex; align-items:center; gap:5px; color:#333; }
.pdf__bar .pdf__pg input { width:30px; text-align:center; }
.pdf__body { flex:1; min-height:0; display:flex; }
.pdf__thumbs { width:96px; flex:none; background:#3f3f3f; overflow:auto; padding:8px 0; }
.pdf__thumb { width:64px; margin:0 auto 10px; cursor:pointer; }
.pdf__thumb .mini { background:#fff; aspect-ratio:.77; box-shadow:0 1px 4px rgba(0,0,0,.5); padding:5px; overflow:hidden; }
.pdf__thumb.is-sel .mini { outline:2px solid #ff6f3d; }
.pdf__thumb .mini > * { transform:scale(.18); transform-origin:top left; width:555%; }
.pdf__thumb__n { text-align:center; color:#cfcfcf; font-size:10px; margin-top:3px; font-family:var(--tg-mono); }
.pdf__scroll { flex:1; min-height:0; overflow:auto; padding:18px; display:flex; flex-direction:column; align-items:center; gap:18px; background:#535353; }
.pdf__page { width:520px; min-height:680px; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.5); padding:48px 46px; }

/* =========================================================================
   GENERIC DOC WINDOW PAD
   ========================================================================= */
.pad { padding:22px 26px; overflow:auto; height:100%; background:#fff; }
.pad--cols { display:grid; grid-template-columns:1fr 200px; gap:22px; }
.pad__side { border-left:.5px solid var(--tg-grey-20); padding-left:16px; font-family:var(--tg-mono); font-size:11px; line-height:1.55; color:var(--tg-grey-80); }
.pad__side .slab { font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--tg-grey-50); margin:14px 0 4px; }
.pad__side .slab:first-child { margin-top:0; }

/* contact */
.contact { padding:26px 30px; height:100%; overflow:auto; background:#fff; }
.contact__row { display:flex; gap:12px; align-items:center; padding:9px 0; border-bottom:.5px solid var(--tg-grey-20); font-family:var(--tg-mono); font-size:13px; }
.contact__row svg { width:20px; height:20px; flex:none; }
.contact__row a { color:var(--tg-black); border-bottom:none; }
.contact__row a:hover { color:var(--tg-cyan); }
.contact__row .k { width:90px; color:var(--tg-grey-50); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }

/* resume (wordpad) */
.wp { padding:30px 38px; height:100%; overflow:auto; background:#fff; }
.wp .ds-body, .wp .ds-meta { max-width:none; }
.wp__ruler { height:18px; background:linear-gradient(180deg,#fff,#e9e6da); border-bottom:1px solid #aca899; }

/* =========================================================================
   ROBOTIC PICK & PLACE — project folder (Web View)
   ========================================================================= */
.pp-root { position:relative; }
.pp { padding:0; }

/* address / breadcrumb bar */
.pp-addr {
  position:sticky; top:0; z-index:3;
  display:flex; align-items:center; gap:6px;
  padding:7px 14px; font-size:11px; color:#34507e;
  background:linear-gradient(180deg,#fdfdff,#eef3fb);
  border-bottom:1px solid #c3d2ea;
}
.pp-addr__ico { width:15px; height:15px; }
.pp-addr b { color:#13357e; }
.pp-addr__sep { color:#9fb0cc; }
.pp-addr__link { cursor:pointer; }
.pp-addr__link:hover { text-decoration:underline; color:#cf2a25; }
.pp-up { min-width:0 !important; padding:2px 10px !important; margin-left:auto; font-size:11px; }

.pp .pp-hero, .pp .exp__grouphdr, .pp-readme, .pp-actions,
.pp-videos, .pp-folder, .pp .ds-cap, .pp-gallery, .pp > p { margin-left:16px; margin-right:16px; }
.pp .pp-addr { margin:0; }
.pp .pp-hero { margin-top:14px; }

/* hero plate */
.pp-hero { background:var(--tg-grey-5); }
.pp-hero img { width:100%; height:230px; object-fit:cover; display:block; filter:saturate(.98) contrast(1.02); }

/* readme document */
.pp-readme {
  border:1px solid #c8c4b4;
  box-shadow:0 1px 3px rgba(0,0,0,.10);
  margin-bottom:14px; background:#fff;
}
.pp-readme__bar {
  display:flex; align-items:center; gap:7px;
  padding:5px 10px; font-size:11px; color:#333;
  background:linear-gradient(180deg,#fdfefe,#ece9d8);
  border-bottom:1px solid #c8c4b4;
}
.pp-readme__bar svg { width:15px; height:15px; }
.pp-readme__meta { margin-left:auto; color:#8a8674; }
.pp-readme__body { padding:16px 20px 18px; max-height:230px; overflow:auto; }
.pp-readme__title {
  font-family:var(--tg-serif); font-size:19px; line-height:1.18;
  color:var(--tg-black); margin-bottom:12px;
}
.pp-readme__body p {
  font-family:var(--tg-mono); font-size:11.5px; line-height:1.62;
  color:var(--tg-grey-80); margin:0; max-width:78ch; text-align:left;
}

/* action button row */
.pp-actions { display:flex; gap:10px; margin-bottom:6px; }
.pp-btn { display:inline-flex; align-items:center; gap:8px; min-width:0; padding:6px 14px; font-size:11.5px; }
.pp-btn svg { width:15px; height:15px; }

/* video cards */
.pp-videos { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:6px; }
.pp-video { border:1px solid #c8c4b4; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.10); }
.pp-video__frame { position:relative; aspect-ratio:16/9; background:#111; overflow:hidden; }
.pp-video__frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pp-video__poster {
  position:absolute; inset:0; width:100%; height:100%;
  background-size:cover; background-position:center; cursor:pointer;
  border:0; padding:0; display:flex; align-items:center; justify-content:center;
}
.pp-video__poster::after { content:""; position:absolute; inset:0; background:rgba(15,22,42,.18); transition:background .15s ease; }
.pp-video__poster:hover::after { background:rgba(15,22,42,.05); }
.pp-video__play {
  position:relative; z-index:1;
  width:52px; height:52px; border-radius:50%;
  background:rgba(20,30,55,.62);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.4); transition:transform .15s ease, background .15s ease;
}
.pp-video__poster:hover .pp-video__play { transform:scale(1.08); background:var(--tg-cyan); }
.pp-video__play svg { width:22px; height:22px; margin-left:3px; }
.pp-video__cap { padding:7px 11px; border-top:1px solid #e2dfd0; }
.pp-file b { font-family:var(--tg-mono); font-size:11px; color:var(--tg-black); }
.pp-video__note { display:block; font-family:var(--tg-mono); font-size:10px; color:var(--tg-grey-50); margin-top:2px; }

/* design files folder tile */
.pp-folder {
  display:flex; align-items:center; gap:13px;
  padding:11px 14px; cursor:pointer;
  border:1px solid #d8d4c4; background:linear-gradient(180deg,#fffefb,#f4f1e6);
  transition:background .12s ease, outline-color .12s ease; outline:1px solid transparent;
}
.pp-folder:hover { background:#eaf1fd; outline:1px solid #b6cdf0; }
.pp-folder__t b { font-size:12px; color:#13357e; }
.pp-folder__t small { display:block; color:#777; font-size:10.5px; margin-top:2px; font-family:var(--tg-mono); }
.pp-folder__chev { margin-left:auto; color:#9fb0cc; font-size:18px; }

/* gallery */
.pp-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); gap:14px; padding-bottom:18px; }
.pp-tile { margin:0; cursor:pointer; background:#fff; border:1px solid #d4d0c0; box-shadow:0 1px 2px rgba(0,0,0,.08); transition:outline-color .12s ease, transform .12s ease; outline:1px solid transparent; }
.pp-tile:hover { outline:1px solid var(--tg-cyan); transform:translateY(-2px); }
.pp-tile__img { background:var(--tg-grey-5); height:120px; overflow:hidden; }
.pp-tile__img img { width:100%; height:100%; object-fit:cover; display:block; }
.pp-tile__cap { font-family:var(--tg-mono); font-size:10px; color:var(--tg-grey-50); padding:6px 8px; word-break:break-word; }

/* lightbox */
.pp-lightbox { position:absolute; inset:0; z-index:20; background:rgba(12,20,40,.72); display:flex; align-items:center; justify-content:center; padding:26px; animation:pp-fade .12s ease-out; }
@keyframes pp-fade { from { opacity:0; } to { opacity:1; } }
.pp-lightbox__inner { position:relative; max-width:88%; max-height:92%; background:#fff; padding:9px; box-shadow:0 24px 60px rgba(0,0,0,.5); display:flex; flex-direction:column; }
.pp-lightbox__inner img { max-width:100%; max-height:72vh; object-fit:contain; display:block; background:var(--tg-grey-5); }
.pp-lightbox__cap { padding:9px 4px 3px; }
.pp-lightbox__cap b { display:block; font-family:var(--tg-mono); font-size:11px; color:var(--tg-black); }
.pp-lightbox__cap span { font-family:var(--tg-mono); font-size:10.5px; color:var(--tg-grey-50); line-height:1.45; }
.pp-lightbox__close { position:absolute; top:-13px; right:-13px; width:28px; height:28px; border-radius:50%; border:2px solid #fff; background:var(--tg-black); color:#fff; cursor:pointer; font-size:13px; box-shadow:0 2px 8px rgba(0,0,0,.4); }

/* sidebar detail meta */
.pp-meta { margin-top:8px; display:grid; gap:5px; }
.pp-meta__k { font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#3a63ad; }
.pp-meta__v { color:#0a235f; line-height:1.4; margin-bottom:3px; }

@media (max-width:560px) {
  .pp-videos { grid-template-columns:1fr; }
}

/* resume — full CV body */
.cv-contact { font-family:var(--tg-mono); font-size:11px; color:var(--tg-grey-50); margin:0 0 12px; letter-spacing:.01em; }
.cv-role { margin-bottom:14px; }
.cv-role:last-child { margin-bottom:0; }
.cv-role__head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.cv-role__date { font-family:var(--tg-mono); font-size:10.5px; color:var(--tg-grey-50); white-space:nowrap; letter-spacing:.04em; flex:none; }
.cv-list { margin:5px 0 0; padding:0; list-style:none; }
.cv-list li { position:relative; padding:0 0 4px 16px; font-family:var(--tg-mono); font-size:11px; line-height:1.5; color:var(--tg-grey-80); max-width:74ch; }
.cv-list li::before { content:""; position:absolute; left:2px; top:8px; width:4px; height:4px; background:var(--tg-cyan); }
.cv-list--awards li { max-width:78ch; }

.cv-skill { display:grid; grid-template-columns:200px 1fr; gap:12px; padding:5px 0; border-bottom:0.5px solid var(--tg-grey-20); }
.cv-skill:last-of-type { border-bottom:none; }
.cv-skill__k { font-family:var(--tg-mono); font-weight:500; font-size:11px; color:var(--tg-black); }
.cv-skill__v { font-family:var(--tg-mono); font-size:11px; line-height:1.5; color:var(--tg-grey-80); }

.cv-proj { display:grid; grid-template-columns:230px 1fr; gap:12px; padding:5px 0; border-bottom:0.5px solid var(--tg-grey-20); align-items:baseline; }
.cv-proj:last-of-type { border-bottom:none; }
.cv-proj__t { font-family:var(--tg-mono); font-weight:500; font-size:11px; color:var(--tg-black); }
.cv-proj__d { font-family:var(--tg-mono); font-size:11px; line-height:1.5; color:var(--tg-grey-80); }

.cv-pubs { margin:4px 0 0; padding-left:18px; }
.cv-pubs li { font-family:var(--tg-mono); font-size:11px; line-height:1.55; color:var(--tg-grey-80); padding-bottom:7px; max-width:80ch; }

@media (max-width:540px) {
  .cv-skill, .cv-proj { grid-template-columns:1fr; gap:2px; }
}

/* recycle */
.recyc { height:100%; }
.recyc__hdr { padding:14px 16px; font-family:var(--tg-mono); font-size:11px; color:#555; border-bottom:1px solid #e0ddcf; background:#fbfaf4; }
.recyc__list { padding:8px 6px; }
.recyc__item { display:flex; gap:10px; align-items:center; padding:6px 10px; font-size:11.5px; font-family:var(--xp-tahoma); cursor:default; }
.recyc__item:hover { background:#e8f0fe; }
.recyc__item svg { width:24px; height:24px; flex:none; opacity:.85; }
.recyc__item .n { flex:1; }
.recyc__item .meta { color:#888; font-size:10.5px; }

/* ====================================================================
   GOLF CLUB PAVILION — sustainable-design folder
   Reuses the .pp-* folder system; recolors the accent green and adds a
   gold Awards box + reclamation banner to brand it apart.
   ==================================================================== */
.golf-root { --tg-cyan:#2f9e6e; }              /* tile-hover / play accent → green */
.golf__side { background:linear-gradient(180deg,#eef6f1 0%,#dcebe2 62%,#cfe3d7 100%); }

/* Awards & Recognition box — gold, sits at the very top of the task pane */
.gc-award {
  margin:0 0 10px; border:1px solid #d8b24a;
  background:linear-gradient(180deg,#fff7e0 0%,#fdedbf 100%);
  box-shadow:0 1px 2px rgba(120,86,8,.18);
}
.gc-award__head {
  display:flex; align-items:center; gap:8px;
  padding:6px 10px; color:#6e4e08;
  font-family:var(--tg-mono); font-weight:600; font-size:11px; letter-spacing:.02em;
  background:linear-gradient(180deg,#f6cf5c 0%,#e6b431 100%);
  border-bottom:1px solid #c89518;
}
.gc-award__head svg { flex:none; filter:drop-shadow(0 1px 0 rgba(255,255,255,.5)); }
.gc-award__body { padding:9px 11px 10px; font-family:var(--tg-mono); }
.gc-award__body b { display:block; font-size:13px; color:#7a5403; font-weight:600; }
.gc-award__prize {
  display:inline-block; margin:4px 0 5px; padding:1px 8px;
  font-size:10px; letter-spacing:.06em; color:#6e4e08;
  background:#ffe7a0; border:1px solid #d8b24a;
}
.gc-award__body small { display:block; font-size:10px; color:#8a6e2a; line-height:1.45; }

/* tighter author/tech meta in the green sidebar */
.gc-meta .pp-meta__k { color:#1f6e49; }
.gc-meta .pp-meta__v { color:#10402b; }

/* reclamation banner under the breadcrumb */
.gc-banner {
  margin:14px 16px 0; padding:10px 13px;
  border-left:3px solid #2f9e6e; background:#eef6f1;
  font-family:var(--tg-mono); font-size:11.5px; line-height:1.5; color:#234;
}
.gc-banner__tag {
  display:block; margin-bottom:4px;
  font-size:8.5px; letter-spacing:.16em; text-transform:uppercase; color:#1f6e49; font-weight:600;
}

/* green-accented primary button + folder hover */
.gc-btn { border-color:#2f9e6e !important; color:#10402b !important; }
.gc-btn svg { color:#2f9e6e; }
.gc-folder:hover { background:#e7f4ec; outline:1px solid #9fd3b8; }
.gc-folder .pp-folder__t b { color:#1f6e49; }
