:root{color-scheme:dark;--black:#000;--white:#f5f5f5;--gray:#999;--pill:#202020;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--white);font:14px/1.6 "Microsoft YaHei","Segoe UI",sans-serif;min-height:100svh;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;touch-action:manipulation}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #bcbcbc;outline-offset:6px}button:disabled{opacity:.35;cursor:not-allowed}button:active:not(:disabled){transform:scale(.98)}button{transition:background .2s,color .2s,transform .12s}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}p{margin:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.visually-hidden{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip-link{position:fixed;left:28px;top:-80px;z-index:100;color:#000;background:#fff;padding:12px}.skip-link:focus{top:16px}
.navigation{position:absolute;left:28px;right:28px;top:23px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:5}.identity-area{display:flex;align-items:center;gap:25px;min-width:0}.identity{display:flex;align-items:center;gap:10px;border-radius:30px;background:#202020;padding:5px 15px 5px 6px;min-height:44px;font-size:12px;white-space:nowrap}.identity:hover{background:#303030}.avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#424242;color:#eee;font-family:"SimSun",serif;font-size:21px}.ticker{width:230px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 86%,transparent);color:#999;font-size:12px}.ticker span{display:block;width:max-content;animation:ticker 28s linear infinite;white-space:nowrap}@keyframes ticker{to{transform:translateX(-50%)}}nav{display:flex;align-items:center;gap:24px}nav button,nav a{min-height:44px;min-width:44px;color:#999;font-size:12px}nav a{display:inline-flex;align-items:center;text-decoration:none}nav button:hover,nav a:hover{color:#fff}
main{min-height:100svh;position:relative}.intro{position:absolute;top:22.4vh;left:20px;right:20px;text-align:center;transition:filter .38s var(--ease),opacity .38s var(--ease)}h1{margin:0;font-weight:400;font-size:clamp(30px,3.4vw,50px);line-height:1.24;letter-spacing:-1px}h1 span,h1 em{display:block}h1 em{font-family:"SimSun","Noto Serif CJK SC",Georgia,serif;font-weight:400;font-style:italic;margin-top:4px;letter-spacing:1px}.intro p{color:#999;font-size:13px;margin-top:23px;letter-spacing:1px}body.is-focused .intro{filter:blur(3px);opacity:.24}.interaction{position:absolute;top:43.5vh;left:24px;right:24px;text-align:center;transition:opacity .35s var(--ease),filter .35s var(--ease)}.stage{transition:opacity .32s var(--ease),filter .32s var(--ease),transform .32s var(--ease)}.stage.leaving{opacity:0;filter:blur(8px);transform:translateY(-12px)}.stage.entering{animation:stage-in .36s var(--ease) both}@keyframes stage-in{from{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:none;transform:none}}
.giant-field{display:flex;align-items:center;justify-content:center;gap:22px;max-width:1100px;margin:auto;min-height:110px}.round-icon{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border-radius:50%;background:#f5f5f5;color:#000}.round-icon svg{width:27px;height:27px;stroke-width:2}#tool-query{border:0;background:transparent;color:#fff;caret-color:#fff;font-size:clamp(32px,5.5vw,80px);font-weight:300;line-height:1.2;padding:0;min-width:1ch;max-width:calc(100% - 76px);border-radius:0}#tool-query::placeholder{color:#606060;opacity:1}#tool-query:focus{outline:0}.giant-field:focus-within .round-icon{box-shadow:0 0 0 4px #777}.file-trigger:focus-visible{outline:0}.action-slot{height:70px;display:flex;align-items:center;justify-content:center}.pill{background:#202020;border-radius:28px;padding:10px 18px;min-height:44px;color:#c1c1c1;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.pill:hover{background:#303030;color:#fff}.pill svg{width:16px;height:16px}.pill.light{background:#f5f5f5;color:#111}.pill.light:hover{background:#d6d6d6}.next{animation:action-in .28s var(--ease)}@keyframes action-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.hint{font-size:12px;color:#999;min-height:22px}.text-link{min-height:44px;color:#999;padding:8px 5px;font-size:12px}.text-link:hover{color:#fff}.quick-start{margin-top:1px}.quick-start span{margin-left:6px}.file-trigger{font-size:clamp(32px,5.1vw,76px);font-weight:300;padding:0;color:#e5e5e5}.file-trigger:hover{color:#fff}.file-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#999;font-size:12px;overflow-wrap:anywhere;max-width:800px;margin:3px auto}.import-options{display:flex;justify-content:center;align-items:center;gap:18px;color:#444}.recognition{color:#c6c6c6;font-size:12px;margin:3px auto;max-width:900px;overflow-wrap:anywhere}.input-error{color:#eee;font-size:13px;margin:4px auto;max-width:900px}.input-error::before{content:'!';display:inline-grid;place-items:center;border:1px solid #777;border-radius:50%;width:17px;height:17px;margin-right:8px}.back{margin-top:-10px}.pending{color:#ccc;padding-top:8px}.pending p{font-size:24px;margin:18px 0 6px}.pending small{color:#999;font-size:12px;display:block;margin-bottom:23px}.loading-ring{display:inline-block;width:44px;height:44px;border:2px solid #252525;border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.showcase{position:absolute;left:0;right:0;top:66.5vh;height:290px;perspective:1400px;transition:opacity .45s var(--ease),filter .45s var(--ease);overflow:hidden}.orbit{height:235px;position:relative;perspective:1100px;transform-style:preserve-3d;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.orbit-item{position:absolute;top:45%;left:50%;margin:0;will-change:transform;transform-style:preserve-3d}.shot{width:238px}.shot img{display:block;width:100%;height:176px;object-fit:cover;border-radius:5px;filter:grayscale(1);border:1px solid #343434}.shot.report img{object-position:50% 20%}.orbit-item figcaption{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#999;margin-top:13px;white-space:nowrap}.orbit-item figcaption span{color:#888;font-size:9px}.sculpture{width:190px}.sculpture img{width:100%;display:block}.sculpture.arrow{width:180px}.sculpture.map{width:205px}.showcase-footer{display:flex;align-items:center;justify-content:space-between;color:#888;font-size:11px;max-width:690px;margin:8px auto 0;padding:0 24px}.showcase-footer .text-link{font-size:11px;min-height:44px}body[data-state=success] .intro,body[data-state=success] .interaction,body[data-state=success] .showcase{opacity:0;filter:blur(5px);pointer-events:none;visibility:hidden;transition:opacity .35s,filter .35s,visibility 0s .35s}.success{position:absolute;top:31vh;left:24px;right:24px;text-align:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s var(--ease),transform .4s var(--ease)}body[data-state=success] .success{opacity:1;visibility:visible;transform:none}.success-mark{background:#fff;color:#000;display:grid;place-items:center;border-radius:50%;width:58px;height:58px;margin:auto}.success-mark svg{width:28px;height:28px;stroke-width:2.4}.success h2{font-weight:400;font-size:48px;line-height:1.2;margin:28px 0 17px}.success h2 span,.success h2 em{display:block}.success h2 em{font-weight:400;font-family:"SimSun",Georgia,serif;font-style:italic}.success>p{font-size:14px;color:#ccc}.success>small{display:block;font-size:12px;color:#999;margin:15px 0 28px}.success>.text-link{display:block;margin:12px auto}
.data-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:5px 6px 5px 17px;border-radius:32px;background:#202020;z-index:8;width:max-content;max-width:calc(100% - 32px);min-height:54px}.notice-icon{width:20px;height:20px;color:#ccc}.data-notice p{font-size:11px;color:#aaa;line-height:1.5}.inline-link{font-size:11px;text-decoration:underline;color:#ddd;min-height:44px;margin-left:10px;padding:0}.notice-actions{display:flex;gap:4px}.notice-actions .pill{padding:8px 15px;font-size:11px;min-height:44px}.demo-tag{position:absolute;top:calc(100svh - 35px);left:28px;color:#999;font-size:10px;letter-spacing:.4px}
dialog{background:#0d0d0d;color:#eee;border:1px solid #333;border-radius:16px;padding:38px;width:min(610px,calc(100% - 32px));max-height:90svh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{font-size:25px;font-weight:400;margin:8px 0 23px;line-height:1.5}dialog p,dialog li{color:#aaa;font-size:13px;line-height:1.9;margin-bottom:17px}dialog ol{padding-left:20px}dialog>.pill{margin-top:10px}.close{position:absolute;right:10px;top:9px;width:44px;height:44px;font-size:28px;color:#aaa}.close:hover{color:#fff}.catalog-tool{display:flex;flex-direction:column;text-align:left;width:100%;padding:24px 0;border-top:1px solid #333;border-bottom:1px solid #333}.catalog-tool strong{font-size:21px;font-weight:400}.catalog-tool>span{display:flex;justify-content:space-between;gap:12px;color:#aaa;font-size:12px;margin-top:10px}.catalog-tool i{font-style:normal;color:#eee}.planned{display:flex;justify-content:space-between;padding:21px 0;border-bottom:1px solid #242424}.planned strong{font-weight:400}.planned span{font-size:12px;color:#999}dialog label{display:block;font-size:12px;color:#aaa;margin-bottom:12px}textarea{display:block;width:100%;min-height:210px;resize:vertical;background:none;border:1px solid #444;border-radius:5px;padding:16px;color:#eee;font-size:15px;line-height:1.9}#paste-error{color:#eee;margin:10px 0;font-size:13px}.preview-dialog{width:min(920px,calc(100% - 32px))}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:16px;margin-bottom:15px}.preview-heading h2{font-size:22px;margin:0 0 4px}.preview-heading p{font-size:11px;margin:0}.view-tabs{display:flex;gap:5px}.view-tabs button[aria-pressed=true]{color:#111;background:#eee}.preview-dialog>img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:contain;border-radius:7px}.preview-dialog #authenticity-note{margin:14px 0;font-size:12px}.preview-bottom{border-top:1px solid #333;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:15px}.preview-bottom p{margin:0;font-size:12px}.preview-bottom small{font-size:11px;color:#999}.workbench-dialog{width:calc(100% - 32px);height:calc(100svh - 32px);max-height:none;padding:20px 12px 12px}.workbench-dialog h2{font-size:16px;margin:0 38px 16px 5px}.workbench-dialog small{font-size:11px;color:#999;font-weight:400;margin-left:12px}#tool-frame{width:100%;height:calc(100% - 46px);border:0;border-radius:9px;background:#000}
@media(max-height:800px) and (min-width:701px){.intro{top:18vh}.interaction{top:37vh}.giant-field{min-height:90px}.action-slot{height:56px}.showcase{top:65vh;height:230px}.orbit{height:190px}.showcase-footer{display:none}.shot{width:210px}.shot img{height:145px}.sculpture{width:155px}.sculpture.arrow{width:145px}.sculpture.map{width:170px}.demo-tag{top:auto;bottom:10px}.success{top:23vh}.success h2{font-size:42px}}
@media(max-width:700px){.navigation{left:18px;right:18px;top:16px;gap:10px}.identity-area{gap:0}.identity{padding-right:11px;font-size:11px;gap:7px}.avatar{width:29px;height:29px;font-size:19px}.ticker{display:none}nav{gap:8px}nav button,nav a{font-size:11px;min-width:42px}.intro{top:20vh;left:16px;right:16px}h1{font-size:34px;letter-spacing:-1px}.intro p{font-size:11px;margin-top:18px;letter-spacing:0}.interaction{top:40vh;left:16px;right:16px}.giant-field{gap:12px;min-height:70px}.round-icon{width:35px;height:35px}.round-icon svg{width:20px;height:20px}#tool-query{font-size:clamp(24px,6.7vw,42px);max-width:calc(100% - 47px)}.file-trigger{font-size:34px}.action-slot{height:58px}.hint{font-size:11px}.quick-start{font-size:11px}.import-options{gap:12px}.import-options button{font-size:11px}.recognition{font-size:11px;padding:0 4px}.file-name{font-size:11px}.showcase{top:69vh;height:200px}.orbit{height:160px}.shot{width:185px}.shot img{height:128px}.sculpture{width:135px}.sculpture.arrow{width:125px}.sculpture.map{width:150px}.orbit-item figcaption{font-size:9px;gap:5px;margin-top:9px}.orbit-item figcaption span{font-size:8px}.showcase-footer{display:none}.data-notice{bottom:18px;width:calc(100% - 32px);border-radius:17px;flex-wrap:wrap;gap:7px;padding:11px 13px}.data-notice p{flex:1;font-size:10px}.inline-link{display:block;margin:0;text-align:left;min-height:44px;font-size:10px}.notice-actions{margin-left:auto}.notice-actions .pill{min-height:44px;padding:8px 14px}.demo-tag{left:18px;top:auto;bottom:3px;font-size:9px}.success{top:27vh}.success h2{font-size:43px}.success>p{font-size:13px}.success>small{font-size:11px}dialog{padding:30px 22px}dialog h2{font-size:22px}.preview-heading{flex-direction:column;align-items:flex-start;gap:12px}.preview-bottom{flex-direction:column;align-items:flex-start}.workbench-dialog{padding:16px 8px 8px}.workbench-dialog h2 small{display:none}}
@media(max-width:380px){.identity{font-size:10px;padding-right:9px}nav{gap:2px}nav button,nav a{font-size:10px;min-width:40px}.navigation{gap:5px}h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active{transform:none!important}.intro,.stage,.success,body[data-state=success] .intro,body[data-state=success] .interaction,body[data-state=success] .showcase{filter:none!important}.orbit-item{will-change:auto}}

body[data-state=import] .interaction,body[data-state=pending] .interaction{top:38vh}@media(max-width:700px){body[data-state=import] .intro,body[data-state=pending] .intro{top:15vh}body[data-state=import] .interaction,body[data-state=pending] .interaction{top:30vh}}

@media(max-width:700px),(max-height:800px){.showcase-footer{display:flex;position:absolute;right:18px;top:0;margin:0;padding:0}.showcase-footer>span{display:none}.showcase-footer .text-link{font-size:10px}}@media(max-width:380px){nav button{min-width:44px}}

/* v7: keep the approved black editorial homepage; only real-tool and motion changes. */
.interaction{z-index:2}.fallback-tools{margin:5px auto 0;animation:action-in .32s var(--ease);font-size:12px;color:#999}.fallback-tools p{line-height:1.6}.fallback-tools .text-link{color:#e5e5e5;padding:9px 18px}.placeholder-surface{height:176px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:23px 25px;border:1px solid #343434;border-radius:5px;background:#101010;gap:8px;color:#aaa}.placeholder-number{font-size:9px;letter-spacing:2px;color:#888}.placeholder-surface strong{font-weight:400;font-size:22px;color:#ccc}.placeholder-surface>span:last-of-type{font-size:10px;color:#999}.placeholder-surface i{width:100%;border-bottom:1px dashed #444;margin-top:9px}
@media(max-height:800px) and (min-width:701px){.placeholder-surface{height:145px;padding:18px 21px}}
@media(max-width:700px){.placeholder-surface{height:128px;padding:15px 18px;gap:5px}.placeholder-surface strong{font-size:18px}.placeholder-number{font-size:8px}.fallback-tools{font-size:11px}}

/* v8: split response, a single frosted row and temporary preview tuning. */
.query-layout{position:relative;overflow:hidden;min-height:110px;--query-size:clamp(32px,5.5vw,80px)}
.query-layout .giant-field{position:absolute;left:50%;top:0;width:max-content;max-width:100%;transform:translateX(-50%);transition:transform .65s cubic-bezier(.22,1,.36,1);margin:0}
#tool-query{font-size:var(--query-size);min-width:0;flex-shrink:1}
.unmatched-answer{position:absolute;left:50%;width:50%;top:0;min-height:110px;display:flex;justify-content:center;align-items:center;font-size:var(--query-size);font-weight:300;line-height:1.2;white-space:nowrap;opacity:0;filter:blur(8px);transform:translateX(24px);pointer-events:none;transition:opacity .5s var(--ease),filter .6s var(--ease),transform .65s cubic-bezier(.22,1,.36,1)}
.has-no-match .query-layout .giant-field{transform:translateX(calc(-50% - 23vw));max-width:46%}
.has-no-match .unmatched-answer{opacity:1;filter:none;transform:none;pointer-events:auto}
.has-no-match .action-slot{height:22px}
.has-no-match #query-hint{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.fallback-tools{width:300px;max-width:46%;margin:8px 0 0 calc(75% - 150px);animation:none;transition:opacity .35s var(--ease)}
.fallback-tools>p{font-size:12px;color:#aaa;margin-bottom:12px}
.glass-picker{position:relative;height:66px;width:100%;border:1px solid #ffffff50;border-radius:20px;background:linear-gradient(135deg,#ffffff25,#ffffff09 65%),#ffffff0c;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 0 18px #ffffff08,0 14px 35px #0009;touch-action:pan-x pinch-zoom;overflow:hidden;isolation:isolate}
.glass-viewport{position:absolute;inset:0;overflow:hidden}
.picker-option{position:absolute;left:0;right:0;top:0;height:64px;width:100%;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;color:#f5f5f5;white-space:nowrap;will-change:transform}
.picker-option:hover:not(:disabled){color:#ddd}.picker-option:disabled{opacity:1;color:#999;cursor:not-allowed}.picker-option small{font-size:10px;color:#aaa}.picker-option:focus-visible{outline-offset:-6px;border-radius:16px}
.picker-caption{display:block;margin-top:9px;font-size:10px;color:#999}
.orbit{perspective:850px}
@media(max-height:800px) and (min-width:701px){.query-layout,.unmatched-answer{min-height:90px}}
@media(max-width:700px){.intro{top:22vh}.query-layout{min-height:70px;--query-size:clamp(24px,6.7vw,42px)}.unmatched-answer{min-height:70px}.has-no-match .query-layout .giant-field{max-width:46%;transform:translateX(calc(-50% - 23vw))}.fallback-tools{width:46%;max-width:none;margin:9px 0 0 52%}.fallback-tools>p{font-size:11px;margin-bottom:9px}.glass-picker{height:58px;border-radius:16px}.picker-option{height:56px;font-size:13px;gap:5px;padding:0 6px}.picker-option small{font-size:8px}.picker-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.unmatched-answer{filter:none!important}.picker-option{will-change:auto}}

/* v9: center the feedback group, retain the glass rim without a separate bright seam. */
body[data-state=search].has-unmatched .interaction{transform:translateY(-7vh)}
.interaction{transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .35s var(--ease),filter .35s var(--ease)}
@media(max-width:700px){body[data-state=search].has-unmatched .interaction{transform:translateY(-4.5vh)}}
@media(max-height:800px) and (min-width:701px){body[data-state=search].has-unmatched .interaction{transform:translateY(-3vh)}}

/* v10: each plane carries its own camera projection; masking cannot flatten the cylinder. */
.showcase{top:62vh;height:330px;perspective:none;isolation:isolate}
.orbit{height:290px;perspective:none;transform-style:flat}
.orbit-item{top:50%;transform-origin:50% 50%;transform-style:flat}
@media(max-height:800px) and (min-width:701px){.showcase{top:61vh;height:270px}.orbit{height:235px}}
@media(max-width:700px){.showcase{top:66vh;height:230px}.orbit{height:205px}}

/* v11: move only the right feedback into the supplied red-box region. */
#search-step{position:relative;--query-size:clamp(32px,5.5vw,80px)}
.unmatched-answer{top:calc(-12vh - 32px);transform:translateX(-24px);flex-direction:column;gap:10px;text-decoration:none;color:inherit}.unmatched-answer strong{font:inherit}
.has-no-match .fallback-tools{position:absolute;top:calc(-12vh - 32px + max(55px, var(--query-size) * .6) + var(--query-size) * .6 + 8px);width:300px}
.orbit{cursor:grab;user-select:none}
.orbit.is-dragging,.orbit.is-dragging *{cursor:grabbing}
.orbit:focus-visible{outline:1px solid #777;outline-offset:-4px}
@media(max-height:800px) and (min-width:701px){.unmatched-answer{top:calc(-11vh - 32px)}.has-no-match .fallback-tools{top:calc(-11vh - 32px + max(45px, var(--query-size) * .6) + var(--query-size) * .6 + 8px)}}
@media(max-width:700px){#search-step{--query-size:clamp(24px,6.7vw,42px)}.unmatched-answer{top:calc(-7vh - 20px)}.has-no-match .fallback-tools{top:calc(-7vh - 20px + 35px + var(--query-size) * .6 + 7px);width:46%}}

/* v12: confirmed 210px/s cruise and separate heatmap page. */
body.leaving-page .intro,body.leaving-page .interaction,body.leaving-page .showcase{opacity:0;filter:blur(5px);transition:opacity .22s var(--ease),filter .22s var(--ease)}
@media(prefers-reduced-motion:reduce){body.leaving-page .intro,body.leaving-page .interaction,body.leaving-page .showcase{filter:none}}

/* v20: quiet monogram, vertical edge fade and actionable tool thumbnail. */
.identity{gap:0;padding:6px;overflow:hidden;flex-shrink:0;text-decoration:none;color:#eee;transition:background .2s,padding .36s var(--ease)}.identity .avatar{width:32px;height:32px;font-family:"Microsoft YaHei",sans-serif;font-size:21px;font-weight:900;background:#424242}.brand-label{display:inline-block;max-width:0;margin-left:0;opacity:0;transform:translateX(-8px);overflow:hidden;transition:max-width .36s var(--ease),margin .36s var(--ease),opacity .28s,transform .36s var(--ease)}.identity:hover,.identity:focus-visible{padding-right:15px}.identity:hover .brand-label,.identity:focus-visible .brand-label{max-width:150px;margin-left:10px;opacity:1;transform:none}.ticker{display:block;text-decoration:none;min-height:44px;align-content:center;flex-shrink:1}.ticker:hover{color:#ddd}.ticker:focus-visible{outline-offset:2px}
.glass-picker{height:140px;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;mask-image:linear-gradient(180deg,transparent,#000 32%,#000 68%,transparent)}.glass-picker::before,.glass-picker::after{display:none}.glass-picker:focus-visible{outline:0}.glass-picker:focus-visible .picker-option[aria-hidden="false"]{text-decoration:underline;text-underline-offset:5px}.ticker{font-family:inherit;font-size:12px;font-weight:400;line-height:1.6;color:#999}.picker-option{font-family:inherit;font-size:28px;font-weight:700;line-height:1.2;color:#eee}.picker-label{display:block;mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}.picker-option{background:none}.picker-option:disabled{opacity:1;color:#999}.picker-option:focus-visible{outline:1px solid #888;outline-offset:-8px}.fallback-tools>p{margin-bottom:0}
.placeholder-surface{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:176px;padding:20px;border:1px solid #343434;border-radius:5px;background:#101010;overflow:hidden}.placeholder-surface strong{font-size:25px;font-weight:700;line-height:1.4;color:#eee;z-index:1;white-space:nowrap}.placeholder-surface:disabled{opacity:1;cursor:not-allowed}.placeholder-surface:disabled strong{color:#777}.heat-card{align-items:flex-end;justify-content:flex-start}.heat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.6;border:0;border-radius:0;mask-image:linear-gradient(#000 30%,transparent)}.heat-card strong{font-size:24px}.feature-card:hover,.feature-card:focus-visible{border-color:#777;background:#191919}
.picker-option{top:calc(50% - 32px);height:64px}.glass-picker{-webkit-backdrop-filter:none}
.heat-card{align-items:flex-start;justify-content:flex-end}
@media(max-width:700px){.navigation{flex-wrap:wrap}.identity-area{gap:12px;flex:1}.ticker{width:150px;font-size:11px;min-width:0}.placeholder-surface{height:135px;padding:15px}.placeholder-surface strong{font-size:21px}.ticker{font-size:11px}.picker-option{font-size:20px}}

/* v24: source-anchored toolbox and grouped vertical neighbours. */
#catalog-dialog{transform-origin:center;will-change:transform,opacity}
.fallback-actions{display:flex;justify-content:center;align-items:center;gap:24px;white-space:nowrap;font-size:12px;line-height:1.6;color:#999}.fallback-actions a{display:inline-flex;align-items:center;min-height:32px;color:#999;text-decoration:none}.fallback-actions a:hover{color:#ddd}.fallback-actions a:focus-visible{outline:1px solid #888;outline-offset:3px}
.picker-option[aria-hidden=true]{pointer-events:none}
@media(max-width:700px){.glass-picker{height:120px}.fallback-actions{gap:8px;font-size:11px}.fallback-actions a{min-height:32px}}
@media(prefers-reduced-motion:reduce){#catalog-dialog{will-change:auto}}

/* v25: quiet feedback for every toolbox row; unavailable rows remain informational. */
#catalog-dialog .catalog-tool,#catalog-dialog .planned{transition:background-color 180ms var(--ease),box-shadow 180ms var(--ease)}
#catalog-dialog .catalog-tool strong,#catalog-dialog .planned strong,#catalog-dialog .catalog-tool i,#catalog-dialog .planned span{transition:translate 180ms var(--ease),color 180ms var(--ease)}
#catalog-dialog .catalog-tool:is(:hover,:focus-visible),#catalog-dialog .planned:hover{background-color:#ffffff09;box-shadow:inset 2px 0 #ffffff40}
#catalog-dialog .catalog-tool:is(:hover,:focus-visible) strong,#catalog-dialog .planned:hover strong{translate:4px 0;color:#fff}
#catalog-dialog .catalog-tool:is(:hover,:focus-visible) i,#catalog-dialog .planned:hover span{translate:-4px 0;color:#ddd}
@media(prefers-reduced-motion:reduce){#catalog-dialog .catalog-tool,#catalog-dialog .planned,#catalog-dialog .catalog-tool strong,#catalog-dialog .planned strong,#catalog-dialog .catalog-tool i,#catalog-dialog .planned span{transition:none}#catalog-dialog .catalog-tool:is(:hover,:focus-visible) strong,#catalog-dialog .planned:hover strong,#catalog-dialog .catalog-tool:is(:hover,:focus-visible) i,#catalog-dialog .planned:hover span{translate:none}}

/* v30: keep the cylinder perspective, reserve air between physical items. */
.feature-card{align-items:flex-start;justify-content:flex-end}.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.6;border:0;border-radius:0;mask-image:linear-gradient(#000 30%,transparent);transition:opacity 180ms var(--ease),filter 180ms var(--ease)}
.feature-card:hover img,.feature-card:focus-visible img{opacity:1;filter:grayscale(1) brightness(1.35)}
body[data-state=search] .intro{top:calc(22.4vh - 48px)}body[data-state=search] .interaction{top:calc(43.5vh - 64px)}
body[data-state=search]:not(.has-unmatched) .action-slot:has([hidden]){height:32px}


#catalog-dialog .catalog-tool{display:block;width:100%;padding:20px 24px;margin:0 0 12px;min-height:104px;border:1px solid #303030;border-radius:32px;background:#111;color:#eee;box-shadow:none;transition:background-color 220ms var(--ease),color 220ms var(--ease),border-color 220ms var(--ease)}
#catalog-dialog .catalog-tool:last-child{margin-bottom:0}#catalog-dialog .catalog-tool strong{color:inherit;font-size:21px}#catalog-dialog .catalog-tool span,#catalog-dialog .catalog-tool i{color:#bbb;transition:color 220ms var(--ease),translate 180ms var(--ease)}
#catalog-dialog .catalog-tool:is(:hover,:focus-visible,:active){background:#eee;color:#111;border-color:#eee;box-shadow:none}
#catalog-dialog .catalog-tool:is(:hover,:focus-visible,:active) strong{color:#111}#catalog-dialog .catalog-tool:is(:hover,:focus-visible,:active) span,#catalog-dialog .catalog-tool:is(:hover,:focus-visible,:active) i{color:#333}
@media(max-height:800px) and (min-width:701px){body[data-state=search] .intro{top:calc(18vh - 32px)}body[data-state=search] .interaction{top:calc(37vh - 48px)}}
@media(max-width:700px){body[data-state=search] .intro{top:calc(22vh - 24px)}body[data-state=search] .interaction{top:calc(40vh - 48px)}#catalog-dialog .catalog-tool{padding:16px 20px;min-height:104px}#catalog-dialog .catalog-tool strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){nav [data-open=catalog],#catalog-dialog .catalog-tool,#catalog-dialog .catalog-tool span,#catalog-dialog .catalog-tool i{transition:none}}

/* Balanced density: narrower pieces, not a crowded 32-item circumference. */
.shot{width:220px}.sculpture{width:170px}.sculpture.arrow{width:160px}.sculpture.map{width:180px}.feature-card strong{font-size:22px}
@media(max-width:700px){.shot{width:185px}.sculpture{width:135px}.sculpture.arrow{width:125px}.sculpture.map{width:150px}.feature-card strong{font-size:18px}}

/* Home navigation is quiet text until the actual pointer/focus arrives. */
body>.navigation nav:not(.tool-navigation){gap:8px}
body>.navigation nav:not(.tool-navigation)>:is(button,a){padding:10px 18px;min-height:44px;min-width:44px;border:0;border-radius:999px;background:transparent;color:#a7a7a7;white-space:nowrap;transition:background-color 220ms var(--ease),color 220ms var(--ease)}
body>.navigation nav:not(.tool-navigation)>:is(button,a):is(:hover,:focus-visible){background:#eee;color:#111}
body>.navigation nav:not(.tool-navigation)>button:disabled{opacity:.65}
@media(max-width:700px){body>.navigation nav:not(.tool-navigation){gap:0}body>.navigation nav:not(.tool-navigation)>:is(button,a){padding:10px 8px}.navigation{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){body>.navigation nav:not(.tool-navigation)>:is(button,a){transition:none}}

.demo-label{align-self:center;padding-inline:14px;color:#bbb;font:13px/1.5 "Microsoft YaHei",sans-serif;white-space:nowrap}
