:root{--bg: #ffffff;--text: #111111;--grey: #6e6e73;--line: #e5e5ea;--edge: #c7c7cc;--grid: rgba(0, 0, 0, .045);--fill: #111111;--on-fill: #ffffff;--bar: 48px;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #000000;--text: #f2f2f2;--grey: #8e8e93;--line: #2c2c2e;--edge: #48484a;--grid: rgba(255, 255, 255, .05);--fill: #f2f2f2;--on-fill: #000000}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.35 var(--sans);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer;min-height:44px}button:disabled{color:var(--grey);cursor:default}a{color:inherit;text-decoration-color:var(--edge);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--text);outline-offset:2px}[hidden]{display:none!important}.grey{color:var(--grey)}.wrap{max-width:600px;margin:0 auto;padding:0 16px}.wrap-wide{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}.key{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--edge);border-radius:8px;background:var(--bg);box-shadow:0 2px 0 var(--edge);color:var(--text);font:500 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:transform 80ms ease-out,box-shadow 80ms ease-out;user-select:none;-webkit-user-select:none}.key:after{content:"";position:absolute;inset:-5px -2px}.key:active:not(:disabled),.key.on{transform:translateY(2px);box-shadow:0 0 0 var(--edge)}.key:disabled{color:var(--grey);border-style:dashed;box-shadow:none}.key.sm{min-height:32px;padding:0 11px}.key.sm:after{inset:-7px -2px}.key.fill,.key.on{background:var(--fill);color:var(--on-fill);border-color:var(--fill)}.key.fill{box-shadow:0 2px 0 var(--grey)}.key.fill:active{box-shadow:0 0 0 var(--grey)}.key.wide{width:100%;min-height:48px}@media(hover:hover){.key:not(:disabled):not(.fill):not(.on):hover{border-color:var(--grey);box-shadow:0 2px 0 var(--grey)}}.doc{padding-bottom:calc(var(--bar) + 56px + env(safe-area-inset-bottom))}.top{display:flex;justify-content:space-between;align-items:center;height:60px}.title{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:12px 0 2px;overflow-wrap:anywhere}.subtitle{color:var(--grey);margin:0;overflow-wrap:anywhere}.note{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.notice{color:var(--grey);font:14px/1.4 var(--mono);margin:12px 0 0;padding-left:10px;border-left:2px solid var(--edge)}.placeholder,.untitled{color:var(--grey)}.bar{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-top:16px;color:var(--grey);font:14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.bar.done{color:var(--text)}.switch{position:relative;width:44px;display:inline-flex;align-items:center;justify-content:flex-end}.switch:before{content:"";width:38px;height:22px;border-radius:6px;border:1px solid var(--edge);background:var(--bg);transition:background .12s ease-out,border-color .12s ease-out}.switch:after{content:"";position:absolute;right:20px;width:16px;height:16px;border-radius:4px;background:var(--grey);transition:transform .12s ease-out,background .12s ease-out}.switch[aria-checked=true]:before{background:var(--fill);border-color:var(--fill)}.switch[aria-checked=true]:after{transform:translate(16px);background:var(--on-fill)}.list{list-style:none;margin:0;padding:0}.sec{color:var(--grey);font:14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:26px 0 10px;border-bottom:1px solid var(--edge)}.row{display:flex;align-items:center;gap:14px;min-height:52px;padding:10px 0;border-bottom:1px solid var(--line);background:var(--bg)}.row.tap{cursor:pointer;user-select:none;-webkit-user-select:none}.row .text{flex:1;min-width:0;overflow-wrap:anywhere}.row .label{display:inline;transition:color .12s ease-out}.row .inote{display:block;color:var(--grey);font-size:14px;margin-top:2px}.row .qty{color:var(--grey);font:14px/1 var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.row.done .label{color:var(--grey);text-decoration:line-through;text-decoration-color:var(--grey)}.row.done .label:has(.inline){text-decoration:none;color:var(--text)}.hide-done .row.done,.hide-done .sec.empty{display:none}.mark{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.mark svg{display:block}.mark .ring{fill:none;stroke:var(--edge);stroke-width:1.5;transition:stroke .12s ease-out}.mark .disc{fill:var(--fill)}.mark .tick{fill:none;stroke:var(--on-fill);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.row.tap:hover .ring{stroke:var(--grey)}}.dot{width:6px;height:6px;border-radius:1px;background:var(--grey)}.num{color:var(--grey);font:14px/1 var(--mono);font-variant-numeric:tabular-nums}.flash .mark{animation:pop .12s ease-out}@keyframes pop{0%{transform:scale(.8);opacity:.5}}.empty-state{color:var(--grey);margin:20px 0 0;padding:20px 16px;border:1px dashed var(--edge);border-radius:8px;text-align:center}.handle,.del{flex:none;width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--grey)}.handle{margin:0 -14px 0 -13px;cursor:grab;touch-action:none}.handle svg{stroke:var(--grey);stroke-width:2.6;stroke-linecap:round}.del{margin-right:-12px;font-size:20px;line-height:1}@media(hover:hover){.del:hover{color:var(--text)}}.dragging{position:relative;z-index:2;background:var(--bg);outline:1px solid var(--edge);box-shadow:0 2px 0 var(--edge);border-radius:6px;cursor:grabbing}.removing{overflow:hidden;transition:height .15s ease-out,min-height .15s ease-out,padding .15s ease-out,opacity .15s ease-out}.inline{display:block;width:100%;border:0;border-bottom:1px solid var(--text);border-radius:0;background:transparent;padding:0 0 1px;margin:0;font:inherit;letter-spacing:inherit}.inline:focus{outline:none}textarea.inline{resize:none;min-height:3em;field-sizing:content}.qty .inline{text-align:right;width:5.5em}.tablewrap{overflow-x:auto;margin:16px -16px 0;padding:0 16px;-webkit-overflow-scrolling:touch}table{border-collapse:separate;border-spacing:0;min-width:100%;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:8px 16px 8px 0;height:52px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}td{white-space:normal;min-width:4em;max-width:16em;overflow-wrap:anywhere}tbody td:first-child{min-width:9em}th{color:var(--grey);font:400 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;height:40px;border-bottom-color:var(--edge)}th:last-child,td:last-child{padding-right:0}.n{text-align:right}td.n{font-family:var(--mono);font-size:16px}tbody th,tbody td:first-child,thead th:first-child,tfoot td:first-child{position:sticky;left:0;background:var(--bg)}tfoot td{font-weight:600;border-bottom:0;border-top:1px solid var(--edge)}tfoot td:first-child{font:400 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}td.ctl,th.ctl{width:44px;min-width:44px;padding:0}td.editable,th.editable{cursor:text}.foot{margin-top:48px;padding-top:16px;border-top:1px solid var(--line);color:var(--grey);font-size:14px}.foot p{margin:12px 0 0}.add{position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-top:1px solid var(--edge);padding-bottom:env(safe-area-inset-bottom);z-index:3}.add .wrap{display:flex;align-items:center;gap:12px;height:56px}.add label{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--edge);border-radius:7px;box-shadow:0 2px 0 var(--edge);color:var(--text);font:18px/1 var(--mono);cursor:pointer}.add input{flex:1;min-width:0;height:44px;border:0;background:transparent;outline:none}.add input::placeholder{color:var(--grey);opacity:1}@media(min-width:700px){.add{left:50%;right:auto;bottom:20px;width:min(600px,calc(100% - 32px));transform:translate(-50%);border:1px solid var(--edge);border-radius:12px;box-shadow:0 3px 0 var(--edge);padding-bottom:0}.add .wrap{padding:0 14px}}body:has(dialog[open]) .add{visibility:hidden}.toast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--fill);color:var(--on-fill);font:14px/1.2 var(--mono);padding:11px 14px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s ease-out;z-index:5;white-space:nowrap}.toast.show{opacity:1}@media(min-width:700px){.toast{bottom:96px}}dialog{border:1px solid var(--edge);border-bottom:0;border-radius:14px 14px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom));margin:auto auto 0;width:100%;max-width:100%;background:var(--bg);color:var(--text)}dialog::backdrop{background:#00000073}dialog p{margin:0 0 6px}dialog .strong{font-weight:600}dialog .row2{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}@media(min-width:700px){dialog{margin:auto;max-width:420px;border:1px solid var(--edge);border-radius:14px;box-shadow:0 3px 0 var(--edge);padding:22px}}.rail{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;font:14px/1 var(--mono);letter-spacing:.06em;color:var(--grey)}.rail a{color:var(--text);text-decoration:none}.rail a:hover{text-decoration:underline}.mark-word{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:10px;font:14px/1 var(--mono);letter-spacing:.06em}.mark-word:before{content:"";width:12px;height:12px;border-radius:3px;background:var(--fill)}.page{padding-top:24px;padding-bottom:64px}.page h1{font-size:26px;font-weight:600;letter-spacing:-.015em;margin:0 0 12px}.page h2{font:400 14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:40px 0 12px;padding-top:14px;border-top:1px solid var(--line)}.page p,.page li{color:var(--text)}.page pre{font:14px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--edge);border-radius:8px;padding:12px 14px;margin:10px 0}.links{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.page .foot a{color:var(--grey)}.landing{min-height:100svh;display:flex;flex-direction:column;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}.landing>footer{border-top:1px solid var(--line)}.hero{flex:1;width:100%;display:grid;gap:32px;align-content:center;padding-top:24px;padding-bottom:40px}.eyebrow{margin:0 0 14px;font:14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);display:flex;align-items:flex-start;gap:10px}.eyebrow:before{content:"";flex:none;width:24px;height:1px;margin-top:6px;background:var(--grey)}.hero h1{font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0 0 14px}.lede{color:var(--grey);max-width:36ch;margin:0}.steps{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.steps li{display:flex;align-items:baseline;gap:12px;padding-top:10px;border-top:1px solid var(--edge)}.steps b{flex:none;display:flex;gap:8px;font:500 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.steps b span{color:var(--grey)}.steps small{font-size:14px;line-height:1.35;color:var(--grey)}.plate{position:relative;padding:22px 16px 16px;margin-bottom:16px;background:linear-gradient(var(--text) 0 0) top left / 10px 1px no-repeat,linear-gradient(var(--text) 0 0) top left / 1px 10px no-repeat,linear-gradient(var(--text) 0 0) top right / 10px 1px no-repeat,linear-gradient(var(--text) 0 0) top right / 1px 10px no-repeat,linear-gradient(var(--text) 0 0) bottom left / 10px 1px no-repeat,linear-gradient(var(--text) 0 0) bottom left / 1px 10px no-repeat,linear-gradient(var(--text) 0 0) bottom right / 10px 1px no-repeat,linear-gradient(var(--text) 0 0) bottom right / 1px 10px no-repeat,var(--bg);outline:1px solid var(--line);outline-offset:-1px}.plate-label{position:absolute;top:-8px;left:16px;padding:0 6px;background:var(--bg);font:14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}.ask{display:block;width:100%;margin:0;padding:0 0 8px;border:0;border-bottom:1px dashed var(--edge);border-radius:0;background:transparent;color:var(--text);font:17px/1.35 var(--sans);resize:none;overflow:hidden;field-sizing:content}.ask:focus{outline:none;border-bottom:1px solid var(--text)}.hint{color:var(--grey);font-size:14px;margin:12px 0 0}.try{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:28px 0 0;font:14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}@media(min-width:820px){.hero{grid-template-columns:1fr 1fr;grid-template-areas:"intro panel" "steps panel";column-gap:64px;row-gap:0;align-items:center}.intro{grid-area:intro;align-self:end}.panel{grid-area:panel}.steps{grid-area:steps;align-self:start;flex-direction:row;gap:20px;margin-top:32px}.steps li{flex:1;flex-direction:column;gap:6px}.hero h1{font-size:40px}.key.wide{width:auto;min-width:280px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}.editable{cursor:text}@media(hover:hover){.editable:hover{text-decoration:underline dotted var(--grey);text-underline-offset:4px}.row.done .label.editable:hover{text-decoration:line-through}}.row.editing,.sec.editing,tr.editing td,th.editing{background:var(--grid)}.row.editing,.sec.editing{box-shadow:inset 2px 0 0 var(--text);padding-left:10px}.row.editing{align-items:center;gap:10px}.row.editing .handle{margin:0 -8px 0 -12px}.row.editing .text{display:flex;flex-direction:column;gap:6px}.row.editing .inote .inline{font-size:14px;color:var(--grey)}.row.editing .qty .inline{font:14px/1.35 var(--mono);width:4.5em}.row.editing .label,.row.editing .text>.inline{color:var(--text);text-decoration:none}.inline::placeholder{color:var(--grey);opacity:.75}.sec .inline{font:inherit;letter-spacing:inherit;text-transform:uppercase}.sec.editing{padding-top:16px}.addcol{width:28px;height:28px;min-height:28px;border:1px dashed var(--edge);border-radius:7px;color:var(--grey);font:16px/1 var(--mono)}.addcol:hover{border-style:solid;color:var(--text)}tr.ghost td{padding:8px 0 0;border-bottom:0;height:auto;max-width:none}.addrow{position:sticky;left:0;display:block;width:calc(100vw - 32px);max-width:568px;min-height:44px;padding:0 12px;border:1px dashed var(--edge);border-radius:7px;color:var(--grey);font:400 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-align:left}.addrow:hover{border-style:solid;color:var(--text)}.colbox{display:flex;align-items:center;gap:2px}.colbox .inline{min-width:5em;text-transform:uppercase;font:inherit;letter-spacing:inherit}.rowctl{display:flex;align-items:center}.rowctl .handle{margin:0}th.editing .del{margin:0;width:32px;height:32px;min-height:32px}td .inline{min-width:4em}td.n .inline{text-align:right}dialog.sheet[open]{display:flex;flex-direction:column;gap:12px}.sheet-label{font:14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:0 0 4px}.sheet .hint{margin:-4px 0 0}.sheet-del{margin-top:4px;padding-top:14px;border-top:1px solid var(--line);text-align:left;color:var(--grey);font:500 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.sheet-del:hover{color:var(--text)}.toast.act{pointer-events:auto;display:flex;align-items:center;gap:16px;padding:4px 6px 4px 14px}.toast button{min-height:36px;padding:0 10px;color:var(--on-fill);font:500 14px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:6px}.faq{padding:40px 20px 56px}.faq h2{font:400 14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:0 0 20px;padding-top:14px;border-top:1px solid var(--line)}.faq dl{display:grid;gap:24px 48px;margin:0}.faq dt{font-weight:500;margin:0 0 6px}.faq dd{margin:0;color:var(--grey);max-width:52ch}.faq dd a{color:var(--text)}@media(min-width:820px){.faq dl{grid-template-columns:1fr 1fr}}
