.studio{--btn: 56px;--gap: 8px;--ink: #3b3355;--card: rgba(255, 255, 255, .82);--accent: #ffb300;position:fixed;inset:0;z-index:50;display:grid;grid-template-areas:"top top top" "tools view colors";grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);background:radial-gradient(ellipse at 50% 45%,#fffdf6,#fffdf600 60%),linear-gradient(180deg,#d9f1f7,#eaf6ef 55%,#fbefdc);color:var(--ink);font-family:inherit;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none}.studio.level-2{--btn: 50px}.studio *{box-sizing:border-box}.studio button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.studio button:disabled{opacity:.35;cursor:default}.topbar{grid-area:top;display:flex;align-items:center;gap:var(--gap);padding:8px 10px}.topbar .spacer{flex:1}.round{width:var(--btn);height:var(--btn);flex:none;border-radius:50%;border:none;background:var(--card);box-shadow:0 2px 6px #3b335526;display:grid;place-items:center;padding:0;transition:transform .08s}.round:active:not(:disabled),.tool:active,.swatch:active{transform:scale(.92)}.round.on{background:#fff3c4;box-shadow:0 0 0 3px var(--accent)}.round.save{width:calc(var(--btn) * 1.25);height:calc(var(--btn) * 1.25);margin:calc(var(--btn) * -.125) 0;background:#43a047;box-shadow:0 3px 10px #2e7d3273}.level-toggle{display:flex;background:var(--card);border-radius:calc(var(--btn) / 2);padding:4px;gap:4px;box-shadow:0 2px 6px #3b335526}.level-toggle button{width:calc(var(--btn) - 8px);height:calc(var(--btn) - 8px);border-radius:50%;border:none;background:transparent;display:grid;place-items:center;padding:0;opacity:.5}.level-toggle button.on{background:#fff3c4;box-shadow:0 0 0 3px var(--accent);opacity:1}.view{grid-area:view;position:relative;min-width:0;min-height:0;touch-action:none}.view canvas{display:block}.view-buttons{position:absolute;right:10px;bottom:10px;display:flex;gap:var(--gap)}.view-hint{position:absolute;left:50%;top:10px;transform:translate(-50%);background:var(--card);border-radius:24px;padding:4px 14px;pointer-events:none;animation:studio-bob 1.2s ease-in-out infinite}@keyframes studio-bob{50%{transform:translate(-50%,4px)}}.sheet{display:contents}.tabs{display:none}.panel{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 10px 12px;overflow:auto;min-height:0;scrollbar-width:thin}.panel.tools{grid-area:tools}.panel.colors{grid-area:colors}.group{display:grid;grid-template-columns:repeat(2,var(--btn));gap:var(--gap);padding:6px;border-radius:18px;background:#ffffff73}.group.sizes{grid-template-columns:repeat(3,calc(var(--btn) * .7))}.group.sizes .tool{width:calc(var(--btn) * .7);height:calc(var(--btn) * .7)}.tool{width:var(--btn);height:var(--btn);border-radius:16px;border:none;background:var(--card);box-shadow:0 2px 5px #3b33551f;display:grid;place-items:center;padding:0;position:relative;overflow:hidden;transition:transform .08s}.tool.on{background:#fff3c4;box-shadow:0 0 0 3px var(--accent),0 2px 5px #3b33551f}.tool.pattern img{width:100%;height:100%;display:block;border-radius:14px;pointer-events:none}.tool.pattern.on img{border:3px solid #fff3c4}.tool.bucket .bucket-swatch{position:absolute;inset:auto 6px 5px;height:9px;border-radius:5px;background-size:40px 40px;box-shadow:inset 0 0 0 1px #00000026}.studio.level-1 .group .tool.bucket{grid-column:span 2;width:100%}.wheel-wrap{display:flex;flex-direction:column;gap:8px;align-items:center}.wheel{position:relative;touch-action:none;border-radius:50%;box-shadow:0 2px 8px #3b335533}.wheel canvas{display:block;border-radius:50%;touch-action:none}.wheel-marker{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:4px solid white;box-shadow:0 0 0 1.5px var(--ink),0 2px 4px #0000004d;pointer-events:none}.swatches{display:grid;grid-template-columns:repeat(4,calc(var(--btn) * .72));gap:7px}.swatch{width:calc(var(--btn) * .72);height:calc(var(--btn) * .72);border-radius:50%;border:3px solid white;box-shadow:0 1px 4px #3b335559;padding:0;transition:transform .08s}.swatch.on{box-shadow:0 0 0 3px var(--accent),0 1px 4px #3b335559;transform:scale(1.08)}.swatch.small{width:30px;height:30px;border-width:2px}.recent{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:calc(var(--btn) * 3.2)}.sliders{display:flex;flex-direction:column;gap:6px;width:200px}.slider{display:flex;align-items:center;gap:6px;width:100%}.slider>svg,.slider>.dot{flex:none}.slider .dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1}.slider .dot.sun{color:#f9a825}.slider-track{position:relative;flex:1;height:30px;border-radius:15px;background:linear-gradient(to right,#3b335526,#3b335559);box-shadow:inset 0 1px 3px #0003;touch-action:none;cursor:pointer}.slider-knob{position:absolute;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--ink),0 2px 4px #0000004d;pointer-events:none}.wheel-wrap .slider{width:100%;min-width:140px}.name-field{display:flex;align-items:center;gap:6px;background:var(--card);border-radius:16px;padding:4px 8px;width:calc(var(--btn) * 2 + 20px)}.name-field input{min-width:0;flex:1;border:none;background:transparent;font-size:16px;color:var(--ink);outline:none;user-select:text;-webkit-user-select:text}.only-portrait{display:none}.confirm{position:absolute;inset:0;background:#28223c59;display:grid;place-items:center;z-index:5;animation:studio-fade .15s}@keyframes studio-fade{0%{opacity:0}}.confirm-card{background:#fffdf6;border-radius:28px;padding:20px 28px;display:flex;flex-direction:column;align-items:center;gap:18px;box-shadow:0 10px 30px #00000040}.confirm-buttons{display:flex;gap:28px}.round.big{width:84px;height:84px}.round.yes{background:#43a047}.round.no{background:#eceff1}@media (orientation: landscape) and (max-height: 500px){.studio{--btn: 46px;--gap: 6px}.studio.level-2{--btn: 42px}.topbar{padding:4px 8px}.panel{gap:8px;padding:4px 6px 8px}.sliders{width:170px}}@media (orientation: portrait){.studio{grid-template-areas:"top" "view" "sheet";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.topbar{gap:6px}.sheet{grid-area:sheet;display:flex;flex-direction:column;min-width:0;background:#ffffff59;border-radius:22px 22px 0 0}.panel{flex-direction:row;align-items:center;justify-content:safe center;overflow-x:auto;overflow-y:hidden;padding:8px 10px}.panel.tools .group{grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(2,var(--btn))}.panel.tools .group.sizes{grid-template-rows:repeat(2,calc(var(--btn) * .7))}.studio.level-1 .group .tool.bucket{grid-column:auto;grid-row:span 2;width:var(--btn);height:100%}.panel.colors{flex-wrap:nowrap}.panel.colors .swatches{grid-template-columns:repeat(4,calc(var(--btn) * .72))}.only-portrait{display:block}.only-landscape{display:none}.name-field{align-self:center}}@media (orientation: portrait) and (max-height: 950px){.tabs{display:flex;justify-content:center;gap:14px;padding:6px 0 0}.tabs button{position:relative;width:64px;height:40px;border-radius:20px;border:none;background:#fff9;display:grid;place-items:center;padding:0}.tabs button.on{background:#fff3c4;box-shadow:0 0 0 3px var(--accent)}.tab-dot{position:absolute;right:6px;bottom:4px;width:12px;height:12px;border-radius:50%;border:2px solid white}.panel:not(.active){display:none}.studio{--btn: 52px}.studio.level-2{--btn: 46px}}@media (orientation: portrait) and (max-width: 380px){.studio{--btn: 46px}.studio.level-2{--btn: 42px}}@media (orientation: landscape){.studio.level-2 .panel.colors{min-width:210px}.panel.colors .sliders{width:190px}}@media (orientation: portrait){.panel.tools{gap:8px;padding:8px 6px}.panel.tools .group.sizes{grid-template-rows:repeat(3,calc((var(--btn) * 2 + var(--gap) - 2 * 6px) / 3));gap:6px}.panel.tools .group.sizes .tool{width:calc((var(--btn) * 2 + var(--gap) - 2 * 6px) / 3);height:calc((var(--btn) * 2 + var(--gap) - 2 * 6px) / 3);border-radius:50%}.panel.tools .group.sizes .tool svg{width:80%;height:80%}.group{padding:5px}}@media (orientation: portrait) and (max-width: 420px){.studio.level-1{--btn: 48px}}@media (orientation: portrait){.studio.level-2 .panel.tools{flex-wrap:wrap;justify-content:center;overflow-x:hidden;overflow-y:auto;max-height:42vh}.studio.level-2 .panel.colors{flex-wrap:wrap;justify-content:center}}@media (orientation: landscape) and (max-height: 420px){.studio.level-1{--btn: 44px}.studio .panel{gap:6px}.studio .group{padding:3px;gap:6px}}.hud{--btn: 60px;--gap: 10px;--ink: #2f3a56;--glass: rgba(255, 255, 255, .78);--glass-strong: rgba(255, 255, 255, .94);--accent: #ffb300;--accent-soft: #fff1c2;--danger: #ef5350;--ok: #43a047;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);position:fixed;inset:0;z-index:10;pointer-events:none;color:var(--ink);font-family:inherit}@media (max-height: 520px),(max-width: 380px){.hud{--btn: 52px;--gap: 8px}}:where(.hud) *{box-sizing:border-box}:where(.hud) :where(button,input){font:inherit;color:inherit}:where(.hud) button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.hud .hud-btn{pointer-events:auto;width:var(--btn);height:var(--btn);border-radius:calc(var(--btn) * .36);border:3px solid transparent;background:var(--glass-strong);display:grid;place-items:center;font-size:calc(var(--btn) * .5);line-height:1;padding:0;box-shadow:0 3px 10px #0a284638;transition:transform .12s ease,background .15s ease,border-color .15s ease;position:relative}.hud .hud-btn:active{transform:scale(.92)}.hud .hud-btn.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 4px #ffb30059,0 3px 10px #0a284638}.hud .hud-btn.ok{background:var(--ok);color:#fff}.hud .hud-btn.danger{background:var(--danger);color:#fff}.hud .hud-btn:disabled{opacity:.4;cursor:default}.hud .hud-btn.small{width:calc(var(--btn) * .72);height:calc(var(--btn) * .72);font-size:calc(var(--btn) * .36)}.hud .hud-btn .lbl{position:absolute;bottom:-2px;left:50%;transform:translate(-50%,100%);font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap}.hud .hud-bar{position:absolute;left:50%;bottom:calc(var(--safe-b) + 12px);transform:translate(-50%);display:flex;align-items:center;gap:var(--gap);padding:8px;border-radius:calc(var(--btn) * .5);background:#ffffff47;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto;max-width:calc(100vw - 16px - var(--safe-l) - var(--safe-r))}.hud .hud-sep{width:2px;align-self:stretch;margin:6px 0;border-radius:2px;background:#fff9}.hud .hud-chip{pointer-events:auto;height:var(--btn);min-width:var(--btn);padding:0 10px;border-radius:calc(var(--btn) * .36);background:var(--glass);display:flex;align-items:center;gap:6px;font-size:calc(var(--btn) * .42);white-space:nowrap}.hud .hud-chip img{width:calc(var(--btn) - 10px);height:calc(var(--btn) - 10px);object-fit:contain}.hud .hud-hint{position:absolute;left:50%;bottom:calc(var(--safe-b) + 12px + var(--btn) + 28px);transform:translate(-50%);padding:6px 14px;border-radius:999px;background:var(--glass);font-size:26px;white-space:nowrap;pointer-events:none;animation:hud-bob 1.6s ease-in-out infinite}@keyframes hud-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-5px)}}.hud .tap-hand{display:inline-block;animation:hud-tap 1.2s ease-in-out infinite}@keyframes hud-tap{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(3px) scale(.9)}}.hud .card{position:absolute;top:calc(var(--safe-t) + 10px);left:calc(var(--safe-l) + 10px);width:min(300px,calc(100vw - 20px - var(--safe-l) - var(--safe-r)));padding:10px;border-radius:22px;background:var(--glass-strong);box-shadow:0 4px 16px #0a284640;pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;animation:card-in .18s ease-out}@keyframes card-in{0%{opacity:0;transform:translateY(-8px)}}.hud .card-pic{position:relative;width:72px;height:72px;border-radius:18px;background:linear-gradient(160deg,#d9f3fb,#b9e2f0);display:grid;place-items:center;font-size:40px;grid-row:span 2}.hud .card-pic img{width:100%;height:100%;object-fit:contain}.hud .card-pic .badge{position:absolute;right:-6px;bottom:-6px;font-size:22px;background:#fff;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;box-shadow:0 1px 4px #0003}.hud .card-name{display:flex;align-items:center;gap:4px;min-width:0}.hud .card-name .nm{font-weight:800;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud .card-name input{min-width:0;flex:1;font-size:18px;font-weight:700;padding:6px 10px;border-radius:12px;border:2px solid var(--accent);background:#fff;user-select:text;-webkit-user-select:text}.hud .icon-mini{flex:none;width:38px;height:38px;border-radius:12px;border:none;background:transparent;font-size:20px;display:grid;place-items:center;padding:0}.hud .icon-mini:active{background:#0000000f}.hud .card-facts{display:flex;gap:6px;align-items:center}.hud .fact{height:34px;min-width:34px;padding:0 6px;border-radius:10px;background:#eef6fa;display:grid;place-items:center;font-size:19px}.hud .card-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.hud .card-actions .hud-btn{--btn: 50px}@media (max-height: 520px){.hud .card{width:min(270px,46vw);padding:8px}.hud .card-pic{width:58px;height:58px}.hud .card-actions .hud-btn{--btn: 44px}}.hud .sheet-backdrop{position:absolute;inset:0;background:#051e3240;pointer-events:auto;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}}.hud .sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(720px,100vw);max-height:min(78vh,640px);display:flex;flex-direction:column;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#f4fbff,#fffaf0);box-shadow:0 -6px 24px #0a28464d;padding:10px calc(var(--safe-r) + 12px) calc(var(--safe-b) + 12px) calc(var(--safe-l) + 12px);pointer-events:auto;animation:sheet-in .22s cubic-bezier(.2,.9,.3,1.1)}@keyframes sheet-in{0%{transform:translate(-50%,40%);opacity:0}}@media (max-height: 520px){.hud .sheet{max-height:calc(100vh - var(--safe-t) - 8px)}}.hud .sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.hud .tabs{display:flex;gap:8px;flex:1}.hud .tab{height:var(--btn);min-width:calc(var(--btn) * 1.3);border-radius:calc(var(--btn) * .36);border:3px solid transparent;background:#ffffffe6;font-size:calc(var(--btn) * .5);box-shadow:0 2px 6px #0a284626}.hud .tab.active{border-color:var(--accent);background:var(--accent-soft)}.hud .sheet-body{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;display:flex;flex-direction:column;gap:10px;padding:2px 2px 4px}.hud .species-row{display:flex;gap:10px;align-items:stretch;padding:8px;border-radius:22px;background:#fff;box-shadow:0 2px 8px #0a28461f}.hud .species-pic{flex:none;width:96px;border-radius:16px;background:linear-gradient(160deg,#d9f3fb,#b9e2f0);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:44px;font-weight:800}.hud .species-pic img{width:80px;height:80px;object-fit:contain}.hud .species-pic .nm{font-size:12px;margin-top:2px}.hud .tiles{flex:1;min-width:0;display:flex;gap:10px;overflow-x:auto;overscroll-behavior:contain;touch-action:pan-x;padding:4px 2px;scrollbar-width:thin}.hud .tile{flex:none;position:relative;width:92px;height:92px;border-radius:20px;border:3px solid #e2edf3;background:#f6fbfd;display:grid;place-items:center;font-size:36px;padding:0;-webkit-touch-callout:none}.hud .tile img{width:100%;height:100%;object-fit:contain;border-radius:16px;pointer-events:none}.hud .tile.new{border-style:dashed;border-color:var(--accent);background:var(--accent-soft);font-size:30px;line-height:1}.hud .tile .corner{position:absolute;width:34px;height:34px;border-radius:50%;border:none;background:#fff;box-shadow:0 1px 4px #00000040;font-size:17px;display:grid;place-items:center;padding:0}.hud .tile .corner.tr{top:-6px;right:-6px}.hud .tile .corner.tl{top:-6px;left:-6px}.hud .tile .tag{position:absolute;left:4px;bottom:3px;font-size:16px}.hud .tile .confirm{position:absolute;inset:0;border-radius:17px;background:#ffffffeb;display:flex;align-items:center;justify-content:center;gap:6px}.hud .tile .confirm button{width:38px;height:38px;border-radius:12px;border:none;font-size:18px;display:grid;place-items:center;padding:0}.hud .tile .confirm .yes{background:var(--danger);color:#fff}.hud .tile .confirm .no{background:#e7eef2}.hud .soon{padding:28px 10px;text-align:center;font-size:56px}.hud .soon .txt{font-size:20px;font-weight:800;margin-top:6px}@media (max-height: 520px){.hud .species-pic{width:80px}.hud .species-pic img{width:64px;height:64px}.hud .tile{width:78px;height:78px}}.hud .hud-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.hud .hud-install{position:absolute;top:calc(var(--safe-t) + 12px);right:calc(var(--safe-r) + 12px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:auto}.hud .hud-install-hint{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:18px;background:var(--glass-strong);box-shadow:0 3px 10px #0a284638;font-size:24px;white-space:nowrap}.hud .hud-install-hint .step{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef4fb}.hud .hud-install-hint .arrow{font-size:20px;opacity:.6}.hud .hud-install-hint .text{font-size:14px;font-weight:700}
