:root{--bg:#f6f3ee;--paper:#fffdf9;--ink:#161514;--ink-2:#57534e;--line:#e4ded4;--accent:#8a5a36;--good:#3f6b4a;--bad:#9b3b2e;--radius:14px;--sans:"Noto Sans JP", system-ui, -apple-system, sans-serif;--serif:"Cormorant Garamond", "Shippori Mincho", serif;--mincho:"Shippori Mincho", serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;margin:0;font-size:15px;line-height:1.6}body.no-scroll{overflow:hidden}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h2,h3,h4{margin:0}h4{letter-spacing:.08em;color:var(--ink-2);margin:18px 0 8px;font-size:13px;font-weight:500}.panel h4:first-child{margin-top:0}.app{max-width:600px;min-height:100vh;padding:0 16px calc(84px + env(safe-area-inset-bottom));margin:0 auto}.top{padding:calc(14px + env(safe-area-inset-top)) 0 6px;border-bottom:1px solid var(--line);align-items:baseline;gap:12px;display:flex}.brand{font-family:var(--serif);letter-spacing:.02em;font-size:26px;font-weight:500}.brand em{color:var(--accent);font-style:normal}.tag{color:var(--ink-2);letter-spacing:.06em;font-size:11px}.banner{color:var(--bad);background:#f3e1d5;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:22px 0 14px;display:flex}.title{font-family:var(--serif);font-size:40px;font-style:italic;font-weight:500;line-height:1}.muted{color:var(--ink-2);margin:4px 0}.small{font-size:12px}.note{color:var(--accent);font-size:13px}.btn{border:1px solid var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--ink);color:var(--bg)}.btn-ghost{color:var(--ink-2);border-color:#0000}.btn-danger{border-color:var(--bad);color:var(--bad)}.btn-small{padding:6px 12px;font-size:13px}.btn-block{width:100%;margin-top:12px;padding:13px}.btn.is-on{background:var(--ink);color:var(--bg)}.icon-btn{cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px}.panel .row{flex-wrap:wrap;margin:8px 0}.field{flex-direction:column;flex:1;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--ink-2);letter-spacing:.04em;font-size:12px}.field input,.field select,.field textarea,.weather-manual input,.sort-row select,.why input{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.field input[type=range]{accent-color:var(--ink);border:none;padding:0}.field-row{gap:10px;display:flex}.check{align-items:flex-start;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.check input{accent-color:var(--ink);margin-top:5px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:6px 13px;font-size:13px}.chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.grid{grid-template-columns:repeat(3,1fr);gap:12px 10px;display:grid}.grid-cell{min-width:0}.cell-name{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;overflow:hidden}.cell-meta{color:var(--ink-2);font-size:11px}.sort-row{justify-content:flex-end;margin-bottom:10px;display:flex}.sort-row select{width:auto;padding:6px 10px;font-size:13px}.thumb{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;width:100%;padding:6px;display:block;position:relative;overflow:hidden}.thumb:disabled{cursor:default}.thumb img{object-fit:contain;width:100%;height:100%}.thumb.is-selected{outline:2px solid var(--ink);outline-offset:1px}.thumb-sm{width:76px}.thumb-xs{border-radius:9px;width:52px;padding:3px}.thumb-badge{background:var(--ink);color:var(--bg);border-radius:999px;padding:1px 6px;font-size:10px;position:absolute;top:4px;right:4px}.thumb-missing{color:var(--ink-2);font-size:10px}.thumb-new{border-color:var(--accent)}.thumb-new img{object-fit:cover}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--paper);padding:32px 16px}.weather{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex}.weather-temp{font-family:var(--serif);font-size:44px;line-height:1}.weather-manual input{width:70px;padding:6px 8px}.weather-manual label{font-size:13px}.outfits{flex-direction:column;gap:14px;margin-top:8px;display:flex}.outfit{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.outfit-head{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.outfit-no{font-family:var(--serif);color:var(--accent);font-size:26px;font-style:italic;line-height:1}.outfit-head h3{font-family:var(--mincho);font-size:17px;font-weight:700}.outfit-items{scrollbar-width:none;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.outfit-item{flex-direction:column;flex-shrink:0;gap:4px;width:76px;display:flex}.outfit-item span{color:var(--ink-2);font-size:11px;line-height:1.3}.outfit-reason{margin:10px 0 6px;font-size:14px}.outfit-tip{color:var(--accent);margin:6px 0;font-size:13px}.outfit-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.outfit-actions .btn-primary,.outfit-actions .btn:last-child{margin-left:auto}.why{gap:6px;margin-top:10px;display:flex}.tryon-preview{cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0}.tryon-preview img{border-radius:10px;max-height:220px}.tryon-full{border-radius:12px;width:100%;margin-bottom:10px}.history{margin:20px 0}.history summary{cursor:pointer;color:var(--ink-2);padding:8px 0;font-size:13px}.history-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.history-row .row{flex:1;overflow-x:auto}.shop-img{border:1px solid var(--line);border-radius:10px;max-height:320px;margin:12px auto 0}.shop-result{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px}.verdict{align-items:center;gap:14px;display:flex}.verdict-label{font-family:var(--mincho);color:#fff;border-radius:12px;padding:10px 14px;font-size:20px;font-weight:700}.verdict-買い .verdict-label{background:var(--good)}.verdict-検討 .verdict-label{background:var(--accent)}.verdict-見送り .verdict-label{background:var(--bad)}.verdict-name{font-weight:700}.stat{align-items:baseline;gap:10px;margin:12px 0;display:flex}.stat-num{font-family:var(--sans);font-size:48px;font-weight:300;line-height:1}.similar{align-items:center;gap:12px;margin-bottom:10px;display:flex}.similar p{margin:0}.shop-outfit{border-top:1px solid var(--line);padding:10px 0}.review-comment{font-size:15px}.review ul{margin:0;padding-left:20px}.persona-tag{border:1px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:11px}.personas{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.persona{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.persona span{color:var(--ink-2);font-size:11px}.persona.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.person-img{border-radius:10px;max-height:240px;margin-bottom:8px}.editor-img{border:1px solid var(--line);background-color:#fff;background-image:linear-gradient(45deg,#f2efe9 25%,#0000 25% 75%,#f2efe9 75%),linear-gradient(45deg,#f2efe9 25%,#0000 25% 75%,#f2efe9 75%);background-position:0 0,8px 8px;background-repeat:repeat;background-size:16px 16px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:12px;justify-content:center;margin-bottom:14px;padding:10px;display:flex}.editor-img img{max-height:260px}.editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.add-head{margin-bottom:14px}.done-box{text-align:center;padding:20px}.spinner-row{color:var(--ink-2);align-items:center;gap:10px;padding:14px 0;font-size:14px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:var(--bad);background:#fbeeea;border:1px solid #ebc9bf;border-radius:12px;margin-top:12px;padding:12px;font-size:13px}.error-box p{word-break:break-word;margin:4px 0 8px}.modal-back{z-index:50;background:#16151473;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:92vh;animation:.2s ease-out up;display:flex}@keyframes up{0%{opacity:0;transform:translateY(30px)}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-head h3{font-family:var(--mincho);font-size:16px}.modal-body{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));overflow-y:auto}@media (min-width:640px){.modal-back{align-items:center}.modal{border-radius:20px}.grid{grid-template-columns:repeat(4,1fr)}}.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:40;background:#f6f3eef0;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav button{max-width:120px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:1px;padding:9px 0 8px;font-size:10px;display:flex}.nav-icon{font-size:18px;line-height:1.2}.nav button.is-active{color:var(--ink);font-weight:700}.head-actions{justify-content:flex-end}.editor-tools{margin:-4px 0 12px}.det-list{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.det{background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:12px;padding:10px;display:flex}.det.is-off{opacity:.55}.det-img{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;width:88px;height:88px;padding:4px}.det-img img{object-fit:contain;width:100%;height:100%}.det-body{flex:1;min-width:0}.det-name{text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.det-match{align-items:center;gap:8px;margin:6px 0;display:flex}.det .check{margin:6px 0 0}.job-summary{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 10px;display:flex}.progress{background:var(--line);border-radius:99px;flex:1;min-width:120px;height:6px;overflow:hidden}.progress span{background:var(--ink);height:100%;transition:width .3s;display:block}.job-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.job{min-width:0;position:relative}.job-tap{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.job-tap:disabled{cursor:default}.job-img{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px;overflow:hidden}.job-img img{object-fit:contain;width:100%;height:100%}.job-working .job-img,.job-waiting .job-img{opacity:.55}.job-error .job-img{border-color:var(--bad)}.job-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.job-note{color:var(--accent);font-size:10px}.job .spinner-row{padding:0;position:absolute;top:28%;left:50%;transform:translate(-50%)}.job-err p{color:var(--bad);word-break:break-word;margin:4px 0}.upload-banner{border:1px solid var(--line);background:var(--paper);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;width:100%;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.det-img{position:relative}.det-busy{background:#fff9;border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@media (min-width:640px){.job-grid{grid-template-columns:repeat(4,1fr)}}.cell-brand{font-family:var(--serif);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;line-height:1.1;overflow:hidden}.cell-brand+.cell-name{margin-top:0}.redo-box{background:var(--paper);border:1px dashed var(--accent);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}
