/* The world comes first. Controls appear at the place where they are useful. */
#kuku-white-world { height:100dvh; max-width:none; min-height:320px; }
#kuku-white-world .kw-shell { border:0; }
#kuku-white-world .kw-place,#kuku-white-world .kw-help { display:none; }
#kuku-white-world .kw-actions { top:12px; right:12px; left:auto; gap:4px; flex-wrap:nowrap; width:auto; max-width:none; }
#kuku-white-world .kw-actions .kw-icon { width:44px; height:44px; min-height:44px; padding:12px; border:0; border-radius:2px; background:#292d27c9; color:#f5efd8; box-shadow:none; display:grid; place-items:center; }
#kuku-white-world .kw-icon svg { width:20px; height:20px; fill:currentColor; shape-rendering:crispEdges; }
#kuku-white-world .kw-actions .kw-icon:hover,#kuku-white-world .kw-actions .kw-icon[aria-expanded=true] { background:#414b39; color:#ffdb91; }
#kuku-white-world button:focus-visible,#kuku-white-world input:focus-visible { outline:2px solid #e5b65d; outline-offset:3px; }
#kuku-white-world [hidden] { display:none!important; }
#kuku-white-world #kw-action { right:16px; bottom:22px; min-width:0; max-width:min(340px,45%); min-height:44px; padding:8px 12px; display:flex; align-items:center; gap:9px; border:0; border-radius:2px; background:#293227e8; box-shadow:none; color:#fff4d5; font:12px/1.3 ui-monospace,monospace; text-align:left; }
#kuku-white-world #kw-action kbd { background:#f2e6c9; border-radius:0; padding:4px 5px; font-size:11px; }
#kuku-white-world #kw-action span { overflow-wrap:anywhere; }
#kuku-white-world #kw-menu { position:absolute; z-index:40; right:12px; top:64px; width:min(290px,calc(100% - 24px)); max-height:calc(100% - 80px); overflow:auto; padding:14px 18px; color:#f1ead6; background:#242a22f5; border:1px solid #84816b; border-radius:2px; font:12px/1.5 ui-monospace,monospace; }
#kuku-white-world .kw-menu-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; color:#dabb84; }
#kuku-white-world #kw-menu button { position:static; display:block; min-height:44px; width:100%; max-width:none; padding:10px 0; margin:0; background:transparent; border:0; border-bottom:1px solid #ffffff18; border-radius:0; box-shadow:none; color:inherit; font:12px/1.4 ui-monospace,monospace; text-align:left; cursor:pointer; }
#kuku-white-world #kw-menu button:hover { color:#ffdb91; }
#kuku-white-world #kw-menu button:disabled { opacity:.45; cursor:default; }
#kuku-white-world #kw-menu .kw-menu-links span { float:right; color:#b9b49e; }
#kuku-white-world #kw-menu #kw-menu-close { width:38px; min-height:36px; text-align:right; border:0; font-size:22px; }
#kuku-white-world .kw-menu-sounds { margin-top:12px; color:#c5d0b5; }
#kuku-white-world .kw-menu-online { color:#abb49f; font-size:10px; margin:14px 0 2px; }
#kuku-white-world .kw-chat-dock { left:16px; bottom:18px; width:min(330px,42%); max-width:none; padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:#f4ebd4; z-index:12; }
#kuku-white-world .kw-chat-dock #kw-chat-log { min-height:0; max-height:62px; overflow:auto; scrollbar-width:thin; border:0; padding:0 8px; background:linear-gradient(90deg,#20271ee0,#20271e99); font:11px/1.5 ui-monospace,monospace; }
#kuku-white-world .kw-chat-dock #kw-chat-log:empty { display:none; }
#kuku-white-world .kw-chat-dock #kw-chat-log p { margin:5px 0; overflow-wrap:anywhere; }
#kuku-white-world .kw-chat-dock #kw-chat-log b { color:#edcd92; }
#kuku-white-world .kw-chat-dock:focus-within #kw-chat-log { max-height:150px; }
#kuku-white-world .kw-chat-dock #kw-chat-form { display:flex; align-items:center; gap:0; padding:0; background:#242b22e0; border-bottom:1px solid #bfb394; }
#kuku-white-world .kw-chat-dock #kw-chat-input { min-width:0; width:100%; flex:1; min-height:44px; padding:10px; margin:0; color:#fff3d6; background:transparent; border:0; font:12px ui-monospace,monospace; }
#kuku-white-world .kw-chat-dock input::placeholder { color:#c9c4b1; opacity:1; }
#kuku-white-world .kw-chat-dock button { width:44px; min-height:44px; padding:8px; border:0; background:transparent; color:#e9c17b; font-size:20px; cursor:pointer; }
#kuku-white-world #kw-chat-status { margin:0; padding:4px 8px; background:#342b23; color:#ffd5b7; font-size:11px; }
#kuku-white-world #kw-chat-status:empty { display:none; }
#kuku-white-world .kw-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#kuku-white-world .kw-points { display:none; }
#kuku-white-world.kw-building .kw-points { display:flex; top:16px; left:16px; right:auto; bottom:auto; padding:10px 12px; box-shadow:none; border:0; }
#kuku-white-world.kw-building .kw-points span { display:inline; }
#kuku-white-world .kw-tools { bottom:85px; padding:4px; border:0; box-shadow:none; background:#292d27ef; }
#kuku-white-world .kw-tools button { border:0; }
#kuku-white-world .kw-mobile-build { bottom:19px; box-shadow:none; border:0; min-height:44px; background:#af643c; }
#kuku-white-world .kw-toast { bottom:100px; border:0; padding:9px 14px; }
#kuku-white-world.kw-building .kw-toast { top:74px; bottom:auto; }
#kuku-white-world .kw-modal { border:1px solid #77745f; outline:0; box-shadow:0 8px 28px #0004; }
#kuku-white-world .kw-modal:has(.kw-local-actions) { width:min(370px,100%); background:#f2eddc; padding:22px; }
#kuku-white-world .kw-local-actions h2 { font:18px ui-monospace,monospace; margin-bottom:18px; }
#kuku-white-world .kw-context-list { display:flex; flex-direction:column; margin-bottom:14px; }
#kuku-white-world .kw-context-list button { min-height:48px; display:flex; justify-content:space-between; align-items:center; gap:16px; border:0; border-bottom:1px solid #c7c0aa; background:none; text-align:left; padding:10px 0; font-weight:400; font-size:13px; }
#kuku-white-world .kw-context-list button:hover { color:#9a482b; }
#kuku-white-world .kw-local-actions [data-close] { border:0; background:none; padding:10px 0; color:#706b5b; }
@media(pointer:coarse) {
  #kuku-white-world #kw-stick { bottom:90px; left:18px; width:94px; height:94px; background:#e9e3d257; border-color:#69735c99; }
  #kuku-white-world #kw-stick span { left:26px; top:26px; }
  #kuku-white-world #kw-action kbd { display:none; }
  #kuku-white-world .kw-chat-dock:focus-within #kw-chat-input { font-size:16px; }
}
@container kuku (max-width:620px) {
  #kuku-white-world .kw-actions { top:8px; right:8px; }
  #kuku-white-world .kw-chat-dock { left:8px; bottom:10px; width:calc(100% - 16px); max-width:none; }
  #kuku-white-world .kw-chat-dock #kw-chat-log { max-height:44px; }
  #kuku-white-world #kw-action { bottom:85px; right:10px; max-width:calc(100% - 135px); }
  #kuku-white-world .kw-mobile-build { bottom:145px; right:10px; left:auto; transform:none; }
  #kuku-white-world .kw-tools { bottom:200px; max-height:calc(100% - 265px); overflow:auto; }
  #kuku-white-world.kw-building .kw-points { top:12px; left:8px; padding:7px; font-size:10px; }
  #kuku-white-world .kw-toast { bottom:190px; }
  #kuku-white-world #kw-menu { right:8px; top:58px; }
}
@media(max-height:500px) {
  #kuku-white-world .kw-chat-dock #kw-chat-log { max-height:36px; }
  #kuku-white-world .kw-chat-dock:focus-within #kw-chat-log { max-height:70px; }
  #kuku-white-world .kw-toast { bottom:72px; }
}

