/* ---- v6: cleanup, pomodoro, highlights ---- */
/* toolbar: consistent icon sizing */
.pbtn svg{width:21px;height:21px}.pbtn .aa{font:600 17px/21px var(--serif);height:21px}
.pbtn{gap:3px}
.rbar{min-height:52px;gap:0}.rbar button.icon{min-width:42px}
#openSettings{font:600 16px var(--serif)}
.selbar .pill.danger svg{width:18px;height:18px;display:block}
/* highlight layer: marker uses --hc, underline variant */
.hlLayer i{background:var(--hc)}
[data-hlstyle=underline] .hlLayer i{background:linear-gradient(to top,var(--hc) 0,var(--hc) 2.5px,color-mix(in srgb,var(--hc) 22%,transparent) 2.5px);opacity:.95;mix-blend-mode:normal;border-radius:0}
[data-theme=dark][data-hlstyle=underline] .hlLayer i{opacity:.85}
/* tap menu note preview */
#hlMenu{flex-wrap:wrap;justify-content:center}
.hmnote{flex-basis:100%;order:-1;font:14px/1.4 var(--serif);padding:6px 10px 8px;margin:0 2px 2px;border-bottom:1px solid color-mix(in srgb,var(--fg) 10%,transparent);max-height:84px;overflow:auto;color:var(--fg);max-width:320px}
#hlMenu:has(.hmnote:not(.hidden)){border-radius:20px}
/* highlights panel */
.hlsum{margin:6px 0 0}.hllist .grp{display:flex;align-items:center;gap:8px}.hllist .grp .n{font-size:11px;background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--muted);border-radius:999px;padding:0 7px;letter-spacing:0}
.hl .note{border-left:2px solid var(--c);font-style:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hl .meta button{background:transparent;border-color:color-mix(in srgb,var(--fg) 12%,transparent)}
.hlc{float:right;font:600 11px var(--sans);min-width:22px;text-align:center;padding:1px 7px;border-radius:999px;background:var(--acc2);color:var(--acc);margin-left:8px}
.exportrow{padding:14px 12px 4px}
/* deep focus */
#reader.deep .fab{display:none}
.dimmer{position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse 62% 78% at 50% 50%,transparent 55%,color-mix(in srgb,#000 30%,transparent) 100%);animation:fade .8s var(--ease)}
[data-theme=dark] .dimmer{background:radial-gradient(ellipse 62% 78% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%)}
.pomopill{position:fixed;z-index:36;left:50%;transform:translateX(-50%);top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border-radius:999px;cursor:pointer;
  background:color-mix(in srgb,var(--card) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:0 6px 20px -8px rgba(0,0,0,.3);font-variant-numeric:tabular-nums;animation:barIn .3s var(--ease);opacity:.85;transition:opacity .3s,top .3s var(--ease)}
.pomopill:hover{opacity:1}.pomopill b{font-size:14px;font-weight:600}
#reader:not(.chromeless) .pomopill{top:calc(58px + env(safe-area-inset-top))}
.pomopill.paused{opacity:.65}
.pomopill svg,.ring svg{transform:rotate(-90deg)}
.trk{fill:none;stroke:color-mix(in srgb,var(--fg) 10%,transparent);stroke-width:3}
.arc{fill:none;stroke:var(--acc);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .5s linear,stroke .4s}
[data-phase=short] .arc,[data-phase=long] .arc{stroke:#4f9d74}
.pomosheet{z-index:57;max-height:88dvh;overflow:auto}
.ptabs{justify-self:center;margin-top:2px}
.ring{position:relative;width:min(232px,60vw);aspect-ratio:1;margin:8px auto 4px}
.ring .trk,.ring .arc{stroke-width:7}
.ringtxt{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px}
.ringtxt b{font:300 52px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--acc);font-weight:700}
[data-phase=short] .eyebrow,[data-phase=long] .eyebrow{color:#4f9d74}
.pomoctl{display:flex;justify-content:center;align-items:center;gap:14px}
.pomoctl .big{min-width:132px;min-height:50px;border-radius:999px;font-size:17px}
.center{text-align:center;margin:2px 0 0}
.pt{display:grid;gap:14px;animation:fade .25s var(--ease)}.pt.hidden{display:none}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stat{background:color-mix(in srgb,var(--fg) 4%,transparent);border-radius:14px;padding:12px 8px;text-align:center;display:grid;gap:2px}
.stat b{font:600 24px/1.1 var(--sans);font-variant-numeric:tabular-nums}.stat span{font-size:11px;color:var(--muted)}
.week{grid-column:1/-1;display:flex;gap:8px;align-items:flex-end;height:96px;padding:10px 6px 0}
.week .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.week .col i{width:100%;max-width:26px;border-radius:6px;background:color-mix(in srgb,var(--acc) 45%,transparent);transition:height .6s var(--ease)}
.week .col.on i{background:var(--acc)}.week small{font-size:10px;color:var(--muted)}
.sesslist{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sesslist li{display:flex;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid color-mix(in srgb,var(--fg) 7%,transparent);font-size:14px}
.sesslist li span:not(.spacer){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:420px){.statgrid{grid-template-columns:repeat(2,1fr)}}
/* export preview */
.expsheet{z-index:57;max-height:90dvh;grid-template-rows:auto auto auto 1fr auto;width:min(620px,100vw)}
.expctl{display:flex;justify-content:space-between;align-items:center;gap:8px}
.explist{list-style:none;margin:0;padding:0;overflow:auto;display:grid;gap:10px;min-height:0}
.ecard{background:var(--paper);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:14px;padding:12px 14px;display:grid;gap:8px;transition:opacity .2s}
.ecard.off{opacity:.45}
.ck{display:flex;align-items:center;gap:8px;font-size:12px}.ck input{width:18px;height:18px;min-height:0;accent-color:var(--acc)}
.kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}
.cq{font:17px/1.45 var(--serif)}.cq.quote{border-left:3px solid var(--c);padding-left:10px}
.ca{font:15px/1.45 var(--serif);color:var(--muted);border-top:1px dashed color-mix(in srgb,var(--fg) 14%,transparent);padding-top:8px;white-space:pre-wrap}
.cz{color:var(--acc)}.ecard .src{font-size:11px;color:var(--muted)}
#expGo{min-height:50px;border-radius:14px;font-size:16px}
/* library cleanup */
.upload{padding:14px 16px}.sectionhead{margin:28px 0 14px}
/* deep focus keeps the EPUB frame size unchanged (epub.js can't reflow mid-page cleanly) */
#reader.deep #epubView{inset:60px 0 52px}
@media (max-width:700px),(hover:none){#reader.deep #epubView{inset:calc(56px + env(safe-area-inset-top)) 0 calc(104px + env(safe-area-inset-bottom))}}
.dimmer{background:radial-gradient(ellipse 70% 85% at 50% 50%,transparent 60%,rgba(0,0,0,.16) 100%)}
