:root{--bg:#eef1ec;--ink:#1f2421;--sub:#6b7280;--line:#b1b8b4;--accent:#3d5a4c;--accent-soft:#e8efe9;--card:#fff;--ink-strong:#101210;--ink-body:#262b25;--sub-strong:#454f49;--input-border:rgba(38,58,48,.36);--input-border-focus:rgba(38,58,48,.52)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.app-header{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"logo search nav";align-items:center;grid-gap:16px;gap:16px;padding:16px 32px;border-bottom:1px solid var(--line);background:var(--card);position:-webkit-sticky;position:sticky;top:0;z-index:10}.logo{grid-area:logo;justify-self:start;font-weight:700;font-size:18px;white-space:nowrap}.logo span{color:var(--accent);font-weight:400}.app-header nav{grid-area:nav;justify-self:end;display:flex;align-items:center;gap:20px;font-size:14px;white-space:nowrap}.app-header nav a:not(.btn-primary-small){font-weight:600}.header-search{grid-area:search;justify-self:center;width:100%;max-width:320px}.header-search input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--bg);color:var(--ink)}@media (max-width:640px){.app-header{grid-template-columns:1fr auto;grid-template-areas:"logo nav" "search search";row-gap:10px;padding:12px 16px}.header-search{max-width:none}.app-header nav{gap:12px;font-size:13px}}@media (max-width:400px){.app-header{gap:10px;padding:12px}.logo{font-size:16px}.app-header nav{gap:8px;font-size:12px}.btn-primary-small{padding:8px 10px}}.btn-primary-small{padding:8px 16px;border-radius:6px}.btn-create,.btn-primary-small{background:var(--accent);color:#fff!important}.btn-create{display:inline-block;padding:14px 22px;border-radius:10px;font-size:16px;font-weight:600;margin-bottom:20px}.btn-create:hover{opacity:.92}.app-main{max-width:780px;margin:0 auto;padding:32px 20px 80px}h1{font-size:22px;margin-bottom:4px;color:var(--ink-strong);font-weight:700}.subtitle{color:var(--sub-strong);font-size:14px;margin-bottom:24px;font-weight:500}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:13px;color:var(--sub-strong);margin-bottom:6px;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:8px;font-size:16px;font-weight:500;color:var(--ink-body);font-family:inherit;background:var(--card);outline:none;transition:border-color .15s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--input-border-focus)}.form-group textarea{min-height:180px;resize:vertical}.btn-submit{background:var(--accent);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;cursor:pointer}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.list-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.data-tools{display:flex;gap:10px;margin-bottom:20px}.btn-backup{background:#fff;border:1px solid var(--line);color:var(--ink);padding:0 14px;height:32px;border-radius:8px;font-size:13px;cursor:pointer;white-space:nowrap}.btn-backup:disabled{opacity:.6;cursor:not-allowed}.backup-message{color:var(--accent);background:var(--accent-soft);white-space:pre-line;line-height:1.7}.backup-message,.restore-error{font-size:13px;border-radius:8px;padding:10px 14px;margin:0 0 20px}.restore-error{color:#b3452e;background:#fbeee9}.backup-confirm{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 20px}.backup-confirm-text{font-size:13px;color:var(--ink);line-height:1.7;margin-bottom:14px}.backup-confirm-actions{display:flex;gap:8px}.btn-backup-confirm{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.btn-backup-confirm:disabled{opacity:.6;cursor:not-allowed}.search-box{flex:1 1;width:100%;padding:12px 14px;font-size:14px}.search-box,.sort-select{border:1px solid var(--line);border-radius:8px;background:var(--card)}.sort-select{padding:0 12px;font-size:13px;color:var(--ink)}.note-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:12px;transition:box-shadow .15s ease}.note-card:hover{box-shadow:0 2px 10px rgba(0,0,0,.06)}.note-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.note-title{font-weight:700;font-size:15px;color:var(--ink-strong)}.note-date{font-size:12px;color:var(--sub)}.badge{padding:2px 9px;background:var(--accent-soft);color:var(--accent);margin-right:6px}.badge,.tag{display:inline-block;font-size:11px;border-radius:999px}.tag{padding:2px 8px;background:#f1f0ec;color:var(--sub);margin-right:4px;margin-bottom:4px}.tag-user{background:#fbeee2;color:#6a3d14;font-weight:500}.tag-chip-button{border:none;cursor:pointer;font-family:inherit}.tag-history{margin-top:10px;display:flex;flex-wrap:wrap}.note-card-badges{margin-bottom:6px}.note-card-tags{margin-top:2px}.note-card-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.note-card-delete-btn{background:none;border:none;color:#b3452e;font-size:13px;cursor:pointer;padding:6px 10px;margin:-6px -10px}.note-card-delete-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.note-card-delete-confirm-text{font-size:12px;color:#b3452e}.note-card-delete-confirm .btn-cancel,.note-card-delete-confirm .btn-delete-confirm{padding:6px 14px;font-size:13px}.badge-fv{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;margin-right:6px;border:1px solid var(--line);color:var(--sub)}.fv-高{background:#eef7ef;color:#2f7a3d;border-color:#cfe8d3}.fv-中{background:#fdf6e3;color:#9a7b12;border-color:#f0e2ad}.fv-低{background:#f4f2ee}.fv-低,.fv-未評価{color:var(--sub)}.fv-未評価{background:#fff;border-style:dashed}.field-hint{font-size:12px;color:var(--sub-strong);font-weight:500}.future-value-selector{display:flex;gap:8px}.fv-option{border:1px solid var(--line);background:#fff;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--ink)}.fv-option.fv-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.fv-option:disabled{opacity:.6;cursor:not-allowed}.tag-removable{display:inline-flex;align-items:center;gap:4px}.tag-remove-btn{font-size:12px;line-height:1}.tag-link-button,.tag-remove-btn{border:none;background:none;color:inherit;cursor:pointer;padding:0}.tag-link-button{font:inherit;font-size:11px}.tag-add-form{display:flex;gap:8px}.tag-add-form input{flex:1 1;padding:8px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:14px;font-weight:500;color:var(--ink-body);outline:none;transition:border-color .15s ease}.tag-add-form input:focus{border-color:var(--input-border-focus)}.btn-submit-small{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.empty-state{text-align:center;color:var(--sub);padding:60px 0;font-size:14px}.detail-section{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:16px}.detail-section h2{font-size:13px;color:var(--sub);margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}.detail-body{white-space:pre-wrap;font-size:15px;color:var(--ink-body);line-height:1.8;font-weight:500}.back-link{display:inline-block;margin-bottom:16px;font-size:13px;color:var(--sub)}.detail-section-danger{border-color:#f0d9d2}.btn-delete{background:#fff;border:1px solid #dba694;color:#b3452e;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.delete-confirm-text{font-size:14px;color:#b3452e;margin-bottom:14px;line-height:1.7}.delete-confirm-actions{display:flex;gap:8px}.btn-delete-confirm{background:#b3452e;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.btn-delete-confirm:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#fff;border:1px solid var(--line);color:var(--ink);padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.onboarding-overlay{position:fixed;inset:0;background:rgba(31,36,33,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.onboarding-card{max-width:420px;width:100%;margin:0}