.portal{--warn: #e8835a;--warn-soft: rgba(232, 131, 90, .14);--ok-soft: rgba(127, 176, 105, .14);--ease: cubic-bezier(.22, 1, .36, 1);min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(70rem 30rem at 85% -10%,rgba(242,183,5,.06),transparent 60%),var(--ink-950)}[hidden]{display:none!important}.ptop{position:sticky;top:0;z-index:40;background:#0c0d09d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.ptop__inner{max-width:var(--container);margin-inline:auto;padding:.7rem var(--gutter);display:flex;align-items:center;gap:1rem 1.5rem;flex-wrap:wrap}.ptop__brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}.ptop__word{font-family:var(--font-display);font-weight:650;font-size:1.05rem;letter-spacing:-.01em}.ptop__sep{width:1px;height:1.1rem;background:var(--line-strong)}.ptop__area{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--honey)}.ptop__nav{display:flex;gap:.25rem}.ptop__nav a{font-size:.92rem;text-decoration:none;color:var(--text-2);padding:.4rem .7rem;border-radius:2px;transition:color .15s ease,background .15s ease}.ptop__nav a:hover{color:var(--text);background:#edead90d}.ptop__nav a[aria-current=page]{color:var(--honey-soft);box-shadow:inset 0 -2px 0 var(--honey)}.ptop__right{margin-left:auto;display:flex;align-items:center;gap:.75rem;min-width:0}.ptop__user{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptop__dev{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;color:var(--ink-950);background:var(--warn);padding:.2rem .5rem;max-width:12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptop__lang,.ptop__logout{display:inline-flex;align-items:center;gap:.4rem;font:500 .78rem/1 var(--font-mono);letter-spacing:.06em;color:var(--text-2);background:transparent;border:1px solid var(--line-strong);padding:.45rem .6rem;cursor:pointer;text-decoration:none;transition:border-color .15s ease,color .15s ease}.ptop__lang:hover,.ptop__logout:hover{border-color:var(--honey);color:var(--honey-soft)}@media(max-width:760px){.ptop__user,.ptop__word,.ptop__sep{display:none}.ptop__inner{gap:.6rem .75rem}.ptop__nav{order:3;width:100%;margin-inline:-.7rem}.ptop__logout span{display:none}.ptop__dev{max-width:5.5rem}}.pmain{flex:1;padding-block:clamp(2rem,4vw,3.5rem) clamp(3rem,6vw,5rem)}.pfoot{border-top:1px solid var(--line);padding-block:1.25rem;font-size:.82rem;color:var(--muted)}.pfoot__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}.pfoot a{color:var(--text-2)}.phead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem 2rem;margin-bottom:clamp(1.75rem,3.5vw,2.75rem)}.phead h1{font-size:var(--step-4)}.phead .lead{margin-top:.6rem;max-width:52ch;font-size:var(--step-0)}.psection+.psection{margin-top:clamp(2.25rem,4.5vw,3.5rem)}.psection__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.psection__title{font-family:var(--font-mono);font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.psection__count{font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.split{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:minmax(0,1fr)}@media(min-width:980px){.split{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start}.split>aside{position:sticky;top:5.5rem}}.fade-in{animation:pfade .45s var(--ease) both}@keyframes pfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.portal .card:not(a):hover{transform:none;border-color:var(--line)}.skel{display:block;border-radius:2px;background:linear-gradient(90deg,var(--ink-850) 0%,var(--ink-800) 40%,var(--ink-850) 80%);background-size:200% 100%;animation:pshimmer 1.4s ease-in-out infinite}.skel--line{height:.85rem;margin-top:.7rem}.skel--title{height:1.6rem;width:60%}.skel--card{height:13rem;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}@keyframes pshimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pill{--pc: var(--text-2);display:inline-flex;align-items:center;gap:.45rem;font:500 .7rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pc);padding:.38rem .6rem;background:color-mix(in srgb,var(--pc) 12%,transparent);border:1px solid color-mix(in srgb,var(--pc) 35%,transparent);white-space:nowrap}.pill__dot{width:7px;height:8px;background:currentColor;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.pill--discovery{--pc: #a9b4c9}.pill--design,.pill--build,.pill--review{--pc: var(--honey)}.pill--live{--pc: var(--ok)}.pill--maintenance{--pc: #9fc2b4}.pill--d-pending{--pc: var(--honey)}.pill--d-approved{--pc: var(--ok)}.pill--d-changes_requested{--pc: var(--warn)}.pill--review .pill__dot,.pill--d-pending .pill__dot{animation:ppulse 2.2s ease-in-out infinite}@keyframes ppulse{50%{opacity:.35}}.vtag{font:500 .7rem/1 var(--font-mono);color:var(--text-2);border:1px solid var(--line-strong);padding:.3rem .45rem}.progress{position:relative;height:6px;background:var(--ink-800);overflow:hidden}.progress__bar{position:absolute;inset:0 auto 0 0;width:var(--p, 0%);background:linear-gradient(90deg,var(--honey-deep),var(--honey) 70%,var(--honey-soft));transition:width .9s var(--ease)}.progress__bar:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:#fff6d0;box-shadow:0 0 10px 2px #f2b70599}.progress-row{display:flex;align-items:center;gap:.9rem}.progress-row .progress{flex:1}.progress-row__value{font:500 .82rem/1 var(--font-mono);color:var(--text);min-width:3ch;text-align:right}.pstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.pstats .stat__value{font-size:var(--step-3)}@media(max-width:520px){.pstats{gap:.75rem}.pstats .stat{padding-left:.7rem}.pstats .stat__label{font-size:.7rem}}.pgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr))}.pcard{display:flex!important;flex-direction:column;gap:.9rem;color:var(--text)}.pcard:hover{color:var(--text)}.pcard__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pcard__client{font:500 .7rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.pcard h3{font-size:var(--step-1)}.pcard__desc{color:var(--text-2);font-size:.92rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font:.75rem/1.4 var(--font-mono);color:var(--muted);padding-top:.9rem;border-top:1px solid var(--line)}.pcard__alert{color:var(--honey)}.pcard__go{color:var(--honey);transition:transform .2s var(--ease)}.pcard:hover .pcard__go{transform:translate(4px)}.plist{list-style:none;padding:0;border-top:1px solid var(--line)}.plist li{border-bottom:1px solid var(--line)}.plist a{display:flex;align-items:center;gap:.85rem;padding:.85rem .25rem;text-decoration:none;color:var(--text);transition:background .15s ease,padding .2s var(--ease)}.plist a:hover{background:#f2b7050a;padding-left:.6rem;color:var(--text)}.plist .kind-icon{color:var(--honey);flex:none}.plist__main{min-width:0;flex:1}.plist__title{display:block;font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plist__sub{display:block;font:.74rem/1.4 var(--font-mono);color:var(--muted)}.plist__cta{font:500 .72rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--honey)}.feed{list-style:none;padding:0;position:relative}.feed:before{content:"";position:absolute;left:5px;top:.6rem;bottom:.6rem;width:1px;background:var(--line-strong)}.feed__item{position:relative;display:flex;gap:1rem;padding:.55rem 0}.feed__marker{position:relative;flex:none;width:11px;height:12.7px;margin-top:.35rem;background:var(--ink-950);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.feed__marker:after{content:"";position:absolute;inset:2px;background:var(--mc, var(--muted));clip-path:inherit}.feed__item--ok{--mc: var(--ok)}.feed__item--warn{--mc: var(--warn)}.feed__item--honey{--mc: var(--honey)}.feed__text{font-size:.92rem;line-height:1.45;color:var(--text)}.feed__meta{font:.72rem/1.5 var(--font-mono);color:var(--muted);margin-top:.15rem}.feed__project{color:var(--text-2)}.empty{text-align:center;padding:clamp(2rem,5vw,3.5rem) 1.5rem;border:1px dashed var(--line-strong)}.empty svg{margin:0 auto 1rem;color:var(--honey);opacity:.85}.empty h3{font-size:var(--step-1)}.empty p{margin:.5rem auto 0;max-width:40ch;color:var(--text-2);font-size:.95rem}.muted-note{color:var(--muted);font-size:.9rem}.pstate{display:grid;place-items:center;min-height:50vh}.state-card{max-width:34rem;text-align:center;padding:clamp(2rem,5vw,3rem)!important;animation:pfade .5s var(--ease) both}.state-card__icon{margin:0 auto 1.25rem;color:var(--honey)}.state-card__title{font-size:var(--step-3);outline:none}.state-card__text{margin-top:.85rem;color:var(--text-2)}.state-card__actions{margin-top:1.6rem;display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.btn--sm{font-size:.88rem;padding:.7rem 1.05rem}.btn--xs{font-size:.8rem;padding:.5rem .8rem}.btn--ok{background:var(--ok);color:var(--ink-950)}.btn--ok:hover{background:#96c682;color:var(--ink-950)}.btn--warn{background:transparent;color:var(--warn);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 55%,transparent)}.btn--warn:hover{color:#f2a07d;box-shadow:inset 0 0 0 1px var(--warn)}.btn--danger{background:var(--warn)!important;color:var(--ink-950)!important}.btn[disabled]{opacity:.55;cursor:progress}.btn.is-busy:after{content:"";width:.85em;height:.85em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pspin .7s linear infinite}@keyframes pspin{to{transform:rotate(360deg)}}.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--muted);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.linkbtn:hover{color:var(--warn)}.pform{display:grid;gap:.9rem}.pform__row{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr))}.field{display:grid;gap:.35rem}.field>span{font:500 .72rem/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.field input,.field select,.field textarea,.pfield{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--ink-950);border:1px solid var(--line-strong);border-radius:0;padding:.7rem .8rem;transition:border-color .15s ease,box-shadow .15s ease}.field textarea,textarea.pfield{min-height:6.5rem;resize:vertical;line-height:1.5}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--honey) 50%),linear-gradient(135deg,var(--honey) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.2rem}.field input:focus,.field select:focus,.field textarea:focus,.pfield:focus{outline:none;border-color:var(--honey);box-shadow:0 0 0 3px var(--honey-glow)}.field input:user-invalid{border-color:var(--warn)}.field__hint{font-size:.8rem;color:var(--muted)}.pform__actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.ptoasts{position:fixed;z-index:60;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));left:auto;display:grid;gap:.6rem;width:min(24rem,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;cursor:pointer;padding:.85rem 1rem .85rem 1.1rem;background:var(--ink-800);border:1px solid var(--line-strong);border-left:3px solid var(--ok);color:var(--text);font-size:.92rem;box-shadow:0 18px 40px #00000073;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .3s var(--ease),transform .3s var(--ease)}.toast--error{border-left-color:var(--warn)}.toast.is-in{opacity:1;transform:none}.pdialog{margin:auto;border:1px solid var(--line-strong);background:linear-gradient(160deg,var(--ink-850),var(--ink-900));color:var(--text);padding:0;width:min(28rem,calc(100vw - 2rem));clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.pdialog[open]{animation:pfade .3s var(--ease) both}.pdialog::backdrop{background:#050603b3;backdrop-filter:blur(3px)}.pdialog__inner{padding:1.6rem}.pdialog h2{font-size:var(--step-2)}.pdialog p{margin-top:.75rem;color:var(--text-2)}.pdialog__actions{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.fade-in,.state-card,.pdialog[open]{animation:none}.skel,.pill__dot{animation:none!important}.progress__bar,.toast{transition:none}}
