:root{--bg:#f5f7fa;--surface:#fff;--text:#1d2b3b;--muted:#596b7e;--line:#dce4eb;--accent:#24596b;--soft:#eaf3f6;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 "Yu Gothic","Hiragino Kaku Gothic ProN",system-ui,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:7px;min-height:36px}button:hover{border-color:var(--accent);background:var(--soft)}button:disabled{cursor:default;opacity:.55}button[aria-pressed=true],.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button[aria-pressed=true]:hover,.primary:hover{background:#1c4655}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2373c9;outline-offset:3px}input,select{min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:8px 11px;min-height:38px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent);margin:0;cursor:pointer}.quiet{background:transparent;border-color:transparent;color:var(--muted)}.wrap{width:min(1480px,calc(100% - 48px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{background:#ffffffeb;border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:28px;min-height:58px}.brand{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--accent);text-decoration:none;white-space:nowrap}.site-nav{display:flex;gap:5px}.site-nav a{padding:7px 10px;text-decoration:none;color:var(--muted);font-size:13px;border-radius:6px;white-space:nowrap}.site-nav a[aria-current=page]{color:var(--accent);background:var(--soft);font-weight:700}.site-nav a:hover{background:var(--soft)}#owner-button{margin-left:auto;font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0 18px}h1{font-size:26px;line-height:1.35;letter-spacing:-.035em;margin:0 0 5px}.lead{color:var(--muted);font-size:12px;margin:0}.library-total{color:var(--accent);background:var(--soft);padding:7px 13px;border-radius:8px;font-size:13px;white-space:nowrap;font-weight:700}
.finder{margin-bottom:12px}.filter-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.views{display:flex;gap:7px;flex-shrink:0}.views button{font-size:12px;font-weight:700;white-space:nowrap}.search-row{display:flex;gap:9px;flex:1;min-width:300px}.search-field{flex:1}.search-field input{width:100%;font-size:14px}.search-row select{width:170px;font-size:12px}.tag-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.filter-label{font-size:11px;color:var(--muted);white-space:nowrap}.tag-filters{display:flex;gap:6px;flex-wrap:wrap}.tag-filters button{font-size:11px;border-radius:20px;min-height:30px;padding:4px 9px}.tag-number{opacity:.75;margin-left:4px}#tag-browser{font-size:11px;color:var(--muted)}summary{cursor:pointer;padding:5px 0}summary span{margin-left:3px}#tag-browser[open]{flex-basis:100%}#tag-browser[open] .tag-filters{margin-top:6px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.active-filters{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px;color:var(--accent)}.active-filters span{overflow-wrap:anywhere}.active-filters button{font-size:11px;min-height:30px;padding:3px 7px}.results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 9px;font-size:12px;color:var(--muted)}.result-actions{display:flex;align-items:center;gap:10px}.sort-label select{min-height:32px;padding:4px 8px;font-size:12px}.layout-switch{display:flex;gap:2px}.layout-switch button{padding:2px 8px;min-height:32px;font-size:20px;line-height:1.1}
.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid #e2e8ee;border-radius:10px;padding:14px;box-shadow:0 2px 7px #25394b04;transition:border-color .15s,box-shadow .15s}.report-card:hover{border-color:#bdcfdc;box-shadow:0 3px 12px #25394b09}.card-top{display:flex;gap:10px;align-items:center;margin:0 34px 9px 0}.card-emoji{display:grid;place-items:center;background:var(--soft);border-radius:8px;width:40px;height:40px;font-size:24px;flex-shrink:0}.card-meta{font-size:10px;color:var(--muted);min-width:0}.card-meta time,.card-meta .date-note{display:block;margin-top:3px;white-space:nowrap}.category-badge{display:inline-block;background:#e8f1fc;color:#2763a5;font-size:10px;font-weight:700;border-radius:12px;padding:1px 8px;line-height:1.8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.category-badge[data-category="仕事・安全"]{background:#fff0de;color:#935909}.category-badge[data-category="歴史・城"]{background:#fbe9ef;color:#a4395a}.category-badge[data-category="暮らし・買い物"]{background:#ecebfc;color:#6652a2}.category-badge[data-category="おでかけ"]{background:#e6f5ed;color:#2b7855}.favorite-button{position:absolute;top:10px;right:9px;font-size:22px;padding:0;min-width:34px;min-height:34px;border:none;background:transparent;color:#6a7c8f;line-height:1.4}.favorite-button[aria-pressed=true]{color:#b36b00;background:#fff4dc}.favorite-button:hover{background:var(--soft)}.report-card h2{font-size:14px;line-height:1.55;margin:0 0 6px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.report-card h2 a{color:inherit;text-decoration:none}.report-card h2 a:hover{color:var(--accent);text-decoration:underline}.report-card p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}.card-tags button,.card-tags span{font-size:10px;line-height:1.5;background:#f0f3f6;border:1px solid transparent;border-radius:5px;min-height:26px;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.card-tags button:hover{border-color:#a5bdcd}.card-tags button[aria-pressed=true]{background:var(--accent);color:white}.no-tags{color:var(--muted)}
.report-list{grid-template-columns:1fr;gap:7px}.report-list .report-card{display:grid;grid-template-columns:190px minmax(0,1.1fr) minmax(0,1fr) minmax(150px,.8fr);align-items:center;gap:14px;padding:12px 48px 12px 14px}.report-list .card-top{margin:0}.report-list .report-card h2{margin:0;font-size:13px}.report-list .report-card p{margin:0}.report-list .card-tags{margin:0}.report-list .favorite-button{top:calc(50% - 17px)}
.bulk-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:#f0f5f8;font-size:12px;position:sticky;top:8px;z-index:2;box-shadow:0 3px 12px #263b4c08}.bulk-toolbar button{font-size:12px;min-height:32px;padding:5px 9px}.bulk-hint{margin-left:auto;color:var(--muted);font-size:11px}.management-list{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.management-list table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:12px}.management-list th{padding:10px 12px;background:#eef3f7;color:var(--muted);font-size:11px;font-weight:600}.management-list td{padding:11px 12px;border-top:1px solid #e5ebf0;vertical-align:middle}.management-list tr:hover td{background:#f8fafc}.management-list .selected-row td{background:#eaf3f7}.management-list .select-column{width:42px;text-align:center;padding-left:12px;padding-right:6px}.management-list th:nth-child(2){width:43%}.management-list .date-column{width:134px;font-size:11px;color:var(--muted);white-space:nowrap}.management-list .edit-column{width:88px;text-align:right}.management-title{display:block;font-size:13px;font-weight:700;color:var(--text);text-decoration:none;overflow-wrap:anywhere;margin-bottom:4px}.management-title:hover{text-decoration:underline;color:var(--accent)}.management-list .card-tags{margin:0}.management-list .edit-column button{font-size:11px;padding:5px 8px;min-height:32px;white-space:nowrap}.mobile-date{display:none}.management-gate{padding:36px 20px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px}.management-gate h2{font-size:18px}.management-gate p{color:var(--muted);font-size:13px}
.notice{padding:9px 12px;background:var(--soft);border-radius:7px;margin:0 0 12px;font-size:12px;overflow-wrap:anywhere}.notice[data-error=true]{background:#fbece6;color:#853e29}.empty{text-align:center;padding:32px 10px;color:var(--muted)}.empty h2{font-size:18px}.more-wrap{text-align:center;margin:20px 0}footer{padding:20px 0 28px;color:var(--muted);font-size:11px}footer span{margin-left:10px}dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(500px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;box-shadow:0 20px 80px #17201940}dialog::backdrop{background:#182b3acc}dialog h2{font-size:19px;margin:0}dialog p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;margin-top:20px}.field{display:grid;gap:5px;min-width:0}.field>span{font-size:12px;color:var(--muted)}.field input{width:100%;font-size:16px}.editing-tags{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.editing-tags button{background:var(--soft);border-color:transparent;font-size:13px}.tag-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.error{color:#9d3423!important}.hint{font-size:12px!important}.date-note{color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1239px){.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-list{grid-template-columns:1fr}.report-list .report-card{grid-template-columns:160px minmax(0,1.3fr) minmax(0,1fr)}.report-list .report-card p{display:none}.filter-row{gap:10px}.management-list th:nth-child(2){width:40%}}
@media(max-width:959px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-list{grid-template-columns:1fr}.filter-row{align-items:stretch}.search-row{flex-basis:100%;order:-1}.report-list .report-card{grid-template-columns:140px minmax(0,1fr)}.report-list .card-tags{grid-column:2}.report-list .card-top{grid-row:1 / 3}.management-list .date-column{display:none}.management-list th:nth-child(2){width:46%}.mobile-date{display:inline;font-size:10px;color:var(--muted);margin-left:6px}.management-list td{padding:10px 8px}.management-list th{padding:9px 8px}}
@media(max-width:599px){.wrap{width:calc(100% - 24px)}.topbar-inner{gap:12px;flex-wrap:wrap;min-height:54px;padding:9px 0}.brand{font-size:15px}.site-nav{order:3;width:100%;gap:8px}.site-nav a{padding:4px 8px;font-size:12px}#owner-button{font-size:11px;padding:5px 7px}.page-heading{padding:16px 0 14px;gap:10px}h1{font-size:22px}.lead{font-size:11px}.library-total{font-size:11px;padding:5px 8px}.search-row{min-width:0;flex-wrap:wrap}.search-field{flex-basis:100%}.search-field input{font-size:16px;min-height:42px}.search-row select{width:auto;min-width:165px;min-height:36px}.views button{min-height:38px}.tag-row{gap:7px}.filter-label{width:100%}.tag-filters button{min-height:34px}.report-grid{grid-template-columns:1fr;gap:9px}.report-card{padding:13px}.report-card h2{font-size:15px;-webkit-line-clamp:3}.report-card p{font-size:12px}.card-tags button{min-height:30px}.report-list .report-card{grid-template-columns:110px minmax(0,1fr);gap:8px;padding-left:11px;padding-right:42px}.report-list .card-emoji{display:none}.report-list .report-card h2{font-size:13px}.report-list .card-tags{grid-column:1 / 3}.report-list .card-top{grid-row:auto}.report-list .favorite-button{top:8px}.bulk-toolbar{gap:7px;top:4px;padding:8px}.bulk-hint{width:100%;margin:0}.management-list th:nth-child(2){width:47%}.management-list .select-column{width:30px;padding:8px 4px}.management-list .edit-column{width:64px;padding:8px 4px}.management-list .edit-column button{padding:4px;font-size:10px;min-height:36px}.management-list th,.management-list td{padding:9px 6px}.management-title{font-size:12px}.management-list .card-tags{gap:3px}.management-list .card-tags button{font-size:10px;white-space:normal;overflow-wrap:anywhere;min-height:30px}.mobile-date{display:block;margin:4px 0 0;font-size:9px}.management-list .category-badge{font-size:9px;padding:1px 5px}dialog{padding:18px}footer span{display:block;margin:3px 0 0}.active-filters{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.report-card{transition:none}}
@media(max-width:599px){.filter-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.search-row{display:contents}.search-field{grid-column:1 / -1;grid-row:1}.views{grid-column:1;grid-row:2;gap:5px}.views button{font-size:11px;padding:6px 8px}.search-row>label:not(.search-field){grid-column:2;grid-row:2}.search-row select{width:100%;min-width:0;font-size:11px;padding:7px}.filter-label{display:none}.tag-filters button:nth-child(n+5){display:none}#tag-filters button:nth-child(n+5){display:block}.bulk-toolbar{display:grid;grid-template-columns:1fr 1fr}.bulk-toolbar #selection-count{grid-column:1;grid-row:1}.bulk-toolbar #clear-selection{grid-column:2;grid-row:1;justify-self:end}.bulk-toolbar #select-visible{grid-column:1;grid-row:2}.bulk-toolbar #bulk-edit{grid-column:2;grid-row:2}.bulk-hint{grid-column:1 / -1}}
@media(max-width:359px){.filter-row{grid-template-columns:1fr}.search-row>label:not(.search-field){grid-column:1;grid-row:3}.views{flex-wrap:wrap}.search-row select{width:160px}}
