.tool-card{border:1.5px solid var(--color-line);color:var(--color-ink);text-align:left;background:#fff;border-radius:22px;padding:clamp(20px,4vw,36px)}.tool-label{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--color-sand);font-size:10px;font-weight:700}.tool-input,.tool-textarea{border:1.5px solid var(--color-line);background:var(--color-cream);width:100%;color:var(--color-ink);font-family:var(--font-mono,ui-monospace, monospace);border-radius:16px;padding:14px 16px;font-size:13px;line-height:1.7}.tool-input:focus,.tool-textarea:focus{outline:2px dashed var(--color-tang);outline-offset:2px;background:#fff}.tool-pre{border:1.5px solid var(--color-line);background:var(--color-ink);color:var(--color-cream);font-family:var(--font-mono,ui-monospace, monospace);white-space:pre-wrap;word-break:break-word;border-radius:16px;padding:16px;font-size:12.5px;line-height:1.7;overflow:auto}.tool-pre .tk-k{color:var(--color-butter)}.tool-pre .tk-s{color:var(--color-mint)}.tool-pre .tk-n{color:var(--color-sky)}.tool-pre .tk-b{color:var(--color-rose)}.tool-err{border:1.5px solid var(--color-tang);background:color-mix(in srgb, var(--color-tang) 8%, transparent);font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-ink);border-radius:14px;margin-top:12px;padding:10px 16px;font-size:12px;line-height:1.7}.tool-meta{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;color:var(--color-sand);font-size:10px;font-weight:700}.copybtn{border:1.5px solid var(--color-line);background:var(--color-paper);color:var(--color-dim);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.copybtn:hover{border-color:var(--color-ink);color:var(--color-ink)}.copybtn.copied{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-cream)}.seg{background:var(--color-cream);border:1.5px solid var(--color-line);border-radius:999px;padding:4px;display:inline-flex}.seg-btn{color:var(--color-dim);cursor:pointer;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;transition:all .15s}.seg-btn:hover{color:var(--color-ink)}.seg-btn[aria-pressed=true]{background:var(--color-ink);color:var(--color-cream)}.urow-light{border:1.5px solid var(--color-line);background:var(--color-cream);width:100%;font-family:var(--font-mono,ui-monospace, monospace);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12.5px;transition:border-color .15s;display:flex}.urow-light:hover{border-color:var(--color-tang)}.kv-row{border-bottom:1px dashed var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.kv-row:last-child{border-bottom:0}.kv-row>span{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;color:var(--color-sand);font-size:10px;font-weight:700}.kv-row>b{font-family:var(--font-mono,ui-monospace, monospace);text-align:right;word-break:break-all;font-size:13px}.steps{align-items:stretch;gap:8px;display:flex}.step{border:1.5px solid var(--color-line);background:var(--color-paper);border-radius:18px;flex:1;align-items:center;gap:10px;padding:10px 12px;display:flex}.step b{border:2px solid var(--color-ink);background:var(--color-butter);width:34px;height:34px;font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;font-size:15px;display:grid}.step span{font-size:12.5px;font-weight:700;line-height:1.25}.step-arr{color:var(--color-tang);flex:none;align-self:center}.tbtn{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.tbtn-main{background:var(--color-ink);color:var(--color-cream);border:2px solid var(--color-ink);box-shadow:0 3px 0 0 var(--color-ink)}.tbtn-main:hover{background:var(--color-tang);border-color:var(--color-ink);box-shadow:0 5px 0 0 var(--color-ink);transform:translateY(-2px)}.tbtn-main:active{box-shadow:0 1px 0 0 var(--color-ink);transform:translateY(1px)}.tbtn-wa{color:#fff;background:#1faf54;border:2px solid #1faf54;box-shadow:0 3px #14713a}.tbtn-wa:hover:not(:disabled){background:#22c05d;transform:translateY(-2px);box-shadow:0 5px #14713a}.tbtn-wa:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #14713a}.tbtn-wa:disabled{opacity:.5;cursor:not-allowed;transform:none}.tbtn-go{background:var(--color-mint);color:var(--color-ink);border:2px solid var(--color-ink);box-shadow:0 4px 0 0 var(--color-ink)}.tbtn-go:hover:not(:disabled){box-shadow:0 6px 0 0 var(--color-ink);transform:translateY(-2px)}.tbtn-go:active:not(:disabled){box-shadow:0 1px 0 0 var(--color-ink);transform:translateY(2px)}.tbtn-go:disabled{opacity:.4;cursor:not-allowed}.tbtn-ghost{background:var(--color-paper);color:var(--color-dim);border:1.5px solid var(--color-line)}.tbtn-ghost:hover{border-color:var(--color-ink);color:var(--color-ink)}.tbtn.compact{padding:8px 16px;font-size:12px}.tbtn.block{width:100%;padding-top:14px;padding-bottom:14px;font-size:15px}.tgl{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.06em;border:1.5px solid var(--color-line);background:var(--color-paper);color:var(--color-dim);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;transition:all .15s}.tgl:hover{border-color:var(--color-tang);color:var(--color-tang)}.tgl.on{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-cream)}.tbtn-sm{padding:8px 14px;font-size:12px}section#app.app-wide>div{max-width:1180px}.panel{border:1.5px solid var(--color-line);background:var(--color-paper);border-radius:1.5rem}.p-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.p-title{font-size:16px;font-weight:800}.p-badge{font-family:var(--font-mono);letter-spacing:.1em;background:var(--color-cream);border:1.5px solid var(--color-line);color:var(--color-dim);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700}span.saved{color:var(--color-spice)}.p-badge.saved{background:var(--color-mint);color:var(--color-ink);border-color:var(--color-mint)}.shopbar{border:1.5px solid var(--color-line);background:var(--color-paper);border-radius:18px;align-items:center;gap:10px;padding:10px 12px;display:flex}.shop-e{border:2px solid var(--color-ink);background:var(--color-butter);cursor:pointer;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:25px;transition:transform .15s;display:grid}.shop-e:hover{transform:scale(1.1)}.shop-e svg{width:26px;height:26px}.shop-n{min-width:40px;font-size:17px;font-weight:800}.shop-today{text-align:right;font-family:var(--font-mono);color:var(--color-dim);flex:none;margin-left:auto;font-size:10.5px;font-weight:700;line-height:1.5}.shop-today b{color:var(--color-ink);font-size:15px;display:block}.ed{-webkit-user-select:text;user-select:text;cursor:text;border-radius:8px;margin:-2px -5px;padding:2px 5px;transition:background .15s,box-shadow .15s}.ed:hover{background:#ff5d1f14}.ed:focus{background:var(--color-cream);box-shadow:inset 0 0 0 2px var(--color-tang);outline:none}.ed:empty:before{content:attr(data-ph);color:var(--color-sand);pointer-events:none}.emo-anchor{position:relative}.emo-pop{z-index:60;background:var(--color-paper);border:2px solid var(--color-ink);width:min(264px,100vw - 60px);max-height:220px;box-shadow:0 6px 0 0 var(--color-ink), 0 30px 60px -30px #1e191366;border-radius:18px;grid-template-columns:repeat(6,1fr);gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.emo-pop button{cursor:pointer;border-radius:10px;place-items:center;height:36px;font-size:20px;line-height:1;transition:background .12s,transform .12s;display:grid}.emo-pop button:hover{background:var(--color-butter);transform:scale(1.15)}.emo-pop::-webkit-scrollbar{width:8px}.emo-pop::-webkit-scrollbar-thumb{background:var(--color-line);border-radius:99px}.bump{animation:.3s bump}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}#app button{touch-action:manipulation}
