@scope (html) to (:scope :is(x-base,x-board-card,x-footer,x-nav,x-pager,x-paint-tool)>*){main{max-width:var(--page);margin:0 auto;padding:0 var(--gutter) var(--space-l)}}
x-board-card{display:contents}@scope (x-board-card) to (:scope :is(x-base,x-board-card,x-footer,x-nav,x-pager,x-paint-tool)>*){.board-card{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:14px;background:var(--card);border:2px solid var(--rule);box-shadow:var(--shadow);text-decoration:none;transition:transform var(--duration),box-shadow var(--duration)}.board-card:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:var(--shadow-lift)}img{display:block;width:100%;aspect-ratio:2.2 / 1;object-fit:cover;border-radius:10px;background:#fff}span{display:block;padding:6px 10px;border-radius:10px;text-align:center;font-weight:700;font-size:var(--text-m);background:var(--chip-bg,#eef6ee);color:var(--chip-fg,#17803a)}}
x-nav{display:contents}@scope (x-nav) to (:scope :is(x-base,x-board-card,x-footer,x-nav,x-pager,x-paint-tool)>*){.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;min-height:132px}.brand{display:flex;align-items:center;padding:0 var(--space-l) 0 var(--gutter)}.brand img{display:block;width:300px;height:auto}nav{display:flex;justify-content:flex-end}nav a{flex:0 1 118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-s) 6px;color:var(--on-color);text-decoration:none;font-weight:700;font-size:1.05rem;line-height:1;text-align:center;transition:filter var(--duration)}nav a:hover{filter:brightness(1.08)}nav a svg{width:38px;height:38px}.orange{background:var(--orange)}.amber{background:var(--amber)}.green{background:var(--green)}.sky{background:var(--sky-blue)}.purple{background:var(--purple)}.pink{background:var(--pink)}.search{position:relative;display:flex;align-items:center;background:var(--red);padding:0 var(--gutter) 0 var(--space-m)}.search svg{position:absolute;left:calc(var(--space-m) + 18px);color:var(--text);width:22px;height:22px}.search input{width:240px;padding-left:52px}@media (max-width:1250px){.site-header{grid-template-columns:1fr auto;min-height:0}.brand{padding:var(--space-s) var(--gutter)}.brand img{width:220px}nav{grid-column:1 / -1;grid-row:2;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}nav a{flex:1 0 104px;min-height:84px;font-size:.95rem}nav a svg{width:30px;height:30px}.search{background:none}.search input{width:min(240px,40vw);background:#f1f3f9}}@media (max-width:560px){.brand img{width:160px}.search input{width:48px;padding-right:0}.search input:focus{width:56vw}}}
x-footer{display:contents}@scope (x-footer) to (:scope :is(x-base,x-board-card,x-footer,x-nav,x-pager,x-paint-tool)>*){.site-footer{margin-top:var(--space-xl);background:#f6f8fd}.stripes{display:flex;height:10px}.stripes span{flex:1}.stripes span:nth-child(1){background:var(--orange)}.stripes span:nth-child(2){background:var(--amber)}.stripes span:nth-child(3){background:var(--green)}.stripes span:nth-child(4){background:var(--sky-blue)}.stripes span:nth-child(5){background:var(--purple)}.stripes span:nth-child(6){background:var(--pink)}.stripes span:nth-child(7){background:var(--red)}.inner{max-width:var(--page);margin:0 auto;padding:var(--space-l) var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-m) var(--space-l)}.brand img{display:block;width:170px;height:auto}p{margin:0;color:var(--muted);flex:1 1 260px}nav{display:flex;flex-wrap:wrap;gap:var(--space-m)}nav a{font-weight:700}}
x-paint-tool{display:contents}@scope (x-paint-tool) to (:scope :is(x-base,x-board-card,x-footer,x-nav,x-pager,x-paint-tool)>*){.tool{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:var(--space-l);align-items:start}.sheet{position:relative;background:#fff;padding:10px;border-radius:20px;border:3px solid var(--rule);box-shadow:var(--shadow-lift)}.cb-stage{position:relative;overflow:hidden;border-radius:12px;background:#fff;touch-action:none;cursor:pointer}.cb-pan{transform-origin:0 0}canvas{display:block;width:100%;height:auto}.zoom{position:absolute;right:20px;bottom:20px;display:flex;gap:8px}button.icon{min-height:48px;width:48px;padding:0;background:#fff;color:var(--text);border:2px solid var(--rule);box-shadow:0 3px 0 var(--rule);font-size:var(--text-m)}.panel{background:#f6f8fd;border-radius:20px;padding:var(--space-m);border:3px solid var(--rule)}.label{font-size:var(--text-l);margin:var(--space-m) 0 var(--space-s)}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.swatches button{min-height:0;aspect-ratio:1;padding:0;border-radius:50%;background:var(--swatch);border:3px solid #fff;box-shadow:0 3px 0 rgb(0 0 0 / .15)}.swatches button[aria-pressed="true"]{outline:5px solid var(--ink);outline-offset:1px;transform:scale(1.06)}.styles{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 1em;font-size:var(--text-m);background:#fff;color:var(--text);box-shadow:0 3px 0 var(--rule);border:2px solid var(--rule)}.chip[aria-pressed="true"]{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 3px 0 #5a159c}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-m)}.actions .small,.actions a.button.small{font-size:var(--text-s);min-height:44px;padding:0 .9em}.progress{display:grid;gap:6px;font-weight:800;color:var(--ink);font-size:var(--text-l)}.bar{height:14px;border-radius:7px;background:#fff;border:2px solid var(--rule);overflow:hidden}.bar div{height:100%;width:calc(var(--progress,0) * 100%);background:linear-gradient(90deg,var(--red),var(--orange),var(--amber),var(--green),var(--sky-blue),var(--purple))}.done{margin-top:var(--space-m);padding:var(--space-m);border-radius:16px;background:#fff4c4;text-align:center}.done p{font-weight:800;color:var(--ink);font-size:var(--text-l)}.hint{color:var(--muted);font-size:var(--text-s);margin:var(--space-m) 0 0}@media (max-width:900px){.tool{grid-template-columns:1fr}.sheet{padding:4px;border-width:2px}.zoom{right:12px;bottom:12px}.swatches{grid-template-columns:repeat(8,1fr);gap:8px}}}
x-pager{display:contents}@scope (x-pager) to (:scope :is(x-base,x-board-card,x-footer,x-nav,x-pager,x-paint-tool)>*){.pager{display:flex;flex-wrap:wrap;gap:var(--pager-gap,0.5rem);align-items:center}.pager-link,.pager-current{padding:var(--pager-padding,0.25rem 0.6rem);border-radius:var(--pager-radius,0.25rem)}.pager-current{background:var(--pager-current-bg,currentColor);color:var(--pager-current-color,Canvas)}}