/* v34: hierarchy and target geometry only. Existing colors and art stay intact. */
.quality-header nav a,.quality-header nav button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:14px}
.quality-intro{grid-template-columns:1fr;padding-bottom:42px}.quality-intro>div{max-width:850px}.quality-intro h1{font-size:clamp(34px,4.8vw,58px);line-height:1.25}.quality-intro-copy{max-width:650px;font-size:17px;line-height:1.85}.clarity-benefit{max-width:730px;font-size:15px;line-height:1.9;margin-top:14px}.formal-start{min-height:52px;min-width:190px;justify-content:center;font-size:16px}
.clarity-all{margin:35px 0 24px}.clarity-all h2{font-size:30px;line-height:1.4;margin:12px 0 26px}.clarity-mainline{padding:28px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.clarity-mainline h3{font-size:22px;margin:0 0 10px}.clarity-mainline p{font-size:16px;line-height:1.8}.clarity-mainline ol{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:0;list-style:none;counter-reset:steps;margin:24px 0}.clarity-mainline li{counter-increment:steps;font-size:15px;line-height:1.8}.clarity-mainline li::before{content:counter(steps,decimal-leading-zero);display:block;font:16px Georgia,serif;margin-bottom:5px}.clarity-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:5px}.clarity-saved{margin-top:10px}.clarity-saved summary,.clarity-extras>summary{font-size:15px;min-height:44px;display:flex;align-items:center;cursor:pointer}.clarity-saved summary::before,.clarity-extras>summary::before{content:'＋';margin-right:12px}.clarity-saved[open] summary::before,.clarity-extras[open]>summary::before{content:'−'}.clarity-saved .quality-passport{max-width:420px;margin:15px 0;transform:none}.quality-passport .quality-inline{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:15px}.quality-next-copy h2{font-size:clamp(24px,3vw,34px);line-height:1.45}.quality-next-copy p{font-size:16px;line-height:1.9}.quality-archives strong{font-size:19px}.quality-archives small{font-size:14px;line-height:1.8}.quality-archives button{min-height:110px}.clarity-extras{margin:30px 0}.clarity-extras .quality-route{margin-top:20px}.quality-footer small{font-size:13px;line-height:1.8;max-width:600px}.quality-footer{align-items:flex-start}
/* All controls keep a full-size keyboard/touch target, including icon buttons. */
.clarity-menu{position:relative}.clarity-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px}.clarity-menu>div{position:absolute;right:0;top:48px;z-index:80;display:grid;min-width:170px;padding:10px;background:var(--paper,#faf8ef);border:1px solid currentColor;border-radius:12px}.clarity-menu button{text-align:left;font-size:14px;padding:10px}.clarity-menu button[hidden]{display:none}
.mission-bar{flex-wrap:wrap;align-items:flex-start;padding-top:20px;padding-bottom:12px}.mission-copy{flex:1;min-width:0}.clarity-stage-label{font-size:12px;margin:0 0 6px;line-height:1.5}.mission-copy h1{font-size:22px;line-height:1.4}.mission-copy>p#mission-context{font-size:14px;line-height:1.75;margin:8px 0 0;max-width:780px}.clarity-task{flex-basis:100%;max-width:1120px;margin:12px 0 0 64px}.clarity-task>p{display:flex;align-items:baseline;gap:14px;font-size:14px;line-height:1.8;margin:3px 0}.clarity-task>p>strong{flex-shrink:0;min-width:70px;font-weight:600}.clarity-task details{margin-top:2px}.clarity-task summary{font-size:13px;cursor:pointer;display:flex;align-items:center}.clarity-task summary::after{content:' ＋'}.clarity-task details[open] summary::after{content:' −'}.clarity-task details p{font-size:14px;line-height:1.8;margin-bottom:10px}.stage-viewport{height:calc(100dvh - 430px);min-height:350px}
.world button:not(.machine-main){min-width:calc(44px * var(--target-factor,1));min-height:calc(44px * var(--target-factor,1))}.machine .port{width:max(56px,calc(44px * var(--target-factor,1)));height:max(50px,calc(44px * var(--target-factor,1)));left:calc(var(--anchor-x) - max(28px,22px * var(--target-factor,1)))!important;top:calc(var(--anchor-y) - max(25px,22px * var(--target-factor,1)))!important}.machine .port .port-face{left:calc(50% - 15px)!important;top:calc(50% - 11px)!important}
@media(max-width:540px){.gathering-top .back-link:before{content:'← 首页';font-size:13px}.gathering-top nav button[data-action=journal]{font-size:13px}.gathering-top nav button[data-action=journal]:after{content:none}.gathering-app .quality-map-pin{min-height:44px!important;min-width:44px!important}}
.atlas-space .space-node{min-width:44px;min-height:44px}.atlas-search-wrap input,.fact-search{min-height:44px}.atlas-space:focus-visible{outline:2px solid currentColor;outline-offset:3px}.cap-intro p,.cc-entry p,.gathering-app .detail-actions{line-height:1.8}.cap-filters button,.cap-pagination button,.atlas-toolbar button,.atlas-breadcrumb button,.cc-entry button,.ql-play button,.ql-play [role=button]{min-height:44px;min-width:44px}.gathering-app .gathering-top .back-link{min-width:64px;min-height:44px;display:flex;align-items:center}.gathering-app .detail-actions .g-text{box-shadow:none;background:transparent;border-color:transparent}.gathering-app .supply-card strong{font-size:12px}.gathering-app .supply-card small{font-size:11px}.gathering-app .storybar h1{overflow-wrap:anywhere;text-wrap:balance}
.gathering-shell{display:flex;flex-direction:column}.gathering-shell .storybar{order:0}.gathering-shell .composer{order:1}.gathering-shell .playfield{order:2}.gathering-shell .journey-result{order:3}.gathering-shell .gathering-foot{order:4}.gathering-top{position:relative;z-index:25}.gathering-top nav{align-items:center}.gathering-top .clarity-menu>div{right:0}.gathering-app .supply-card,.gathering-app .page-dock,.gathering-app .cache-bay,.gathering-app .qw-label,.gathering-app .friend-card{min-width:44px;min-height:44px}.gathering-app .composer{margin-top:12px}.gathering-app .composer-title h2{font-size:22px}.gathering-app #brief-goal{font-size:15px;line-height:1.7}.gathering-app .g-primary{min-height:48px;font-size:15px}.gathering-app .g-text{min-height:44px}.gathering-app .storybar h1{font-size:clamp(25px,3.5vw,37px)}.gathering-app .storybar p{font-size:16px;line-height:1.75}.gathering-app .playfield{margin-top:24px}.gathering-app .composer-title .eyebrow{display:none}@media(max-width:700px){.gathering-top{flex-wrap:wrap;gap:8px}.gathering-wordmark small{display:none}.gathering-app .composer{padding:18px 14px}.gathering-app .page-dock{min-height:150px}.gathering-app .supply-card{min-height:88px}.gathering-app .storybar{padding-top:20px}.gathering-app .storybar p{font-size:14px}.gathering-app .g-intro h3{font-size:25px}.gathering-app .g-intro p{font-size:15px;line-height:1.8}.gathering-app .playfield{min-height:380px}}
@media(max-width:700px){body[data-clarity-stage="0"] [data-machine="laptop"]{left:calc(105px + var(--clarity-laptop-shift,0px))!important}.machine .cart-slot{font-size:calc(18px * var(--target-factor,1))}}
.machine[data-machine="laptop"] .cart-slot{width:calc(44px * var(--target-factor,1))!important;height:calc(44px * var(--target-factor,1))!important;top:158px!important}.machine[data-machine="laptop"] [data-slot="html"]{left:calc(90px - 74px * var(--target-factor,1))!important}.machine[data-machine="laptop"] [data-slot="css"]{left:calc(90px - 22px * var(--target-factor,1))!important}.machine[data-machine="laptop"] [data-slot="js"]{left:calc(90px + 30px * var(--target-factor,1))!important}
.machine .cart-slot::after{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:calc(12px * var(--target-factor,1));line-height:1.4;white-space:nowrap;pointer-events:none}.machine [data-slot="html"]::after{content:'内容'}.machine [data-slot="css"]::after{content:'外观'}.machine [data-slot="js"]::after{content:'互动'}.machine-label{font-size:calc(12px * var(--target-factor,1));display:flex;align-items:center;justify-content:center}.world .machine-grip{font-size:calc(16px * var(--target-factor,1))}.machine-state{font-size:calc(11px * var(--target-factor,1))}.hint-button{font-size:13px}.workbench .run-button{min-height:52px}.workbench .run-button strong{font-size:15px}
@media(max-width:700px){.topbar{gap:10px}.topbar nav{gap:10px}.mission-bar{padding:18px 15px 8px;gap:12px}.mission-copy{max-width:calc(100% - 100px)}.mission-copy h1{font-size:20px}.mission-copy>p#mission-context{font-size:14px}.mission-mark{display:none}.clarity-task{margin:8px 0 0}.clarity-task>p{display:block;margin:5px 0;font-size:14px}.clarity-task>p>strong{display:inline;margin-right:10px}.progress-stamps{display:none}.factory-companion{left:50%;width:47%;top:12px}.factory-companion .cast-speech{padding:9px}.factory-companion .cast-speech p{font-size:12px}.cast-tabs{gap:3px;flex-wrap:wrap}.cast-tabs button{min-width:44px;min-height:44px}.machine .machine-state{max-width:240px}.stage-viewport::after{content:'向右滑动工作台，查看其他设备';position:sticky;left:12px;top:8px;display:inline-flex;font-size:12px;padding:6px;pointer-events:none}}
button:not(.space-node),[role="button"],a.clarity-text-link,summary,.music-switch,.close-button,.small-control{min-width:44px;min-height:44px}
.quality-app .quality-help{width:44px;height:44px}.quality-app .dialog-heading .close-button{width:44px;height:44px}
body a{min-height:44px;min-width:44px;display:inline-flex;align-items:center}#quality-lab-host .ql-button{min-height:44px!important;min-width:44px!important}body .quality-map-pin{min-height:44px!important;min-width:44px!important}.gathering-wordmark,.quality-brand,.wordmark,.journey-entry{min-height:44px!important}.world .wire-hit{stroke-width:calc(44px * var(--target-factor,1))}.music-credits a{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:700px){}
@media(max-width:700px){.quality-intro{padding-top:30px;gap:20px}.quality-intro h1{font-size:34px;line-height:1.3}.quality-intro-copy{font-size:16px;line-height:1.8}.clarity-benefit{font-size:14px;line-height:1.8;margin-top:12px}.formal-start{margin-top:20px}.clarity-all{margin-top:22px}.clarity-all h2{font-size:26px}.clarity-mainline{padding:22px 0}.clarity-mainline ol{grid-template-columns:repeat(3,1fr);gap:18px 10px}.clarity-mainline li{font-size:14px}.quality-next{margin-top:24px}.quality-next-copy h2{font-size:25px}.quality-footer{gap:14px;flex-direction:column}.quality-header{gap:12px}.quality-header nav{gap:10px}}

.formal-start{display:inline-flex;margin-top:24px;min-height:52px;align-items:center}
