:root{--bg-app: #f5f5f7;--bg-panel: rgba(255, 255, 255, .72);--primary: #0071e3;--primary-hover: #0077ed;--text-main: #1d1d1f;--text-muted: #86868b;--border: #d2d2d7;--border-light: rgba(0, 0, 0, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card: 0 4px 12px rgba(0, 0, 0, .08);--shadow-float: 0 8px 20px rgba(0, 0, 0, .12);--paper-width: 80mm}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-app);color:var(--text-main);height:100vh;overflow:hidden}.app-container{display:flex;flex-direction:column;height:100%}.app-header{background:var(--bg-panel);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border-light);padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;z-index:10;transition:all .3s ease}.logo-area{display:flex;align-items:center;gap:.75rem;color:var(--text-main)}.logo-area svg{color:var(--primary)}.logo-area h1{font-size:1.125rem;font-weight:600;color:var(--text-main);letter-spacing:-.01em}.controls{display:flex;gap:2rem;align-items:center}.control-group{display:flex;flex-direction:column;gap:6px}.control-group label{display:block;font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.segmented-control{background:#7676801f;padding:2px;border-radius:8px;display:flex;position:relative}.segment{border:none;background:transparent;padding:4px 12px;border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-main);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:60px}.segment:hover{color:#000}.segment.active{background:#fff;color:#000;font-weight:600;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.editor-workspace{flex:1;overflow-y:auto;display:flex;justify-content:center;padding:3rem 1rem;background:var(--bg-app)}.paper-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:4rem}.paper-shadow{position:relative;border-radius:4px;box-shadow:0 4px 16px #00000014,0 1px 4px #0000000a;transition:width .3s cubic-bezier(.4,0,.2,1)}.paste-button{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid rgba(59,130,246,.2);padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:500;color:#3b82f6;cursor:pointer;z-index:20;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.paste-button:hover{background:#3b82f614;border-color:#3b82f666;transform:translateY(-1px)}.paste-button:active{transform:translateY(0)}.thermal-paper{width:var(--paper-width);min-height:150mm;background:#fff;padding:5mm;font-family:JetBrains Mono,Courier New,monospace;font-size:14px;line-height:1.4;color:#000;outline:none}.paper-ruler{width:var(--paper-width);height:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted);position:relative;transition:width .3s ease;margin-top:4px}.paper-ruler:before{content:"0mm"}.paper-ruler:after{content:attr(data-width)}.app-footer{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:transparent;border:none;padding:0;pointer-events:none;z-index:60}.print-button{pointer-events:auto;background:var(--primary);color:#fff;border:none;padding:1rem 2.5rem;border-radius:99px;font-family:inherit;font-size:1.05rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 20px #0071e34d;transition:all .2s cubic-bezier(.4,0,.2,1)}.print-button:hover{background:var(--primary-hover);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 24px #0071e366}.print-button:active{transform:translateY(0) scale(.98)}.credits{position:fixed;bottom:1.5rem;left:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;font-size:.75rem;z-index:50;pointer-events:none}.credits-info{background:transparent;border:none;padding:0;box-shadow:none;pointer-events:auto}.credits-info span{color:var(--text-muted)}.credits-info strong{color:var(--text-muted);font-weight:500}.credits-info a{color:var(--text-muted);text-decoration:none;transition:color .2s}.credits-info a:hover{color:var(--primary)}.support-link{position:fixed;bottom:1.5rem;right:1.5rem;pointer-events:auto;background:#fff;padding:6px 14px;border-radius:99px;display:flex;justify-content:center;align-items:center;gap:8px;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.05);transition:all .2s ease;text-decoration:none;color:var(--text-muted);font-size:.8rem;font-weight:500;z-index:50}.support-link strong{font-weight:500;color:var(--text-main)}.support-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a;color:var(--primary)}.history-trigger-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;padding:6px 12px;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--primary);cursor:pointer;transition:background .2s}.history-trigger-btn:hover{background:#0071e314}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:100;opacity:1;transition:opacity .2s;visibility:visible}.modal-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden}.modal-content{background:#fff;width:90%;max-width:480px;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:80vh;animation:modalPop .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--text-main)}.close-btn{background:#f0f0f0;border:none;width:28px;height:28px;border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#e5e5e5;color:#000}.modal-body{flex:1;overflow-y:auto;padding:0}.history-list{display:flex;flex-direction:column;padding:0}.history-item{background:#fff;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);border-radius:0;border-left:none;border-right:none;border-top:none;display:flex;justify-content:space-between;align-items:center;transition:background .1s}.history-item:hover{background:#f9f9f9}.history-item:last-child{border-bottom:none}.history-item-info{display:flex;flex-direction:column;gap:2px}.history-time{font-size:.75rem;color:var(--text-muted)}.history-val{font-weight:600;font-size:1rem;color:var(--text-main)}.history-actions{display:flex;gap:.75rem}.action-btn{border:none;background:transparent;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary);background:#0071e30d;transition:all .2s}.action-btn:hover{background:var(--primary);color:#fff}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:1rem;background:#fbfbfd;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.summary-info{display:flex;justify-content:space-between;background:#fff;padding:1rem;border-radius:10px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.btn-text{background:none;border:none;color:var(--text-muted);font-weight:500;cursor:pointer;font-size:.9rem}.btn-text.text-danger{color:#ff3b30}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s;width:100%}.btn-primary:hover{background:var(--primary-hover)}@media print{@page{margin:0;size:auto}body *{visibility:hidden}.thermal-paper,.thermal-paper *{visibility:visible}.thermal-paper{position:fixed;left:0;top:0;width:100%;max-width:var(--paper-width);margin:0;padding:0;box-shadow:none;overflow:visible;border-radius:0}.app-header,.app-footer,.credits,.support-link,.modal-overlay{display:none!important}.editor-workspace{background:none;padding:0;margin:0}.paper-shadow{box-shadow:none}.paper-ruler,.paste-button{display:none!important}.thermal-paper{color:#000!important;text-shadow:none!important}}.mobile-only{display:none!important}.desktop-only{display:flex!important}@media (max-width: 768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}.app-header{flex-direction:column;gap:1rem;padding:1rem}.controls{width:100%;flex-direction:column;gap:1rem}.control-group{width:100%}.logo-area{width:100%;justify-content:center}.segmented-control{width:100%}.segment{flex:1;text-align:center}.history-trigger-btn{width:100%;justify-content:center;background:#0071e30d;padding:10px}.thermal-paper{width:92vw;min-height:70vh;padding-bottom:5rem}.paste-button{background:#ffffffe6;border-color:#3b82f64d}#print-btn-mobile{position:sticky;bottom:1rem;width:calc(100% - 2rem);margin:1rem auto;justify-content:center;padding:1.2rem;box-shadow:0 4px 12px #0071e34d;z-index:50}body{display:block;min-height:100vh;overflow-y:auto}.app-container{padding-bottom:2rem;display:flex;flex-direction:column}.editor-workspace{padding-bottom:0}.credits,.support-link{position:relative;bottom:auto;left:auto;right:auto;transform:none;width:100%;display:flex;justify-content:center;align-items:center;margin:0;background:transparent;pointer-events:auto}.support-link{margin-top:2rem;margin-bottom:1rem;width:max-content;margin-left:auto;margin-right:auto;border:none;box-shadow:none;padding:.5rem 1rem}.credits{padding-top:0;padding-bottom:2rem;text-align:center;width:100%;display:flex;justify-content:center}.credits-info{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;width:100%}.divider{display:none}}
