*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#c4e4e8;color:#203c3d;font:14px 'Segoe UI',sans-serif}#world{position:fixed;inset:0}canvas{display:block}header{position:absolute;top:24px;left:30px;right:30px;display:flex;justify-content:space-between;pointer-events:none}header>*{pointer-events:auto}small{font-size:10px;font-weight:700;letter-spacing:2px;color:#5a7673}h1{font-size:30px;margin:5px 0;font-weight:650;letter-spacing:-1px}h1 i{font-family:Georgia;font-weight:400}h2{font:27px Georgia;margin:10px 0}button,select,input,textarea{font:inherit;border:1px solid #d4ddda;border-radius:9px;padding:10px;background:#fffcf5;color:#294b47}button{cursor:pointer}button:hover{background:#e0eee5}button:disabled{opacity:.5;cursor:default}nav{display:flex;gap:6px;align-items:flex-start}aside,#care{position:absolute;padding:18px;background:#fffdf4ec;border:1px solid #ffffff;border-radius:18px;box-shadow:0 10px 35px #183a3920;backdrop-filter:blur(16px)}aside{right:26px;top:116px;width:225px}aside select,aside>button{width:100%;margin:5px 0}#venues button{width:100%;text-align:left;margin:3px 0;font-size:12px}#care{left:28px;bottom:65px;width:252px}label{display:block;font-size:12px;margin:9px 0}label select,label input,label textarea{width:100%;margin-top:5px}textarea{height:65px;resize:vertical}.row{display:flex;gap:5px}.row>*{flex:1;min-width:0}#meters{font-size:11px;margin:10px 0;line-height:1.8}meter{width:100%;height:7px}footer{position:absolute;bottom:20px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:11px}#status{font-weight:700}#place{position:absolute;top:104px;left:50%;transform:translateX(-50%);font:23px Georgia;text-shadow:0 1px 10px white;text-align:center}#place small{display:block;margin-top:6px}#zoom{position:absolute;right:270px;bottom:70px;display:flex;gap:4px}dialog{border:0;border-radius:20px;padding:28px;width:530px;max-height:85vh;box-shadow:0 20px 100px #14363460;background:#fffdf5;color:#294b47}dialog::backdrop{background:#122d3f35}#close{float:right;border:0;font-size:22px;padding:0 6px}#panel p{line-height:1.5}#panel small{letter-spacing:.5px}a{color:#167768}#toast{position:absolute;top:80px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#234e45;color:white;border-radius:10px;display:none;max-width:600px;z-index:8}.food{display:grid;grid-template-columns:45px 1fr auto auto;align-items:center;gap:8px;margin:7px 0}.food b{font-size:28px}.food button{padding:7px}#caption{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);background:#173a39ed;color:white;padding:12px 25px;border-radius:9px;max-width:700px;text-align:center;display:none;font-size:17px;z-index:9}#demo{position:absolute;bottom:66px;right:27px;font-size:10px} .receipt{background:#e0eee2;padding:12px;border-radius:8px} @media(max-width:800px){header{left:12px;top:12px}h1{font-size:22px}nav button{font-size:10px;padding:7px}aside{right:10px;width:180px;top:90px}#care{left:10px;width:205px;bottom:60px}#place{top:75px}footer span:last-child{display:none}}
body{width:100vw;height:100vh;position:relative}

