@font-face{font-family:"Newsreader";src:url(fonts/newsreader-variable.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Marcellus";src:url(fonts/marcellus-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Layout: logo + big search across the top; below it libraries | templates | open template. Phones: search on top, one screen at a time. Argo tokens, exact. */
:root{
  --oxblood:#8C363F; --sailcloth:#F0EDE6; --night:#2A1416;
  --ground:#F0EDE6; --raised:#F7F5F0; --sunk:#E6E0D4; --wash:#EBDDD8;
  --ink:#3B1A1E; --ink-soft:#6B4447; --accent:#8C363F; --rule:#D8CCBF; --rule-strong:#A0807C;
  --fill:#8C363F; --on-fill:#F0EDE6; --focus:#5E2329;
  --shadow:0 1px 0 rgba(59,26,30,.10),0 6px 18px rgba(59,26,30,.08);
  --display:"Marcellus","Trajan Pro","Times New Roman",serif;
  --text:"Newsreader",Georgia,"Times New Roman",serif;
  --r-sm:3px; --r-md:6px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#2A1416; --raised:#341B1E; --sunk:#211012; --wash:#43242A;
  --ink:#F0EDE6; --ink-soft:#CDB9B4; --accent:#E09A9F; --rule:#4A2C30; --rule-strong:#8A6266;
  --fill:#F0EDE6; --on-fill:#5E2329; --focus:#F0EDE6; --shadow:0 1px 0 rgba(0,0,0,.30),0 10px 28px rgba(0,0,0,.45); color-scheme:dark}}
:root[data-theme="dark"]{
  --ground:#2A1416; --raised:#341B1E; --sunk:#211012; --wash:#43242A;
  --ink:#F0EDE6; --ink-soft:#CDB9B4; --accent:#E09A9F; --rule:#4A2C30; --rule-strong:#8A6266;
  --fill:#F0EDE6; --on-fill:#5E2329; --focus:#F0EDE6; --shadow:0 1px 0 rgba(0,0,0,.30),0 10px 28px rgba(0,0,0,.45); color-scheme:dark}
/* explicit choice from Pandora's own Appearance menu wins */
:root[data-look="sailcloth"]{
  --ground:#F0EDE6; --raised:#F7F5F0; --sunk:#E6E0D4; --wash:#EBDDD8;
  --ink:#3B1A1E; --ink-soft:#6B4447; --accent:#8C363F; --rule:#D8CCBF; --rule-strong:#A0807C;
  --fill:#8C363F; --on-fill:#F0EDE6; --focus:#5E2329; --shadow:0 1px 0 rgba(59,26,30,.10),0 6px 18px rgba(59,26,30,.08); color-scheme:light}
:root[data-look="night"]{
  --ground:#2A1416; --raised:#341B1E; --sunk:#211012; --wash:#43242A;
  --ink:#F0EDE6; --ink-soft:#CDB9B4; --accent:#E09A9F; --rule:#4A2C30; --rule-strong:#8A6266;
  --fill:#F0EDE6; --on-fill:#5E2329; --focus:#F0EDE6; --shadow:0 1px 0 rgba(0,0,0,.30),0 10px 28px rgba(0,0,0,.45); color-scheme:dark}
:root[data-look="canopus"]{
  --ground:#000000; --raised:#120A0B; --sunk:#000000; --wash:#2A1416;
  --ink:#F0EDE6; --ink-soft:#C4B2AE; --accent:#E09A9F; --rule:#2B1C1E; --rule-strong:#7A5F63;
  --fill:#F0EDE6; --on-fill:#5E2329; --focus:#F0EDE6; --shadow:0 0 0 1px rgba(240,237,230,.08); color-scheme:dark}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--ground);color:var(--ink);font-family:var(--text);font-size:17px;line-height:27px;
  font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
button,input,select{font:inherit;color:inherit;font-variant-numeric:lining-nums tabular-nums}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app{display:flex;flex-direction:column;height:100%}

/* top bar with the search as the main control */
.top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--rule);background:var(--raised)}
.brand{display:flex;align-items:center;gap:10px;color:var(--accent);text-decoration:none;border:0;background:none;padding:0}
.brand .emb{width:46px;height:46px}
.wm{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.wm b{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:.2em}
.wm small{font-family:var(--display);font-size:9px;letter-spacing:.5em;margin-top:6px}
.search{padding:16px 16px 12px;border-bottom:1px solid var(--rule);background:var(--raised);position:sticky;top:0;z-index:5}
.search .field{display:flex;align-items:center;gap:10px;height:54px;padding:0 10px 0 18px;border:2px solid var(--accent);border-radius:999px;background:var(--ground);box-shadow:var(--shadow)}
.search .field:focus-within{border-color:var(--accent);outline:2px solid var(--focus);outline-offset:2px}
.search .field svg.i{width:24px;height:24px;color:var(--accent)}
.search input{flex:1;min-width:0;border:0;background:none;font-size:19px;line-height:29px;outline:none}
.search input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}
.search input::placeholder{color:var(--ink-soft)}
.search .clear{border:0;background:none;color:var(--ink-soft);display:none;padding:6px}
.search.has .clear{display:inline-flex}
.kbd{font-family:var(--text);font-size:13px;line-height:18px;border:1px solid var(--rule-strong);border-radius:var(--r-sm);padding:1px 7px;color:var(--ink-soft)}
.scope{display:flex;gap:4px;padding:3px;border:1px solid var(--rule);border-radius:999px;background:var(--raised)}
.scope button{border:0;background:none;border-radius:999px;padding:3px 12px;font-size:15px;line-height:23px;color:var(--ink-soft);white-space:nowrap}
.scope button[aria-pressed="true"]{background:var(--fill);color:var(--on-fill)}
.searchinfo{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:15px;line-height:23px;color:var(--ink-soft);min-height:23px}
.tools{display:flex;gap:6px;align-items:center}
.iconbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule-strong);background:var(--raised);border-radius:var(--r-sm);padding:7px 10px;color:var(--accent);font-size:15px;line-height:23px}
.iconbtn[aria-pressed="true"]{background:var(--wash)}
.iconbtn .t{color:var(--ink)}

.cols{flex:1;display:grid;grid-template-columns:240px 400px minmax(0,1fr);min-height:0}
.side,.list,.detail{min-height:0;overflow:auto}
.side{border-right:1px solid var(--rule);padding:18px 12px 0;display:flex;flex-direction:column;gap:24px}
.list{border-right:1px solid var(--rule);display:flex;flex-direction:column}
.detail{padding:24px 28px 48px}
.label{font-family:var(--display);font-size:12px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px 8px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav button{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;padding:6px 8px;border-radius:var(--r-sm);font-size:16px;line-height:24px}
.nav button svg.i{color:var(--accent)}
.nav button:hover{background:var(--sunk)}
.nav button[aria-current="true"]{background:var(--wash);font-weight:600}
.nav .n{margin-left:auto;color:var(--ink-soft);font-size:14px;font-weight:400}
.tagrow{display:flex;flex-wrap:wrap;gap:8px;padding-left:4px}
.chip{border:1px solid var(--rule-strong);background:var(--raised);border-radius:999px;padding:1px 10px;font-size:15px;line-height:23px}
.chip[aria-pressed="true"]{background:var(--fill);color:var(--on-fill);border-color:var(--fill)}
.marks{display:flex;gap:6px;padding-left:4px;flex-wrap:wrap}
.markbtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule-strong);border-radius:var(--r-sm);background:var(--raised);color:var(--accent)}
.markbtn[aria-pressed="true"]{background:var(--wash);border-color:var(--accent)}
svg.mk{width:14px;height:14px;fill:currentColor;stroke:currentColor;stroke-width:1.7}
.sortrow{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:15px;line-height:23px;color:var(--ink-soft);border-bottom:1px solid var(--rule)}
.sortrow select{border:0;background:none;color:var(--ink-soft);font-size:15px}
.newbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--accent);font-size:15px;padding:2px 4px}
.rows{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:12px 16px 12px 10px;border-bottom:1px solid var(--rule);cursor:pointer}
.row:hover{background:var(--sunk)}
.row[aria-selected="true"]{background:var(--wash)}
.row .mkcell{color:var(--accent);padding-top:6px;display:flex;justify-content:center}
.row .t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .s{color:var(--ink-soft);font-size:15px;line-height:23px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .meta{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;line-height:20px;color:var(--ink-soft)}
.row .lib{font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.row .why{font-style:italic}
.row .right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:14px;color:var(--ink-soft)}
.star{border:0;background:none;color:var(--accent);padding:2px;display:inline-flex}
.star[aria-pressed="true"] svg{fill:currentColor}
mark{background:var(--wash);color:var(--ink);border-bottom:2px solid var(--accent);padding:0 1px}
.empty{padding:40px 20px;text-align:center;color:var(--ink-soft)}
.empty h3{font-family:var(--display);color:var(--accent);font-weight:400;font-size:21px;line-height:27px;margin:0 0 6px}
.dhead{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.dhead h1{font-family:var(--display);font-weight:400;font-size:28px;line-height:34px;color:var(--accent);margin:0;text-wrap:balance;flex:1;min-width:0}
.dmeta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px;font-size:15px;line-height:23px;color:var(--ink-soft);align-items:center}
.tag{border:1px solid var(--rule);border-radius:999px;padding:0 10px;font-size:14px;line-height:22px;display:inline-flex;align-items:center;gap:6px}
.card{background:var(--raised);border:1px solid var(--rule);border-radius:var(--r-sm);box-shadow:var(--shadow)}
.subject{display:flex;gap:12px;align-items:center;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap}
.subject .k{font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.subject .v{flex:1;min-width:0}
.tabs{display:flex;gap:2px;flex-wrap:wrap;margin-bottom:8px}
.tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:2px 10px;font-size:15px;color:var(--ink-soft)}
.tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.body{padding:20px 22px;max-width:68ch}
.body p{margin:0 0 .7em}
.body ul,.body ol{margin:0 0 .7em;padding-left:1.3em}
.body a{color:var(--accent)}
.fill{font:inherit;font-size:1em;line-height:1.35;cursor:pointer;background:var(--wash);color:var(--ink);border:0;border-bottom:1.5px dashed var(--accent);border-radius:var(--r-sm) var(--r-sm) 0 0;padding:0 5px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;vertical-align:baseline}
.fill svg.i{width:14px;height:14px;color:var(--accent)}
.fill:hover{border-color:var(--accent)}
.fill.set{border-bottom-style:solid;background:transparent;color:var(--accent);font-weight:600}
.pop{position:fixed;z-index:70;background:var(--raised);border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:var(--shadow);width:344px;max-width:calc(100vw - 32px);padding:14px 16px 16px;font-size:16px;line-height:24px}
.pophead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.pophead .label{display:flex;align-items:center;gap:6px;margin:0}
.pophead .label svg.i{width:16px;height:16px;color:var(--accent)}
.pophead .step{font-size:14px;color:var(--ink-soft)}
.pop input:not([type=checkbox]){width:100%;border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:7px 10px}
.pform{display:flex;gap:8px;align-items:center}
.recent{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.rchip{display:inline-flex;align-items:center;border:1px solid var(--rule-strong);border-radius:999px;background:var(--raised);font-size:15px;line-height:23px}
.rchip button{border:0;background:none;padding:1px 4px 1px 10px}
.rchip button+button{padding:1px 9px 1px 4px;color:var(--ink-soft);font-size:16px}
.popfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:14px;color:var(--ink-soft)}
.calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.calhead b{font-weight:600}
.calhead button{border:1px solid var(--rule-strong);background:var(--raised);border-radius:var(--r-sm);padding:3px 6px;color:var(--accent);display:inline-flex}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.cal .wd{font-family:var(--display);font-size:11px;letter-spacing:.1em;color:var(--ink-soft);padding:4px 0}
.cal button{border:0;background:none;border-radius:var(--r-sm);height:38px;font-size:15px;color:var(--ink)}
.cal button:hover:not(:disabled){background:var(--sunk)}
.cal .today{box-shadow:inset 0 0 0 1px var(--rule-strong)}
.cal .inrange{background:var(--wash);border-radius:0}
.cal .anchor{background:var(--wash);color:var(--accent);font-weight:600}
.cal .sel{background:var(--fill);color:var(--on-fill);font-weight:600}
.cal button:disabled{opacity:.3;cursor:not-allowed}
.quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.opts{max-height:250px;overflow:auto;display:flex;flex-direction:column;gap:2px;margin-top:8px}
.opts button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:7px 8px;border-radius:var(--r-sm)}
.opts button:hover,.opts button.hi{background:var(--wash)}
.opts .x{color:var(--ink-soft);font-size:15px;white-space:nowrap}
.opts .add{color:var(--accent)}
.savechk{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:14px;color:var(--ink-soft)}
.times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-height:200px;overflow:auto;margin-top:10px}
.times button{border:1px solid var(--rule);background:var(--ground);border-radius:var(--r-sm);padding:4px 0;font-size:15px}
.times button.hi{background:var(--fill);color:var(--on-fill);border-color:var(--fill)}
.stepper{display:flex;gap:6px;align-items:center}
.stepper button{border:1px solid var(--rule-strong);background:var(--raised);border-radius:var(--r-sm);width:40px;height:38px;font-size:18px}
.frow{border-bottom:1px solid var(--rule);padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px 12px;align-items:center}
.frow .fname{font-weight:600}
.frow select,.fmtsel{border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:4px 6px}
.optlist{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.opt{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--rule-strong);border-radius:999px;padding:0 4px 0 10px;font-size:14px;line-height:24px}
.opt .x{color:var(--ink-soft)}
.opt button{border:0;background:none;color:var(--ink-soft);padding:0 4px;font-size:16px;line-height:1}
.addopt{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.addopt input{flex:1;min-width:120px;border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:4px 8px;font-size:15px}
.linkrow{grid-column:1/-1;font-size:14px;color:var(--ink-soft);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
@media (max-width:720px){.pop{left:0!important;right:0;bottom:0;top:auto!important;width:auto;max-width:none;border-radius:var(--r-md) var(--r-md) 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.frow{grid-template-columns:1fr}}
.cipher{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:21px;word-break:break-all;color:var(--ink-soft)}
.notes{margin-top:16px;max-width:68ch;font-size:15px;line-height:23px;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:10px}
.notes i{font-style:italic}
.copybar{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule-strong);background:var(--raised);color:var(--ink);border-radius:var(--r-sm);padding:7px 14px;white-space:nowrap;font-size:16px;line-height:24px}
.btn svg.i{color:var(--accent)}
.btn.primary{background:var(--fill);color:var(--on-fill);border-color:var(--fill);font-weight:600}
.btn.primary svg.i{color:var(--on-fill)}
.btn.big{padding:10px 28px;font-size:18px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.hint{font-size:14px;line-height:20px;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.ro{font-size:15px;color:var(--ink-soft);border:1px solid var(--rule);border-radius:var(--r-sm);padding:6px 12px;display:flex;gap:8px;align-items:center;margin-bottom:12px}
.ro svg.i{color:var(--accent)}
.menuwrap{position:relative}
.menu{position:absolute;right:0;top:110%;background:var(--raised);border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:var(--shadow);padding:6px;min-width:210px;z-index:30;display:flex;flex-direction:column}
.menu button{border:0;background:none;text-align:left;padding:6px 10px;border-radius:var(--r-sm);display:flex;gap:8px;align-items:center;font-size:16px}
.menu button:hover{background:var(--sunk)}
.menu button:disabled{opacity:.4}
.menu .tick{margin-left:auto;color:var(--accent)}
/* editor */
.ed label{display:block;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 4px}
.ed input,.ed select{width:100%;border:1px solid var(--rule-strong);background:var(--raised);border-radius:var(--r-sm);padding:7px 10px}
.tool{display:flex;gap:2px;flex-wrap:wrap;border:1px solid var(--rule-strong);border-bottom:0;border-radius:var(--r-sm) var(--r-sm) 0 0;padding:4px;background:var(--sunk)}
.tool button{border:1px solid transparent;background:none;border-radius:var(--r-sm);min-width:34px;padding:2px 8px;color:var(--ink)}
.tool button:hover{border-color:var(--rule-strong);background:var(--raised)}
.edbody{border:1px solid var(--rule-strong);border-radius:0 0 var(--r-sm) var(--r-sm);background:var(--raised);padding:14px 16px;min-height:200px;max-width:none}
.edbody:focus{outline:2px solid var(--focus);outline-offset:-1px}
/* sheets */
.scrim{position:fixed;inset:0;background:rgba(20,8,10,.5);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.sheet{background:var(--raised);border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:var(--shadow);width:min(600px,100%);max-height:calc(100% - 32px);overflow:auto;padding:22px 24px}
.sheet.wide{width:min(900px,100%)}
.sheet h2{font-family:var(--display);font-weight:400;color:var(--accent);margin:0 0 4px;font-size:21px;line-height:27px}
.sheet p.sub{margin:0 0 16px;color:var(--ink-soft);font-size:15px;line-height:23px}
.field2{display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:8px}
.field2 input{border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:7px 10px;width:100%}
.sheet .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}
.people{list-style:none;padding:0;margin:0 0 14px}
.person{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--rule)}
.av{width:36px;height:36px;border-radius:50%;border:1px solid var(--rule-strong);display:flex;align-items:center;justify-content:center;font-family:var(--display);color:var(--accent)}
.person small{display:block;color:var(--ink-soft);font-size:14px;line-height:20px}
.person select,.addrow select{border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:4px 6px}
.status{font-size:14px;border-radius:999px;padding:0 8px;border:1px solid var(--rule-strong);color:var(--ink-soft)}
.status.wait{border-style:dashed}
.keybar{border:1px solid var(--rule-strong);border-radius:var(--r-sm);padding:10px 12px;margin:10px 0;background:var(--ground);font-size:15px;line-height:23px}
.prog{height:4px;background:var(--rule);border-radius:999px;overflow:hidden;margin-top:8px}
.prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s}
.activity{font-size:15px;line-height:23px;color:var(--ink-soft);list-style:none;padding:0;margin:0}
.activity li{padding:4px 0;border-bottom:1px solid var(--rule);display:flex;gap:12px}
.activity time{min-width:64px;color:var(--ink)}
.rights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.rights div{border:1px solid var(--rule);border-radius:var(--r-sm);padding:8px 10px;font-size:14px;line-height:20px;color:var(--ink-soft)}
.rights b{display:block;font-family:var(--display);font-weight:400;color:var(--accent);font-size:16px}
.addrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fill);color:var(--on-fill);border-radius:var(--r-sm);padding:10px 16px;display:flex;gap:14px;align-items:center;z-index:60;font-size:16px;max-width:calc(100% - 32px);box-shadow:var(--shadow)}
.toast button{border:0;background:none;color:var(--on-fill);text-decoration:underline;font-weight:600}
/* logo set sheet */
.plates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plate{border:1px solid var(--rule);border-radius:0;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:200px}
.plate.paper{background:#F0EDE6;color:#8C363F}
.plate.ox{background:#8C363F;color:#F0EDE6}
.plate.blk{background:#000;color:#F0EDE6}
.plate figcaption{font-style:italic;font-size:14px;line-height:20px;opacity:.85}
.plate svg{max-width:100%;height:auto}
.home{background:#2B2B2E;border-radius:var(--r-md);padding:20px;display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.app-ico{display:flex;flex-direction:column;align-items:center;gap:6px;color:#F0EDE6;font-family:system-ui,sans-serif;font-size:12px}
.app-ico img,.app-ico svg{width:64px;height:64px;border-radius:15px;display:block}
.favs{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.tab-mock{display:flex;align-items:center;gap:8px;background:var(--sunk);border:1px solid var(--rule);border-radius:var(--r-sm) var(--r-sm) 0 0;padding:6px 12px;font-family:system-ui,sans-serif;font-size:13px}
.tab-mock.dk{background:#202124;color:#E8EAED;border-color:#3c4043}
/* logo motion */
.anim .ls-star{animation:rise 1s ease-out both}
.anim .ls-emb{animation:bloom 1.6s .5s ease-out both}
.anim .ls-l{animation:press .22s both}
.anim .ls-end{animation:ink .8s both}
@keyframes rise{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes bloom{from{clip-path:inset(100% 0 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes press{0%{opacity:0;transform:scale(1.25)}100%{opacity:1;transform:none}}
@keyframes ink{from{opacity:0}to{opacity:1}}
.ls-l{transform-box:fill-box;transform-origin:center}

.keysbtn{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:20;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule-strong);background:var(--raised);color:var(--ink);border-radius:var(--r-sm);padding:7px 12px;box-shadow:var(--shadow);font-size:15px}
.keysbtn svg.i{color:var(--accent)}
.keygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px}
.keygrid h3{grid-column:1/-1;font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 2px}
.krow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:5px 0;border-bottom:1px solid var(--rule);font-size:15px;line-height:23px}
.krow .ks{display:flex;gap:4px;flex:none}
.cal button[tabindex="0"]:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
@media (max-width:720px){.keygrid{grid-template-columns:1fr}}
.newsbtn{left:auto;margin-left:0}
.chg{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px}
.chgnav{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--rule);padding-right:12px}
.chgnav button{border:0;background:none;text-align:left;padding:6px 8px;border-radius:var(--r-sm);display:flex;flex-direction:column;line-height:20px}
.chgnav button span{font-size:13px;color:var(--ink-soft)}
.chgnav button[aria-current="true"]{background:var(--wash);font-weight:600}
.chgnav .grp{font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:6px 8px}
.chgbody h3{font-family:var(--display);font-weight:400;color:var(--accent);font-size:21px;line-height:27px;margin:0}
.chgitems{list-style:none;padding:0;margin:12px 0 0}
.chgitems li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:16px;line-height:24px}
.kind{flex:none;font-size:12px;line-height:20px;border:1px solid var(--rule-strong);border-radius:999px;padding:0 8px;color:var(--ink-soft);min-width:72px;text-align:center;height:22px}
.kind.new{border-color:var(--accent);color:var(--accent)}
.chgnext{display:flex;justify-content:space-between;margin-top:14px}
@media (max-width:720px){.chg{grid-template-columns:1fr}.chgnav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--rule);padding:0 0 8px}.chgnav .grp{display:none}.chgnav button{white-space:nowrap}}
.sidefoot{margin-top:auto;position:sticky;bottom:0;background:var(--ground);border-top:1px solid var(--rule);padding:8px 0 12px;display:flex;flex-direction:column;gap:2px}
.sidefoot .kbd{margin-left:auto}
.listhead{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:15px;line-height:23px;color:var(--ink-soft);border-bottom:1px solid var(--rule)}
.row{grid-template-columns:minmax(0,1fr)!important;padding:12px 18px!important}
.row .t{display:flex;align-items:center;gap:6px}
.row .t svg.i{width:15px;height:15px;color:var(--accent);fill:currentColor;flex:none}
.manage{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--accent);padding:6px 8px;margin-top:4px;font-size:15px}
details.more{border-top:1px solid var(--rule);padding-top:10px}
details.more>summary{cursor:pointer;color:var(--ink-soft);font-size:15px;padding:2px 8px;list-style:none;display:flex;align-items:center;gap:6px}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
details.more[open]>summary::before{transform:rotate(45deg)}
details.more>div{display:flex;flex-direction:column;gap:18px;margin-top:12px}
.sidefoot button{font-size:15px!important;color:var(--ink-soft)}
.dsub{margin:6px 0 18px;font-size:15px;line-height:23px;color:var(--ink-soft)}
.dfoot{margin-top:14px;font-size:14px;line-height:20px;color:var(--ink-soft)}
.tip{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--rule-strong);border-radius:var(--r-sm);padding:10px 14px;margin-bottom:14px;background:var(--ground);font-size:16px}
.tip b{color:var(--accent);font-weight:600}
.tip .btn{margin-left:auto;padding:3px 12px;font-size:15px}
.ed details.more{margin-top:18px}
.headmore{display:none}
@media (hover:none){.kb-only{display:none!important}}
@media (max-width:1060px){.headmore{display:block}}
[hidden]{display:none!important}
.mobilebar .chip{white-space:nowrap;flex:none}
@media (max-width:720px){.app:has(.cols.open) .mobilebar{display:none}.back{margin-bottom:14px}
 .subject{display:grid;grid-template-columns:auto minmax(0,1fr)}.subject .btn{grid-column:1/-1;justify-self:start}}
.dgrid{display:grid;gap:20px;align-items:start}
@media (min-width:1280px){.dgrid.has{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:1279px){.dgrid .blanks{order:-1;position:static}}
.blanks{padding:14px 18px 16px;position:sticky;top:12px}
.bhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.bhead h3{font-family:var(--display);font-weight:400;color:var(--accent);font-size:21px;line-height:27px;margin:0}
.bhead span{font-size:15px;color:var(--ink-soft)}
.brow{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--rule)}
.brow label{font-size:15px;line-height:21px;color:var(--ink-soft)}
.brow.ok label::after{content:"  ✓";color:var(--accent)}
.blanks input,.pick{width:100%;border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:7px 10px;font-size:16px;text-align:left}
.pick{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--ink-soft)}
.pick.set{color:var(--ink);font-weight:600}
.pick span{color:var(--accent);display:inline-flex}
.warn{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;border:1.5px solid var(--accent);border-radius:var(--r-sm);padding:10px 12px;background:var(--wash);width:100%;font-size:16px}
.warn b{color:var(--accent)}
.ph{border-bottom:1px dashed var(--accent);padding:0 1px}
.ex{font-size:12px;line-height:18px;border:1px solid var(--rule-strong);border-radius:999px;padding:0 7px;color:var(--ink-soft);font-weight:400;font-family:var(--text);letter-spacing:0;text-transform:none;white-space:nowrap}
.linkbtn{border:0;background:none;color:var(--accent);text-decoration:underline;padding:4px 0;font-size:15px}
.warnbox svg.i{flex:none}
.warnbox{border:1px solid var(--rule-strong);background:var(--wash);border-radius:var(--r-sm);padding:10px 14px;margin:12px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:16px}
.saved{font-size:15px;color:var(--ink-soft);align-self:center}
.vers{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;margin-bottom:6px;font-size:15px;color:var(--ink-soft)}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.how div{border:1px solid var(--rule);border-radius:var(--r-sm);padding:14px;font-size:16px;line-height:24px}
.how svg.i{width:28px;height:28px;color:var(--accent)}
.how b{display:block;font-family:var(--display);font-weight:400;color:var(--accent);font-size:19px;line-height:25px;margin:6px 0 4px}
@media (max-width:720px){.how{grid-template-columns:1fr}
 .row .lib,.label,.subject .k,.chgnav .grp{font-size:13px}.hint,.dfoot,.dsub,.tag,.status,.person small,.activity,.krow,.row .s{font-size:15px}
 .copybar.sticky{flex-direction:column;align-items:stretch}.copybar.sticky .btn.primary{align-self:center}}