.kw-energy{position:absolute;right:16px;bottom:88px;z-index:12;padding:7px 10px;background:#252820dd;color:#eee5c9;font:10px monospace;pointer-events:none;max-width:160px}.kw-energy span{display:block;margin-bottom:4px}.kw-energy meter{display:block;width:115px;height:7px;accent-color:#a8ba75}.kw-energy.low{color:#ffd79b}.kw-energy[hidden]{display:none}

/* A small conversation strip appears only while seated at a soup table. */
#kuku-white-world #kw-table-chat { display:flex;align-items:center;background:#29382eee;gap:4px;border-bottom:1px solid #8d9b79; }
#kuku-white-world #kw-table-chat[hidden] {display:none;}
#kuku-white-world #kw-table-chat button {font:12px ui-monospace,monospace;min-height:38px;}
#kuku-white-world #kw-chat-channel {width:auto;white-space:nowrap;}
#kuku-white-world #kw-table-company {font:10px ui-monospace,monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cfd7bb;}
#kuku-white-world #kw-table-question {width:38px;}

@container kuku (max-width:620px) {
 #kuku-white-world #kw-action {bottom:calc(var(--kw-chat-height,60px) + 20px);}
 #kuku-white-world .kw-energy {bottom:calc(var(--kw-chat-height,60px) + 74px);right:10px;}
 #kuku-white-world #kw-stick {bottom:calc(var(--kw-chat-height,60px) + 20px);}
}
/* Shared drawing stays beside the world, leaving the conversation dock usable. */
#kuku-white-world .kw-cloth-panel{position:absolute;top:68px;right:16px;width:min(540px,calc(100% - 32px));max-height:calc(100% - 240px);overflow:auto;z-index:18;background:#eee3c9;color:#35372f;box-shadow:5px 5px 0 #1f261f88;padding:10px;box-sizing:border-box;font:12px ui-monospace,monospace;}
#kuku-white-world .kw-cloth-panel header{display:flex;justify-content:space-between;align-items:center;}
#kuku-white-world .kw-cloth-panel button{border:0;background:transparent;color:inherit;min-height:36px;padding:7px;cursor:pointer;font:inherit;}
#kuku-white-world .kw-cloth-panel button:disabled{opacity:.45;cursor:default;}
#kuku-white-world .kw-cloth-tools{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0;}
#kuku-white-world .kw-cloth-tools [data-cloth-color]{width:36px;background:var(--ink);border:4px solid #eee3c9;outline:1px solid transparent;}
#kuku-white-world .kw-cloth-tools [aria-pressed=true]{outline-color:#35372f;}
#kuku-white-world .kw-cloth-panel canvas{display:block;width:100%;height:auto;aspect-ratio:5/3;touch-action:none;background:#eee3c9;border:1px solid #b6a584;box-sizing:border-box;cursor:crosshair;}
#kuku-white-world .kw-cloth-panel canvas:focus-visible{outline:2px solid #4f7f68;}
#kuku-white-world .kw-cloth-panel [data-cloth-status]{font-size:10px;line-height:1.4;min-height:14px;margin:6px 0;}
#kuku-white-world .kw-cloth-panel footer{display:flex;align-items:center;flex-wrap:wrap;gap:5px;}
#kuku-white-world .kw-cloth-panel small{font-size:9px;color:#68634f;}
#kuku-white-world #kw-table-draw{width:38px;}
.kw-jam-mix { margin: .6rem 0; padding: .6rem .8rem; border: 1px solid #aaa185; }
.kw-jam-mix label { display: inline-flex; align-items: center; gap: .45rem; margin: .25rem 1.2rem .25rem 0; }
.kw-jam-mix input { width: auto; accent-color: #53664d; }
.kw-jam-mix p { margin: .35rem 0 0; }

.kw-art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;margin:20px 0}.kw-art-grid button{background:transparent;border:0;text-align:left;padding:6px;box-shadow:none}.kw-art-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#e4d7ba;border:7px solid #5c4936;box-sizing:border-box}.kw-art-grid strong,.kw-art-grid span{display:block;margin-top:7px}.kw-art-grid span{font-size:11px}.kw-art-large,#kw-art-preview{display:block;max-width:100%;max-height:340px;margin:16px auto;object-fit:contain}#kw-art-submit label{display:block;margin:12px 0}#kw-art-submit input[type=checkbox]{width:auto}

.kw-growth-note{position:absolute;left:50%;transform:translateX(-50%);top:18px;display:flex;background:#33433b;max-width:80%;z-index:9;box-shadow:0 4px 14px #0003}.kw-growth-note[hidden]{display:none}.kw-growth-note button{background:transparent;border:0;color:#f3e7c9;padding:12px;box-shadow:none;font:12px monospace}
/* Compact conversation: one offer, one quiet conversation link, optional details. */
.kw-modal.kw-dialog-compact{max-width:480px;padding:24px 28px}.kw-talk header{display:flex;align-items:center;justify-content:space-between;gap:20px}.kw-talk h2{font-size:30px;margin:0}.kw-talk #kw-npc-text{font-size:15px;line-height:1.65;margin:20px 0}.kw-talk .kw-talk-close{border:0;background:transparent;box-shadow:none;font-size:26px;padding:4px 10px;min-height:40px}.kw-talk .kw-choice{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kw-talk .kw-talk-main{background:#38483f;color:#fff6df;font-size:12px;letter-spacing:0;text-transform:none}.kw-talk .kw-talk-link{border:0;box-shadow:none;background:transparent;text-decoration:underline;padding:8px 0;min-height:44px}.kw-talk details{margin-top:18px;font-size:13px;line-height:1.6}.kw-talk details button{display:block;background:transparent;border:0;box-shadow:none;text-decoration:underline;padding:9px 0}.kw-talk summary{cursor:pointer;opacity:.8}.kw-course{max-width:650px}.kw-course-progress{height:6px;background:#d8d0b7;margin:14px 0}.kw-course-progress span{display:block;height:100%;background:#53786c}.kw-course-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kw-course-list button{text-align:left;padding:12px}.kw-course-word{font-size:28px;line-height:1.4}.kw-course-answer{display:flex;gap:8px;flex-wrap:wrap}.kw-course-answer input{min-width:0;flex:1;font-size:18px}.kw-course-feedback{min-height:48px;line-height:1.6}.kw-course small{display:block;line-height:1.6}.kw-course label{display:block;margin:10px 0}.kw-course .kw-letter{padding:6px;min-width:32px}.kw-course button:disabled{opacity:.5}@media(max-width:520px){.kw-modal.kw-dialog-compact{padding:20px}.kw-course-list{grid-template-columns:1fr}.kw-talk h2{font-size:26px}}
.kw-city{max-width:680px}.kw-city h2{font-size:30px}.kw-city p{line-height:1.65}.kw-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.kw-city-grid button{text-align:left;padding:15px;white-space:normal}.kw-city-grid strong,.kw-city-grid small{display:block}.kw-city-grid small{line-height:1.6;margin-top:8px;font-size:12px}.kw-city details{margin:18px 0}.kw-city details button{background:transparent;box-shadow:none;border:0;text-decoration:underline;display:block;padding:10px 0}.kw-city-way{position:absolute;left:16px;top:16px;background:#35443bdc;color:#fff0ce;max-width:260px;padding:8px 10px;font:12px monospace;z-index:4}.kw-city-way[hidden]{display:none}.kw-city-way button{margin-left:10px;padding:2px 7px;color:inherit;background:transparent;border:0;cursor:pointer}.kw-city-way button:focus-visible{outline:2px solid #e6be71}@media(max-width:520px){.kw-city-grid{grid-template-columns:1fr}.kw-city h2{font-size:25px}.kw-city-way{max-width:150px;font-size:11px}}

.kw-modal.kw-city-modal{max-width:740px}.kw-city-way{display:flex;align-items:center;gap:8px}.kw-city-way button{flex-shrink:0;margin-left:auto}

.kw-bug textarea{width:100%;box-sizing:border-box;font:16px monospace;margin:8px 0}.kw-bug label{display:block;margin:12px 0}.kw-bug input[type=checkbox]{width:auto}.kw-bug img{max-width:100%;max-height:230px;margin:10px 0}.kw-bug img[hidden]{display:none}.kw-bug p{line-height:1.6}

#kuku-white-world .kw-modal-layer.kw-context-open{background:transparent;backdrop-filter:none;align-items:flex-end;justify-content:flex-end;padding:18px;}
#kuku-white-world .kw-context-open .kw-modal{width:min(340px,calc(100vw - 36px));max-height:65vh;padding:16px 20px;box-shadow:0 5px 20px #242a2740;}
#kuku-white-world .kw-context-open h2{font:16px ui-monospace,monospace;margin:0 0 12px;}
#kuku-white-world .kw-context-open p{font-size:13px;}

#kuku-white-world .kw-modal-layer.kw-context-open:not([hidden]){display:flex;}

#kuku-white-world #kw-look-stick{display:none;position:absolute;z-index:11;right:18px;bottom:calc(var(--kw-chat-height,60px) + 20px);width:94px;height:94px;border:2px solid #69735c99;border-radius:50%;background:#e9e3d257;touch-action:none;user-select:none;}
#kuku-white-world #kw-look-stick span{position:absolute;left:26px;top:26px;width:38px;height:38px;background:#5b624c;border:2px solid #efe5cd;border-radius:50%;pointer-events:none;}
#kuku-white-world #kw-look-stick small{position:absolute;bottom:5px;left:0;right:0;text-align:center;font:9px monospace;color:#30392b;pointer-events:none;}
@media(pointer:coarse){#kuku-white-world.kw-firstperson #kw-look-stick{display:block;}#kuku-white-world.kw-firstperson #kw-action{bottom:calc(var(--kw-chat-height,60px) + 132px);right:18px;max-width:190px;}}

@media(pointer:coarse){#kuku-white-world.kw-firstperson #kw-stick{bottom:calc(var(--kw-chat-height,60px) + 20px);}#kuku-white-world.kw-firstperson .kw-energy{top:72px;bottom:auto;right:18px;max-width:120px;padding:5px 8px;}}

#kuku-white-world .kw-rotate-hint{position:absolute;z-index:45;top:76px;left:12px;right:12px;margin:auto;width:max-content;max-width:calc(100% - 24px);font:12px/1.4 monospace;padding:10px 12px;border:1px solid #b6ad91;background:#f2e8cedf;color:#354239;}

/* Touch invitation shares the existing fullscreen action. */
.kw-fullscreen-hint{position:absolute;z-index:24;right:16px;top:76px;display:flex;align-items:center;gap:9px;max-width:calc(100% - 32px);padding:9px 12px;min-height:44px;background:#354238ed;color:#f5ecd0;border:1px solid #b5b69b;font:12px/1.3 monospace;cursor:pointer;}
.kw-fullscreen-hint svg{width:16px;height:16px;fill:currentColor;flex:none;}
.kw-fullscreen-hint[hidden]{display:none!important;}

/* v0.50: actions first, background information on demand. */
#kuku-white-world .kw-modal{position:relative}
#kuku-white-world .kw-window-close{position:absolute;right:10px;top:10px;width:44px;height:44px;padding:0;border:0;background:transparent;font-size:26px;line-height:1}
#kuku-white-world .kw-modal>h2{padding-right:36px}
#kuku-white-world .kw-menu-simple{max-width:680px;padding:28px}
#kuku-white-world .kw-menu-simple h2{font-size:30px;margin:8px 0 16px}
#kuku-white-world .kw-menu-simple p{line-height:1.55}
#kuku-white-world .kw-menu-details{border-top:1px solid #b8b096;margin-top:20px;padding-top:8px}
#kuku-white-world .kw-menu-details summary,#kuku-white-world .kw-talk-more summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:13px}
#kuku-white-world .kw-menu-details p{font-size:13px}
#kuku-white-world .kw-menu-primary button:first-child:not([data-close]){background:#37493e;color:#fff7df;border-color:#37493e}
#kuku-white-world .kw-menu-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
#kuku-white-world .kw-menu-footer button{background:transparent;min-height:44px}
#kuku-white-world .kw-product-view{max-width:520px}
#kuku-white-world .kw-price strong{font-size:24px}
#kuku-white-world .kw-talk-more{margin-top:12px}
@media(max-width:600px){#kuku-white-world .kw-menu-simple{padding:20px 16px}#kuku-white-world .kw-menu-simple h2{font-size:26px}#kuku-white-world .kw-menu-primary{display:flex;flex-direction:column}#kuku-white-world .kw-menu-primary button{min-height:44px}}

#kuku-white-world .kw-house-modal{max-width:900px}
#kuku-white-world .kw-house-tabs{display:flex;gap:4px;margin-bottom:14px}
#kuku-white-world .kw-house-tabs button{flex:1;min-height:44px;padding:8px}
#kuku-white-world .kw-house-tabs [aria-pressed=true],#kuku-white-world .kw-civic-menu [data-civic-tab][aria-pressed=true]{background:#37493e;color:#fff7df}
#kuku-white-world .kw-house-editor section label{display:block;margin:12px 0}
#kuku-white-world .kw-house-editor input,#kuku-white-world .kw-house-editor select{max-width:100%;box-sizing:border-box}
#kuku-white-world .kw-house-editor canvas{width:100%;height:auto}
#kuku-white-world .kw-civic-menu h2{font-size:30px}
#kuku-white-world .kw-civic-menu section>article{border-top:1px solid #b8b096;padding-top:12px}
@media(max-width:650px){#kuku-white-world .kw-house-editor{display:block}#kuku-white-world .kw-house-editor canvas{max-height:230px;object-fit:contain}#kuku-white-world .kw-house-modal{padding:20px 16px}#kuku-white-world .kw-house-modal h2{font-size:26px}}

#kuku-white-world .kw-house-editor input,#kuku-white-world .kw-house-editor select{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px;font:inherit;background:#fff7df;border:1px solid #9a957d}#kuku-white-world .kw-house-editor input[type=color]{padding:4px;max-width:120px}

#kuku-white-world .kw-placement-modal{max-width:760px;padding:24px}
#kuku-white-world .kw-placement-modal h2{font-size:26px}
#kuku-white-world .kw-placement-modal canvas{width:100%;height:auto;max-height:360px;object-fit:contain;image-rendering:pixelated;touch-action:manipulation;border:2px solid #547357}
#kuku-white-world .kw-placement-modal canvas.invalid{border-color:#a33d30}
#kuku-white-world .kw-placement-tools{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
#kuku-white-world .kw-placement-tools button{min-width:44px;min-height:44px;padding:8px}
#kuku-white-world .kw-placement-tools [aria-pressed=true]{background:#37493e;color:#fff7df}
#kuku-white-world #kw-position{min-height:36px;font-size:13px}
@media(max-width:600px){#kuku-white-world .kw-placement-modal{padding:18px 12px}#kuku-white-world .kw-placement-modal h2{font-size:21px}}

#kuku-white-world #kw-room-preview{max-height:none}#kuku-white-world #kw-floorplan{max-width:480px;max-height:none;display:block;margin:auto}#kuku-white-world .kw-object-row{border-top:1px solid #b8b096;padding:12px 0}#kuku-white-world .kw-object-row strong{display:block;margin-bottom:8px}

/* iPhone: visible viewport and safe controls; no restriction on user zoom. */
#kuku-white-world.kw-expanded{position:fixed!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;transform:none!important;overflow:hidden!important;z-index:2147483000!important}
#kuku-white-world:fullscreen{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;top:0!important;left:0!important}
#kuku-white-world:-webkit-full-screen{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;top:0!important;left:0!important}
#kuku-white-world.kw-expanded{inset:auto;top:var(--kw-visible-top,0px);left:var(--kw-visible-left,0px);width:var(--kw-visible-width,100vw);height:var(--kw-visible-height,100dvh);min-height:0;max-height:none;margin:0;box-sizing:border-box}
@media(pointer:coarse){
 #kuku-white-world{min-height:0;max-width:100%;height:min(900px,100svh)}
 #kuku-white-world .kw-shell{min-height:0;height:100%;box-sizing:border-box}
 #kuku-white-world .kw-actions{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right))}
 #kuku-white-world #kw-menu{top:calc(max(8px,env(safe-area-inset-top)) + 50px);right:max(8px,env(safe-area-inset-right));max-height:calc(100% - max(8px,env(safe-area-inset-top)) - env(safe-area-inset-bottom) - 66px)}
 #kuku-white-world .kw-chat-dock{left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));max-width:calc(100% - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right)))}
 #kuku-white-world #kw-stick{left:max(14px,env(safe-area-inset-left));bottom:calc(var(--kw-chat-height,60px) + max(16px,env(safe-area-inset-bottom)))}
 #kuku-white-world.kw-firstperson #kw-look-stick{right:max(14px,env(safe-area-inset-right));bottom:calc(var(--kw-chat-height,60px) + max(16px,env(safe-area-inset-bottom)))}
 #kuku-white-world #kw-action{right:max(14px,env(safe-area-inset-right));min-height:44px}
 #kuku-white-world .kw-modal-layer{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));min-height:0;box-sizing:border-box}
 #kuku-white-world .kw-modal{max-height:100%;min-height:0;max-width:100%;box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 #kuku-white-world .kw-modal input,#kuku-white-world .kw-modal textarea,#kuku-white-world .kw-modal select,#kuku-white-world .kw-chat-dock #kw-chat-input{font-size:16px!important}
 #kuku-white-world .kw-modal button,#kuku-white-world .kw-modal summary{min-height:44px}
 #kuku-white-world #kw-stick,#kuku-white-world #kw-look-stick,#kuku-white-world #kw-canvas{-webkit-touch-callout:none;user-select:none;touch-action:none}
 #kuku-white-world button{touch-action:manipulation}
 #kuku-white-world.kw-typing .kw-touch,#kuku-white-world.kw-typing .kw-energy,#kuku-white-world.kw-typing .kw-rotate-hint{visibility:hidden}
 #kuku-white-world.kw-typing .kw-chat-dock:focus-within{bottom:8px}
 #kuku-white-world .kw-context-open .kw-modal{max-height:100%}
}
@media(pointer:coarse) and (max-height:450px){
 #kuku-white-world.kw-firstperson #kw-action{bottom:calc(var(--kw-chat-height,60px) + max(16px,env(safe-area-inset-bottom)));right:calc(50% - 85px);width:170px;max-width:170px}
 #kuku-white-world.kw-firstperson .kw-energy{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto}
 #kuku-white-world .kw-modal h2{font-size:23px;margin:8px 0}
 #kuku-white-world .kw-modal{padding:14px 18px}
 #kuku-white-world .kw-context-open .kw-modal{max-height:100%}
}
