:root{--paper:#f7f4e9;--white:#fffef9;--ink:#14233b;--blue:#1957f2;--coral:#ff614d;--sun:#ffd34e;--mint:#2dbb91;--muted:#687386;--line:#d9d9d2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Avenir,"Trebuchet MS",Arial,sans-serif}
button,input{font:inherit}
button{color:inherit}
.beam{position:fixed;z-index:-1;left:50%;top:-28vh;width:42vw;height:150vh;transform:rotate(21deg);background:linear-gradient(90deg,transparent,#fff8c388,transparent);filter:blur(18px);pointer-events:none}
.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:22px;min-height:75px;padding:12px clamp(18px,4vw,54px);border-bottom:1px solid transparent;background:#f7f4e9e8;backdrop-filter:blur(14px)}
body.searched .topbar{border-bottom-color:var(--line)}
.brand{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;cursor:pointer}.brand i{position:relative;width:29px;height:29px;border:5px solid var(--blue);border-radius:50%}.brand i:after{content:"";position:absolute;width:13px;height:5px;right:-10px;bottom:-5px;transform:rotate(45deg);border-radius:4px;background:var(--coral)}.brand b{font:900 16px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.06em}.brand span{color:var(--blue)}
.status{display:flex;align-items:center;gap:7px;margin-left:auto;color:var(--muted);font:800 9px monospace;letter-spacing:.09em}.status i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #2dbb9120}.status.offline i{background:var(--sun)}
.sound-button{display:flex;align-items:center;gap:7px;padding:9px 11px;border:2px solid var(--ink);border-radius:10px;background:var(--white);font:900 9px monospace;letter-spacing:.08em;box-shadow:3px 3px 0 var(--ink);cursor:pointer}.sound-button b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--sun);font-size:14px}.sound-button.active{transform:translate(2px,2px);background:var(--blue);color:#fff;box-shadow:1px 1px 0 var(--ink)}.sound-button.active b{background:var(--coral);animation:soundPulse .8s alternate infinite}
.compact-search{flex:1;max-width:720px}.compact-search[hidden]{display:none}
main{width:min(1240px,100%);margin:auto;padding:0 clamp(18px,4vw,54px) 80px}
.home{display:flex;min-height:calc(100vh - 75px);flex-direction:column;align-items:center;justify-content:center;padding:40px 0 90px;text-align:center}
.orbit{position:relative;width:104px;height:104px;margin-bottom:19px;border:1px solid #1957f244;border-radius:50%;animation:float 5s ease-in-out infinite}.orbit:before,.orbit:after{content:"";position:absolute;inset:17px;border:1px dashed #ff614d66;border-radius:50%;animation:spin 12s linear infinite}.orbit:after{inset:36px;border:0;background:var(--blue)}.orbit>b{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#fff;font:900 31px Georgia,serif}.orbit i{position:absolute;z-index:3;width:12px;height:12px;border:3px solid var(--ink);border-radius:50%;background:var(--sun)}.orbit i:nth-child(1){left:2px;top:47px}.orbit i:nth-child(2){right:12px;top:9px;background:var(--coral)}.orbit i:nth-child(3){right:4px;bottom:17px;background:var(--mint)}
.eyebrow{margin:0 0 12px;color:var(--blue);font:900 10px monospace;letter-spacing:.17em}.home h1{margin:0 0 28px;font:700 clamp(53px,9vw,105px)/.81 Georgia,"Times New Roman",serif;letter-spacing:-.06em}.home h1 em{color:var(--coral);font-weight:400;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.08em}
.searchbox{position:relative;display:grid;width:min(850px,100%);grid-template-columns:52px 1fr auto;align-items:center;border:3px solid var(--ink);border-radius:18px;background:var(--white);box-shadow:8px 9px 0 var(--ink);transition:.18s}.searchbox:focus-within{transform:translate(-2px,-2px);box-shadow:11px 12px 0 var(--blue);border-color:var(--blue)}.searchbox input{width:100%;min-width:0;height:72px;border:0;outline:0;background:transparent;color:var(--ink);font-size:clamp(16px,2.2vw,22px)}.searchbox button{align-self:stretch;margin:7px;padding:0 22px;border:0;border-radius:11px;background:var(--blue);color:white;font:900 11px monospace;letter-spacing:.08em;cursor:pointer}.searchbox button b{margin-left:9px;font-size:18px}.lens{justify-self:center;width:19px;height:19px;border:3px solid var(--ink);border-radius:50%;position:relative}.lens:after{content:"";position:absolute;width:8px;height:3px;right:-7px;bottom:-4px;transform:rotate(45deg);background:var(--ink)}
.searchbox.mini{grid-template-columns:43px 1fr auto;width:100%;border-width:2px;border-radius:13px;box-shadow:4px 5px 0 var(--ink)}.searchbox.mini input{height:46px;font-size:15px}.searchbox.mini button{margin:4px;padding:0 15px;font-size:9px}.searchbox.mini:focus-within{box-shadow:6px 7px 0 var(--blue)}
.quick{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:25px}.quick>span{align-self:center;margin-right:4px;color:var(--muted);font:900 8px monospace;letter-spacing:.13em}.quick button,.history nav button{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fffef9aa;font-size:11px;cursor:pointer}.quick button:hover,.history nav button:hover{border-color:var(--blue);color:var(--blue)}
.suggestions{z-index:6;width:min(800px,calc(100% - 30px));margin-top:-2px;padding:15px;border:2px solid var(--ink);border-top:0;border-radius:0 0 15px 15px;background:var(--white);box-shadow:6px 7px 0 var(--ink);text-align:left}.suggestions[hidden]{display:none}.suggestions button{display:block;width:100%;padding:9px;border:0;background:none;text-align:left;cursor:pointer}.suggestions button:hover{background:#eaf0ff}
.history{width:min(760px,100%);margin-top:28px;padding-top:15px;border-top:1px solid var(--line);text-align:left}.history>div{display:flex;justify-content:space-between;color:var(--muted);font:900 8px monospace;letter-spacing:.11em}.history>div button{border:0;background:none;color:var(--coral);font:inherit;cursor:pointer}.history nav{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.search-view{padding-top:12px}.search-view[hidden]{display:none}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line)}.tabs button{padding:14px 18px;border:0;border-bottom:4px solid transparent;background:none;color:var(--muted);font:900 10px monospace;letter-spacing:.08em;cursor:pointer}.tabs button.active{border-bottom-color:var(--coral);color:var(--ink)}
.search-meta{display:flex;align-items:center;justify-content:space-between;padding:19px 0;color:var(--muted);font:800 9px monospace;letter-spacing:.09em}.search-meta button{padding:8px 11px;border:1px solid var(--ink);border-radius:8px;background:var(--sun);font:900 9px monospace;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.result-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:38px}.results{min-width:0}.result-card{display:grid;grid-template-columns:1fr 150px;gap:20px;padding:25px 0;border-top:1px solid var(--line);cursor:pointer}.result-card:first-child{border-top:3px solid var(--ink)}.result-card:hover h2{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.result-card small{color:var(--mint);font:900 8px monospace;letter-spacing:.1em}.result-card h2{margin:7px 0;font:700 clamp(24px,3vw,36px)/1 Georgia,serif;letter-spacing:-.025em}.result-card p{display:-webkit-box;overflow:hidden;margin:0;color:#445063;font-size:14px;line-height:1.6;-webkit-line-clamp:3;-webkit-box-orient:vertical}.result-card img{width:150px;height:112px;align-self:center;border:2px solid var(--ink);border-radius:12px;object-fit:cover;box-shadow:5px 5px 0 var(--sun)}
.visual-shelf{align-self:start;position:sticky;top:94px;padding:19px;border:2px solid var(--ink);border-radius:20px;background:var(--white);box-shadow:7px 8px 0 var(--ink)}.visual-shelf>small{color:var(--coral);font:900 8px monospace;letter-spacing:.13em}.visual-shelf h2{margin:8px 0 14px;font:700 29px/1 Georgia,serif}.shelf-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.shelf-grid button{position:relative;aspect-ratio:1;overflow:hidden;padding:0;border:0;border-radius:10px;background:#dce8ff;cursor:pointer}.shelf-grid img{width:100%;height:100%;object-fit:cover;transition:.2s}.shelf-grid button:hover img{transform:scale(1.06)}.shelf-grid span{position:absolute;inset:auto 4px 4px;padding:4px;border-radius:5px;background:#14233bcc;color:#fff;font:800 7px/1.2 monospace}
.image-grid{columns:4 210px;column-gap:13px}.image-grid[hidden]{display:none}.image-card{position:relative;break-inside:avoid;margin:0 0 13px;overflow:hidden;border:2px solid var(--ink);border-radius:13px;background:var(--white);cursor:pointer}.image-card img{display:block;width:100%;min-height:130px;object-fit:cover}.image-card div{padding:10px;font:800 10px/1.3 monospace}.image-card:hover{box-shadow:5px 5px 0 var(--sun)}
.loading{display:flex;min-height:320px;align-items:center;justify-content:center;gap:9px}.loading[hidden]{display:none}.loading i{width:15px;height:15px;border-radius:50%;background:var(--blue);animation:blink .8s infinite alternate}.loading i:nth-child(2){background:var(--coral);animation-delay:.2s}.loading i:nth-child(3){background:var(--sun);animation-delay:.4s}.loading span{margin-left:10px;color:var(--muted);font:900 9px monospace}.safe-message{margin:50px auto;width:min(560px,100%);padding:35px;border:3px solid var(--ink);border-radius:18px;background:var(--sun);box-shadow:9px 10px 0 var(--ink);text-align:center}.safe-message[hidden]{display:none}.safe-message b{font:700 34px Georgia,serif}.safe-message p{margin-bottom:0}
.article-dialog{width:min(940px,94vw);max-height:92vh;padding:0;border:0;border-radius:24px;background:var(--white);box-shadow:0 28px 90px #0c172766}.article-dialog::backdrop{background:#14233bd8;backdrop-filter:blur(6px)}.article-dialog article{position:relative;display:grid;grid-template-columns:minmax(250px,.8fr) 1.2fr;min-height:610px}.close{position:absolute;z-index:3;right:14px;top:14px;width:43px;height:43px;border:2px solid var(--ink);border-radius:50%;background:var(--white);font-size:27px;cursor:pointer}.article-hero{min-height:300px;background:#d9e6ff center/cover no-repeat}.article-copy{padding:clamp(35px,5vw,65px);overflow:auto}.article-copy>small{color:var(--coral);font:900 8px monospace;letter-spacing:.14em}.article-copy h2{margin:11px 0 21px;font:700 clamp(39px,6vw,68px)/.9 Georgia,serif;letter-spacing:-.045em}.article-copy p{color:#3e4b5e;font:15px/1.78 Georgia,serif}.article-copy a{display:inline-block;margin-top:15px;padding:12px 15px;border:2px solid var(--ink);border-radius:9px;background:var(--blue);color:white;font:900 9px monospace;text-decoration:none;box-shadow:4px 4px 0 var(--ink)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-9px) rotate(3deg)}}@keyframes blink{to{transform:translateY(-9px)}}
@keyframes soundPulse{to{transform:scale(1.18)}}
@media(max-width:800px){.topbar{min-height:66px;padding:9px 14px;gap:12px}.brand b,.status span,.sound-button span{display:none}.sound-button{padding:7px}.brand{flex-shrink:0}main{padding:0 14px 50px}.home{min-height:calc(100vh - 66px);padding-bottom:60px}.home h1{font-size:54px}.searchbox{grid-template-columns:43px 1fr}.searchbox input{height:59px;font-size:15px}.searchbox button{grid-column:1/-1;height:44px;margin:0 5px 5px}.compact-search .searchbox{grid-template-columns:35px 1fr auto}.compact-search .searchbox button{grid-column:auto;height:auto;margin:4px}.result-layout{grid-template-columns:1fr}.visual-shelf{position:static}.result-card{grid-template-columns:1fr 105px;gap:12px}.result-card img{width:105px;height:88px}.article-dialog article{grid-template-columns:1fr}.article-hero{min-height:230px}.article-copy{padding:30px 23px}.article-copy h2{font-size:42px}}
@media(max-width:900px){.brand{min-width:44px;min-height:44px}.history>div,.search-meta,.result-card small{font-size:11px}.history>div button,.history nav button,.search-meta button,.shelf-grid button{font-size:12px;line-height:1.2}.visual-shelf>small,.clip-badge,.frame-credit,.shelf-grid span{font-size:11px!important;line-height:1.2}.result-card small{line-height:1.2}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
