:root{--ink:#17231e;--muted:#69766f;--paper:#f2f0e8;--surface:#fffef9;--line:#d8ddd7;--green:#244f3b;--dark:#173728;--lime:#c8df58;--orange:#d9693d;--danger:#a84638;--shadow:0 16px 45px rgba(25,43,34,.11);font-family:"Yu Gothic UI","Meiryo",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}.site-header{position:sticky;top:0;z-index:20;background:rgba(23,35,30,.97);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}.header-inner{max-width:1160px;height:74px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;border:0;color:white;background:transparent;text-align:left}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--lime);color:var(--lime);font-size:12px;font-weight:900;letter-spacing:1px;transform:rotate(-4deg)}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:2px}.brand small{margin-top:2px;color:#b7c1bb;font-size:11px}.desktop-nav{display:flex;align-items:center;gap:6px}.desktop-nav button{padding:10px 14px;border:0;border-radius:3px;color:#bcc7c0;background:transparent;font-size:13px;font-weight:800}.desktop-nav button:hover,.desktop-nav button.active{color:var(--ink);background:var(--lime)}.page-shell{max-width:1160px;min-height:calc(100vh - 130px);margin:auto;padding:54px 24px 72px}.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.page-head h1{margin:0;font-size:clamp(38px,6vw,62px);line-height:1;letter-spacing:-.055em}.page-head p:last-child{margin:15px 0 0;color:var(--muted);font-size:14px}.eyebrow{margin:0 0 10px!important;color:var(--orange)!important;font-size:10px!important;font-weight:900!important;letter-spacing:2.3px!important}.primary-button,.secondary-button,.small-button,.icon-button{border-radius:3px;font-weight:800}.primary-button{min-height:44px;padding:10px 17px;border:0;color:white;background:var(--green);box-shadow:0 5px 14px rgba(36,79,59,.16)}.primary-button:hover{background:var(--dark)}.secondary-button{min-height:42px;padding:9px 15px;border:1px solid var(--line);color:var(--ink);background:white}.small-button{padding:7px 9px;border:0;color:var(--green);background:#e9eee9;font-size:11px}.small-button.danger{color:var(--danger);background:#f5e9e6}.icon-button{width:38px;height:38px;border:0;color:var(--muted);background:#eef0eb;font-size:22px;font-weight:400}.project-toolbar{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:16px;padding:15px 18px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.project-toolbar label{width:min(390px,100%)}.project-toolbar label span,.filters label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:800}.toolbar-actions{display:flex;gap:6px}select,input,textarea{width:100%;min-height:43px;padding:9px 11px;border:1px solid var(--line);border-radius:3px;color:var(--ink);background:white;outline:none}select:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(36,79,59,.11)}textarea{min-height:90px;resize:vertical}.project-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:32px 38px;border-radius:5px;color:white;background:var(--green);box-shadow:var(--shadow)}.project-hero:after{content:"";position:absolute;width:210px;height:210px;right:-90px;top:-100px;border:28px solid rgba(255,255,255,.045);border-radius:50%}.project-date{margin:0 0 7px;color:var(--lime);font-size:12px;font-weight:900;letter-spacing:1.5px}.project-hero h2{margin:0;font-size:clamp(29px,5vw,44px);letter-spacing:-.04em}.project-hero>div>p:last-child{margin:10px 0 0;color:#c9d5ce;font-size:13px}.overall-progress{position:relative;z-index:1;display:flex;align-items:center;gap:22px}.overall-progress>div:last-child{padding-left:20px;border-left:1px solid rgba(255,255,255,.2);text-align:center}.overall-progress>div:last-child strong,.overall-progress>div:last-child span{display:block}.overall-progress>div:last-child strong{font-size:21px}.overall-progress>div:last-child span{margin-top:3px;color:#c9d5ce;font-size:10px}.progress-ring{--percent:0;display:grid;place-content:center;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle closest-side,var(--green) 78%,transparent 80% 99%),conic-gradient(var(--lime) calc(var(--percent)*1%),rgba(255,255,255,.13) 0);text-align:center}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{color:var(--lime);font-size:24px}.progress-ring span{color:#c9d5ce;font-size:9px}.bag-progress-section{padding:36px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.section-title h2{margin:0;font-size:25px;letter-spacing:-.03em}.section-title h2 span{margin-left:6px;color:var(--muted);font-size:12px;font-weight:500}.bag-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.bag-card{padding:17px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.bag-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.bag-card-top strong{font-size:13px}.bag-card-top span{color:var(--green);font-size:17px;font-weight:900}.progress-track{height:7px;overflow:hidden;border-radius:10px;background:#dfe4df}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--green);transition:width .25s}.bag-card .progress-track{margin:13px 0 8px}.bag-card small{color:var(--muted)}.panel{padding:29px;border:1px solid var(--line);border-radius:5px;background:var(--surface);box-shadow:0 10px 30px rgba(26,42,34,.055)}.filters{display:flex;gap:12px;margin-bottom:20px;padding:14px;background:#f3f5ef}.filters label{flex:0 1 250px}.compact-filters{margin-top:4px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:10px;border-bottom:2px solid var(--ink);color:var(--muted);font-size:10px;text-align:left;letter-spacing:.06em}td{padding:16px 10px;border-bottom:1px solid var(--line);font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr.ready{background:#f6f9eb}.center{text-align:center}.item-name{font-weight:900}.tag{display:inline-flex;padding:5px 8px;border-radius:2px;color:#395044;background:#e7eee8;font-size:10px;font-weight:800}.bag-label{color:var(--muted)}.bag-label:before{content:"▣";margin-right:6px}.ready-check{width:22px;height:22px;accent-color:var(--green)}.row-actions{display:flex;justify-content:flex-end;gap:5px}.inline-empty{padding:24px;color:var(--muted);text-align:center;font-size:13px}.empty-state{padding:66px 20px;border:1px dashed #b9c3bc;background:var(--surface);text-align:center}.empty-state .empty-mark{display:grid;place-items:center;width:50px;height:50px;margin:auto;border-radius:50%;color:white;background:var(--green);font-size:12px;font-weight:900}.empty-state h2{margin:17px 0 7px;font-size:23px}.empty-state p{margin:0 0 20px;color:var(--muted);font-size:13px}.small-empty{padding:45px 20px}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:13px}.inventory-card{overflow:hidden;border:1px solid var(--line);border-radius:4px;background:white}.inventory-image{height:145px;background:#e8ece7}.inventory-image img{width:100%;height:100%;object-fit:cover}.inventory-placeholder{display:grid;place-items:center;height:100%;color:#8e9a93;font-size:30px;font-weight:900}.inventory-card-body{padding:15px}.inventory-card-body h3{margin:9px 0 5px;font-size:16px}.inventory-card-body p{min-height:34px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.card-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:13px}.shopping-summary{display:grid;grid-template-columns:140px 140px 1fr;align-items:center;margin-bottom:20px;padding:22px 27px;border-radius:5px;color:white;background:var(--green)}.shopping-summary>div:not(.shopping-progress){border-right:1px solid rgba(255,255,255,.2);text-align:center}.shopping-summary strong,.shopping-summary span{display:block}.shopping-summary strong{font-size:28px}.shopping-summary span{color:#c9d5ce;font-size:10px}.shopping-progress{padding-left:28px}.shopping-progress .progress-track{margin-top:9px;background:rgba(255,255,255,.16)}.shopping-progress .progress-track i{background:var(--lime)}.show-bought{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.show-bought input{width:18px;min-height:auto;height:18px;accent-color:var(--green)}.shopping-list{display:grid;gap:9px}.shopping-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:4px}.shopping-item.bought{background:#f2f4ef;opacity:.7}.shopping-item.bought h3{text-decoration:line-through}.shopping-check{width:23px;min-height:auto;height:23px;accent-color:var(--green)}.shopping-main h3{margin:0 0 7px;font-size:15px}.shopping-meta{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--muted);font-size:10px}.shopping-memo{margin:7px 0 0;color:var(--muted);font-size:11px}.mobile-nav{display:none}footer;padding:0 20px 28px;color:var(--muted);font-size:10px;text-align:center}dialog{width:min(520px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:6px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(14,22,18,.67);backdrop-filter:blur(3px)}dialog form,.confirm-dialog>div{padding:27px}.wide-dialog{width:min(760px,calc(100% - 28px))}.dialog-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:23px}.dialog-head h2{margin:0;font-size:26px}.form-field{display:block;margin-bottom:17px}.form-field>span{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.form-field em{margin-left:4px;color:var(--orange);font-size:9px;font-style:normal}.form-field small,.help-text{display:block;margin:6px 0;color:var(--muted);font-size:10px;line-height:1.55}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.image-preview-wrap{display:flex;align-items:end;gap:10px;margin:-7px 0 18px}.image-preview-wrap img{width:120px;height:90px;border-radius:4px;object-fit:cover}.category-list{display:grid;gap:7px;margin:17px 0}.category-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:3px;font-size:12px;font-weight:800}.category-row small{color:var(--muted)}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:15px;border-top:1px solid var(--line)}.gear-selector{max-height:48vh;overflow:auto;display:grid;gap:8px}.gear-row{display:grid;grid-template-columns:auto 1fr minmax(190px,.7fr);align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:3px}.gear-row>input{width:21px;min-height:auto;height:21px;accent-color:var(--green)}.gear-row strong,.gear-row small{display:block}.gear-row small{margin-top:3px;color:var(--muted);font-size:9px}.gear-row select:disabled{background:#eef0ed}.confirm-dialog{text-align:center}.confirm-mark{display:grid;place-items:center;width:55px;height:55px;margin:auto;border-radius:50%;color:white;background:var(--green);font-size:24px}.confirm-dialog h2{margin:17px 0 7px}.confirm-dialog p{margin:0;color:var(--muted);font-size:13px}.toast{position:fixed;z-index:40;left:50%;bottom:22px;transform:translate(-50%,20px);padding:12px 18px;border-radius:3px;color:white;background:var(--ink);opacity:0;pointer-events:none;transition:.2s;font-size:12px;font-weight:800}.toast.show{transform:translate(-50%,0);opacity:1}
footer{padding:0 20px 28px;color:var(--muted);font-size:10px;text-align:center}
@media(max-width:760px){.header-inner{height:64px;padding:0 15px}.desktop-nav{display:none}.brand small{display:none}.page-shell{padding:36px 12px 96px}.page-head{align-items:end;margin-bottom:25px}.page-head h1{font-size:40px}.page-head p:last-child{font-size:12px}.page-head>.primary-button{padding:8px 10px;font-size:11px}.project-toolbar{align-items:center;padding:12px}.toolbar-actions{display:none}.project-hero{grid-template-columns:1fr;padding:25px 20px}.overall-progress{justify-content:space-between}.bag-progress-section{padding:27px 0}.panel{padding:20px 13px}.section-title{align-items:center}.section-title h2{font-size:21px}.section-title .primary-button,.section-title .secondary-button{padding:8px 10px;font-size:10px}.filters{display:grid;grid-template-columns:1fr 1fr;padding:11px}.filters label{width:auto}.inventory-grid{grid-template-columns:1fr 1fr}.inventory-image{height:120px}.shopping-summary{grid-template-columns:1fr 1fr;padding:18px 12px}.shopping-progress{grid-column:1/-1;padding:18px 10px 0}.shopping-summary>div:nth-child(2){border:0!important}.shopping-item{grid-template-columns:auto 1fr}.shopping-item>.row-actions{grid-column:2}.mobile-nav{position:fixed;z-index:25;display:grid;grid-template-columns:repeat(3,1fr);left:0;right:0;bottom:0;height:66px;border-top:1px solid #39483f;background:var(--dark)}.mobile-nav button{border:0;color:#aebbb3;background:transparent;font-size:10px;font-weight:800}.mobile-nav b,.mobile-nav span{display:block}.mobile-nav b{margin-bottom:3px;font-size:17px}.mobile-nav button.active{color:var(--lime)}footer{display:none}table,tbody,tr,td{display:block}thead{display:none}tbody{display:grid;gap:9px}tbody tr{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--green)}td{padding:0;border:0}td[data-label]{grid-column:1/-1}td.center{display:flex;align-items:center;gap:7px;text-align:left}td.center:before{content:var(--ready-label,"準備済み");color:var(--muted);font-size:10px;font-weight:800}.form-row{grid-template-columns:1fr}.gear-row{grid-template-columns:auto 1fr}.gear-row select{grid-column:2}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}.toast{bottom:78px}}
@media(max-width:440px){.inventory-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.page-head h1{font-size:36px}.project-hero h2{font-size:28px}.progress-ring{width:95px;height:95px}.shopping-item{gap:10px}.gear-row{grid-template-columns:auto 1fr}}

.brand strong{font-size:14px;letter-spacing:1.6px}
.inventory-card{border-top:4px solid var(--green)}

.local-storage-notice{display:flex;align-items:center;gap:12px;margin:-24px 0 34px;padding:12px 15px;border:1px solid #cbd5cc;border-left:4px solid var(--green);border-radius:4px;color:#3c4c43;background:#f8faf4}
.notice-icon{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;border-radius:50%;color:white;background:var(--green);font-family:Georgia,serif;font-size:14px;font-weight:900}
.local-storage-notice p{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:11px;line-height:1.55}
.local-storage-notice strong{font-size:11px}
.local-storage-notice span{color:var(--muted)}
@media(max-width:760px){.local-storage-notice{align-items:flex-start;margin:-17px 0 25px;padding:11px 12px}.local-storage-notice p{display:block}.local-storage-notice p span{display:block;margin-top:2px}.brand strong{font-size:12px;letter-spacing:1.1px}}

footer{padding:0 20px 28px;color:var(--muted);font-size:10px;text-align:center}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.data-page-head{margin-bottom:28px}
.storage-explainer{display:grid;grid-template-columns:130px 1fr;gap:30px;align-items:center;margin-bottom:18px;padding:30px 34px;border-radius:5px;color:white;background:var(--green);box-shadow:var(--shadow)}
.storage-explainer-mark{display:grid;place-items:center;width:108px;height:108px;border:2px solid var(--lime);border-radius:50%;color:var(--lime);font-size:13px;font-weight:900;letter-spacing:2px}
.storage-explainer h2{margin:0 0 12px;font-size:28px;letter-spacing:-.03em}
.storage-explainer p:not(.eyebrow){margin:8px 0;color:#d6dfd9;font-size:13px;line-height:1.8}
.storage-explainer strong{color:white}
.data-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
.data-summary>div{padding:18px;text-align:center;border-right:1px solid var(--line)}
.data-summary>div:last-child{border-right:0}
.data-summary strong,.data-summary span{display:block}
.data-summary strong{color:var(--green);font-size:26px}
.data-summary span{margin-top:2px;color:var(--muted);font-size:10px;font-weight:800}
.data-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.data-action-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:285px}
.data-action-card .step-number{position:absolute;right:20px;top:14px;color:#e7ece7;font-size:58px;font-weight:900;line-height:1}
.data-action-card h2{position:relative;margin:0 0 12px;font-size:24px}
.data-action-card>p:not(.eyebrow){position:relative;flex:1;margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.75}
.data-action-card button{position:relative}
.transfer-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}
.transfer-guide li{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:4px;background:#f6f7f2}
.transfer-guide li>span{display:grid;flex:0 0 auto;place-items:center;width:30px;height:30px;border-radius:50%;color:white;background:var(--green);font-size:11px;font-weight:900}
.transfer-guide li strong{display:block;font-size:13px}
.transfer-guide li p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.65}
.import-warning{display:flex;gap:14px;margin-top:18px;padding:14px 16px;border-left:4px solid var(--orange);background:#fbf0e9;font-size:11px;line-height:1.6}
.import-warning strong{flex:0 0 auto;color:var(--danger)}
.import-warning span{color:#655d57}

@media(max-width:900px){.desktop-nav button{padding:10px 9px;font-size:11px}}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(4,1fr)}.storage-explainer{grid-template-columns:1fr;padding:24px 20px}.storage-explainer-mark{width:78px;height:78px}.data-action-grid{grid-template-columns:1fr}.data-action-card{min-height:0}.transfer-guide ol{grid-template-columns:1fr}.import-warning{display:block}.import-warning strong,.import-warning span{display:block}.import-warning span{margin-top:5px}}
@media(max-width:440px){.data-summary>div{padding:14px 8px}.data-summary strong{font-size:22px}.storage-explainer h2{font-size:23px}.data-action-card h2{font-size:21px}}

.header-actions{display:flex;align-items:center;gap:14px}
.language-switcher{display:flex;align-items:center;gap:7px;color:#b7c1bb;font-size:10px;font-weight:800;white-space:nowrap}
.language-switcher select{width:auto;min-width:112px;min-height:36px;padding:7px 30px 7px 9px;border-color:#526158;color:white;background:#213a2e}
.language-switcher select:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(200,223,88,.16)}
@media(max-width:900px){.header-actions{gap:7px}.language-switcher span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.language-switcher select{min-width:104px}}
@media(max-width:760px){.header-inner{gap:10px}.header-actions{margin-left:auto}.language-switcher select{min-width:98px;max-width:112px;min-height:34px;padding:6px 25px 6px 7px;font-size:11px}.brand-mark{width:38px;height:38px}.brand strong{max-width:150px}}
@media(max-width:430px){.brand-mark{display:none}.brand strong{max-width:128px;font-size:11px;line-height:1.25}.language-switcher select{min-width:92px;max-width:103px}}

.onboarding-dialog{width:min(620px,calc(100% - 28px))}
.onboarding-dialog>div{padding:32px}
.onboarding-mark{display:grid;place-items:center;width:62px;height:62px;margin-bottom:21px;border:2px solid var(--lime);color:var(--lime);background:var(--dark);font-size:15px;font-weight:900;letter-spacing:1.5px;transform:rotate(-3deg)}
.onboarding-dialog h2{margin:0;font-size:34px;letter-spacing:-.04em}
.onboarding-lead{margin:10px 0 23px;color:var(--muted);font-size:13px;line-height:1.7}
.onboarding-steps{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.onboarding-steps li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:4px;background:#f8f9f4}
.onboarding-steps li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:white;background:var(--green);font-size:10px;font-weight:900}
.onboarding-steps strong,.onboarding-steps small{display:block}
.onboarding-steps strong{font-size:13px}
.onboarding-steps small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.55}
.onboarding-note{margin:16px 0 0;padding:13px 14px;border-left:4px solid var(--lime);background:#eef3e7;font-size:10px;line-height:1.6}
.onboarding-note strong,.onboarding-note span{display:block}
.onboarding-note span{margin-top:2px;color:var(--muted)}
@media(max-width:520px){.onboarding-dialog>div{padding:24px 18px}.onboarding-dialog h2{font-size:28px}.onboarding-mark{width:52px;height:52px;margin-bottom:17px}.onboarding-steps li{grid-template-columns:36px 1fr;padding:11px}.onboarding-steps li>span{width:32px;height:32px}.onboarding-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.onboarding-dialog .dialog-actions button{width:100%}}
