.gh-app{max-width:880px;margin:20px auto 40px;padding:0 16px;display:flex;flex-direction:column;gap:18px;text-align:left}.gh-card{border:1px solid var(--border-soft, #e0e0e0);border-radius:12px;padding:18px 20px;background:var(--card-bg, #fff)}.gh-card-title{font-size:16px;font-weight:700;margin:0 0 14px;padding-bottom:6px;border-bottom:2px solid var(--accent, #2a9d8f)}.gh-chips{display:flex;flex-wrap:wrap;gap:8px}.gh-chip{min-height:var(--tap-min);padding:6px 14px;border:1px solid var(--border, #ccc);border-radius:999px;background:var(--card-bg, #fff);color:var(--text);font:inherit;font-size:15px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-chip.is-on{background:var(--accent-bg, #eaf5f4);border-color:var(--accent, #2a9d8f);font-weight:700}.gh-chip-add{border-style:dashed;color:var(--text-muted, #555)}.gh-notice{margin:0;padding:10px 14px;border-radius:8px;background:#fff7e6;border:1px solid #ecd49a;color:#6b4a00;font-size:14px;line-height:1.7}.gh-board-card{padding:20px}.gh-board{background:var(--gh-soft, #e8f4f1);border-radius:14px;padding:18px 16px 20px;color:#1f2a28;text-align:center}.gh-b-sub{margin:0;font-size:14px;color:var(--gh-dark)}.gh-b-goal{margin:2px 0 10px;font-size:clamp(26px,6vw,36px);line-height:1.3;color:#1f2a28;border:none;padding:0}.gh-b-stat{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;margin-bottom:14px}.gh-b-count{font-size:28px;font-weight:700;color:var(--gh-dark);font-variant-numeric:tabular-nums}.gh-b-left{font-size:20px;font-weight:700;color:#1f2a28}.gh-b-rounds{font-size:14px;color:#3d4a47}.gh-b-empty{margin:16px 0;color:#3d4a47}.gh-b-grid{display:grid;grid-template-columns:repeat(var(--cols, 5),minmax(0,1fr));gap:10px;max-width:560px;margin:0 auto}.gh-cell{aspect-ratio:1;min-height:var(--tap-min);border-radius:50%;border:2.5px solid var(--gh-main);background:#fff;color:#4a5754;font:inherit;font-size:16px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.gh-cell.is-goal{border-width:4px;border-color:var(--gh-dark);font-size:13px;font-weight:700;color:var(--gh-dark)}.gh-cell.is-on{background:#fff;border-style:solid;cursor:default}.gh-cell-ic{font-size:clamp(26px,6vw,40px);line-height:1}.gh-cell.is-goal .gh-cell-ic{font-size:clamp(26px,6vw,40px)}.gh-cell-ic.pop{animation:gh-pop .22s ease-out}@keyframes gh-pop{0%{transform:scale(.6)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.gh-cell-ic.pop{animation:none}}.gh-cell:focus-visible,.gh-wk-cell:focus-visible{outline:3px solid var(--gh-dark);outline-offset:2px}.gh-b-reward{margin:16px 0 0;font-size:18px;font-weight:700;color:#1f2a28}.gh-b-reward-l{color:var(--gh-dark)}.gh-b-got{margin:18px auto 0;max-width:420px;padding:16px;background:#fff;border:3px solid var(--gh-dark);border-radius:14px}.gh-b-got-t{margin:0;font-size:28px;font-weight:700;color:var(--gh-dark)}.gh-b-got-r{margin:6px 0 12px;font-size:22px;color:#1f2a28}.gh-board-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.gh-wk-wrap{overflow-x:auto}.gh-wk{border-collapse:separate;border-spacing:4px;margin:0 auto;background:transparent}.gh-wk th,.gh-wk td{padding:0}.gh-wk-corner{font-size:13px;color:var(--gh-dark);text-align:left}.gh-wk-day{font-size:15px;font-weight:700;color:#1f2a28;min-width:44px}.gh-wk-day.sat{color:#2f5d8c}.gh-wk-day.sun{color:#9a3f3a}.gh-wk-item{text-align:left;font-size:16px;font-weight:700;color:#1f2a28;padding-right:8px;min-width:6em;max-width:12em;overflow-wrap:anywhere}.gh-wk-cell{width:46px;height:46px;border-radius:50%;border:2.5px solid var(--gh-main);background:#fff;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.gh-wk-cell .gh-cell-ic{font-size:26px}.gh-field{margin-bottom:16px}.gh-label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.gh-field input[type=text],.gh-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border, #ccc);border-radius:8px;font:inherit;font-size:var(--fs-input);min-height:var(--tap-min);background:var(--card-bg, #fff);color:var(--text)}.gh-field textarea{line-height:1.6;resize:vertical}.gh-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gh-hint{margin:6px 0 0;font-size:13px;color:var(--text-muted, #555);line-height:1.7}.gh-ideas{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.gh-idea{min-height:36px;padding:4px 12px;border:1px solid var(--border, #ccc);border-radius:999px;background:var(--card-bg, #fff);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.gh-seg{display:flex;flex-wrap:wrap;gap:6px}.gh-seg label,.gh-pick label{position:relative;cursor:pointer}.gh-seg input,.gh-pick input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.gh-seg span{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:6px 14px;border:1px solid var(--border, #ccc);border-radius:8px;background:var(--card-bg, #fff);font-size:15px;box-sizing:border-box}.gh-seg input:checked+span{background:var(--accent-bg, #eaf5f4);border-color:var(--accent, #2a9d8f);font-weight:700;box-shadow:inset 0 0 0 1px var(--accent, #2a9d8f)}.gh-seg input:focus-visible+span,.gh-pick input:focus-visible+span{outline:3px solid var(--accent, #2a9d8f);outline-offset:2px}.gh-pick{display:flex;flex-wrap:wrap;gap:6px}.gh-pick-i span,.gh-pick-t span{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--border, #ccc);border-radius:10px;background:var(--card-bg, #fff);box-sizing:border-box}.gh-pick-i span{font-size:24px}.gh-pick-t span{padding:6px 12px 6px 8px;gap:8px;font-size:15px}.gh-pick-t span:before{content:"";width:18px;height:18px;border-radius:50%;background:var(--sw)}.gh-pick input:checked+span{border-color:var(--accent, #2a9d8f);background:var(--accent-bg, #eaf5f4);box-shadow:inset 0 0 0 1px var(--accent, #2a9d8f)}.gh-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:0}.gh-ai{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.gh-btn{min-height:var(--tap-min);padding:8px 16px;border:1px solid var(--border, #ccc);border-radius:8px;background:var(--card-bg, #fff);color:var(--text);font:inherit;font-size:15px;cursor:pointer}.gh-btn:disabled{opacity:.5;cursor:default}.gh-btn-main{background:var(--gh-dark);border-color:var(--gh-dark);color:#fff;font-weight:700}.gh-btn-sub{font-size:14px}.gh-check{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;min-height:var(--tap-min)}.gh-check input{width:20px;height:20px}.gh-warn{margin:0 0 12px;padding:8px 12px;background:#fff7e6;border:1px solid #ecd49a;border-radius:8px;color:#6b4a00;font-size:14px;line-height:1.7}.gh-preview-box{width:100%;overflow:hidden;background:#eef0f0;border:1px solid var(--border-soft, #e0e0e0);border-radius:8px;position:relative}.gh-print-btn{margin-top:14px;min-height:var(--tap-min);padding:10px 26px;border:none;border-radius:10px;background:var(--accent-hover, #21867a);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}.gh-sheet{box-sizing:border-box;background:#fff;color:#222;position:relative;overflow:hidden;font-family:Hiragino Maru Gothic ProN,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;text-align:center}.gh-p{display:flex;flex-direction:column;align-items:center;box-sizing:border-box;overflow:hidden}.gh-p-head{display:flex;flex-direction:column;justify-content:center;width:100%;box-sizing:border-box;border-bottom:.6mm solid var(--gh-main)}.gh-p-sub{margin:0;font-size:4mm;color:var(--gh-dark)}.gh-p-goal{margin:1mm 0 0;font-size:10mm;font-weight:700;line-height:1.2;color:#222;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gh-p-grid{display:grid;justify-content:center;margin-top:5mm}.gh-p-dot{box-sizing:border-box;border:.5mm solid #8a9a96;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center}.gh-p-dot.is-goal{border:.9mm solid var(--gh-dark)}.gh-p-ic{opacity:.16;line-height:1}.gh-p-no{position:absolute;bottom:.8mm;left:0;right:0;font-size:2.6mm;line-height:1;color:#8a9390}.gh-p-dot.is-goal .gh-p-no{color:var(--gh-dark);font-weight:700}.gh-p-foot{display:flex;align-items:center;justify-content:center;gap:3mm;margin-top:auto;width:100%;border-top:.4mm dashed #aaa;box-sizing:border-box}.gh-p-foot-l{font-size:4mm;color:var(--gh-dark);font-weight:700}.gh-p-foot-t{font-size:6mm;font-weight:700;color:#222}.gh-p-cut{height:8mm;display:flex;align-items:center;justify-content:center;border-top:.3mm dashed #666;margin:0;position:relative}.gh-p-cut span{font-size:3mm;color:#555;background:#fff;padding:0 2mm;position:absolute;top:-1.8mm}.gh-pw{border-collapse:collapse;margin-top:4mm;table-layout:fixed}.gh-pw th,.gh-pw td{border:.4mm solid #8a9a96;padding:0;text-align:center;vertical-align:middle}.gh-pw thead th{background:var(--gh-soft);font-size:4mm;color:#222}.gh-pw-item{text-align:left!important;padding:0 2mm!important;font-size:4.2mm;font-weight:700;color:#222;overflow-wrap:anywhere}.gh-pw-ring{display:inline-block;border:.45mm solid #8a9a96;border-radius:50%;box-sizing:border-box;vertical-align:middle}@media print{@page{size:A4 portrait;margin:0}.gh-print-card{border:none!important}.gh-preview-box{height:auto!important;overflow:visible!important;border:none!important;background:none!important;border-radius:0!important}.gh-sheet{transform:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width: 600px){.gh-card{padding:14px}.gh-board-card{padding:12px}.gh-board{padding:14px 10px 16px}.gh-b-grid{gap:8px}.gh-row2{grid-template-columns:1fr}.gh-board-actions .gh-btn{flex:1 1 140px}.gh-print-btn{width:100%}}@media (max-width: 600px){.gh-wk{border-spacing:3px}.gh-wk-cell{width:36px;height:36px}.gh-wk-cell .gh-cell-ic{font-size:20px}.gh-wk-day{min-width:36px;font-size:14px}.gh-wk-item{min-width:4.5em;max-width:6.5em;font-size:14px;padding-right:4px}}.gh-cell-no{white-space:nowrap}@media (max-width: 600px){.gh-cell.is-goal .gh-cell-no{font-size:11px;letter-spacing:0}.gh-board:has(.gh-wk){padding-left:4px;padding-right:4px}.gh-wk{border-spacing:2px}.gh-wk-cell{width:30px;height:30px;border-width:2px}.gh-wk-cell .gh-cell-ic{font-size:17px}.gh-wk-day{min-width:0;font-size:13px}.gh-wk-item{min-width:0;max-width:none;font-size:13px;word-break:keep-all;overflow-wrap:break-word;padding-right:2px}.gh-wk-corner{font-size:12px}}@media (max-width: 600px){.gh-wk-cell{width:28px;height:28px}.gh-wk-item{font-size:12.5px}}.gh-wk-cell{position:relative}.gh-wk-cell:after{content:"";position:absolute;inset:-4px}
