:root{--ink:#252321;--muted:#69645f;--accent:#52644d;--brand-pink:#ff3366;--soft-accent:#edf0e9;--line:#ddd8d2;--bg:#f5f3f1;--series-image:#a8b59e;--series-png:#d6c29e;--series-video:#e3aeb9;--report-track:#e3ded8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.78 -apple-system,BlinkMacSystemFont,'Noto Sans JP','Yu Gothic',Meiryo,'Segoe UI',sans-serif}a{color:var(--accent);text-underline-offset:4px}button,.button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #b9b2aa;background:#fff;color:var(--ink);border-radius:4px;padding:9px 15px;cursor:pointer;font-size:14px;font-weight:650;text-decoration:none}button:hover,.button:hover{background:#edf0e9}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#43533e}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.button:focus-within{outline:3px solid #52644d;outline-offset:3px}header{max-width:1280px;margin:auto;padding:26px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}header a{font-size:14px;text-decoration:none}.brand{color:var(--ink);font-size:20px;font-weight:800;letter-spacing:2px}.brand span{font-weight:400}main{max-width:1200px;margin:auto;padding:0 24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px 0 32px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:750;margin:0 0 12px}h1{font-size:32px;line-height:1.5;letter-spacing:.03em;margin:0}h2{font-size:22px;margin:0}h3{font-size:17px;margin:0}p{margin:8px 0 16px;color:var(--muted)}.intro p:last-child{margin-bottom:0}.privacy{border-left:3px solid var(--accent);padding:8px 20px;font-size:14px}.privacy p{margin:6px 0}nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:28px}nav button{border:0;border-radius:0;background:transparent;padding:16px 20px;border-bottom:3px solid transparent}nav button.active{border-color:var(--accent);color:var(--accent);background:#edf0e9}.sectionhead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.sectionhead p{font-size:14px;margin-bottom:0}.pill{background:#edf0e9;color:var(--accent);padding:4px 12px;border-radius:20px;font-size:13px;white-space:nowrap}.drop{border:1px dashed #a6a6a6;border-radius:4px;background:white;text-align:center;padding:27px}.drop.over{background:#edf0e9}.upload-icon{font-size:28px;line-height:1.2;color:var(--accent)}.drop strong{display:block;margin:8px}.drop p{font-size:14px;margin:4px 0 15px}.drop small{display:block;color:var(--muted);font-size:12px;margin-top:12px}input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}.toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.hint{font-size:13px;color:var(--muted)}.note{border-top:1px solid var(--line);padding:24px 0;font-size:14px;margin-top:32px}.note p{max-width:920px}.panel,.card{background:white;border:1px solid var(--line);border-radius:4px;padding:24px}.keyword-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}textarea,input:not([type=file]),select{width:100%;background:#fff;border:1px solid #9b938b;border-radius:3px;padding:10px;color:var(--ink)}textarea{resize:vertical;min-height:90px;margin-bottom:10px}.card{display:grid;grid-template-columns:240px 1fr;gap:24px;margin-top:16px}.preview{height:190px;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;background-color:#eee;background-image:conic-gradient(#dcdcdc 25%,transparent 0 50%,#dcdcdc 0 75%,transparent 0);background-size:20px 20px}.preview img{max-width:100%;max-height:100%;object-fit:contain}.preview span{font-size:14px;padding:14px}.bgbuttons{display:flex;gap:6px;margin:8px 0}.bgbuttons button{padding:4px 10px;font-size:13px}.facts{font-size:13px;color:var(--muted)}.status{font-size:13px;color:#8e4b0c;margin:8px 0}.status.ok{color:var(--accent)}.cardhead{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-bottom:16px}.filename{font-weight:750;overflow-wrap:anywhere}.remove{font-size:12px;padding:4px 9px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fieldwide{grid-column:1/-1}.chiplist{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px;max-height:350px;overflow:auto}.chip{border:1px solid var(--line);border-radius:3px;padding:5px 7px;font-size:13px;display:flex;align-items:center;gap:5px;max-width:100%;overflow-wrap:anywhere}.chip.top{background:#edf0e9;border-color:#c9d2c3}.chip button{border:0;padding:1px 4px;background:transparent;font-size:12px;min-width:24px}.chip b{color:var(--accent)}.guide{max-width:900px}.guide h3{margin-top:26px}.guide li{margin:18px 0}.links{display:flex;flex-direction:column;gap:6px;font-size:14px}footer{border-top:1px solid var(--line);padding:30px 0 40px;margin-top:30px;font-size:14px}footer p{margin:4px 0}footer small{display:block;color:var(--muted);margin-top:20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 22px;border-radius:4px;box-shadow:0 5px 30px #21212120;max-width:90vw;z-index:9;display:none}#toast.show{display:block}[hidden]{display:none!important}@media(max-width:750px){header{padding:18px 20px}.brand{font-size:15px;letter-spacing:1px}.intro{padding:28px 0;display:block}h1{font-size:26px}.privacy{margin-top:20px}nav button{padding:13px 8px;font-size:13px}main{padding:0 16px}.toolbar{display:block}.toolbar>div{margin-top:12px}.card,.keyword-grid{grid-template-columns:1fr}.card{padding:18px}.preview{height:220px}.fields{grid-template-columns:1fr}.sectionhead{align-items:start}.pill{display:none}}
/* Comparison and selection */
.selection-upload{display:flex;align-items:center;gap:18px;margin:20px 0}.selection-upload p{margin:0}.filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.selection-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}.selection-actions>div{display:flex;flex-wrap:wrap;gap:8px}.selection-controls>.hint{margin:14px 0 0}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.gallery-card{background:white;border:1px solid var(--line);border-radius:4px;padding:16px;min-width:0}.gallery-card.picked{outline:2px solid var(--accent);outline-offset:1px}.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}.pick-label{display:flex;align-items:center;gap:7px;margin:0;font-weight:500}.pick-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);padding:0}.decision-badge{font-size:12px;padding:3px 8px;background:#f0f0f0;border-radius:16px;white-space:nowrap}.decision-candidate .decision-badge{color:#075541;background:#dbf0e5}.decision-hold .decision-badge{color:#81531b;background:#fff0d4}.decision-exclude .decision-badge{color:#687077;background:#eee}.gallery-preview{width:100%;padding:0;height:205px;margin-bottom:12px;border:0;border-radius:4px;font-weight:400}.gallery-card .filename{display:block;font-size:14px}.gallery-facts{font-size:12px;color:var(--muted);margin:4px 0 12px}.gallery-card label:not(.pick-label){margin-bottom:12px}.gallery-card label:last-child{margin-bottom:0}.gallery-card textarea{min-height:60px;margin-bottom:0}.empty-state{text-align:center;padding:50px 20px;border:1px dashed var(--line);border-radius:4px;margin:22px 0}.export-label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.export-label select{width:auto}.card-selection-label{grid-column:1/-1;max-width:300px}dialog{color:var(--ink);width:calc(100vw - 40px);max-width:1600px;max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--bg);overflow:auto}dialog::backdrop{background:#212121aa}.compare-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.compare-header p{margin:4px 0 14px}.compare-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.compare-tools label{display:flex;align-items:center;gap:10px;margin:0}.compare-tools input[type=range]{width:200px;padding:0;accent-color:var(--accent)}.compare-tools select{width:auto}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compare-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.compare-pane{background:white;padding:14px;border:1px solid var(--line);border-radius:4px;min-width:0}.compare-pane>.filename{display:block;font-size:14px;margin-bottom:10px}.compare-viewport{position:relative;height:clamp(180px,39vh,420px);touch-action:none;border-radius:3px;user-select:none}.compare-viewport img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:center;pointer-events:none;object-fit:fill}.compare-meta{margin-top:12px}.compare-meta textarea{min-height:55px;margin-bottom:0}.compare-grid[data-count="4"] .compare-viewport{height:clamp(160px,27vh,300px)}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-grid[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-actions{display:block}.selection-actions>div{margin-top:12px}}
@media(max-width:600px){nav{flex-wrap:wrap}.gallery{grid-template-columns:1fr}.filters{grid-template-columns:1fr;gap:10px}.selection-upload{display:block}.selection-upload p{margin-top:10px}.export-label{margin-top:8px}dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.compare-header h2{font-size:18px}.compare-grid,.compare-grid[data-count="3"]{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.compare-pane{padding:8px}.compare-pane>.filename{font-size:12px}.compare-viewport{height:200px}.compare-meta label{font-size:12px}.compare-meta select,.compare-meta textarea{padding:5px;font-size:13px}.compare-tools input[type=range]{width:120px}.compare-tools{gap:8px}}
/* Sales records and blog reports */
nav{flex-wrap:wrap}.sales-start{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;margin-bottom:18px}.sales-backups{display:flex;align-items:start;gap:8px;flex-wrap:wrap}.sales-backups p{flex-basis:100%;margin-bottom:0}.sales-warning{background:#fff5df;border:1px solid #e4bc72;border-radius:4px;color:#6d450b;padding:14px 18px;margin:16px 0}.sales-report-controls{margin:20px 0}.sales-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sales-quick{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}details summary{cursor:pointer;color:var(--accent);font-weight:700}details summary:focus-visible{outline:3px solid #52644d;outline-offset:3px}.sales-branding{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:16px;margin-top:16px}.sales-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.sales-kpi{background:white;padding:20px;border:1px solid var(--line);border-radius:4px;min-width:0}.sales-kpi span{display:block;font-size:13px;color:var(--muted)}.sales-kpi strong{display:block;font-size:29px;line-height:1.4;margin-top:8px;overflow-wrap:anywhere}.sales-report-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:26px 0 14px}.sales-report-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.sales-report-head p{margin:6px 0 0}.sales-chart{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;padding:12px;min-height:100px}.sales-chart svg{display:block;width:100%;height:auto}.sales-table-wrap{overflow:auto;margin:18px 0;max-width:100%;border:1px solid var(--line);border-radius:4px;background:white}#sales table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}#sales th,#sales td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:right}#sales th:first-child,#sales td:first-child{text-align:left}#sales thead th{background:#f5f3f1;color:var(--ink);font-size:13px}#sales tbody th{font-weight:600}#sales tbody tr:last-child td,#sales tbody tr:last-child th{border-bottom:0}.sales-detail{margin-top:18px}.sales-detail[open]>summary{margin-bottom:16px}.sales-assets{min-width:720px}.sales-assets td{vertical-align:top}.sales-assets td:first-child{max-width:380px;white-space:normal}.sales-asset-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}.sales-assets .asset-genre{width:190px}.sales-assets .asset-kind{width:190px}.sales-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.sales-manual-month{display:flex;align-items:center;gap:16px}.sales-manual-month label{max-width:240px;width:100%;margin:0}.sales-cost-entry{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px}.sales-cost-entry label{max-width:280px;width:100%;margin:0}#sales-manual-form table{min-width:500px}#sales-manual-form td input{min-width:110px;max-width:220px}.sales-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.sales-history-row:last-child{border:0}.sales-history-row span{overflow-wrap:anywhere}#sales-import-history{max-height:400px;overflow:auto}.sales-history-row button{white-space:nowrap;font-size:12px}.sales-detail .hint{max-width:1000px}
@media(max-width:900px){.sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-start,.sales-branding{grid-template-columns:1fr}.sales-report-head{display:block}.sales-report-head>div:last-child{margin-top:14px}.sales-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sales-filters{grid-template-columns:1fr}.sales-kpi{padding:14px}.sales-kpi strong{font-size:25px}.sales-kpi span{font-size:12px}.sales-chart{padding:0}.sales-start,.sales-report-controls,.sales-detail{padding:18px}.sales-manual-month,.sales-cost-entry{display:block}.sales-manual-month button,.sales-cost-entry button{margin-top:10px}.sales-history-row{display:block}.sales-history-row button{margin-top:8px}.sales-pagination{flex-wrap:wrap}.sales-report-head button{width:100%}}

/* Blog identity: monochrome foundations, Rokkitt wordmark, pink accent. */
::selection{background:#e1e7db;color:var(--ink)}
header{padding:30px 40px 24px;align-items:center}
.brand{display:flex;align-items:center;gap:18px;letter-spacing:0;max-width:100%;flex-wrap:wrap}
.brand img{display:block;width:280px;height:27px;max-width:100%;object-fit:contain;object-position:left center}
.brand span{font-size:17px;font-weight:700;border-left:1px solid var(--ink);padding-left:18px}
header>a:last-child{white-space:nowrap;font-weight:600;color:var(--muted)}
h1,h2,h3{font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-weight:750;letter-spacing:0}
h1{line-height:1.45}h2{position:relative;padding-bottom:12px}h2::after{content:'';display:block;position:absolute;bottom:0;left:0;width:38px;height:3px;background:var(--brand-pink)}
.eyebrow{color:var(--muted);letter-spacing:.08em;font-size:13px;margin-bottom:10px}
.privacy{border-left-color:#73856e}
nav{gap:4px}nav button{color:var(--ink)}nav button.active{border-color:var(--brand-pink);color:var(--accent);background:transparent}nav button:hover{background:var(--soft-accent)}
.panel,.card,.gallery-card,.sales-kpi{box-shadow:none}
.pill{border-radius:3px}.chip.top{background:var(--soft-accent)}.chip b{color:var(--accent)}
.sales-kpi strong{font-variant-numeric:tabular-nums}.sales-kpi:first-child{border-top:3px solid #73856e;padding-top:18px}
.sales-chart{border-radius:4px;padding:0}
.branding-note{margin:14px 0 0;font-size:13px;color:var(--muted)}
.footer-brand{display:block;width:240px;height:auto;max-width:100%;margin-bottom:12px}
@media(max-width:750px){header{padding:20px;align-items:flex-start}.brand{gap:10px}.brand img{width:235px;height:24px}.brand span{border:0;padding:0;font-size:13px;flex-basis:100%}header>a:last-child{font-size:12px}.eyebrow{font-size:12px}h2{font-size:20px}nav{gap:0}nav button{padding:13px 10px}.intro{padding:30px 0}}
@media(max-width:420px){header{gap:12px;flex-wrap:wrap}.brand img{width:205px;height:22px}.brand span{font-size:12px}header>a:last-child{font-size:11px}}

/* Report canvas is fixed; the tool itself responds to the viewport. */
.intro{padding:32px 0 26px}.intro h1{font-size:30px}
.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#43533e}
button,.button{min-height:44px}input:not([type=file]),select{min-height:44px}
.sales-chart{background:#fffefc;overflow-x:auto;overflow-y:hidden;max-width:100%;overscroll-behavior-x:contain}
.sales-chart svg{min-width:760px}.sales-chart svg[data-dense="true"]{min-width:1100px}
.sales-chart:focus-visible,.sales-table-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sales-scroll-hint{font-size:13px;margin:12px 0;color:var(--muted)}
.sales-start,.sales-report-controls,.sales-detail{min-width:0}
.sales-start>div,.sales-filters>label,.sales-branding>label{min-width:0}
.sales-filters input,.sales-branding input{min-width:0;max-width:100%}
.sales-kpi strong{color:var(--ink)}.sales-kpi:first-child strong{color:var(--accent)}
@media(max-width:750px){.intro{gap:20px}.intro h1{font-size:26px}.sales-backups{flex-direction:column}.sales-backups .button,.sales-backups button{width:100%}.sales-quick button{flex:1 1 100px}}
@media(max-width:600px){button,.button,input:not([type=file]),select,textarea{font-size:16px}nav button{font-size:14px}.sales-kpis{gap:10px}.sales-kpi span{font-size:13px}.sales-chart svg{min-width:760px}.sales-chart svg[data-dense="true"]{min-width:1100px}.sales-manual-month label,.sales-cost-entry label{max-width:none}.sales-pagination button{flex:1 1 120px}}
@media(max-width:380px){.sales-kpis{grid-template-columns:1fr}.sales-quick button{flex-basis:110px}}

/* Keep the backup note within the existing mobile column. */
@media(max-width:750px){.sales-backups p{width:100%;min-width:0;flex-basis:auto}}
