/* Palette, shell, targets and focus treatment derived from SVC-001 (pinned in vendor). */
:root{color-scheme:light;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;background:#f7f9f8;color:#172b27;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0;min-height:100vh}.shell{width:min(100% - 32px,520px);min-height:100vh;margin:auto;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:28px 4px 24px;font-size:13px;font-weight:750;letter-spacing:.12em}.brand-mark{color:#287363;font-size:29px;line-height:1}
.card{background:white;border:1px solid #e3eae6;border-radius:22px;padding:28px 22px 22px;box-shadow:0 8px 28px #0d292109}.eyebrow{margin:0 0 9px;color:#526660;font-weight:700;font-size:11px;letter-spacing:.1em;overflow-wrap:anywhere}h1{margin:0;font-size:clamp(22px,5.4vw,28px);line-height:1.35;overflow-wrap:anywhere}.intro{margin:9px 0 25px;color:#526660;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.fields{display:grid;gap:20px}label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}.field-note{font-size:12px;color:#526660;margin:5px 0 0;overflow-wrap:anywhere}input,select,button{font:inherit;max-width:100%;min-width:0}input,select{width:100%;min-height:48px;padding:11px 12px;border:1px solid #81978e;border-radius:10px;background:white;color:#172b27;font-size:16px}button{min-height:48px;border:1px solid #81978e;border-radius:12px;background:white;color:#244a40;padding:10px 16px;cursor:pointer;overflow-wrap:anywhere}.primary{background:#287363;color:white;border-color:#287363}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}:focus-visible{outline:3px solid #b16d00;outline-offset:3px}[aria-invalid=true]{border:2px solid #a62727}.field-error,.summary{font-size:13px;color:#9d2424;line-height:1.6;overflow-wrap:anywhere}.field-error{margin:6px 0 0}.readout{margin-top:24px;background:#f5f8f6;border:1px solid #e3eae6;border-radius:16px;padding:20px 16px;overflow-wrap:anywhere}.readout h2{font-size:13px;color:#526660;margin:0 0 14px}.result-label{font-size:13px;color:#526660}.result-value{font-size:clamp(24px,6vw,34px);font-weight:750;line-height:1.45;margin:4px 0 12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-hint{font-size:20px;line-height:1.7;margin:0}.notice{border-top:1px solid #eef2ef;margin:24px 0 0;padding-top:17px;color:#526660;font-size:12px;line-height:1.7}footer{margin-top:auto;padding:34px 8px 26px;text-align:center;font-size:11px;color:#526660}[hidden]{display:none!important}@media(max-width:360px){.shell{width:calc(100% - 24px)}.card{padding:23px 16px 19px}.actions{gap:10px}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .12s ease}}
/* V02 free text controls share V01 shell and focus geometry. */
textarea{font:inherit;font-size:16px;line-height:1.7;width:100%;min-width:0;max-width:100%;min-height:120px;resize:vertical;border:1px solid #81978e;border-radius:10px;padding:12px;color:#172b27;background:white;white-space:pre-wrap;overflow-wrap:anywhere}button[type=reset]{margin-top:16px}.actions button[type=reset]{margin-top:0}#copy{width:100%;margin-top:12px}#copy-status{font-size:13px;line-height:1.6}#remaining{font-weight:650}textarea:read-only{background:#fff}ul{padding-left:20px}

.back{display:inline-flex;color:#286453;padding:12px 0;min-height:44px;align-items:center}#error:empty{display:none}#error{color:#9d2424;line-height:1.6}#app{margin-top:20px}#result{overflow-wrap:anywhere}#result p{line-height:1.6}fieldset{border:0;padding:0;margin:0}legend{font-size:14px;font-weight:650;margin-bottom:12px}input[type=checkbox]{width:22px;min-height:22px;flex:0 0 22px} .check-row{display:flex;align-items:center;gap:10px;margin:12px 0} .check-row label{margin:0}ul{overflow-wrap:anywhere}

.task-list,.packing-list{list-style:none;padding:0;margin:1rem 0}.task-row,.packing-row{display:flex;align-items:center;gap:.6rem;padding:.65rem 0;border-bottom:1px solid #dae3df}.task-row label,.packing-row label{display:flex;gap:.6rem;align-items:center;flex:1;min-width:0;overflow-wrap:anywhere}.task-row input,.packing-row input{width:1.3rem;height:1.3rem;flex:none}.task-row button{padding:.5rem .65rem;min-height:40px}.task-row.is-done .task-text{text-decoration:line-through;color:#52675e}.pattern-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;width:min(100%,360px);margin:1rem auto}.pattern-cell{aspect-ratio:1;min-width:0;min-height:0;padding:0;border:1px solid #52675e;background:#fff;color:#173d31;font-size:.8rem;border-radius:5px}.pattern-cell[aria-pressed=true]{background:#306e58;color:#fff}.pattern-cell:focus-visible{outline:3px solid #a95f14;outline-offset:1px}.confirm-panel{padding:.8rem;border:1px solid #ae8045;border-radius:10px;margin:1rem 0}.confirm-panel[hidden]{display:none}.row-export{font-family:monospace;line-height:1.3;letter-spacing:.12em;resize:none}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.button-row button{flex:1}.task-progress{font-weight:700}.stateful-note{font-size:.9rem;color:#52675e;line-height:1.6}#error:empty{display:none}@media(max-width:350px){.pattern-grid{gap:2px}.pattern-cell{border-radius:3px}.task-row{gap:.4rem}.task-row button{padding:.4rem}}


.storage-panel{margin-top:1.8rem;padding-top:1.3rem;border-top:1px solid #b5c9c0}.storage-panel h2{font-size:1.15rem}.storage-panel .button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.storage-panel button{min-height:44px;max-width:100%;white-space:normal}.storage-panel textarea{box-sizing:border-box;width:100%;min-width:0;font-family:monospace;font-size:13px}.storage-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.storage-panel [hidden]{display:none!important}.storage-panel #storage-preview{padding:.8rem;border:2px solid #639b86;border-radius:12px;background:#f2f8f4}.storage-panel #storage-status{overflow-wrap:anywhere}.storage-panel button:focus-visible,.storage-panel textarea:focus-visible{outline:3px solid #25795c;outline-offset:3px}
