:root{font:16px/1.6 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#304b3e;background:#f4f1e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:940px;margin:auto;padding:24px 28px 40px}header{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:inherit;text-decoration:none;font-weight:650}.brand span{font-size:13px;color:#687d70;font-weight:400}.badge{font-size:13px;border:1px solid #d3dbd0;border-radius:30px;padding:3px 12px;white-space:nowrap}.intro{margin:28px 0 22px}.eyebrow{font-size:13px;letter-spacing:3px;color:#788773;margin:0}h1{font-size:clamp(28px,4vw,40px);line-height:1.3;margin:8px 0}p{margin:8px 0}.intro>p:last-child{color:#728172}.experience{position:relative;height:470px;background:white;border-radius:26px;overflow:hidden;isolation:isolate}#preview,#ar-canvas{position:absolute;inset:0;width:100%;height:100%}canvas{display:block;touch-action:none}.view-hint{position:absolute;top:16px;left:18px;font-size:13px;color:#68776b;background:#fffffff0;padding:5px 11px;border-radius:20px;pointer-events:none}.bottom-ui{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;text-align:center;background:linear-gradient(transparent,#fffffff5 32%)}#status{font-size:15px;margin:10px auto;max-width:540px}button,.button{font:inherit;line-height:1.35;min-height:46px;padding:11px 18px;border:1px solid #d9dfd5;border-radius:13px;background:#fff;color:#355644;cursor:pointer;text-decoration:none;text-align:center}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible{outline:3px solid #cf913d;outline-offset:3px}.primary{background:#3d614a;color:#fff;border-color:#3d614a}.floating{position:absolute;right:16px;top:16px;z-index:2;box-shadow:0 2px 12px #0002}.gift{margin:16px 0 12px;padding:16px 20px;background:#fff8e4;border:1px solid #eee5ce;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.gift strong,.gift span{display:block}.gift span{font-size:13px;color:#7c806d}.actions{display:flex;gap:10px}.actions>*{flex:1}.help{font-size:14px;color:#728172;margin-top:16px}details{margin-top:22px;font-size:14px;border-top:1px solid #dce0d5;padding-top:16px}summary{cursor:pointer}details p{max-width:700px}pre{font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;background:#fff;padding:12px}footer{font-size:13px;text-align:center;color:#7d8a78;margin:28px}#error{color:#913e30;background:#fff2ec;padding:10px;border-radius:12px;font-size:14px}dialog{border:0;border-radius:22px;max-width:min(94vw,520px);padding:22px;color:#304b3e}dialog::backdrop{background:#12271dbb}dialog img{display:block;max-width:100%;max-height:60dvh;object-fit:contain;margin:auto}dialog h2{font-size:22px;margin:0 0 14px}dialog p{font-size:14px}a{color:#3d614a}[hidden]{display:none!important}
body.in-ar .experience{position:fixed;inset:0;z-index:20;height:100dvh;border-radius:0;background:#17221b}body.in-ar #ar-canvas{top:0;bottom:auto;height:var(--ar-view-height,100dvh);width:100%;background:#111}body.in-ar .bottom-ui{bottom:calc(155px + env(safe-area-inset-bottom));background:transparent;color:#fff;text-shadow:0 1px 5px #000}body.in-ar #status{background:#14271dc9;padding:10px 14px;border-radius:14px}body.in-ar .controls{position:fixed;bottom:0;left:0;right:0;z-index:21;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#f4f1e9f5}body.in-ar .gift{margin:0 0 8px;padding:10px 14px}body.in-ar .help{display:none}body.in-ar .floating{top:calc(14px + env(safe-area-inset-top))}body.in-ar .view-hint{top:calc(18px + env(safe-area-inset-top));max-width:60%}body.in-ar dialog{z-index:30}
@media(max-width:600px){main{padding:18px 16px 26px}.intro{margin:24px 0 16px}.experience{height:430px;height:clamp(340px,51dvh,470px);border-radius:22px}.gift{padding:13px}.gift span{max-width:190px}.gift button{padding:10px 14px;white-space:nowrap}.actions{gap:8px}.actions>*{padding:10px 8px}h1{font-size:29px}.brand span{font-size:12px}dialog{padding:16px}}
.journeys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.journeys button{background:#fff8e4;border-color:#ece3cd;font-size:15px}.journeys span{display:inline-block;min-width:22px;background:#3d614a;color:white;border-radius:50%;margin-left:4px;font-size:13px}#cloud-status{font-size:14px;min-height:22px;color:#6b786d;margin-bottom:14px}.photo-actions{margin-top:9px}#take-home{width:100%;margin:0 0 10px}.collection-controls{display:flex;align-items:center;gap:10px;padding:10px 0;flex-wrap:wrap}.collection-controls label{flex:1;min-width:140px}.collection-controls span{font-size:14px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.dialog-top h2{margin:0}dialog{width:560px;max-height:90dvh;overflow-y:auto}dialog label{display:block;font-size:15px;margin:14px 0 6px}input:not([type=checkbox]),select,textarea{font:inherit;color:#304b3e;background:white;border:1px solid #bdcbbd;border-radius:10px;padding:10px;width:100%;min-height:44px}input[type=file]{font-size:14px}input[type=checkbox]{width:20px;height:20px;accent-color:#3d614a;flex-shrink:0}.check{display:flex!important;align-items:flex-start;gap:10px}.cat-card{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #dce0d5}.cat-card img{width:72px;height:72px;object-fit:cover;border-radius:16px;margin:0}.cat-card h3{margin:0;font-size:19px}.cat-card p{font-size:14px;color:#758070;margin:4px 0}.cat-card .actions{grid-column:1/-1}.cat-card>div:first-child{grid-column:1/-1}.empty{padding:32px 16px;background:#f5f5ef;border-radius:14px;color:#738071}.danger{color:#9c4133;border-color:#c99d93}.upload-label{font-size:14px}#capture-video{width:100%;max-height:42dvh;object-fit:contain;background:#17221b;border-radius:14px}#capture-preview{max-height:42dvh;border-radius:14px}#generate-cat{width:100%;margin-top:8px}#generate-status,#library-note,#location-status,#manage-status{color:#496540;white-space:pre-wrap}#shared-encounter{background:#fff;padding:20px;border:1px solid #dce0d5;border-radius:20px;margin:18px 0}#shared-encounter h2{margin:0}#shared-photo{max-height:220px;max-width:100%;border-radius:12px;margin-top:12px}.generation-frame{position:fixed;width:320px;height:320px;left:-10000px;top:0;border:0;pointer-events:none}.collection-controls label{margin:0;font-size:14px}.collection-controls select{padding:5px 9px;min-height:38px}body.in-ar .bottom-ui{bottom:calc(228px + env(safe-area-inset-bottom))}body.in-ar .controls{max-height:40dvh;overflow-y:auto}body.in-ar .actions button{min-height:40px;font-size:14px;padding:9px}body.in-ar .collection-controls{padding:0 0 8px}body.in-ar .photo-actions{margin-top:7px}body.in-ar #take-home{margin-bottom:8px;min-height:40px}body.in-ar .gift{padding:8px 10px}body.in-ar .gift span{font-size:12px}body.in-ar .view-hint{max-width:65%}
#surface-guide{position:absolute;left:50%;top:var(--ar-view-center,50%);z-index:2;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:9px;color:#fff;text-shadow:0 1px 4px #0008;pointer-events:none}#surface-guide span{width:42px;height:42px;border:2px solid #e1b85b;border-radius:50%;box-shadow:0 0 0 1px #0003,inset 0 0 0 12px #ffffff18;transition:border-color .18s,transform .18s}#surface-guide small{background:#14271dc9;border-radius:16px;padding:3px 10px;white-space:nowrap}#surface-guide[data-state=building] span{transform:scale(.86)}#surface-guide[data-state=stable] span{border-color:#a7c979;transform:scale(.72)}#surface-guide[data-state=stable] small{color:#dff2cc}
@media(max-width:600px){.journeys{grid-template-columns:1fr;gap:7px}.journeys button{min-height:42px;padding:8px}.intro{margin:18px 0 12px}.experience{height:clamp(340px,48dvh,470px)}.cat-card .actions button{font-size:14px}#capture-dialog .actions{flex-wrap:wrap}#capture-dialog .actions button{min-width:110px}.brand span{font-size:12px}}
/* XR8 owns physical pixels; CSS owns the visible camera frame. */
body.in-ar #ar-canvas{inset:auto!important;left:var(--ar-view-left,0px)!important;top:var(--ar-view-top,0px)!important;width:var(--ar-view-width,100%)!important;height:var(--ar-view-height,100%)!important}
body.in-ar .bottom-ui{bottom:calc(var(--ar-controls-height,228px) + 6px);padding:8px 16px}
#surface-guide{width:42px;height:42px;display:block}
#surface-guide span{display:block}
#surface-guide small{position:absolute;left:50%;top:51px;transform:translateX(-50%);font-size:13px}
#copy-ar{position:absolute;z-index:3;left:16px;top:calc(64px + env(safe-area-inset-top));font-size:12px;min-height:32px;padding:6px 10px;background:#ffffffdd}

.studio-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.studio-tools label{display:flex;align-items:center;gap:8px}.studio-tools select{width:auto}body.in-ar .studio-tools,body.in-ar #handoff-cat{display:none}#handoff-cat{padding:16px;border:1px solid #d5dfd4;border-radius:16px;margin-bottom:12px}
#anchor-tools{font-size:14px;margin-bottom:8px}.anchor-toolbar,.anchor-buttons{display:flex;gap:8px;align-items:center}.anchor-toolbar label{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.anchor-toolbar select{min-width:0;min-height:36px;padding:5px;flex:1;width:80px}.anchor-toolbar button,.anchor-buttons button{font-size:14px;min-height:40px;padding:8px}.anchor-buttons{margin:8px 0}.anchor-buttons button{flex:1}.anchor-buttons [aria-pressed=true]{background:#3d614a;color:white}.anchor-slider{display:grid;grid-template-columns:2.5em 3.5em 1fr;gap:8px;align-items:center}.anchor-slider output{text-align:right;font-variant-numeric:tabular-nums}#anchor-tools input[type=range]{padding:0;min-height:36px;accent-color:#3d614a;border:0;background:transparent;touch-action:pan-y}#anchor-confirm{width:100%;margin-top:5px;min-height:40px;padding:8px}body.anchor-editing .controls>.gift,body.anchor-editing .controls>.actions,body.anchor-editing .controls>.collection-controls,body.anchor-editing #take-home{display:none}body.anchor-editing .controls{max-height:48dvh}body.anchor-editing #status{font-size:14px}
