:root{--bg:#f5f2f7;--paper:#fff;--ink:#29222f;--muted:#817486;--line:#d9cedd;--purple:#8e59ad;--soft:#f1e8f5;--dark:#28232f;--dark2:#3a3141;--glow:#c17de3;--panelgap:18px}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}
button,input{font:inherit}button{cursor:pointer}
.app{height:100vh;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
.stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#fff}
.explorer{position:absolute;inset:0;background:#faf8fb;overflow:auto;transition:padding-right .22s cubic-bezier(.2,.8,.2,1)}
.explorerTop{position:sticky;top:0;background:#faf8fb;z-index:12;border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;padding:10px 16px 7px;border-bottom:1px solid #eee7f0;gap:18px}.brandMini{font:700 17px Georgia,serif}.brandMini small{display:block;font:7px ui-monospace;color:var(--muted);font-weight:400}
.tabs{display:flex;gap:25px;flex:1;padding-left:16px;box-sizing:border-box}.tab{border:0;background:none;color:var(--muted);padding:0;font:inherit}.tab.active{color:var(--purple);position:relative}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--purple)}
.guest-mode .tabs .tab:not([data-tab="all"]){display:none}.guest-mode .timeControls{display:none}.guest-mode .sort button{pointer-events:none}.guest-mode .sortMenu{display:none!important}.guest-mode .composerPanel .panelTab{opacity:.45;cursor:not-allowed}.guest-mode .composerPanel .composerBar,.guest-mode .composerPanel .canvas{opacity:.58}.guest-mode .composerPanel .composerBar button,.guest-mode .composerPanel .titleArea h1,.guest-mode .composerPanel .composerBody{pointer-events:none}.guest-mode .composerGuestNotice{display:block}.composerGuestNotice{display:none;padding:12px 14px;border-bottom:1px dashed #c8b0d3;background:#fcf9fd;color:var(--muted);font-size:10px}
.explorerSearch{display:flex;align-items:center;gap:5px;min-width:210px}.explorerSearch input{width:170px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;color:var(--ink);outline:none}.explorerSearch input:focus{border-color:#cdaade;box-shadow:0 0 0 2px #f1e8f5}.explorerSearch button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;color:var(--muted)}.explorerSearch button:hover{background:var(--soft)}
.timeControls{display:flex;align-items:center;gap:6px}.timeControls select,.timeControls input{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 7px;color:var(--muted);font:inherit}.timeCustom{display:none;align-items:center;gap:5px}.timeCustom.open{display:flex}
.utilities{display:flex;gap:6px}.util{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 8px;color:var(--muted)}.util.active{background:var(--soft);color:#6f3b87;border-color:#cdaade}
.explorerRow{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 13px}.explorerTitle{font:700 20px Georgia,serif}.sub,.meta{font-size:9px;color:var(--muted)}
.sort{position:relative}.sort button{border:0;background:none;color:var(--muted);padding:0}.sortMenu{display:none;position:absolute;right:0;top:24px;width:150px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px;box-shadow:0 10px 30px #220f2b18;z-index:30}.sortMenu.open{display:block}.sortMenu button{display:block;width:100%;padding:7px;text-align:left;border-radius:5px}.sortMenu button:hover{background:var(--soft)}
.feed{padding:14px;max-width:1200px}.card{position:relative;background:#fff;border:1px solid var(--line);border-left:4px solid #cbb7d5;border-radius:9px;padding:13px 14px;margin-bottom:11px;cursor:pointer}.card:hover{box-shadow:0 6px 18px #24112f0a}.searchObjectPreview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:8px}.searchObjectMedia{margin-top:11px;max-height:280px}.searchObjectMedia img{max-height:280px}.personCard{padding:16px}.personHead{display:flex;align-items:flex-start;gap:14px}.personAvatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--soft)}.personAvatarFallback{display:grid;place-items:center;font:700 20px Georgia,serif;color:var(--purple)}.personIdentity{min-width:0}.personName{font:700 20px Georgia,serif;margin:0 0 2px}.personHandle{font-size:11px;color:var(--muted)}.personBio{margin:9px 0 0;color:var(--ink);font:14px/1.45 Georgia,serif}.personCarousel{display:flex;gap:9px;overflow-x:auto;padding:13px 2px 3px;margin-top:10px;scrollbar-width:thin}.personPreview{flex:0 0 230px;background:#fcf9fd;border:1px solid var(--line);border-radius:8px;overflow:hidden}.personPreviewMedia{height:150px;background:#fff;display:grid;place-items:center;overflow:hidden}.personPreviewMedia img{width:100%;height:100%;object-fit:cover}.personPreviewBody{padding:9px}.personPreviewTitle{font:700 14px Georgia,serif;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.personPreviewText{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:12px/1.4 Georgia,serif;color:var(--muted)}.cardHandle{position:absolute;right:9px;top:8px;width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--purple);cursor:grab}.card h2{font:700 18px Georgia,serif;margin:8px 0}.card p{font:15px/1.5 Georgia,serif;white-space:pre-wrap;margin:0}.refs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.refChip{display:inline-flex;align-items:center;gap:5px;border:1px solid #d3bddf;background:#fcf8fd;border-radius:999px;padding:4px 8px}.media{margin-top:11px;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:zoom-in}.media img{display:block;max-width:100%;max-height:280px;width:auto;height:auto;margin:auto}
.panel{position:absolute;top:14px;bottom:0;background:#fbf9fc;border:1px solid var(--line);border-bottom:0;border-radius:12px 0 0 0;box-shadow:-18px 0 42px #24112f16;transition:right .24s cubic-bezier(.2,.8,.2,1),transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease;min-width:0;overflow:hidden;transform:translateX(calc(100% + 20px));opacity:.98;pointer-events:none}
.panel:not(.closed){transform:translateX(0);opacity:1;pointer-events:auto}
.panel.closed{transform:translateX(calc(100% + 20px))}
.collectionPanel{width:min(340px,31vw);right:0;z-index:40}
.lensPanel{width:min(330px,30vw);right:0;z-index:60;background:#faf8fb}
.composerPanel{width:min(560px,52vw);right:0;left:auto;z-index:50;background:#fff}
.panelContent{height:100%;display:flex;flex-direction:column}.panelHeader{flex:none;padding:14px;border-bottom:1px solid var(--line);background:inherit}.panelHeader h2{font:700 19px Georgia,serif;margin:3px 0 4px}.panelHeader h3{font:700 17px Georgia,serif;margin:3px 0}.panelBody{flex:1;min-height:0;overflow:auto;padding:13px}
.collectionActions{display:flex;gap:6px;margin-top:10px}.action{border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 9px}.action.primary{background:var(--soft);border-color:#cfb1de;color:#6e3b86}
.dropZone{padding:12px;border:1px dashed #c8b0d3;border-radius:8px;background:#fcf9fd;color:var(--muted);font-size:9px;margin-bottom:10px;transition:border-color .12s,background .12s}.dropZone.hot{border-color:var(--purple);background:#f5ecf8}
.collectionItem{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px}.collectionItem h4{font:700 14px Georgia,serif;margin:0 0 4px}.collectionItem .media{max-height:130px}.collectionItem .media img{max-height:130px}
.collectionContributors{margin-bottom:12px;padding:10px;border:1px dashed #d8bce4;border-radius:8px;background:#fcf9fd}.contributorHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.contributorList{display:flex;flex-direction:column;gap:6px}.contributorRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #eee4f0}.contributorIdentity{display:flex;align-items:center;gap:8px;min-width:0}.contributorAvatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#f3e9f7}.contributorFallback{display:grid;place-items:center;font-weight:700;color:#6e3b86}.contributorHandle{font-weight:700}.contributorName{font-size:12px;color:#76677c}.contributorGrant{display:flex;gap:6px;margin-top:8px}.contributorGrant input{min-width:0;flex:1}.collectionPermission{margin-bottom:10px}
.panelTabs{position:absolute;inset:0;z-index:100;pointer-events:none}
.panelTab{position:absolute;right:0;width:36px;min-height:96px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:#fbf9fc;color:var(--purple);padding:8px 7px;writing-mode:vertical-rl;transform:rotate(180deg);box-shadow:5px 7px 15px #24112f0f;transition:right .24s cubic-bezier(.2,.8,.2,1),top .18s,background .12s,border-color .12s;pointer-events:auto}
.panelTab.active{background:var(--soft);border-color:#cdaade}.panelTab.composer{background:#fff}
.panel.dropTarget{box-shadow:-18px 0 42px #24112f16,0 0 0 2px #d7b6e4}.panel.dropTarget .panelHeader{background:#fbf4fd}

/* Keep utility/editor surfaces out of normal document flow until activated. */
.composerSurface{height:100%;display:flex;flex-direction:column;min-height:0;padding-left:15px;padding-right:15px;box-sizing:border-box}.composerBar{flex:none;display:flex;align-items:center;gap:6px;padding:10px 30px;border-bottom:1px solid var(--line);background:#fff}.composerBar .spacer{flex:1}.canvas{flex:1;min-height:0;overflow:auto}.titleArea{padding-bottom:14px}.titleArea h1{font:700 21px Georgia,serif;margin:6px 0 0;outline:none}.composerBody{font:14px/1.6 Georgia,serif;outline:none}.composerBody .block{margin-bottom:12px}.movableChip{display:inline-flex;align-items:center;gap:5px;border:1px solid #d3bddf;background:#fcf8fd;border-radius:999px;padding:3px 8px;vertical-align:middle}.movableChip .chipGrip{color:var(--purple)}.movableChip .badge{font:8px ui-monospace;color:var(--muted)}.movableChip .thumb{width:22px;height:22px;object-fit:cover;border-radius:4px}.floatingToolbar{position:fixed;display:none;align-items:center;gap:3px;padding:5px 7px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 24px #24112f20;z-index:1000}.floatingToolbar.open{display:flex}.floatingToolbar button{min-width:28px;height:28px;border:0;background:#fff;border-radius:999px;padding:3px 7px;color:var(--ink);line-height:1}.floatingToolbar button:hover{background:var(--soft)}.floatingToolbar button:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.floatingToolbar .sep{width:1px;height:18px;background:var(--line);margin:0 2px}.caret{position:fixed;display:none;width:2px;background:var(--glow);box-shadow:0 0 8px var(--glow);z-index:999}.pagePane{position:fixed;inset:0;display:none;background:var(--bg);z-index:800;padding:28px;overflow:auto}.pagePane.open{display:block}.pagePane h2{font:700 22px Georgia,serif;margin:0 0 4px}.accountContent{max-width:920px;margin-top:22px}.accountGrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:14px}.accountCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.accountCard h3{font:700 16px Georgia,serif;margin:0 0 8px}.accountCard p{margin:0;line-height:1.55}.accountProfile{display:flex;align-items:flex-start;gap:16px}.accountAvatar{width:84px;height:84px;flex:0 0 84px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--soft)}.accountAvatarFallback{display:grid;place-items:center;font:700 28px Georgia,serif;color:var(--purple)}.accountIdentity{min-width:0;flex:1}.accountName{font:700 25px Georgia,serif;margin:0 0 2px}.accountHandle{color:var(--muted);font-size:11px}.accountBio{font:14px/1.5 Georgia,serif;margin-top:9px}.accountFields{display:grid;gap:10px;margin-top:16px}.accountField label{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.accountField input,.accountField textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 9px;background:#fff;color:var(--ink);outline:none}.accountField textarea{min-height:82px;resize:vertical;font:14px/1.45 Georgia,serif}.accountField input:focus,.accountField textarea:focus{border-color:#cdaade;box-shadow:0 0 0 2px #f1e8f5}.accountActions{display:flex;gap:6px;justify-content:flex-end;margin-top:12px}.accountStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.accountStat{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fcf9fd}.accountStatValue{font:700 18px Georgia,serif}.accountStatLabel{font-size:9px;color:var(--muted);margin-top:2px}.accountMeta{display:grid;gap:9px}.accountMetaRow{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #eee7f0;padding-bottom:8px}.accountMetaRow:last-child{border-bottom:0;padding-bottom:0}.accountMetaLabel{font-size:9px;color:var(--muted)}.accountMetaValue{text-align:right;font-size:10px;word-break:break-word}.accountSignedOut{max-width:620px}.accountSignIn{display:grid;gap:10px;margin-top:16px}.accountSignIn input{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff;color:var(--ink);outline:none}.accountSignIn input:focus{border-color:#cdaade;box-shadow:0 0 0 2px #f1e8f5}.accountNotice{padding:11px 13px;border:1px dashed #c8b0d3;border-radius:9px;background:#fcf9fd;color:var(--muted);margin-top:12px}.accountDanger{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.pagePaneHead{display:flex;align-items:flex-start;justify-content:flex-start;gap:14px}.pagePaneHead .pagePaneTitles{min-width:0;flex:none}.pageBack{flex:none;margin-top:1px}.recoverySection{margin-top:14px}.recoveryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recoveryCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.recoveryCard h3{font:700 16px Georgia,serif;margin:0 0 6px}.recoveryCard p{margin:0;line-height:1.55}.recoveryForm{display:grid;gap:10px;margin-top:14px}.recoveryForm input{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff;color:var(--ink);outline:none}.recoveryForm input:focus{border-color:#cdaade;box-shadow:0 0 0 2px #f1e8f5}.recoveryKeyRow{display:flex;gap:7px}.recoveryKeyRow input{font:700 14px ui-monospace,monospace;letter-spacing:.08em}.recoveryStatus{margin-top:9px;font-size:10px;color:var(--muted);min-height:1.3em}.recoveryWarning{padding:10px 12px;border:1px dashed #c8b0d3;border-radius:9px;background:#fcf9fd;color:var(--muted);margin-top:12px;font-size:10px;line-height:1.5}@media(max-width:760px){.accountGrid{grid-template-columns:1fr}.accountProfile{gap:12px}.accountAvatar{width:68px;height:68px;flex-basis:68px}}.accountFullSection{margin-top:14px}.accountFullGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.accountWideCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.accountWideCard h3{font:700 16px Georgia,serif;margin:0 0 7px}.accountSectionIntro{margin:0;line-height:1.55}.accountStatGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.accountRecentRow{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 8px;margin-top:12px;scroll-snap-type:x proximity}.accountRecentCard{flex:0 0 190px;scroll-snap-align:start;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fcf9fd;cursor:pointer}.accountRecentMedia{height:120px;background:var(--soft);display:grid;place-items:center;overflow:hidden}.accountRecentMedia img{width:100%;height:100%;object-fit:cover}.accountRecentText{height:120px;padding:12px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:11px}.accountRecentBody{padding:9px 10px}.accountRecentTitle{font:700 13px/1.3 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accountRecentMeta{font-size:9px;color:var(--muted);margin-top:3px}.accountCollectionCard{flex:0 0 190px;padding:14px}.accountCollectionName{font:700 14px Georgia,serif}.accountSessionList{display:grid;gap:8px;margin-top:12px}.accountSessionRow{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fcf9fd}.accountSessionMain{min-width:0}.accountSessionBadge{display:inline-block;border:1px solid #d3bddf;border-radius:999px;padding:2px 7px;font-size:8px;color:var(--purple);margin-left:5px}.accountSessionMeta{font-size:9px;color:var(--muted);margin-top:4px}.accountDangerCard{border-color:#d8c7d8}.accountDangerCopy{color:var(--muted);font-size:11px;line-height:1.5}.accountDangerActions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.accountDangerButton{border-color:#c9aebe}.accountDangerConfirm{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.accountDangerConfirm input{border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff;color:var(--ink)}@media(max-width:900px){.accountStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.accountFullGrid{grid-template-columns:1fr}.accountDangerConfirm{grid-template-columns:1fr}.accountSessionRow{grid-template-columns:1fr}}.helpContent{max-width:760px;margin-top:22px}.helpLead{font:16px/1.6 Georgia,serif;margin:0 0 22px}.helpGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.helpCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.helpCard h3{font:700 16px Georgia,serif;margin:0 0 7px}.helpCard p{margin:0;color:var(--ink);line-height:1.55}.helpSteps{margin:8px 0 0;padding-left:20px}.helpSteps li{margin:7px 0}.helpTip{margin-top:14px;padding:12px 14px;border:1px dashed #c8b0d3;border-radius:10px;background:#fcf9fd;color:var(--muted)}.helpKbd{display:inline-block;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:#fff;padding:1px 5px;font-size:10px}.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#1d152299;z-index:1200;padding:30px}.lightbox.open{display:flex}.lightbox img{display:block;max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 16px 50px #0006}.lightbox button{position:absolute;right:18px;top:14px;border:0;background:#fff;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:1}.modalBack{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#1d152233;z-index:1300;padding:20px}.modalBack.open{display:flex}.modal{width:min(420px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 60px #24112f2a}.modalHead{padding:13px 15px;border-bottom:1px solid var(--line);font:700 17px Georgia,serif}.modalBody{padding:15px}.modalBody input{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:6px;padding:8px}.modalFoot{display:flex;justify-content:flex-end;gap:6px;padding:10px 15px;border-top:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--dark);color:#fff;border-radius:7px;padding:8px 12px;z-index:1400;transition:opacity .15s,transform .15s}.toast.open{opacity:1;transform:translate(-50%,0)}

/*
 * NoComment v0.4.46 canonical layout CSS
 *
 * This block consolidates the effective telescope/mobile overrides that were
 * previously spread across v0.3.19, v0.3.44, v0.3.46-v0.3.48, v0.4.32,
 * v0.4.39, v0.4.40 and v0.4.42.
 *
 * JavaScript remains authoritative for panel state and desktop positioning.
 */

/* ===== Shared panel/tab infrastructure ===== */

:root {
  --panel-tab-width: 36px;
  --panel-tab-height: 34px;
}

.stage {
  overflow: visible !important;
}

.app {
  overflow: hidden;
}

.panel {
  top: 0 !important;
  bottom: 0 !important;
  overflow: visible !important;
}

.panel:not(.closed) {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.panel.closed {
  transform: translateX(100%) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.panel.closed .panelContent,
.panel.closed .composerSurface {
  visibility: hidden;
  pointer-events: none;
}

.panelTab {
  left: calc(-1 * var(--panel-tab-width)) !important;
  right: auto !important;
  pointer-events: auto !important;
}

.panelTab {
  border-radius: 0 10px 10px 0 !important;
}

/* ===== Portrait telescope ===== */

@media (orientation: portrait) {
  :root {
    --portrait-tab-height: 34px;
    --portrait-tab-slot: 33.333333%;
    --portrait-collection-height: min(70vh, 640px);
    --portrait-composer-height: min(65vh, 590px);
    --portrait-lens-height: min(60vh, 540px);
  }

  /*
   * Explorer ribbon stays directly beneath the Explorer's top controls.
   */
  #tabs {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow-x: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
    background: #faf8fb !important;
  }

  #tabs .tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 5px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  /*
   * Portrait panels form the vertical telescope deck.
   * Every open panel is bottom-anchored at 0.
   */
  .panel.panel {
    top: auto !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    border-radius: 12px 12px 0 0 !important;
  }

  .collectionPanel {
    height: var(--portrait-collection-height) !important;
  }

  .composerPanel {
    height: var(--portrait-composer-height) !important;
  }

  .lensPanel {
    height: var(--portrait-lens-height) !important;
  }

  .panel.panel:not(.closed) {
    bottom: 0 !important;
    transform: translateY(0) !important;
  }

  /*
   * Closed portrait panels become zero-height docking anchors.
   */
  .panel.panel.closed {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: visible !important;
    transform: none !important;
    bottom: 0 !important;
  }

  /*
   * Portrait telescope docking.
   *
   * A closed panel is a zero-height anchor. Its bottom is moved to the
   * TOP of the nearest open panel below it. Because the tab sits at
   * top:-34px, the tab's bottom lands exactly on that panel's top edge.
   *
   * Priority matters:
   *   Composer open beats Lens open for Collection.
   */

  /* If Recursive is open and Composer is closed, dock Composer to Lens. */
  body:has(.lensPanel:not(.closed))
    .composerPanel.closed {
    bottom: var(--portrait-lens-height) !important;
  }

  /* If Recursive is the nearest open panel, dock Collection to Lens too. */
  body:has(.composerPanel.closed):has(.lensPanel:not(.closed))
    .collectionPanel.closed {
    bottom: var(--portrait-lens-height) !important;
  }

  /* If Composer is open, Collection docks to Composer. */
  body:has(.composerPanel:not(.closed))
    .collectionPanel.closed {
    bottom: var(--portrait-composer-height) !important;
  }

  /*
   * In portrait, every tab sits immediately above the panel it represents.
   * Closed panels move their zero-height anchor vertically; the same tab rule
   * therefore makes a closed tab dock to the next open panel's top.
   */
  .panel.panel .panelTab {
    position: absolute !important;
    top: calc(-1 * var(--portrait-tab-height)) !important;
    width: var(--portrait-tab-slot) !important;
    min-width: 0 !important;
    max-width: var(--portrait-tab-slot) !important;
    height: var(--portrait-tab-height) !important;
    min-height: var(--portrait-tab-height) !important;
    max-height: var(--portrait-tab-height) !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    border-left: 1px solid var(--line) !important;
    border-bottom: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
    white-space: nowrap !important;
    text-align: center !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 1000 !important;
    box-shadow: 0 -5px 15px #24112f0f !important;
  }

  .collectionPanel .panelTab {
    left: 0 !important;
  }

  .composerPanel .panelTab {
    left: 33.333333% !important;
  }

  .lensPanel .panelTab {
    left: 66.666667% !important;
  }

  /*
   * The Explorer top row stays above the ribbon.
   */
  .explorerTop {
    display: flex !important;
    flex-direction: column !important;
  }

  .explorerTop > .topbar {
    order: 1 !important;
  }

  .explorerTop > .explorerRow {
    order: 2 !important;
  }

  .explorerTop > #tabs {
    order: 3 !important;
    position: relative !important;
    z-index: 13 !important;
  }

  .explorer {
    padding-bottom: 34px !important;
  }
}

/* ===== Compact mobile topbar / utility icons ===== */

.iconUtil {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  font-size: 17px !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.explorerSearch .iconUtil {
  width: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  .topbar {
    gap: 6px !important;
    padding: 5px 8px 4px !important;
  }

  .brandMini {
    flex: 0 1 auto !important;
    min-width: 92px !important;
    max-width: 145px !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  .brandMini small {
    font-size: 6px !important;
    line-height: 1.05 !important;
  }

  .explorerSearch {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 4px !important;
  }

  .explorerSearch input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 5px 8px !important;
  }

  .explorerSearch .iconUtil {
    flex: 0 0 38px !important;
  }

  .utilities {
    flex: 0 0 auto !important;
    gap: 4px !important;
  }

  .utilities .iconUtil {
    flex: 0 0 36px !important;
  }
}

/* ===== Mobile-landscape CCR tabs ===== */

@media (orientation: landscape) and (max-width: 760px) and (max-height: 600px) {
  .panelTab {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 62px !important;
    height: 62px !important;
    max-height: 62px !important;
    padding: 5px 3px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  .collectionPanel .panelTab {
    top: 38px !important;
  }

  .composerPanel .panelTab {
    top: 108px !important;
  }

  .lensPanel .panelTab {
    top: 178px !important;
  }
}
#collectionPanelContent{padding-right:55px !important;box-sizing:border-box;}
/* Release 1 */
.isHidden{display:none !important}
.explorerRowTools{display:flex;align-items:center;gap:14px}
.collectionNavList{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.pagePaneBody{max-width:920px;margin-top:18px}
.accountModalSub{margin-top:8px}
.accountMetaSpaced{margin-top:18px}
.searchSectionHeading{margin:4px 0 8px}
.contributorStatus{margin-top:6px}

.iconGlyph{
  display:inline-block;
  width:1.05em;
  height:1.05em;
  flex:0 0 1.05em;
  background:currentColor;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
}
.icon-search{mask-image:url("icons/search.svg");-webkit-mask-image:url("icons/search.svg")}
.icon-settings{mask-image:url("icons/settings.svg");-webkit-mask-image:url("icons/settings.svg")}
.icon-help{mask-image:url("icons/help.svg");-webkit-mask-image:url("icons/help.svg")}
.icon-quote{mask-image:url("icons/quote.svg");-webkit-mask-image:url("icons/quote.svg")}
.icon-list{mask-image:url("icons/list.svg");-webkit-mask-image:url("icons/list.svg")}
.icon-list-numbered{mask-image:url("icons/list-numbered.svg");-webkit-mask-image:url("icons/list-numbered.svg")}
.icon-link{mask-image:url("icons/link.svg");-webkit-mask-image:url("icons/link.svg")}
.icon-close{mask-image:url("icons/close.svg");-webkit-mask-image:url("icons/close.svg")}

.iconUtil .iconGlyph{width:18px;height:18px}
#floatingToolbar .iconGlyph{width:16px;height:16px}
#closeLightbox .iconGlyph{width:18px;height:18px}

@media (max-width:760px){
  .explorerRowTools{gap:8px}
}

/* v0.5.12 onboarding + settings */
.eyebrow{
  font-size:10px;
  letter-spacing:.16em;
  font-weight:800;
  color:var(--muted);
}
.onboardingPage,.settingsPage{max-width:1120px;margin:0 auto;padding:26px 24px 40px}
.onboardingHero,.settingsHero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:8px 0 24px;
}
.onboardingHero h3,.settingsHero h2{margin:5px 0 8px;font-size:28px;line-height:1.08}
.onboardingHero p,.settingsHero p{max-width:720px;margin:0;color:var(--muted);line-height:1.55}
.onboardingGrid,.settingsGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.onboardingCard,.settingsCard{
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  padding:20px;
  box-shadow:0 8px 24px rgba(40,30,50,.04);
}
.onboardingPrimary{background:#fcf8fd}
.onboardingStep{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--muted);margin-bottom:10px}
.onboardingCard h3,.settingsCard h3{margin:0 0 7px}
.onboardingCard p,.settingsCard p{margin:0;color:var(--muted);line-height:1.5}
.fieldHint{font-size:11px;color:var(--muted);margin-top:5px}
.onboardingStatus{min-height:18px;margin-top:10px;font-size:12px;color:var(--muted)}
.onboardingNote,.onboardingFooterNote{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--line);
  background:#faf8fb;
  border-radius:10px;
  font-size:12px;
  line-height:1.45;
}
.onboardingFooterNote{margin-top:16px}
.settingsMark{
  width:42px;height:42px;border-radius:10px;
  display:grid;place-items:center;
  background:#f5eff7;border:1px solid var(--line);
  font-weight:800;
}
.settingsSectionHead{display:flex;justify-content:space-between;gap:18px;margin-bottom:10px}
.settingsActions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.settingsRow{
  display:flex;justify-content:space-between;gap:18px;
  padding:12px 0;border-top:1px solid #eee8f0;
}
.settingsRow:first-of-type{border-top:0}
.settingsBadge{
  align-self:flex-start;
  padding:4px 8px;border-radius:999px;
  background:#f1e9f5;border:1px solid var(--line);
  font-size:10px;font-weight:800;letter-spacing:.08em;
}
.settingsBadgeMuted{opacity:.65}
.settingsMeta{margin-top:14px;padding-top:12px;border-top:1px solid #eee8f0;font-size:11px;color:var(--muted)}
@media (max-width:760px){
  .onboardingPage,.settingsPage{padding:18px 16px 30px}
  .onboardingHero,.settingsHero{padding-top:2px}
  .onboardingHero h3,.settingsHero h2{font-size:23px}
  .onboardingGrid,.settingsGrid{grid-template-columns:1fr}
}

.v0513Onboarding{}
.onboardingStatus a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.onboardingStatus a:hover{opacity:.75}

/* v0.5.14 */
.isVisuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.profileImageActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #eee8f0}
.notificationBar{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  padding:7px 16px;
  border-bottom:1px solid var(--line);
  background:#fff;
  font-size:12px;
}
.notificationBarLabel{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.notificationBarText{color:var(--ink)}
.notificationBar.hasNotifications .notificationBarText{font-weight:700}
@media (max-width:760px){
  .notificationBar{padding:7px 16px}
  .profileImageActions{align-items:flex-start;flex-direction:column}
}

/* v0.5.15 verifier correction */
/* v0.5.16 notifications */
.notificationBar{display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 16px;border-bottom:1px solid var(--line);background:#fff;font-size:12px}
.notificationBarLabel{flex:none;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.notificationBarText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.notificationBar.hasNotifications .notificationBarText{font-weight:700}
/* v0.5.17 persistent settings */
.settingToggle{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid #eee8f0;cursor:pointer}
.settingToggle:first-of-type{border-top:0}
.settingToggle input{width:18px;height:18px;margin:2px 0 0;flex:none}
.settingToggleText{display:flex;flex-direction:column;gap:3px;min-width:0}
.settingToggle.compact{padding:9px 0}
.settingsSubsection{border-top:1px solid #eee8f0;margin-top:4px}
.settingsSubsection.isDisabled{opacity:.45}
.settingsStatus{min-height:16px;margin-top:8px;font-size:11px;color:var(--muted)}
.likeAction{margin-left:6px}

/* v0.5.24 Composer template placeholders */
#composerTitle[data-placeholder]:empty::before,
#composerBody[data-placeholder]:empty::before{
  content:attr(data-placeholder);
  color:#9a919d;
  font-weight:400;
  pointer-events:none;
}
#composerTitle[data-placeholder]:empty::before{font-family:Georgia,serif}
#composerBody[data-placeholder]:empty::before{font-family:inherit}
