/* Tools inherit paper v2 variables, including rose and night. */
.tools-page{max-width:1040px;padding-top:26px}.tools-page h1{font-size:clamp(28px,4vw,44px);letter-spacing:-1px;margin:10px 0}.tools-page .tool-intro{color:var(--muted);max-width:680px;margin-bottom:22px}.tool-local{font-size:12px;color:var(--accent);letter-spacing:1px}.tool-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.tool-workspace>*{min-width:0}.tool-form .field{margin-bottom:16px}.tools-page input,.tools-page textarea,.tools-page select{font-size:16px!important;min-width:44px}.tools-page button,.tools-page a.button{min-height:44px;font-size:16px}.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.tool-output{padding:22px;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;min-height:220px;text-align:center;overflow-wrap:anywhere}.tool-output canvas{display:block;width:auto;height:auto;max-width:100%;max-height:620px;margin:0 auto;background:#fff}.tool-output pre{white-space:pre-wrap;text-align:left;overflow-wrap:anywhere;font:16px/1.7 var(--sans);max-height:400px;overflow:auto}.tool-status{margin:14px 0;color:var(--accent);min-height:26px;overflow-wrap:anywhere}.tool-help{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.tool-help h2,.tool-output h2{font-size:24px}.tool-help ol,.tool-help ul{padding-left:22px}.tool-help li{padding:4px 0}.tool-related{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.tool-related a,.tools-page .breadcrumb{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tool-tile{display:flex;flex-direction:column;min-width:0;min-height:200px;transition:border-color .15s}.tool-tile:hover{border-color:var(--accent);text-decoration:none}.tool-tile h2{font-size:24px}.tool-tile p{font-size:15px;color:var(--muted)}.tool-tile span{margin-top:auto;color:var(--accent)}.tool-check{display:flex;align-items:center;gap:10px;min-height:44px}.tool-check input{width:22px;height:22px}.tool-drop{border:2px dashed var(--line);border-radius:14px;padding:20px;min-height:128px}.tool-drop.is-dragging{border-color:var(--accent);background:var(--surface-soft)}.tool-drop input{padding:8px!important}.tool-count{font-size:48px;color:var(--accent);font-family:var(--serif);margin:0}.tool-dates{list-style:none;padding:0;text-align:left;max-height:420px;overflow:auto}.tool-dates li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.tool-dates time{white-space:nowrap}.tool-qr-output{max-width:400px}.tool-empty{color:var(--muted);padding:34px 0}.tool-output a{display:inline-block;min-height:44px;text-decoration:underline}.tools-page .hint{font-size:13px}.tool-print-sheet{display:none}.download-preview.tools-save .card{max-width:520px}.tools-save .card img{border-radius:0}.tools-page .tool-form{margin:0}.tool-output[aria-busy=true]{opacity:.65}
@media(max-width:700px){.tool-workspace,.tool-help{grid-template-columns:minmax(0,1fr)}.tool-grid{grid-template-columns:minmax(0,1fr)}.tools-page{padding-top:16px}.tool-output{padding:16px}.tool-actions .button{flex:1}.tool-help{gap:8px}.nav{gap:10px}.tool-tile{min-height:170px}}
@page{size:A4 portrait;margin:0}
@media print{body.tools-print-ready{background:#fff!important;color:#000!important;margin:0!important;padding:0!important}body.tools-print-ready>*{display:none!important}body.tools-print-ready>.tool-print-sheet:not([hidden]){display:block!important;width:210mm;height:296mm;overflow:hidden;break-after:avoid;page-break-after:avoid}.tool-print-sheet img{display:block;width:210mm;height:297mm;max-width:none!important}}

/* Love-days calendar controls use theme tokens and full-row checkbox targets. */
.love-calendar{text-align:left;border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.love-calendar h3{font-size:20px}.love-calendar fieldset{min-width:0;margin:16px 0;padding:8px;border:1px solid var(--line);border-radius:12px}.love-calendar legend{padding:0 4px}.love-calendar-choice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 8px;align-items:center;min-height:64px;margin:0;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}.love-calendar-choice:last-child{border-bottom:0}.love-calendar-choice input{grid-row:span 2;width:22px;height:22px;min-width:22px;margin:0;accent-color:var(--accent)}.love-calendar-choice time{grid-column:2;font-size:14px;color:var(--muted)}.love-calendar .tool-actions{flex-direction:column}.love-calendar input[type=text],.love-calendar textarea{width:100%;box-sizing:border-box}.love-calendar .field{margin-top:16px}