@media (pointer:coarse){.iconbtn,.btn,.tool button,.chip,.markbtn,details.more>summary,.nav button,.pick,.blanks input,.menu button,.linkbtn,.opts button,.times button,.mobilebar select{min-height:44px}.markbtn{min-width:44px}.cal button{height:44px}}
@media (max-width:720px){
 .top{padding:8px 12px;gap:8px}
 .wm b{font-size:20px;letter-spacing:.14em}.wm small{font-size:8px;letter-spacing:.4em}
 .brand{gap:8px;min-width:0}.brand .emb{width:34px;height:34px}
 .tools{gap:4px}
 .iconbtn{flex-direction:column;gap:0;padding:4px 8px;min-width:52px;font-size:12px;line-height:14px;border-color:transparent;background:none}
 .iconbtn svg.i{width:22px;height:22px}
 .listhead #count .hd{display:none}
 .listhead{flex-wrap:nowrap;gap:8px;white-space:nowrap}
 .dhead{flex-wrap:wrap}
 .dhead h1{flex-basis:100%;order:-1}
 .dhead .btn{padding:6px 12px}
 .dhead .menuwrap .menu{right:0;left:auto;max-width:calc(100vw - 32px)}
 .app:has(.cols.open) ~ .toast,.toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 .warnbox>span{flex:1 1 0;min-width:170px}
 .tip{padding:8px 12px;gap:8px;font-size:15px}
 .tip .btn{margin-left:0}
 .pop{max-height:75vh;overflow:auto}
 .popscrim{position:fixed;inset:0;background:rgba(20,8,10,.4);z-index:69}
}
.back,.mobilebar{display:none}
@media (max-width:1060px){
  .cols{grid-template-columns:370px minmax(0,1fr)}
  .side{display:none}
  .mobilebar{display:flex}
  .top{grid-template-columns:auto minmax(0,1fr) auto}
}
.mobilebar{gap:8px;padding:10px 16px;border-bottom:1px solid var(--rule);overflow-x:auto;background:var(--raised);align-items:center}
.mobilebar select{border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:4px 8px;max-width:55vw}
@media (max-width:720px){
  .top{grid-template-columns:auto auto;gap:12px;padding:12px 16px}
  .mchip-keys{display:none}
  .tools{justify-self:end}
  .brand .emb{width:38px;height:38px}
  .search .field{height:52px;padding-left:16px}
  .search input{font-size:18px}
  .search .kbd{display:none}
  .cols{grid-template-columns:minmax(0,1fr)}
  .cols.open .list{display:none}
  .cols:not(.open) .detail{display:none}
  .back{display:inline-flex}
  .detail{padding:14px 16px 110px}
  .dhead h1{font-size:24px;line-height:30px}
  .copybar.sticky{position:fixed;left:0;right:0;bottom:0;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--raised);border-top:1px solid var(--rule-strong);z-index:15;justify-content:center}
  .copybar.sticky .hint{display:none}
  .field2{grid-template-columns:1fr}
  .rights{grid-template-columns:1fr}
  .plates{grid-template-columns:1fr}
  .person{grid-template-columns:36px minmax(0,1fr) auto}
  .person .rm{grid-column:2/4;justify-self:start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.filebox{display:flex;flex-direction:column;gap:8px;border:1.5px dashed var(--rule-strong);border-radius:var(--r-sm);padding:18px;align-items:flex-start;background:var(--ground)}
.filebox input[type=file]{font-size:15px;max-width:100%}
.implist{list-style:none;padding:0;margin:10px 0;max-height:46vh;overflow:auto;border-top:1px solid var(--rule)}
.implist li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--rule);font-size:16px}
.implist small{display:block;color:var(--ink-soft);font-size:14px}
.formrow{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px;align-items:center;margin:6px 0}
.formrow input{border:1px solid var(--rule-strong);background:var(--ground);border-radius:var(--r-sm);padding:7px 10px;width:100%}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:15px;margin:8px 0}
@media (max-width:720px){.formrow{grid-template-columns:1fr}}
