@import"https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Open+Sans:wght@400;600;700&display=swap";:root{--main-goal-bg: #1b4332;--main-goal-text: #ffffff;--sub-goal-bg: #2d6a4f;--sub-goal-text: #ffffff;--mirror-bg: #d8f3dc;--mirror-text: #1b4332;--action-bg: #ffffff;--action-text: #1a1a1a;--border-thin: #95d5b2;--border-thick: #1b4332;--accent: #b7791f;--page-bg: #ffffff}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%}body{font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:#f0f4f0;min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center}.controls{margin-bottom:20px;display:flex;gap:16px;align-items:center}.print-btn,.reset-btn{font-family:Open Sans,sans-serif;font-size:13px;font-weight:600;padding:12px 28px;border:2px solid transparent;cursor:pointer;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.print-btn{background:var(--main-goal-bg);color:#fff;border-color:var(--main-goal-bg)}.print-btn:hover{background:#40916c;border-color:#40916c}.reset-btn{background:#fff;color:#666;border-color:#ccc}.reset-btn:hover{background:#f5f5f5;color:#333;border-color:#999}.page-container{width:297mm;height:210mm;background:var(--page-bg);padding:10mm;box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:5mm;flex-shrink:0}.header h1{font-family:Merriweather,Georgia,serif;font-size:28px;font-weight:700;color:var(--main-goal-bg);margin-bottom:4px}.header .subtitle{font-family:Open Sans,sans-serif;font-size:14px;color:#555;font-weight:400}.matrix-wrapper{flex:1;display:flex;align-items:stretch;justify-content:center}.matrix{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;border:4px solid var(--border-thick);background:var(--border-thick);gap:4px}.block{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);background:var(--border-thin);gap:2px}.cell{background:var(--action-bg);display:flex;align-items:stretch;justify-content:stretch;min-width:0;min-height:0;overflow:hidden}.cell-content{font-family:Open Sans,sans-serif;font-size:12px;font-weight:500;line-height:1.35;color:var(--action-text);width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;cursor:text;word-break:break-word;overflow-wrap:break-word}.cell-content:focus{outline:3px solid var(--accent);outline-offset:-3px;background:#fffbeb}.cell-content[contenteditable=true]:empty:before{content:attr(data-placeholder);color:#999;font-weight:400;font-size:11px}.block.center-block{background:var(--border-thick);gap:3px}.block.center-block .cell.center-cell{background:var(--main-goal-bg)}.block.center-block .cell.center-cell .cell-content{color:var(--main-goal-text);font-weight:700;font-size:14px}.block.center-block .cell.center-cell .cell-content[contenteditable=true]:empty:before{color:#fff9;font-size:12px}.block.center-block .cell.center-cell .cell-content:focus{outline-color:gold;background:#2d6a4f}.block.center-block .cell.sub-goal-cell{background:var(--sub-goal-bg)}.block.center-block .cell.sub-goal-cell .cell-content{font-weight:600;font-size:12px;color:var(--sub-goal-text)}.block.center-block .cell.sub-goal-cell .cell-content[contenteditable=true]:empty:before{color:#ffffff80}.block.center-block .cell.sub-goal-cell .cell-content:focus{outline-color:gold;background:#40916c}.block:not(.center-block) .cell.center-cell{background:var(--mirror-bg)}.block:not(.center-block) .cell.center-cell .cell-content{font-weight:700;font-size:12px;color:var(--mirror-text)}.footer{margin-top:4mm;text-align:center;flex-shrink:0}.footer p{font-size:11px;color:#555;line-height:1.4}.legend{display:flex;justify-content:center;gap:28px;margin-top:3mm}.legend-item{display:flex;align-items:center;gap:8px;font-size:10px;color:#333;font-weight:600}.legend-color{width:16px;height:16px;border:1px solid #666;border-radius:2px}.legend-color.main{background:var(--main-goal-bg)}.legend-color.sub{background:var(--sub-goal-bg)}.legend-color.mirror{background:var(--mirror-bg);border-color:var(--sub-goal-bg)}.legend-color.action{background:var(--action-bg)}@media print{@page{size:A4 landscape;margin:5mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important;padding:0!important;margin:0!important;display:block!important}.controls{display:none!important}.page-container{width:287mm!important;height:200mm!important;padding:6mm!important;box-shadow:none!important;margin:0!important}.header{margin-bottom:4mm!important}.header h1{font-size:22px!important;color:#1a1a1a!important}.header .subtitle{font-size:11px!important}.matrix{border:3px solid #000000!important;gap:3px!important;background:#000!important}.block{gap:1px!important;background:#555!important}.cell{background:#fff!important}.cell-content{font-size:10px!important;color:#000!important}.cell-content:focus{outline:none!important;background:transparent!important}.cell-content[contenteditable=true]:empty:before{content:""!important}.block.center-block{background:#222!important;gap:2px!important}.block.center-block .cell.center-cell{background:#fff!important;outline:3px solid #000!important}.block.center-block .cell.center-cell .cell-content{color:#000!important;font-size:12px!important;font-weight:700!important}.block.center-block .cell.sub-goal-cell{background:#f0f0f0!important}.block.center-block .cell.sub-goal-cell .cell-content{color:#000!important;font-weight:600!important}.block:not(.center-block) .cell.center-cell{background:#f5f5f5!important}.block:not(.center-block) .cell.center-cell .cell-content{color:#000!important;font-weight:700!important}.footer{margin-top:3mm!important}.footer p{font-size:9px!important;color:#333!important}.legend{gap:20px!important}.legend-item{font-size:8px!important}.legend-color{width:14px!important;height:14px!important}.legend-color.main{background:#222!important}.legend-color.sub{background:#555!important}.legend-color.mirror{background:#e0e0e0!important;border-color:#555!important}.legend-color.action{background:#fff!important;border:1px solid #555555!important}}@media screen and (max-width:1200px){.page-container{width:95vw;height:calc(95vw * .707)}.cell-content{font-size:10px}}
