/* knossos.bar /app: loaded after css/site.css. Reuses the site's type (Zalando Sans, Geist Mono), eyebrows, .action
   buttons, square cards and spacing; everything here is the app's own layout. Palette: forest #1a4a2b, ink #15331e,
   lime #b2e177, aqua #9fede5, background #f8f9f7. */

.app{--forest:#1a4a2b;--ink:#15331e;--lime:#b2e177;--aqua:#9fede5;--paper:#f8f9f7;--line:#b4c7b6;--line-soft:#d3e0d5;--muted:#647666;--card:#ffffff8c;--tint:#e5ede6;--stop:#8f2f3f;padding-bottom:120px;overflow-wrap:anywhere}
:where(.app button:not(.action)){font:inherit;color:inherit}
.app button:disabled,.app [aria-disabled=true]{cursor:not-allowed}
.app .action{border:0;padding:0;cursor:pointer;text-align:left}
.app .action:disabled{opacity:.45}
.app .action:disabled:hover .action-label,.app .action:disabled:hover .action-label-copy{transform:none}
.app .action:disabled:hover .action-square{background:#b3cb98}
.app .action:disabled:hover svg{transform:none}
.app-txs .action{border:0;padding:0}
.app [hidden]{display:none!important}
.app a.k-link,.app .k-link{text-decoration:underline;text-decoration-color:#9db781;text-underline-offset:3px}
.app .k-mono{font-family:Geist Mono,monospace}

/* head: lead copy and the wallet */
.app>h1{margin-bottom:34px}
.app-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:44px}
.app-lead{max-width:640px;color:var(--muted);font-size:20px;line-height:1.6}
.app-wallet{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;position:relative;min-height:50px}
.k-chip{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 16px;border:1px solid var(--line);background:var(--card);font:12px Geist Mono,monospace;text-transform:uppercase;color:var(--ink)}
.k-chip i{width:7px;height:7px;background:#9db781;display:inline-block;flex-shrink:0}
.k-chip.is-warn i{background:var(--stop)}
.k-chip small{opacity:.6}
.k-wallets{position:absolute;right:0;top:calc(100% + 8px);z-index:5;min-width:260px;display:grid;background:#f6f9f6;border:1px solid var(--line);box-shadow:0 24px 48px #28442d1f}
.k-wallets button{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;background:0 0;border-bottom:1px solid var(--line-soft);font:13px Geist Mono,monospace;text-transform:uppercase;text-align:left}
.k-wallets button:last-child{border-bottom:0}
.k-wallets button:hover{background:#dfe9df}
.k-wallets img{width:22px;height:22px}

/* notice under the head */
.app-notice{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px 28px;align-items:baseline;padding:22px 26px;margin-bottom:44px;background:#e9f1e3;border:1px solid #c9dbb6;border-left:3px solid var(--lime)}
.app-notice[hidden]{display:none}
.app-notice p{color:#3f5543;font-size:16px;line-height:1.55}
.app-notice.is-warn{background:#f3ecec;border-color:#e2cfd2;border-left-color:var(--stop)}

/* section tabs */
.app-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:56px}
.app-tabs a{display:flex;align-items:center;gap:14px;min-height:60px;padding:0 20px;border-right:1px solid var(--line);font:12px Geist Mono,monospace;text-transform:uppercase;transition:background .25s}
.app-tabs a:last-child{border-right:0}
.app-tabs a small{opacity:.5;flex-shrink:0;white-space:nowrap}
.app-tabs a:hover{background:#e3ece3}
.app-tabs a[aria-current=page]{background:var(--forest);color:#fff}
.app-tabs a[aria-current=page] small{opacity:.6}

/* section headings inside a view */
.k-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:36px}
.k-head h2{letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(36px,4.4vw,60px);font-weight:400;line-height:.98;margin-top:18px}
.k-head>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.k-head p{color:var(--muted);max-width:440px;font-size:16px;line-height:1.55}
.k-sub{margin:72px 0 26px;display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px}
.k-sub h3{font-size:28px;font-weight:400;letter-spacing:-.6px}
.k-sub>span{color:var(--muted);font:12px Geist Mono,monospace;text-transform:uppercase}

/* cards */
.k-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.k-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.k-card{display:flex;flex-direction:column;gap:20px;min-width:0;padding:30px;border:1px solid var(--line-soft);background:var(--card);transition:border-color .25s,transform .4s cubic-bezier(.16,1,.3,1)}
a.k-card:hover{border-color:#98b07f;transform:translateY(-3px)}
.k-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.k-figure{display:block;font-size:44px;font-weight:400;letter-spacing:-2px;line-height:1}
.k-figure small{font-size:15px;letter-spacing:0;margin-left:8px;color:var(--muted)}
.k-card>p,.k-muted{color:var(--muted);font-size:15px;line-height:1.55}
.k-dl{display:grid;gap:12px;margin:0;font:11px Geist Mono,monospace;text-transform:uppercase}
.k-dl>div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line-soft);padding-top:11px}
.k-dl dt{opacity:.6;flex-shrink:0}
.k-dl dd{margin:0;text-align:right;min-width:0;overflow-wrap:anywhere}
.k-card .text-link{margin-top:auto}
.k-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;font:10px Geist Mono,monospace;text-transform:uppercase;white-space:nowrap;background:#deece1;color:#2f5a3a}
.k-pill.is-live{background:var(--lime);color:var(--ink)}
.k-pill.is-wait{background:#d9f3ef;color:#21544d}
.k-pill.is-stop{background:#f1e1e3;color:var(--stop)}
.k-pill.is-gold{background:var(--forest);color:#fff}

/* figures row (endowment page, dashboard) */
.k-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line-soft);border-top:1px solid var(--line-soft)}
.k-stat{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:168px;min-width:0;padding:26px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--card)}
.k-stat strong{display:block;font-size:36px;font-weight:400;letter-spacing:-1.4px;line-height:1.05}
.k-stat strong small{font-size:14px;letter-spacing:0;margin-left:6px;color:var(--muted)}
.k-stat>span{color:var(--muted);font-size:13px;line-height:1.45}
.k-stat .eyebrow{font-size:11px}

/* lists of rows (holdings, facts, mandates of an owner) */
.k-rows{border-top:1px solid var(--line)}
.k-rows>div{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line-soft);font-size:16px}
.k-rows>div.is-head{font:11px Geist Mono,monospace;text-transform:uppercase;color:var(--muted);padding:12px 0}
.k-rows b{font-weight:500}
.k-rows span{min-width:0}

/* panels with an action (give, accept, draw, keep, reclaim) */
.k-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.k-panel{display:flex;flex-direction:column;gap:18px;min-width:0;padding:34px;border:1px solid var(--line-soft);background:var(--card);border-top:3px solid #98b07f}
.k-panel.is-quiet{border-top-color:var(--line-soft);background:#ffffff4d}
.k-panel h3{font-size:28px;font-weight:400;letter-spacing:-.8px;line-height:1.1}
.k-panel>p{color:var(--muted);font-size:15px;line-height:1.55}
.k-panel .k-actions{margin-top:auto}
.k-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.k-note{color:var(--muted);font-size:13px;line-height:1.5}
.k-note.is-warn{color:var(--stop)}
.k-note.is-ok{color:#2f5a3a}

/* secondary buttons */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid var(--line)!important;background:transparent;font:12px Geist Mono,monospace!important;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background .25s}
.k-btn:hover:not(:disabled){background:#d8e5d8}
.k-btn:disabled{opacity:.45}
.k-btn.is-solid{background:var(--forest);border-color:var(--forest)!important;color:#fff}
.k-btn.is-solid:hover:not(:disabled){background:#2d643b}
.k-x{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid var(--line)!important;background:transparent;cursor:pointer}
.k-x:hover:not(:disabled){background:#e9d9dc}

/* forms: steps laid out like the roadmap stages */
.k-form{border-top:1px solid var(--line)}
.k-form fieldset{border:0;margin:0;padding:0;min-width:0}
.k-step{display:grid;grid-template-columns:minmax(170px,1fr) 3fr;gap:40px;padding:36px 0;border-bottom:1px solid var(--line)}
.k-step>header h3{margin-top:12px;font-size:26px;font-weight:400;letter-spacing:-.6px;line-height:1.15}
.k-step>header p{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.5;max-width:260px}
.k-step>div{display:grid;gap:20px;min-width:0}
.k-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px}
.k-field{display:grid;gap:10px;min-width:0}
.k-field>span:first-child,.k-label{font:11px Geist Mono,monospace;text-transform:uppercase;color:var(--ink)}
.k-field input:not([type=checkbox]),.k-field select,.k-field textarea{width:100%;min-height:50px;padding:12px 14px;border:0;border-bottom:1px solid #9fb8a3;border-radius:0;background:#ffffffa6;color:var(--ink);font:16px Zalando Sans,Arial,sans-serif;outline-offset:2px;-webkit-appearance:none;appearance:none}
.k-field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.k-field textarea{min-height:110px;resize:vertical;font-family:Geist Mono,monospace;font-size:14px;line-height:1.5}
.k-field input:focus,.k-field select:focus,.k-field textarea:focus{outline:2px solid #4f845b}
.k-field input:disabled,.k-field select:disabled,.k-field textarea:disabled{opacity:.6}
.k-field small{color:var(--muted);font-size:13px;line-height:1.45}
.k-field.is-bad input{border-bottom-color:var(--stop)}
.k-stock{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) 48px;gap:12px;align-items:end}
.k-checks{display:flex;flex-wrap:wrap;gap:10px}
.k-check{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border:1px solid var(--line);background:#ffffff59;font:12px Geist Mono,monospace;text-transform:uppercase;cursor:pointer}
.k-check input{width:18px;height:18px;accent-color:var(--forest);margin:0;flex-shrink:0}
.k-submit{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;justify-content:space-between;padding:36px 0}
.k-submit p{color:var(--muted);font-size:15px;max-width:560px;line-height:1.55}

/* empty states and placeholders */
.k-empty{display:grid;gap:14px;justify-items:start;padding:44px;border:1px dashed var(--line);background:#ffffff40}
.k-empty h3{font-size:28px;font-weight:400;letter-spacing:-.6px}
.k-empty p{color:var(--muted);max-width:560px;line-height:1.55}
.k-loading{color:var(--muted);font:12px Geist Mono,monospace;text-transform:uppercase;padding:30px 0}
.k-more{display:flex;justify-content:center;margin-top:32px}

/* endowment page head */
.k-detail-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin:28px 0 40px}
.k-detail-head h2{letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:.98;margin:16px 0 12px}
.k-addr{font:12px Geist Mono,monospace;color:var(--muted)}
.k-mark{display:grid;gap:14px;padding:26px;background:linear-gradient(135deg,#d6e6c4,#e3eedb 60%,#d8f1ed);border:1px solid #c3d8b8}
.k-mark strong{font-size:40px;font-weight:400;letter-spacing:-1.6px;line-height:1}

/* contracts list at the foot of the app */
.app-contracts{margin-top:96px}
.app-contracts:empty{display:none}
.app-contracts .k-rows>div{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}

/* transaction tray */
.app-txs{position:fixed;right:24px;bottom:24px;z-index:20;display:grid;gap:10px;width:min(420px,calc(100vw - 32px))}
.app-txs:empty{display:none}
.k-tx{position:relative;display:grid;gap:12px;padding:20px 64px 20px 22px;background:#f6f9f6;border:1px solid var(--line);border-top:3px solid #98b07f;box-shadow:0 24px 48px #28442d24;color:var(--ink);font-size:14px}
.k-tx.is-bad{border-top-color:var(--stop)}
.k-tx.is-done{border-top-color:var(--forest)}
.k-tx h4{font-size:18px;font-weight:400;letter-spacing:-.3px}
.k-tx ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.k-tx li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;font-size:13px;line-height:1.45}
.k-tx li i{width:8px;height:8px;margin-top:5px;background:var(--line);display:block}
.k-tx li.is-run i{background:var(--aqua);animation:k-blink 1s steps(2) infinite}
.k-tx li.is-ok i{background:var(--forest)}
.k-tx li.is-bad i{background:var(--stop)}
.k-tx li.is-skip i{background:#cfdad0}
.k-tx li a{text-decoration:underline;text-underline-offset:3px}
.k-tx .k-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0!important}
@keyframes k-blink{50%{opacity:.25}}

@media (max-width:1100px){
  .app-tabs a{padding:0 14px;gap:10px}
  .k-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:800px){
  .app{padding-bottom:80px}
  .app-head{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  .app-lead{font-size:17px}
  .app-wallet{justify-content:flex-start}
  .k-wallets{left:0;right:auto;width:100%}
  .app-notice{grid-template-columns:1fr;padding:18px 20px;margin-bottom:32px}
  .app-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:40px}
  .app-tabs a{min-height:52px;padding:0 14px;gap:10px;border-bottom:1px solid var(--line)}
  .app-tabs a:nth-child(2n){border-right:0}
  .app-tabs a:nth-last-child(-n+2){border-bottom:0}
  /* an odd count (five with the terminal): the last tab spans the row, the one above it keeps its rule */
  .app-tabs a:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
  .app-tabs a:nth-child(even):nth-last-child(2){border-bottom:1px solid var(--line)}
  .k-head{grid-template-columns:1fr;gap:18px}
  .k-grid,.k-grid.is-two,.k-panels{grid-template-columns:1fr}
  .k-card,.k-panel{padding:24px}
  .k-figure{font-size:38px}
  .k-stat{min-height:132px;padding:20px}
  .k-stat strong{font-size:28px}
  .k-step{grid-template-columns:1fr;gap:20px;padding:28px 0}
  .k-step>header p{max-width:none}
  .k-rows>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 16px;font-size:15px}
  .k-rows>div.is-head{display:none}
  .k-rows>div>span:nth-child(2n){text-align:right}
  .k-empty{padding:28px 22px}
  .k-sub{margin-top:56px}
  .k-sub h3{font-size:24px}
  .app-txs{left:16px;right:16px;bottom:16px;width:auto}
}
@media (max-width:480px){
  .app-tabs a{font-size:11px}
  .k-stat{min-height:118px;padding:16px;gap:14px}
  .k-stat strong{font-size:23px;letter-spacing:-.8px}
  .k-stat strong small{font-size:12px;margin-left:4px}
  .k-stat>span{font-size:12px}
  .k-stat .eyebrow{font-size:10px}
  .k-stock{grid-template-columns:minmax(0,1fr) 92px 48px;gap:10px}
  .app-wallet>*{flex:1 1 auto}
  .app-wallet .action{width:100%}
  .k-actions>.action,.k-submit>.action{width:100%}
  .k-actions>.k-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){.k-tx li.is-run i{animation:none}}
