.ps-root{position:fixed;inset:0;height:100dvh;display:flex;background:#fbf3e4;overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.ps-stagewrap{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center}.ps-stage{position:relative;background:#fff;border-radius:14px;box-shadow:0 6px 26px rgba(0,0,0,.1);overflow:hidden}.ps-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.ps-debug-canvas{pointer-events:none;transition:opacity .15s ease}.ps-lines{pointer-events:none;mix-blend-mode:multiply}.ps-debug-hud{position:absolute;top:calc(10px + env(safe-area-inset-top, 0px));right:calc(12px + env(safe-area-inset-right, 0px));z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:rgba(30,30,30,.86);color:#fff;font-size:13px;line-height:1.3;box-shadow:0 4px 12px rgba(0,0,0,.22)}.ps-debug-hud code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffd43b}.ps-debug-toggle{padding:3px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.45);background:hsla(0,0%,100%,.18);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.ps-side{flex:none;width:106px;background:linear-gradient(90deg,#eec969,#f4e1a6);border-right:5px solid #d9ae4f;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top, 0px)) 8px calc(12px + env(safe-area-inset-bottom, 0px)) calc(8px + env(safe-area-inset-left, 0px))}.ps-side,.ps-side-bot,.ps-side-top{display:flex;flex-direction:column;align-items:center}.ps-side-bot,.ps-side-top{gap:10px}.ps-side-top .game-bgm{margin-left:0}.ps-side-mid{flex-direction:column;gap:18px}.ps-btn,.ps-side-mid{display:flex;align-items:center}.ps-btn{width:54px;height:54px;border-radius:16px;border:none;box-shadow:0 4px 0 rgba(0,0,0,.14);justify-content:center;color:#fff;cursor:pointer}.ps-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.14)}.ps-btn:disabled{opacity:.4}.ps-photo{background:#6ea8f5}.ps-undo{background:#f58a9c}.ps-redo{background:#48c9b0}.ps-trash{background:#f0c95c}.ps-round{width:78px;height:78px;border-radius:50%;border:4px solid #8fa8d8;background:radial-gradient(circle at 32% 26%,#fff,#cfe0f8 75%);color:#4a5680;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 rgba(0,0,0,.16);cursor:pointer}.ps-round:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.16)}.ps-round.on{border-color:#5c79c9;box-shadow:0 0 0 5px rgba(92,121,201,.35),0 4px 0 rgba(0,0,0,.16)}.ps-round.ps-brush-btn{color:#fff;border-color:hsla(0,0%,100%,.9);box-shadow:inset 0 4px 8px hsla(0,0%,100%,.35),inset 0 -4px 8px rgba(0,0,0,.18),0 4px 0 rgba(0,0,0,.16)}.ps-round.ps-brush-btn svg{filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}.ps-round.ps-brush-btn.on{border-color:#fff;box-shadow:0 0 0 5px rgba(92,121,201,.42),inset 0 4px 8px hsla(0,0%,100%,.35),inset 0 -4px 8px rgba(0,0,0,.18),0 4px 0 rgba(0,0,0,.16)}.ps-round.ps-eraser-btn.on{background:linear-gradient(145deg,#ff85a1,#ff5c7a);color:#fff;border-color:#fff;box-shadow:0 0 0 5px rgba(255,92,122,.35),inset 0 4px 8px hsla(0,0%,100%,.35),inset 0 -4px 8px rgba(0,0,0,.18),0 4px 0 rgba(0,0,0,.16)}.ps-round.is-dim{opacity:.68}.ps-round.ps-ink{background-position:50%;border-color:hsla(0,0%,100%,.9);box-shadow:inset 0 5px 10px hsla(0,0%,100%,.42),inset 0 -5px 10px rgba(0,0,0,.16),0 4px 0 rgba(0,0,0,.16)}.ps-round.ps-ink.on{border-color:#fff;box-shadow:0 0 0 5px rgba(92,121,201,.42),inset 0 5px 10px hsla(0,0%,100%,.42),inset 0 -5px 10px rgba(0,0,0,.16),0 4px 0 rgba(0,0,0,.16)}.ps-panel{position:absolute;left:14px;top:50%;transform:translateY(-50%);background:#edf0fa;border:4px solid #8fa0c8;border-radius:24px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:10px;max-height:min(86%,560px);overflow-y:auto;z-index:10}.ps-panel-colors{display:grid;grid-template-columns:repeat(8,42px);gap:7px;max-width:calc(100% - 28px)}.ps-chip{width:42px;height:42px;border-radius:11px;border:3px solid rgba(0,0,0,.18);background-position:50%;cursor:pointer}.ps-chip.sel{outline:4px solid #ff9a2e;outline-offset:0}.ps-brushrow{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:18px;border:3px solid rgba(0,0,0,.06);background:#fff;font-size:17px;font-weight:800;color:#4a5680;cursor:pointer;white-space:nowrap;box-shadow:0 3px 0 rgba(0,0,0,.07)}.ps-brushrow:active{transform:translateY(2px);box-shadow:none}.ps-brushrow.sel{box-shadow:0 0 0 4px rgba(92,121,201,.25),0 3px 0 rgba(0,0,0,.07)}.ps-brushbadge{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.12)}.ps-brushname{flex:1;text-align:left;min-width:96px}.ps-brushpreview{flex:none;width:150px;height:44px;border-radius:22px;border:2px solid hsla(0,0%,100%,.9);background:#fffdf4;box-shadow:inset 0 2px 5px rgba(0,0,0,.08)}@media (max-height:700px),(max-width:640px){.ps-side{width:88px}.ps-side-bot,.ps-side-top{gap:8px}.ps-side-mid{gap:12px}.ps-panel-colors{grid-template-columns:repeat(8,30px);gap:6px}.ps-chip{width:30px;height:30px;border-radius:8px}.ps-round{width:64px;height:64px;font-size:30px}.ps-btn,.ps-side-top .game-back,.ps-side-top .game-bgm{width:44px;height:44px;border-radius:14px}.ps-brushpreview{width:104px;height:36px}.ps-brushname{min-width:0}}@media (prefers-reduced-motion:reduce){.ps-brushrow:active,.ps-btn:active:not(:disabled),.ps-round:active{transform:none}}