:root{--color-main:#19a6b7;--color-main-dark:#14899a;--color-accent:#6bb76b;--color-accent-dark:#549a54;--color-sub:#ffc845;--color-bg:#f2f5f7;--color-text:#333333;--color-surface:#ffffff;--color-muted:#6b7785;--color-border:#e2e8ec;--color-soft-green:#eef7ee;--color-soft-blue:#e9f5f7;--color-danger:#d9534f;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--shadow-card:0 2px 10px rgba(25,55,70,0.06);--shadow-float:0 6px 20px rgba(25,55,70,0.12);--space:16px;--maxw:720px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit;color:inherit}.app{max-width:var(--maxw);margin:0 auto;padding:0 var(--space) 96px}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(242,245,247,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 calc(-1 * var(--space));padding:12px var(--space);border-bottom:1px solid var(--color-border)}.app-header-inner{max-width:var(--maxw);margin:0 auto;justify-content:space-between;gap:12px}.app-header-inner,.brand{display:flex;align-items:center}.brand{gap:8px;font-weight:700;font-size:17px;color:var(--color-main-dark)}.brand svg{flex:none}.brand small{color:var(--color-muted);font-weight:600;font-size:11px;letter-spacing:.06em}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px;margin-top:var(--space)}.card-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--color-main-dark);display:flex;align-items:center;gap:8px}.card-title:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--color-main)}.title-input{width:100%;border:none;outline:none;background:transparent;font-size:24px;font-weight:800;color:var(--color-text);padding:4px 0}.title-input::placeholder{color:#b8c2cc}.field-label{display:block;font-size:12px;font-weight:700;color:var(--color-muted);margin-bottom:6px}.text-input,.textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:15px;background:#fbfcfd;outline:none;transition:border-color .15s,box-shadow .15s}.text-input:focus,.textarea:focus{border-color:var(--color-main);box-shadow:0 0 0 3px rgba(25,166,183,.12);background:#fff}.textarea{resize:vertical;min-height:200px;line-height:1.7}.textarea.big{min-height:260px}.progress{display:flex;align-items:center;gap:12px;margin-bottom:4px}.progress-bar{flex:1 1;height:10px;border-radius:999px;background:#e6ebef;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--color-main),var(--color-accent));transition:width .35s ease}.progress-stats{display:flex;gap:14px;margin-top:10px;font-size:13px;color:var(--color-muted)}.progress-stats b{color:var(--color-text);font-size:15px}.progress-percent{font-size:20px;font-weight:800;color:var(--color-main-dark);min-width:52px;text-align:right}.section{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:14px;overflow:hidden}.section-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-soft-blue);border-bottom:1px solid var(--color-border)}.section-dot{width:8px;height:8px;border-radius:50%;background:var(--color-main);flex:none}.section-title-input{flex:1 1;border:none;background:transparent;outline:none;font-size:15px;font-weight:700;color:var(--color-main-dark);padding:2px 4px;border-radius:6px}.section-title-input:focus{background:#fff;box-shadow:0 0 0 2px rgba(25,166,183,.2)}.section-count{font-size:12px;color:var(--color-muted);font-weight:600;white-space:nowrap}.section-body{padding:6px 8px 10px}.section.is-collapsed .section-body{display:none}.section-toggle{flex:none;width:26px;height:26px;border:none;background:transparent;color:var(--color-main-dark);display:grid;place-items:center;border-radius:6px}.section-toggle:hover{background:rgba(25,166,183,.12)}.section-toggle .chevron{transition:transform .15s ease}.section:not(.is-collapsed) .section-toggle .chevron{transform:rotate(90deg)}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-title-row .card-title{margin-bottom:0}.link-btn{border:none;background:transparent;color:var(--color-main-dark);font-size:13px;font-weight:700;padding:4px 6px;border-radius:6px}.link-btn:hover{background:var(--color-soft-blue)}.item-myitems-btn:hover{background:var(--color-soft-green);color:var(--color-accent-dark)}.item{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:var(--radius-sm)}.item-group+.item-group{border-top:1px solid #f0f3f5}.item:focus-within{background:#fafcfc}.checkbox{flex:none;width:28px;height:28px;border-radius:8px;border:2px solid #c6d0d8;background:#fff;display:grid;place-items:center;padding:0;transition:background .15s,border-color .15s,transform .1s}.checkbox:active{transform:scale(.92)}.checkbox.checked{background:var(--color-accent);border-color:var(--color-accent-dark)}.checkbox svg{opacity:0;transform:scale(.6);transition:opacity .15s,transform .15s}.checkbox.checked svg{opacity:1;transform:scale(1)}.item-text{flex:1 1;border:none;background:transparent;outline:none;font-size:16px;padding:4px 2px;border-radius:6px}.item-text:focus{background:#fff;box-shadow:0 0 0 2px rgba(25,166,183,.15)}.item.done .item-text{color:#9aa7b0;text-decoration:line-through}.icon-btn{flex:none;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:#b0bcc5;display:grid;place-items:center;transition:background .15s,color .15s}.icon-btn:hover{background:#fbecec;color:var(--color-danger)}.checkbox.sm{width:20px;height:20px;border-radius:6px;border-width:2px}.gear-btn{position:relative;color:#b0bcc5}.gear-btn:hover{background:var(--color-soft-green)}.gear-btn.has-links,.gear-btn:hover{color:var(--color-accent-dark)}.gear-count{position:absolute;top:-2px;right:-2px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--color-accent);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center}.gear-sublist{margin:0 0 6px 40px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--color-soft-green);padding:4px 0 2px 12px}.gear-row{display:flex;align-items:center;gap:8px;padding:3px 2px}.gear-name{font-size:14px;color:var(--color-text)}.gear-row.done .gear-name{color:#9aa7b0;text-decoration:line-through}.gear-link-hint{display:inline-flex;align-items:center;margin:2px 0 6px 40px;border:none;background:transparent;color:var(--color-main-dark);font-size:13px;font-weight:700;padding:4px 2px}.gear-link-hint:hover{text-decoration:underline}.gear-select-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:44vh;overflow-y:auto}.gear-select-row{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfd;text-align:left}.gear-select-row.selected{border-color:var(--color-accent);background:var(--color-soft-green)}.gear-select-row .checkbox.sm{flex:none;pointer-events:none}.gear-select-main{display:flex;flex-direction:column;min-width:0}.gear-select-name{font-weight:600;font-size:15px}.gear-select-cat{font-size:12px;color:var(--color-main-dark)}.gear-add{display:flex;gap:8px;align-items:stretch}.gear-add .text-input{flex:1 1;min-width:0}.gear-add .btn{flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;border:1px solid transparent;padding:10px 16px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .1s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-main);color:#fff}.btn-primary:hover{background:var(--color-main-dark)}.btn-outline{background:#fff;border-color:var(--color-main);color:var(--color-main-dark)}.btn-outline:hover{background:var(--color-soft-blue)}.btn-ghost{background:transparent;color:var(--color-muted);border-color:var(--color-border)}.btn-ghost:hover{background:#fff;color:var(--color-text)}.btn-block{width:100%}.section-actions{display:flex;gap:10px;margin-top:14px}.section-actions .btn{flex:1 1}.add-item-btn{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px 6px;border:none;background:transparent;color:var(--color-main-dark);font-size:13px;font-weight:700;padding:6px 4px}.add-item-btn:hover{text-decoration:underline}.add-item-panel{margin:8px 6px 4px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfd}.add-item-panel-label{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--color-main-dark)}.add-item-empty{margin:0 0 8px;font-size:13px;color:var(--color-muted)}.add-item-dup{margin:8px 0 0;font-size:13px;font-weight:600;color:var(--color-danger)}.add-item-divider{height:1px;background:var(--color-border);margin:12px 0}.myitem-pick-grid{display:flex;flex-direction:column;gap:8px}.myitem-pick-btn{width:100%;border:1px solid var(--color-main);border-radius:var(--radius-md);background:#fff;color:var(--color-main-dark);font-size:16px;font-weight:700;padding:14px 16px;text-align:left;transition:background .15s,transform .1s}.myitem-pick-btn:active{transform:scale(.98);background:var(--color-soft-blue)}.add-item-manual{display:flex;gap:8px;align-items:stretch}.add-item-manual .text-input{flex:1 1;min-width:0}.add-item-manual .btn{flex:none;align-self:stretch}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.toolbar .btn{flex:1 1;min-width:130px}.save-status{font-size:12px;color:var(--color-muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.save-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent)}.save-dot.saving{background:var(--color-sub)}.attach-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.attach-thumb{position:relative;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#f6f8f9}.attach-thumb-btn{display:block;width:100%;height:100%;padding:0;border:none;background:transparent}.attach-thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}.attach-del{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:8px;border:none;background:rgba(51,51,51,.6);color:#fff;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.attach-del:hover{background:var(--color-danger)}.attach-add{margin-top:2px}@media (max-width:480px){.attach-grid{grid-template-columns:repeat(2,1fr)}}.modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(20,30,36,.85);display:grid;place-items:center;padding:24px}.modal-image{max-width:100%;max-height:90vh;border-radius:var(--radius-md);box-shadow:var(--shadow-float);object-fit:contain}.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--color-text);display:grid;place-items:center}.sheet-modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(20,30,36,.55);display:flex;align-items:flex-end;justify-content:center;padding:0}.sheet-modal{background:var(--color-surface);width:100%;max-width:var(--maxw);max-height:88vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-float);display:flex;flex-direction:column}.sheet-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--color-border)}.sheet-modal-title{margin:0;font-size:16px;font-weight:800;color:var(--color-main-dark)}.sheet-modal-body{padding:16px 18px 24px;overflow-y:auto}@media (min-width:560px){.sheet-modal-overlay{align-items:center;padding:24px}.sheet-modal{border-radius:var(--radius-lg)}}.modal-hint{margin:0 0 14px;font-size:13px;line-height:1.6}.empty-note,.modal-hint{color:var(--color-muted)}.empty-note{text-align:center;font-size:14px;padding:18px 0}.myitem-form{flex-direction:column;margin-bottom:18px}.myitem-form,.myitem-form-row{display:flex;gap:8px}.myitem-form-row .text-input{flex:1 1;min-width:0}.select{flex:none;width:120px;background:#fbfcfd}.category-select{width:100%;flex:1 1}.category-add-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.category-add-inline .text-input{flex:1 1;min-width:120px}.gear-pick-row{margin-bottom:14px}.gear-pick-row .select,.gear-pick-row select{width:100%}.myitem-list,.template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.myitem-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfd}.myitem-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.myitem-name{font-weight:700;font-size:15px}.myitem-meta{display:flex;gap:8px;font-size:12px;color:var(--color-muted);flex-wrap:wrap}.myitem-cat{color:var(--color-main-dark);font-weight:600}.ownership-badge{flex:none;border:none;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap;color:#fff}.ownership-owned{background:var(--color-accent)}.ownership-planned{background:var(--color-main)}.ownership-missing{background:#b0bcc5}.template-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfd}.template-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.template-name{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px;color:var(--color-main-dark)}.template-meta{font-size:12px;color:var(--color-muted)}.template-actions{display:flex;align-items:center;gap:4px}.btn-sm{padding:7px 12px;font-size:13px}.notice{display:flex;gap:10px;align-items:flex-start;background:#fff9e9;border:1px solid #f4e2b0;border-radius:var(--radius-md);padding:12px 14px;margin-top:var(--space);font-size:13px;color:#7a6a34;line-height:1.6}.notice svg{flex:none;margin-top:1px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--color-text);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;box-shadow:var(--shadow-float);z-index:50}.toast.error{background:var(--color-danger)}.print-header{display:none}@media (max-width:480px){.card{padding:14px}.title-input{font-size:21px}.toolbar .btn{min-width:0;flex-basis:calc(50% - 4px)}}@media print{:root{--color-bg:#fff}body{background:#fff}.app{max-width:100%;padding:0}.add-item-btn,.app-header,.attach-add,.attach-del,.icon-btn,.link-btn,.modal-overlay,.notice,.section-actions,.section-toggle,.sheet-modal-overlay,.toast,.toolbar-card,.tools-card{display:none!important}.section.is-collapsed .section-body{display:block!important}.print-header{display:block;margin-bottom:8px}.card{box-shadow:none;border:1px solid #ccc}.card,.section{break-inside:avoid;page-break-inside:avoid}.checkbox{-webkit-print-color-adjust:exact;print-color-adjust:exact}.item-text,.section-title-input,.text-input,.textarea,.title-input{border:none;background:transparent}}