.tree-label{width:23px;height:23px;padding:2px!important;font-size:12px!important;border:0;background:#fffdf3a6;box-shadow:0 1px 5px #173a3930}.tree-label:hover{transform:scale(1.3);background:#fff}#portrait{width:100%;margin-top:8px}#care{padding:14px}#meters{line-height:1.45}#demo{bottom:62px}.venue-note{background:#e7eee5;padding:10px;border-radius:9px}#venues{max-height:38vh;overflow:auto}@media(max-width:600px){header{right:10px}nav{display:grid;grid-template-columns:1fr 1fr}aside{width:155px;top:115px;padding:10px}#care{width:165px;font-size:11px;bottom:50px;padding:10px}#care button,#care select{padding:7px;font-size:11px}#place{top:85px;font-size:18px}#zoom{right:175px}#demo{right:10px;font-size:9px}dialog{width:95vw;padding:20px}header small{font-size:8px}footer{left:12px;bottom:12px}}

.food{grid-template-columns:72px 1fr auto auto}.food img{width:72px;height:58px;object-fit:contain}.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.collection button{padding:5px}.collection img{width:100%;display:block}.collection span{font-size:12px}#collection{width:100%;margin-top:5px}#care{bottom:55px}
dialog:has(.collection){width:min(1100px,96vw)}.collection{grid-template-columns:repeat(7,1fr)}.collection img{height:80px;object-fit:contain}@media(max-width:800px){.collection{grid-template-columns:repeat(4,1fr)}}
#watch{position:absolute;right:27px;bottom:65px;background:#fffdf5;padding:10px 14px;border-radius:10px;font-size:12px;text-decoration:none}/* Phone UI: keep the world open, and show a single accessible sheet on demand. */
#mobile-bar,#mobile-scrim,.mobile-only,.mobile-sheet-close,#touch-hint{display:none}
html,body{overscroll-behavior:none}#world canvas{touch-action:none}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #368b76;outline-offset:2px}
@media(max-width:800px),(max-width:950px) and (max-height:500px){
 body{height:100dvh;width:100%;--bar-height:64px;--bottom-safe:env(safe-area-inset-bottom,0px)}
 header{top:calc(12px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));z-index:4}
 header>div{pointer-events:none}header small{font-size:9px;letter-spacing:1.5px}h1{font-size:25px;margin:4px 0;line-height:1.1}
 #place{top:calc(88px + env(safe-area-inset-top,0px));width:calc(100% - 30px);font-size:19px;pointer-events:none;z-index:2}#place small{font-size:9px;letter-spacing:.6px;margin-top:4px}
 #touch-hint{display:block;position:fixed;top:calc(65px + env(safe-area-inset-top,0px));left:16px;font-size:10px;color:#284b48;pointer-events:none;z-index:2}
 #mobile-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;position:fixed;inset:auto 0 0;z-index:22;padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + var(--bottom-safe)) max(10px,env(safe-area-inset-left,0px));background:#f9faf0f5;border-top:1px solid #d1ddd2;backdrop-filter:blur(14px)}
 #mobile-bar button{min-height:48px;padding:8px 3px;font-size:14px;font-weight:600}#mobile-bar button[aria-expanded=true]{background:#285d50;color:#fff;border-color:#285d50}
 aside,#care,header nav{display:none;position:fixed;top:auto;left:10px;right:10px;bottom:calc(var(--bar-height) + var(--bottom-safe) + 9px);width:auto;margin:0;max-height:min(66dvh,calc(var(--visual-height,100dvh) - 100px));overflow-y:auto;overscroll-behavior:contain;padding:18px;border:1px solid #e0e6db;border-radius:20px;background:#fffdf7;box-shadow:0 12px 50px #173b3b40;z-index:21;pointer-events:auto;scrollbar-gutter:stable}
 header:has(nav){z-index:21}header nav{display:none}body[data-mobile-panel=apac] aside,body[data-mobile-panel=care] #care,body[data-mobile-panel=menu] header nav{display:block}
 body[data-mobile-panel] #mobile-scrim{display:block;position:fixed;inset:0;z-index:20;background:#12352c38;border:0;border-radius:0;backdrop-filter:blur(1px)}
 .mobile-sheet-close{display:block;float:right;min-height:44px;padding:9px 12px;font-size:13px;margin:0 0 10px 8px}.mobile-only{display:block}header nav h2{margin:6px 0 18px;font-size:25px}header nav>button:not(.mobile-sheet-close),.mobile-video{display:block;width:100%;min-height:46px;margin:8px 0;padding:12px;text-align:left;font-size:15px}.mobile-video{border:1px solid #d4ddda;border-radius:9px;text-decoration:none}
 #care label,#care #meters{font-size:13px}#care button,#care select,aside button,aside select{font-size:16px;min-height:44px;padding:10px}#care>.row:first-of-type{clear:both}#care .row{flex-wrap:wrap;gap:7px}#care .row>*{flex:1 1 70px}#care #meters{line-height:1.7}#care meter{height:10px}#venues{max-height:none;overflow:visible}#venues button{font-size:15px;min-height:44px;margin:5px 0}
 #zoom{position:fixed;right:12px;left:auto;bottom:calc(var(--bar-height) + var(--bottom-safe) + 45px);z-index:3;gap:7px}#zoom button{width:44px;height:44px;font-size:22px;padding:0}footer{position:fixed;left:12px;right:12px;bottom:calc(var(--bar-height) + var(--bottom-safe) + 9px);font-size:11px;pointer-events:none;z-index:3}footer span:last-child{display:none}#status{background:#fffdf4df;padding:5px 8px;border-radius:7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #watch,#demo,#capturecheck{display:none!important}#toast{top:calc(128px + env(safe-area-inset-top,0px));width:calc(100% - 24px);max-width:460px;font-size:13px;padding:10px 14px;z-index:25;pointer-events:none}#caption{bottom:calc(var(--bar-height) + var(--bottom-safe) + 38px);width:calc(100% - 24px);font-size:13px;padding:10px}
 dialog,dialog:has(.collection){position:fixed;top:calc(var(--visual-top,0px) + 10px);bottom:auto;margin:0 auto;width:calc(100% - 16px);max-width:580px;max-height:calc(var(--visual-height,100dvh) - 20px);padding:16px;border-radius:18px;overflow:auto;overscroll-behavior:contain;scroll-padding:18px}
 #close{position:sticky;top:0;z-index:1;min-width:44px;min-height:44px;line-height:1;font-size:26px;background:#fffdf7;border:1px solid #d4ddda;border-radius:10px}dialog h2{font-size:24px;line-height:1.2}dialog p{font-size:14px}dialog small{overflow-wrap:anywhere}dialog button,dialog select,dialog input,dialog textarea{font-size:16px;min-height:44px}dialog textarea{height:100px;min-height:90px}#ideaform .row{display:block}#ideaform label{font-size:14px}#panel> .row{flex-wrap:wrap}#panel>.row>*{flex:1 1 120px}.receipt{overflow-wrap:anywhere}
 .food{grid-template-columns:62px minmax(0,1fr) 58px;gap:6px;border-bottom:1px solid #e0e6db;padding:8px 0}.food img{width:62px;height:55px;grid-row:span 2}.food span{font-size:14px;grid-row:span 2;overflow-wrap:anywhere}.food button{grid-column:3;min-height:44px;font-size:13px;padding:6px}.food small{font-size:10px}.collection{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.collection img{height:85px}.collection button{min-width:0}.collection span{font-size:12px;overflow-wrap:anywhere}
 .tree-label{min-width:30px;min-height:30px;background:#fffdf3ba}
}
@media(max-width:950px) and (max-height:500px) and (orientation:landscape){#place{top:16px;left:55%;width:35%;font-size:16px}#touch-hint{top:61px}aside,#care,header nav{left:auto;right:10px;width:min(360px,65vw);max-height:calc(var(--visual-height,100dvh) - 94px)}#toast{top:75px;width:60%;font-size:12px}.collection{grid-template-columns:repeat(5,minmax(0,1fr))}}

@media(max-width:800px),(max-width:950px) and (max-height:500px){aside>.mobile-sheet-close{width:auto;margin:0 0 8px 8px}}
