@font-face{font-family:Lab Heading;src:url(/fonts/heading.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:Lab Body;src:url(/fonts/body.woff) format("woff");font-weight:400 700;font-display:swap}@font-face{font-family:Lab Script;src:url(/fonts/script.woff) format("woff");font-weight:700;font-display:swap}:root{--navy-950: #081b27;--navy-900: #102c3b;--navy-800: #183c4d;--brass: #c69b58;--brass-hi: #e4c58d;--bronze: #71502e;--parchment: #ebd8b4;--paper: #f6e9cd;--ink: #1c2b32;--teal: #1ab8c3;--teal-deep: #136c83;--amber: #f1b55f;--danger: #9a2f24;--ink-soft: #4b4a42;--text: #f6e9cd;--text-soft: #d4c5a6;--serif: "Lab Heading", Georgia, "Times New Roman", serif;--sans: "Lab Body", -apple-system, "Segoe UI", Roboto, sans-serif;--script: "Lab Script", "Snell Roundhand", cursive;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--col: min(100vw, 760px);--nav-h: 62px;color-scheme:dark}*{box-sizing:border-box}html{background:var(--navy-950);-webkit-text-size-adjust:100%;text-size-adjust:100%}html.modal-open{overflow:hidden}body{margin:0;min-height:100dvh;color:var(--text);font:400 16px/1.4 var(--sans);background:var(--navy-950) url(/art/texture-navy.webp) repeat;-webkit-tap-highlight-color:transparent;overflow-x:hidden}.lite body,html.lite .brass,html.lite .brass-sm{background-image:none}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{opacity:.55;cursor:default}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:3px}main:focus{outline:none}.skip{position:fixed;left:8px;top:-60px;z-index:50;background:var(--paper);color:var(--ink);padding:10px 14px;border-radius:6px}.skip:focus{top:calc(8px + var(--safe-top))}.app{min-height:100dvh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 18px)}.page{width:100%;max-width:760px;margin:0 auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:14px}.page-home{padding-top:12px}.page section{display:flex;flex-direction:column;gap:10px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(4px + var(--safe-top)) 8px 4px 16px;background:var(--navy-950) url(/art/texture-navy.webp);border-bottom:1px solid var(--bronze);box-shadow:0 1px #e4c58d59,0 4px 12px #0006}.topbar-overlay{position:absolute;inset:0 0 auto;background:none;border:0;box-shadow:none}.wordmark{font:700 18px/1 var(--serif);color:var(--paper);padding:13px 0;text-shadow:0 1px 3px #000}.topbar-actions{display:flex}.icon-btn{width:44px;height:44px;display:grid;place-items:center;color:var(--brass-hi);border-radius:8px;filter:drop-shadow(0 1px 2px #000)}.icon-btn.dark{color:var(--ink);filter:none}.hero{--topcut: calc(var(--col) * .0733);position:relative;overflow:hidden;width:100%;height:calc(var(--col) * .7221 - var(--topcut) + var(--safe-top))}.hero-stage{position:absolute;left:50%;top:calc(var(--safe-top) - var(--topcut));width:var(--col);aspect-ratio:709 / 512;transform:translate(-50%)}.hero-img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(#0000 0,#000 5%,#000 96%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 5% 96%,#0000)}.hero-glow{position:absolute;left:50%;top:29%;width:16%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(26,184,195,.34),transparent 68%);mix-blend-mode:screen;animation:glow 4.5s ease-in-out infinite alternate}@keyframes glow{0%{opacity:.55}to{opacity:1}}.hero-title{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-1.5deg);text-align:center;white-space:nowrap;font:700 calc(var(--col) * .102)/.88 var(--serif);letter-spacing:-.015em;background:linear-gradient(176deg,#fff6df 10%,#f3d9a6 48%,#d0a161 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px rgba(0,0,0,.85)) drop-shadow(0 0 7px rgba(240,190,110,.2))}.hero-title small{display:block;font-size:.66em;margin-left:-1.5em}.hero-tagline{position:absolute;left:50%;top:90.6%;transform:translate(-50%,-50%) rotate(-1deg);white-space:nowrap;font:700 calc(var(--col) * .0505)/1 var(--script);color:#2b2118}@media(min-width:761px){.hero{max-width:760px;margin:0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5%,#000 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.topbar-overlay{position:absolute}}.brass,.brass-sm{border-style:solid;border-color:transparent;background:var(--navy-900) url(/art/texture-navy.webp);background-clip:padding-box}.brass{border-width:9px;border-image:url(/art/brass-frame.webp) 24 / 9px stretch}.brass-sm{border-width:8px;border-image:url(/art/brass-frame-small.webp) 26 / 8px stretch}html.lite .brass,html.lite .brass-sm{border-image:none;border:2px solid var(--brass);border-radius:8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--paper);min-height:96px;padding:0 1px}.stat svg{color:var(--paper)}.stat strong{font:700 28px/1.05 var(--serif)}.stat span{font-size:12.5px;line-height:1.08}.section-head{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:44px}.label-tag{display:inline-flex;align-items:center;gap:7px;color:var(--ink);padding:1px 12px 1px 8px;min-width:0;border:8px solid transparent;border-image:url(/art/parchment-label.webp) 18 fill / 8px stretch}.label-tag svg{flex:none;margin-left:-4px}.label-tag h1,.label-tag h2{font:700 18px/1.15 var(--serif)}.section-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--bronze),transparent);min-width:4px}.view-all{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:15px;min-height:44px;white-space:nowrap;padding-left:4px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-card{position:relative;display:block;overflow:hidden;min-height:150px}.project-card img{position:absolute;inset:0 0 auto;width:100%;height:74%;object-fit:cover;object-position:top}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 34%,rgba(8,27,39,.7) 50%,var(--navy-950) 72%)}.project-card-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;min-height:128px;height:100%;padding:46px 6px 7px;gap:1px}.project-card-name{font:700 19px/1.12 var(--serif);color:var(--paper);text-shadow:0 1px 3px #000;overflow-wrap:anywhere}.project-card-desc{font-size:13.5px;line-height:1.2;color:var(--text);text-shadow:0 1px 2px #000;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-pill{margin-top:5px;width:100%;max-width:230px;padding:3px 8px;border-radius:999px;background:var(--teal-deep);color:#fff;font-size:13px}.parchment{color:var(--ink);padding:0 6px;border:12px solid transparent;border-image:url(/art/parchment-panel.webp) 28 fill / 12px stretch}html.lite .parchment,html.lite .label-tag{border-image:none;background:var(--parchment);border:2px solid var(--bronze);border-radius:6px}.task-list>li+li,.release-list>li+li{border-top:1px solid rgba(113,80,46,.4)}.task-row{display:flex;align-items:center;gap:6px;min-height:52px}.task-check{position:relative;flex:none;width:44px;height:44px;display:grid;place-items:center;margin-left:-6px;cursor:pointer}.task-check input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.task-check .box{width:24px;height:24px;border:2px solid var(--ink);border-radius:5px;background:#fffaeb73;display:grid;place-items:center}.task-check input:checked+.box{background:var(--teal-deep);border-color:var(--teal-deep)}.task-check input:checked+.box:after{content:"";width:6px;height:12px;margin-top:-3px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(42deg)}.task-check input:focus-visible+.box{outline:3px solid var(--teal-deep);outline-offset:2px}.task-main{flex:1;min-width:0;text-align:left;padding:6px 0;min-height:44px}.task-title{display:block;font:700 16px/1.2 var(--serif);overflow-wrap:anywhere}.task-meta{display:block;font-size:13.5px;line-height:1.25;color:var(--ink-soft);overflow-wrap:anywhere}.is-done .task-title{text-decoration:line-through;opacity:.7}.parchment :focus-visible{outline-color:var(--teal-deep)}.parchment .empty{color:var(--ink)}.parchment .empty p{color:var(--ink-soft)}.note-text{padding:8px 0}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.pill{flex:none;display:inline-block;padding:3px 10px;border-radius:7px;font-size:13px;line-height:1.25;color:#fff;white-space:nowrap}.pill-idea,.pill-new,.pill-unverified{background:#5a4a78}.pill-planned,.pill-exploring,.pill-researching{background:#7d5a2e}.pill-in_progress,.pill-active,.pill-ready{background:var(--teal-deep)}.pill-complete,.pill-verified,.pill-promoted{background:#2f6b47}.pill-blueprint{background:#4b3f77}.pill-archived{background:#6b5136}.pill-rejected{background:var(--danger)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:2px}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:112px;gap:3px;color:var(--paper);font-size:15px;line-height:1.12;padding:0 2px}.tile img{width:52px;height:46px;object-fit:contain}.bottomnav{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:3px 2px var(--safe-bottom);background:var(--navy-950) url(/art/texture-navy.webp);border-top:1px solid var(--bronze);box-shadow:0 -1px #e4c58d4d,0 -6px 16px #00000080}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:56px;color:var(--paper);font-size:12px;line-height:1.1;text-align:center;border-radius:8px}.nav-item[aria-current=page]{color:var(--amber)}@media(max-width:345px){.nav-item{font-size:10.5px}.stat span{font-size:11.5px}.tile{font-size:13.5px}.project-card-name,.label-tag h1,.label-tag h2{font-size:17px}.view-all{font-size:14px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:8px 16px;border-radius:9px;border:1.5px solid var(--brass);color:var(--paper);background:var(--navy-800);font-weight:600;text-align:center}.btn-primary{background:linear-gradient(#d9b373,#b58847);border-color:#7b5a30;color:#1f1609}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{align-self:flex-start;background:none;color:var(--brass-hi);border-color:var(--bronze)}.btn-ghost-danger{background:none;color:#f0a79c;border-color:#8c4a40}.btn-wide{width:100%}.sheet .btn{background:var(--paper);color:var(--ink);border-color:var(--bronze)}.sheet .btn-primary{background:linear-gradient(#d9b373,#b58847);color:#1f1609}.sheet .btn-danger{background:var(--danger);color:#fff}.sheet .btn-ghost{background:none;color:var(--ink)}.sheet .btn-ghost-danger{background:none;color:var(--danger);border-color:var(--danger)}input,select,textarea{width:100%;min-height:46px;padding:10px 11px;border-radius:8px;border:1.5px solid var(--bronze);background:var(--navy-900);color:var(--paper);font-size:16px}textarea{resize:vertical;line-height:1.35}input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;accent-color:var(--teal-deep);padding:0}input::placeholder{color:#a99b80}input[type=date]{-webkit-appearance:none;appearance:none}.toolbar{display:flex;flex-direction:column;gap:10px}.chips{display:flex;gap:7px;overflow-x:auto;padding:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--bronze);background:var(--navy-900);color:var(--text);font-size:15px;white-space:nowrap}.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--brass-hi);color:var(--ink);border-color:var(--brass-hi);font-weight:600}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filters label{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--text-soft);min-width:0}.row-gap{display:flex;flex-wrap:wrap;gap:8px}.row-gap .btn{flex:1 1 100px}.muted{color:var(--text-soft)}.muted-sm{color:var(--text-soft);font-size:14px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--brass-hi);min-height:44px;align-self:flex-start}.group-title{font:700 17px/1.2 var(--serif);color:var(--brass-hi);margin-top:4px}.row-btn{display:block;width:100%;text-align:left;padding:9px 0;min-height:48px}.row-pill{display:flex;align-items:center;justify-content:space-between;gap:10px}.row-pill>span:first-child{min-width:0}.row-body{display:block;font-size:15px;line-height:1.3;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}.row-bullets{display:block;font-size:15px;line-height:1.3;margin-top:3px}.row-bullets span{display:block;overflow-wrap:anywhere}.clamp{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.link-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px}.link-row a{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0;min-height:44px}.mini-btn{min-height:44px;min-width:44px;padding:0 8px;font-size:14px;color:var(--ink);text-decoration:underline}.link-list a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--brass-hi)}.detail-head{position:relative;overflow:hidden}.detail-head img{position:absolute;inset:0 0 auto;width:100%;height:150px;object-fit:cover;object-position:top}.detail-head:after{content:"";position:absolute;inset:0 0 auto;height:152px;background:linear-gradient(transparent 35%,var(--navy-900))}.detail-text{position:relative;z-index:1;padding:104px 10px 8px;display:flex;flex-direction:column;gap:6px}.detail-text h1{font:700 27px/1.12 var(--serif);color:var(--paper);text-shadow:0 1px 3px #000;overflow-wrap:anywhere}.detail-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:14.5px;color:var(--text-soft)}.archive-note{font:700 21px/1.2 var(--script);color:var(--brass-hi)}.live-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--teal);align-self:flex-start}.detail-actions{display:flex;gap:8px}.detail-actions .btn{flex:1}.quick-add{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;gap:7px}.quick-add select{padding-inline:6px}.done-list summary{min-height:44px;display:flex;align-items:center;color:var(--brass-hi);cursor:pointer}.sheet{width:100%;max-width:560px;max-height:92dvh;margin:auto auto 0;padding:0;border:0;color:var(--ink);background:var(--parchment) url(/art/texture-parchment.webp);border-radius:16px 16px 0 0;box-shadow:0 -2px 0 var(--brass),0 -10px 40px #000;overscroll-behavior:contain}.sheet::backdrop{background:#040c12ad}.sheet-short{max-height:80dvh}.sheet-body{padding:8px 16px calc(16px + var(--safe-bottom));display:flex;flex-direction:column;gap:10px}.sheet form{display:flex;flex-direction:column;gap:11px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sheet-head h2{font:700 21px/1.2 var(--serif)}.sheet input,.sheet select,.sheet textarea{background:var(--paper);color:var(--ink);border-color:var(--bronze)}.sheet input::placeholder{color:#6d6556}.sheet :focus-visible{outline-color:var(--teal-deep)}.sheet a{color:var(--teal-deep);text-decoration:underline}@media(min-width:640px){.sheet{margin:auto;border-radius:14px}}.field{display:flex;flex-direction:column;gap:4px;border:0;padding:0;margin:0;min-width:0}.field-label{font-size:14.5px;font-weight:600;padding:0}.field-hint{font-size:13.5px;color:var(--ink-soft)}.field-error{font-size:14px;color:var(--danger);font-weight:600}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:4px}.form-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.form-note{font-size:15px}.check-row{display:flex;flex-wrap:wrap;gap:14px}.check-chip,.check-line{display:inline-flex;align-items:center;gap:8px;min-height:44px}.confirm-body{font-size:16px}.picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.picker-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;border:1.5px solid var(--bronze);border-radius:10px;background:var(--paper);font-weight:600}.drawer{display:flex;flex-direction:column}.drawer-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:4px;font-size:17px;color:var(--ink)!important;text-decoration:none!important;border-bottom:1px solid rgba(113,80,46,.35)}.drawer-link[aria-current=page]{font-weight:700;color:var(--teal-deep)!important}.revision{border-top:1px solid rgba(113,80,46,.4);padding-top:8px}.revision-meta{font-size:13.5px;color:var(--ink-soft)}.revision h3{font:700 16px/1.2 var(--serif)}.toasts{position:fixed;inset:auto 12px calc(var(--nav-h) + var(--safe-bottom) + 12px);margin:0 auto;max-width:480px;width:auto;border:0;padding:0;background:none;overflow:visible;color:inherit;pointer-events:none;display:flex;flex-direction:column;gap:6px}.toasts:not(:popover-open){display:flex}.toast{padding:11px 14px;border-radius:9px;background:var(--navy-800);color:var(--paper);border:1.5px solid var(--brass);box-shadow:0 4px 16px #000;text-align:center}.toast-err{background:#5c1f18;border-color:#d98a7e;color:#fff}.banner{position:sticky;top:0;z-index:30;padding:calc(6px + var(--safe-top)) 14px 6px;background:#5a3f12;color:#fff;font-size:14.5px;text-align:center}.banner button{text-decoration:underline;min-height:28px}.empty{text-align:center;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text)}.empty h3{font:700 18px/1.2 var(--serif)}.empty p{color:var(--text-soft)}.skeleton{display:flex;flex-direction:column;gap:9px;padding:6px 0}.skeleton span{height:42px;border-radius:8px;background:linear-gradient(90deg,var(--navy-800),var(--navy-900),var(--navy-800));background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.panel{display:flex;flex-direction:column;gap:10px;padding:14px;border:1.5px solid var(--bronze);border-radius:10px;background:#102c3bcc}.panel .field-hint{color:var(--text-soft)}.facts{margin:0}.facts div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.facts dt{color:var(--text-soft)}.facts dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.auth{min-height:100dvh;display:grid;place-items:center;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom))}.auth-card{width:100%;max-width:420px;padding:18px 14px;display:flex;flex-direction:column;gap:12px}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card .field-hint{color:var(--text-soft)}.auth-mark{font:700 calc(var(--col) * .06)/1 var(--serif);color:var(--brass-hi);text-align:center}@media(min-width:500px){.auth-mark{font-size:30px}}.auth h1{font:700 20px/1.2 var(--serif);text-align:center;color:var(--paper)}.auth-alt{display:flex;flex-direction:column;align-items:center;gap:4px}.link-btn{min-height:44px;text-decoration:underline;color:var(--brass-hi)}.auth-ok{color:#9fe2c4;text-align:center}.auth-err{color:#ffb4a8;text-align:center}code{background:var(--navy-800);padding:1px 5px;border-radius:4px}@media(min-width:1024px){.app{padding:0 0 24px 200px}.bottomnav{inset:0 auto 0 0;width:200px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:80px 10px 10px;border-top:0;border-right:1px solid var(--bronze);box-shadow:1px 0 #e4c58d4d,6px 0 16px #00000080}.nav-item{flex-direction:row;justify-content:flex-start;gap:12px;padding:0 12px;font-size:16px;min-height:48px}.toasts{inset:auto 24px 24px auto}}@media(min-width:640px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{min-height:180px}.tile{min-height:124px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
