:root{--line-height: 25px;--margin: 96px;--text-color: #2a2a2a;--cursor-color: #FF6B35;--cursor-height: 22px;--cursor-offset: 0px;--bg-color: #3A3A3A}*{margin:0;padding:0;box-sizing:border-box}body{height:100vh;background:var(--bg-color);overflow:hidden;font-family:Courier Prime,Courier New,monospace;transition:background .3s ease}.cursor{position:fixed;top:calc(50% + 220px + var(--cursor-offset));left:50%;width:2px;height:var(--cursor-height);background:var(--cursor-color);animation:blink 1.06s infinite;pointer-events:none;z-index:1000;box-shadow:0 0 4px #ff6b3566;margin-top:calc(var(--cursor-height) / -2)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.paper-container{position:fixed;left:calc(50% - var(--margin));top:calc(50% + 125px - 11px - var(--margin) + 96px);transform:translate(0);transition:transform .08s cubic-bezier(.25,.46,.45,.94);will-change:transform;z-index:1}.paper{width:800px;min-height:200vh;height:auto;background:#fefefe;box-shadow:0 4px 6px #0000000d,0 10px 40px #0000001a,inset 0 0 80px #00000005;position:relative;overflow:visible}.paper:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(0deg,transparent,transparent calc(var(--line-height) - 1px),rgba(0,0,0,.03) calc(var(--line-height) - 1px),rgba(0,0,0,.03) var(--line-height));pointer-events:none;z-index:0}.paper.texture-paper:before{background-image:var(--paper-texture);background-repeat:repeat;background-size:800px auto;background-position:0 0}.text-input{position:absolute;top:var(--margin);left:var(--margin);width:calc(100% - var(--margin) * 2);height:100%;max-height:none;font-family:Courier Prime,Courier New,monospace;font-size:18px;line-height:25px;color:var(--text-color);background:transparent;border:none;outline:none;resize:none;padding:0;padding-bottom:50vh;margin:0;overflow:visible;white-space:pre;word-wrap:normal;overflow-wrap:normal;z-index:10;scrollbar-width:none;-ms-overflow-style:none;caret-color:transparent}.text-input::-webkit-scrollbar{display:none}.text-input::selection{background:#ff6b354d}.margin-warning{position:fixed;top:calc(50% + 180px);left:calc(50% + 100px);transform:translateY(-50%);margin-top:-43px;opacity:0;transition:opacity .3s,transform .12s;pointer-events:none;z-index:200}.margin-warning.show{opacity:1;animation:pulse .5s ease}@keyframes pulse{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.05)}}.keyboard-key{width:95px;height:86px;background:#333;color:#fff;font-family:Segoe UI,Arial,sans-serif;font-size:13px;display:flex;align-items:center;justify-content:center;border-radius:5px;border:none;box-shadow:inset 0 2px 3px #ffffff26,0 3px 7px #00000080;position:relative;overflow:hidden}.enter-shape{width:100%;height:100%;position:relative}.enter-shape:before{content:"enter";position:absolute;top:6px;left:10px;font-size:11px}.enter-shape:after{content:"↩";position:absolute;bottom:5px;right:8px;font-size:19px;font-weight:700}.enter-l-right{clip-path:polygon(0% 0%,100% 0%,100% 100%,32% 100%,32% 38%,0% 38%)}.line-indicator{position:fixed;left:20px;top:50%;transform:translateY(-50%);color:#5c4a3a;font-size:12px;opacity:.5}.settings-menu{position:fixed;top:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;background:#fffffff5;border-radius:0 0 12px 12px;box-shadow:0 4px 12px #00000026;z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:98vw;min-width:850px;transition:all .3s ease}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid rgba(0,0,0,.08);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.settings-header:hover{background:#00000005}.settings-title{font-size:13px;font-weight:600;color:#2a2a2a}.minimize-btn{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.minimize-btn:hover{background:#0000000d;color:#ff6b35}.settings-content{display:flex;flex-direction:column;transition:all .3s ease;overflow:hidden}.settings-content.collapsed{display:none}.settings-section{border-bottom:1px solid rgba(0,0,0,.05)}.settings-section:last-of-type{border-bottom:none}.section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#999;padding:12px 20px 8px;background:#00000005}.settings-row{display:flex;flex-direction:row;align-items:flex-start;gap:20px;padding:12px 20px;flex-wrap:wrap}.setting-group{display:flex;flex-direction:column;gap:6px;align-items:flex-start;position:relative}.toggle-group{flex-direction:row;align-items:center;gap:12px}.toggle-label-group{display:flex;flex-direction:column;gap:2px}.toggle-description{font-size:9px;color:#999;font-weight:400;font-style:italic;-webkit-user-select:none;user-select:none}.toggle-label,.setting-label{font-size:11px;color:#666;font-weight:600;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.5px}.font-family-options,.font-size-options,.margin-options,.color-options,.paper-options{display:flex;gap:6px;flex-wrap:nowrap}.custom-color-input{position:absolute;top:100%;left:0;margin-top:8px;background:#fff;padding:8px;border-radius:6px;box-shadow:0 4px 12px #00000026;display:flex;gap:6px;z-index:1002}.custom-color-input input{width:100px;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-family:Courier Prime,monospace;font-size:12px}.custom-color-input button{padding:6px 12px;background:#ff6b35;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600}.custom-color-input button:hover{background:#ff5520}.font-family-preview,.font-size-preview,.margin-preview{cursor:pointer;padding:2px;border:2px solid transparent;border-radius:50%;transition:all .2s ease}.font-family-preview:hover,.font-size-preview:hover,.margin-preview:hover{border-color:#ff6b354d;transform:scale(1.05)}.font-family-preview.active,.font-size-preview.active,.margin-preview.active{border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b351a}.font-family-circle,.font-size-circle,.margin-circle{width:32px;height:32px;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#2a2a2a;box-shadow:0 1px 3px #0000001a}.font-family-circle{font-size:14px}.color-preview,.text-color-preview,.cursor-color-preview{cursor:pointer;padding:2px;border:2px solid transparent;border-radius:50%;transition:all .2s ease;position:relative}.color-preview:hover,.text-color-preview:hover,.cursor-color-preview:hover{border-color:#ff6b354d;transform:scale(1.05)}.color-preview.active,.text-color-preview.active,.cursor-color-preview.active{border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b351a}.color-circle{width:28px;height:28px;border-radius:50%;box-shadow:0 2px 4px #00000026,inset 0 0 0 1px #fff3;display:flex;align-items:center;justify-content:center}.custom-color-circle{font-size:18px;font-weight:300;color:#fff;background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}.custom-color-btn.active .custom-color-circle{color:#fff}.instructions-panel{font-size:10px;color:#999;text-align:center;padding:8px 20px;background:#00000005;border-top:1px solid rgba(0,0,0,.05);line-height:1.5}.screen-size-info{font-size:9px;color:#666;margin-bottom:4px;font-weight:600}#screenSize{color:#ff6b35;font-family:Courier Prime,monospace}.export-buttons{display:flex;gap:6px;flex-direction:row}.export-btn{padding:6px 12px;font-size:11px;border-radius:4px;border:1px solid #FF6B35;background:#fff;color:#ff6b35;cursor:pointer;font-family:Courier Prime,Courier New,monospace;font-weight:600;outline:none;transition:all .2s}.export-btn:hover{background:#ff6b35;color:#fff}.export-btn:active{transform:scale(.95)}.toggle-switch{position:relative;display:inline-block;width:44px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:22px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#ff6b35}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-slider:hover{box-shadow:0 0 4px #0003}.paper-container.returning{transition:transform .25s cubic-bezier(.68,-.55,.265,1.55)}.ibm-logo{position:fixed;bottom:-2%;left:11.5%;z-index:100;pointer-events:none;transition:opacity .3s ease}.ibm-logo.hidden{opacity:0;pointer-events:none}.ibm-logo img{width:75vw;height:auto;display:block;max-width:100%}.paper-preview{cursor:pointer;padding:2px;border:2px solid transparent;border-radius:50%;transition:all .2s ease}.paper-preview:hover{border-color:#ff6b354d;transform:scale(1.05)}.paper-preview.active{border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b351a}.paper-preview-circle{width:32px;height:32px;border-radius:50%;background-color:#fefefe;box-shadow:0 2px 4px #0000001a,inset 0 0 20px #00000005;background-size:cover;background-position:center;background-repeat:no-repeat}.paper-preview-circle.default-paper{background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.08) 3px,rgba(0,0,0,.08) 4px)}@media (max-width: 1024px){.paper{width:90vw;max-width:800px}.paper-container{left:calc(50% - var(--margin) * .9)}.ibm-logo img{width:100vw}}@media (max-width: 768px){.paper{width:95vw;max-width:600px}.settings-menu{max-width:98vw;min-width:unset}.settings-row{gap:15px;padding:10px 15px}.cursor{top:calc(50% + 180px + var(--cursor-offset))}.paper-container{top:calc(50% + 100px - 11px - var(--margin) + 83px);left:calc(50% - var(--margin) * 1.01)}.keyboard-key{width:75px;height:68px;left:520px}.enter-shape:before{font-size:10px;top:5px;left:8px}.margin-warning{margin-top:-34px}}@media (max-width: 480px){.paper{width:100vw;max-width:100%}.settings-row{gap:10px;padding:8px 12px}.cursor{top:calc(50% + 150px + var(--cursor-offset))}.paper-container{top:calc(50% + 80px - 11px - var(--margin) + 72px)}.margin-warning{left:calc(50% + 45vw)}.keyboard-key{width:60px;height:54px;left:350px}.enter-shape:before{font-size:8px;top:4px;left:6px}.margin-warning{margin-top:-27px}}
