:root{color-scheme:light;--paper:#f7f5f0;--sidebar:#efede6;--ink:#413b33;--muted:#787268;--line:#dedad0;--surface:#fffdf8;--accent:#5c5145;--shadow:0 16px 40px #433a2a14}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{min-height:44px;border:0;background:none;border-radius:9px}button:hover{background:var(--sidebar)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,4vw,48px);font-weight:600;letter-spacing:-1.9px;line-height:1.15}h2{font-size:23px;letter-spacing:-.6px}p{color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--sidebar);border-right:1px solid var(--line);padding:40px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font:36px Georgia,serif;letter-spacing:-1.8px}.brand img{width:48px;height:48px;border-radius:12px}.preview{display:block;font:9px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:2px;color:var(--muted);margin:3px 0 0 2px}.nav-label{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin:61px 12px 16px}nav{display:grid;gap:6px}nav button{text-align:left;padding:10px 13px;display:flex;gap:13px;align-items:center;color:var(--muted)}nav button span{font-size:21px;width:23px}nav .active{background:#e2ded4;color:var(--ink);font-weight:600}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.sidebar-bottom button{margin-left:auto;font-size:22px}.local-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#8b927c}main{margin-left:248px;padding:0 56px;min-height:100vh;display:flex;flex-direction:column;max-width:1800px}.topline{height:110px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.quiet{color:var(--muted);padding:0 12px}.topline .quiet{border:1px solid var(--line);font-size:11px;padding:0 14px;border-radius:22px}#page{flex:1;padding:26px 0 64px}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.heading p{margin-top:12px;font-size:14px}.primary{background:var(--accent);color:var(--paper);padding:0 20px;border-radius:24px;font-weight:500}.primary:hover{background:var(--ink)}.secondary{border:1px solid var(--line);padding:0 18px;border-radius:24px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;color:var(--muted);margin-bottom:12px}.toolbar{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:16px;align-items:center;margin:28px 0}.search{display:flex;gap:9px;align-items:center;color:var(--muted);flex:1;max-width:340px}.search input{border:0;background:transparent;color:var(--ink);width:100%;min-height:44px;outline-offset:0}.toolbar-right{display:flex;gap:12px;align-items:center}select{color:var(--muted);background:transparent;border:0;min-height:44px;max-width:150px}.view-toggle{display:flex;border:1px solid var(--line);border-radius:9px;padding:3px}.view-toggle button{min-width:40px;min-height:36px;font-size:20px}.view-toggle .selected{background:var(--sidebar)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.show{padding:0;text-align:left;min-width:0;border-radius:0;display:block}.show:hover{background:none}.art{aspect-ratio:1;overflow:hidden;border-radius:9px;box-shadow:var(--shadow);position:relative;margin-bottom:15px;background:#dad3c5;transition:transform .2s}.show:hover .art{transform:translateY(-4px)}.art svg{width:100%;height:100%;display:block}.show-title{font:22px/1.2 Georgia,"Times New Roman",serif;display:block;letter-spacing:-.4px}.publisher{display:block;font-size:11px;color:var(--muted);margin-top:7px}.art-hint{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffffb3;color:#342f28;backdrop-filter:blur(12px);font-size:19px;opacity:0;transition:opacity .2s}.show:hover .art-hint,.show:focus-visible .art-hint{opacity:1}.sample-banner{display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--sidebar);border:1px solid var(--line);border-radius:10px;font-size:12px;margin-bottom:26px;color:var(--muted)}.sample-banner strong{color:var(--ink);font-weight:600}.sample-banner button{margin-left:auto;min-height:32px;text-decoration:underline;flex-shrink:0}.empty{border-top:1px solid var(--line);padding:70px 20px 55px;text-align:center}.empty-art{width:210px;height:150px;margin:0 auto 30px;position:relative}.empty-art .book{width:94px;height:120px;position:absolute;top:14px;left:26px;background:#c5bdad;transform:rotate(-13deg);border:1px solid #a99f8e;border-radius:4px;box-shadow:0 12px 22px #433a2a13}.empty-art .book:last-child{left:94px;top:5px;transform:rotate(12deg);background:#e6dfcf}.book:after{content:"";position:absolute;inset:28px 17px;border:1px solid #9e9581;border-radius:50% 50% 0 0}.empty h2{font-size:26px;font-weight:500;letter-spacing:-.7px}.empty p{max-width:390px;margin:13px auto 24px}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.privacy-note{margin-top:30px!important;font-size:11px;max-width:430px!important}.list{display:grid}.list .show{display:grid;grid-template-columns:68px 1fr;column-gap:20px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.list .art{width:68px;grid-row:span 2;margin:0}.list .show-title{align-self:end}.list .publisher{align-self:start}.list .art-hint{display:none}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:24px 0 30px;color:var(--muted);font-size:10px;gap:15px}footer a{text-decoration:none}.settings-grid{max-width:760px;display:grid;gap:18px;margin-top:34px}.panel{border:1px solid var(--line);border-radius:14px;padding:25px;background:var(--surface)}.panel h2{font-size:19px;margin-bottom:8px}.panel p{margin-bottom:17px;max-width:620px}.panel p:last-child{margin-bottom:0}.panel .actions{justify-content:start}.tag{font-size:10px;letter-spacing:.4px;padding:4px 8px;background:var(--sidebar);border-radius:5px;float:right}.danger{color:#9d483a}.no-results{padding:60px 0;text-align:center}.skip{position:absolute;left:260px;top:-60px;background:var(--surface);padding:10px;z-index:20}.skip:focus{top:10px}dialog{padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);max-width:520px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#29241e70;backdrop-filter:blur(5px)}dialog h2{padding-right:20px;margin-bottom:16px}dialog p{margin-bottom:18px}dialog .actions{justify-content:start;margin-top:24px}.dialog-close{position:absolute;right:9px;top:9px;width:44px;font-size:25px}.detail-art{width:150px;margin:4px auto 25px}.detail-title{font:30px/1.15 Georgia,serif!important}.feed{display:block;word-break:break-all;color:var(--muted);font-size:12px;margin:14px 0}.preview-list{padding-left:20px;max-height:220px;overflow:auto;color:var(--muted)}#toast{position:fixed;bottom:24px;left:calc(50% + 124px);transform:translateX(-50%);background:var(--ink);color:var(--paper);border-radius:12px;padding:14px 20px;box-shadow:var(--shadow);max-width:calc(100% - 32px);display:none;z-index:30}#toast.visible{display:flex;align-items:center;gap:20px}#toast button{color:inherit;text-decoration:underline;min-height:30px}body.dark{color-scheme:dark;--paper:#24231f;--sidebar:#2d2b26;--ink:#e7e0d4;--muted:#aca69b;--line:#454139;--surface:#2a2823;--accent:#ded3bf;--shadow:0 16px 40px #0002}body.dark nav .active{background:#413d34}body.dark .primary:hover{color:#24231f;background:#eee5d5}@media(prefers-color-scheme:dark){body:not(.light):not(.dark){color-scheme:dark;--paper:#24231f;--sidebar:#2d2b26;--ink:#e7e0d4;--muted:#aca69b;--line:#454139;--surface:#2a2823;--accent:#ded3bf}body:not(.light):not(.dark) nav .active{background:#413d34}}@media(min-width:1500px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:205px;padding:30px 18px}main{margin-left:205px;padding:0 32px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-bottom{flex-wrap:wrap}#toast{left:calc(50% + 102px)}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:20px 22px 0;border:0;background:var(--paper)}.brand{font-size:29px}.brand img{width:40px;height:40px}.preview{font-size:8px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;margin-top:24px;border-bottom:1px solid var(--line);gap:4px}nav button{font-size:12px;padding:10px 12px;flex:1;justify-content:center;white-space:nowrap;border-radius:7px 7px 0 0}nav button span{display:none}main{margin:0;padding:0 24px}.topline{height:74px}.topline>span{font-size:10px}.topline .quiet{font-size:10px;padding:0 10px;min-height:38px}#page{padding-top:19px}.heading{align-items:start}.heading h1{font-size:36px}.heading p{font-size:12px;max-width:230px}.heading>.primary{font-size:12px;padding:0 14px;flex-shrink:0;margin-top:4px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.show-title{font-size:21px}.publisher{font-size:10px}.toolbar{gap:6px;margin-top:24px}.search{max-width:170px}.search input{font-size:12px}.toolbar-right{gap:3px}select{font-size:11px;max-width:105px}.view-toggle{padding:0}.view-toggle button{min-width:33px;min-height:42px}.sample-banner{flex-wrap:wrap;font-size:11px}.sample-banner button{margin-left:0}.empty{padding:42px 0}.empty h2{font-size:24px}.empty p{font-size:13px}.empty-art{transform:scale(.85);margin-bottom:12px}.panel{padding:20px}.panel p{font-size:13px}footer{font-size:9px}#toast{left:50%;width:max-content}.skip{left:10px}.art-hint{opacity:1;width:28px;height:28px;font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep every layout control usable by touch and keyboard. */
.view-toggle button{min-width:44px;min-height:44px}.sample-banner button{min-height:44px}.topline .quiet{min-height:44px}#toast button{min-height:44px}@media(max-width:700px){.view-toggle button{min-width:36px;min-height:44px}.toolbar-right{gap:0}.toolbar{flex-wrap:wrap}.search{max-width:none;min-width:120px}.view-toggle button{min-width:44px}.toolbar-right{margin-left:auto}}
.library-sources{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 18px}.library-sources .selected{box-shadow:inset 0 0 0 1px var(--ink)}.auth-link{display:inline-flex;align-items:center;text-decoration:none;min-height:44px;padding:0 18px}.connection-form{display:grid;gap:10px;max-width:420px;margin-top:16px}.connection-form label{font-weight:600}.connection-form input{min-height:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:10px 14px;font:20px ui-monospace,monospace;letter-spacing:.15em;width:100%}.connection-form p{margin:0 0 8px}.connection-form button{justify-self:start}.connection-status>button{margin:0 8px 12px 0}.connection-status h3{margin:18px 0 12px;font:22px Georgia,serif}.connection-status .code-label{margin:18px 0 4px;font-size:12px}.safety-code,.pairing-code{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.safety-code{font-size:clamp(16px,3.8vw,23px)}.pairing-code{font-size:28px;letter-spacing:.15em}.panel .privacy-note{margin-top:18px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

/* Approved raster-backed SVG art. Original cells, registration and opacity timing. */
.taupe-motion{width:200px;aspect-ratio:1;margin:0 auto 18px;pointer-events:none}
.taupe-motion>svg{display:block;width:100%;height:100%;overflow:hidden}
.taupe-motion .motion-still{display:none}
.taupe-motion .motion-frames{isolation:isolate}
.taupe-motion .motion-frame{mix-blend-mode:plus-lighter}
.taupe-motion.motion-unavailable{display:none}
.search-empty{grid-column:1/-1;padding:36px 0 24px;text-align:center}
.search-empty .taupe-motion{width:170px;margin-bottom:10px}
.search-empty .no-results{padding:0}
@supports not (mix-blend-mode:plus-lighter){.taupe-motion .motion-frames{display:none}.taupe-motion .motion-still{display:inline}}
@media(prefers-reduced-motion:reduce){.taupe-motion .motion-frames{display:none}.taupe-motion .motion-still{display:inline}}
@media(max-width:700px){.taupe-motion{width:170px}.search-empty .taupe-motion{width:150px}}

/* Discoverable sample-only Duo layout study. */
.duo-preview-link{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;font-size:14px;color:inherit;border-radius:12px}.duo-preview-link:hover{background:var(--surface)}
