:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{color:#f5f5f5;border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#000;cursor:pointer;transition:border-color .25s}button:hover{border-color:#ffffff40}button:focus-visible{outline:3px auto -webkit-focus-ring-color}.zoomable-container{width:100%;height:100%;overflow:hidden;position:relative;background:#111}.zoomable-img{-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none;max-width:none;max-height:none}.pin-layer{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;transform:translate(-50%,-100%);width:30px;height:auto;pointer-events:auto;cursor:pointer;touch-action:none}.pin-popup{position:absolute;transform:translate(15px,-135%);pointer-events:auto;z-index:100}.pin-popup-inner{background:#000000d9;color:#f5f5f5;padding:8px 10px;border-radius:6px;font-size:12px;min-width:160px;max-width:220px;box-shadow:0 2px 6px #0009}.pin-popup-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.pin-popup-title{font-weight:600;margin-bottom:4px}.pin-popup-line{opacity:.9}.pin-popup-close{background:transparent;border:none;color:#f5f5f5;cursor:pointer;font-size:14px;line-height:1;padding:0}.pin-popup-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.pin-popup-btn{font-size:11px;padding:4px 8px;border-radius:4px;border:none;cursor:pointer;background:#4caf50;color:#f5f5f5}.pin-popup-btn-secondary{background:#555}.detailsPanel{position:fixed;left:0;top:0;width:340px;height:100vh;background:#141414fa;color:#fff;border-right:1px solid rgba(255,255,255,.1);z-index:1000;display:flex;flex-direction:column}.detailsHeader{padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detailsTitle{font-weight:700}.detailsActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.detailsCloseBtn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#eee;border-radius:10px;padding:6px 10px;cursor:pointer}.detailsServerError{padding:0 16px 8px;color:#ff4d4d}.detailsScroll{flex:1;overflow-y:auto}.detailsBody{margin-top:8px}.detailsSection{padding:16px;border-top:1px solid rgba(255,255,255,.08)}.detailsSectionTitle{font-weight:650;opacity:.9;margin-bottom:10px}.detailsSectionMuted{opacity:.75}.detailsRow{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px}.detailsLabel{opacity:.75;white-space:nowrap}.detailsValue{text-align:right;word-break:break-word}.detailsInlineSuffix{margin-left:8px;opacity:.9}.inputError{outline:2px solid rgb(255,77,77);border-radius:4px}.errorText{font-size:12px;margin-top:4px}.deleteBlock{margin-top:24px;padding:16px;border-top:1px solid rgba(255,255,255,.08)}.dangerButton{width:100%;background:#b00020;color:#fff;border:none;padding:10px 12px;border-radius:10px;cursor:pointer}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#111}.garden-container{width:100vw;height:100vh;overflow:hidden;position:relative}.toolbar{position:absolute;z-index:10;left:12px;top:12px;display:flex;gap:8px;align-items:center}.toolbar-hint{color:#fff;background:#0009;padding:6px 10px;border-radius:10px;text-shadow:0 1px 2px rgba(0,0,0,.9);max-width:420px}.wakeupOverlay{position:absolute;z-index:9999;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wakeupCard{width:min(520px,calc(100% - 32px));background:#000000bf;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;color:#fff;box-shadow:0 10px 30px #00000073}.wakeupTitle{font-size:18px;font-weight:700;margin-bottom:6px}.wakeupText{font-size:14px;opacity:.9;line-height:1.4}.wakeupBtn{margin-top:12px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;cursor:pointer}.wakeupBtn:hover{background:#ffffff1f}
