@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@500&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap";:root{color:#17231d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#17231d;--muted:#68736c;--line:#17231d1f;--lime:#d9ff61;--surface:#ffffffc7;--mono:"DM Mono", ui-monospace, monospace;background:#f3f5ef;font-family:Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}html{background:#f3f5ef;min-width:320px}body{background:radial-gradient(circle at 12% 18%,#d9ff6161,#0000 27rem),radial-gradient(circle at 90% 68%,#99ddff45,#0000 32rem),#f3f5ef;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #17231d47}#root{min-height:100vh}.app-shell{width:min(1120px,100% - 48px);margin:0 auto;padding:0 0 80px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:11px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{grid-template-columns:repeat(2,8px);gap:2px;display:grid;transform:rotate(-4deg)}.brand-mark i{background:var(--ink);border-radius:2px;width:8px;height:8px}.brand-mark i:nth-child(2){background:#fb5b55}.brand-mark i:nth-child(3){background:#5b8cff}.brand-mark i:nth-child(4){background:var(--lime)}.connection-status{border:1px solid var(--line);color:var(--muted);background:#ffffff85;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:#f6a723;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f6a7231f}.connection-status.is-online .status-dot{background:#28b76b;box-shadow:0 0 0 4px #28b76b1f}.intro{max-width:770px;padding:76px 0 50px}.eyebrow{color:#5b685f;font-family:var(--mono);letter-spacing:.12em;margin:0 0 19px;font-size:11px}h1{color:var(--ink);letter-spacing:-.065em;margin:0;font-size:clamp(42px,6.2vw,76px);font-weight:800;line-height:1.12}h1 span{z-index:0;display:inline-block;position:relative}h1 span:after{z-index:-1;background:var(--lime);content:"";border-radius:999px 16px;height:.3em;position:absolute;bottom:.03em;left:.01em;right:-.08em;transform:rotate(-1.2deg)}.intro-copy{max-width:610px;color:var(--muted);margin:22px 0 0;font-size:15px;line-height:1.9}.workspace{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #17231d21;border-radius:30px;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 22px 70px #232e271a}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:18px 24px;display:flex}.color-tools,.color-picker,.preset-colors{align-items:center;display:flex}.color-tools{gap:22px}.color-picker{color:var(--muted);gap:10px;font-size:12px;font-weight:600}.color-picker output{min-width:66px;color:var(--ink);font-family:var(--mono);font-size:11px}.color-input-wrap{background:var(--selected-color);width:36px;height:36px;box-shadow:0 0 0 1px var(--line), 0 4px 12px #17231d1f;border:4px solid #fff;border-radius:12px;position:relative}.color-input-wrap input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.preset-colors{gap:7px}.preset-colors button{background:var(--preset-color);width:22px;height:22px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border:3px solid #fff;border-radius:50%;padding:0;transition:transform .16s,box-shadow .16s}.preset-colors button:hover{transform:translateY(-2px)scale(1.08)}.preset-colors button.is-selected{box-shadow:0 0 0 2px white, 0 0 0 4px var(--ink)}.reset-button{border:1px solid var(--line);color:#5d6560;cursor:pointer;background:#fff;border-radius:12px;min-width:90px;padding:10px 16px;font-size:12px;font-weight:700;transition:border-color .16s,color .16s,transform .16s}.reset-button:hover:not(:disabled){color:#d43838;border-color:#e7454573;transform:translateY(-1px)}.reset-button:disabled{opacity:.46;cursor:not-allowed}.canvas-stage{background-color:#ebeee694;background-image:linear-gradient(#17231d09 1px,#0000 1px),linear-gradient(90deg,#17231d09 1px,#0000 1px);background-size:24px 24px;place-items:center;padding:44px;display:grid}.canvas-frame{background:#fff;border-radius:16px;width:min(100%,512px);padding:10px;display:flex;box-shadow:0 0 0 1px #17231d1f,0 18px 45px #202d2521,0 2px 5px #202d2514}canvas{aspect-ratio:1;width:100%;height:auto;image-rendering:pixelated;cursor:crosshair;touch-action:none;background:#fff;border-radius:8px;display:block}.canvas-meta{border-top:1px solid var(--line);min-height:66px;color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;font-size:11px;display:grid}.drawing-hint{align-items:center;gap:8px;display:inline-flex}.pointer-icon{border:1.5px solid;border-radius:8px;width:15px;height:18px}.pointer-icon:before{content:"";background:currentColor;border-radius:2px;width:2px;height:5px;margin:3px auto 0;display:block}.canvas-size{color:var(--ink);font-family:var(--mono);letter-spacing:.08em;font-size:10px}.cleared-at{justify-self:end}@media (width<=720px){.app-shell{width:min(100% - 28px,580px);padding-bottom:36px}.site-header{min-height:70px}.connection-status{padding:7px 9px;font-size:10px}.intro{padding:52px 2px 36px}.intro-copy{font-size:13px}.workspace{border-radius:22px}.toolbar{align-items:flex-start;min-height:0;padding:18px}.color-tools{flex-direction:column;align-items:flex-start;gap:14px}.preset-colors{gap:8px}.preset-colors button{width:24px;height:24px}.canvas-stage{padding:20px}.canvas-frame{border-radius:12px;padding:7px}canvas{border-radius:6px}.canvas-meta{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;min-height:72px;padding:13px 18px;display:flex}.drawing-hint{width:100%}.cleared-at{margin-left:auto}}@media (width<=420px){.brand>span:last-child,.preset-colors button:nth-child(n+7){display:none}.canvas-stage{padding:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
