*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;font-family:Palatino,serif;font-size:16px;line-height:1.5;overflow:auto}body{background-color:var(--background-color, #f7f4ef);color:var(--text-color, black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:.5em 0}p{margin-bottom:1em}:focus{outline:2px solid var(--button1-color, #ef9f00);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#0000004d}@media (max-width: 768px){html{font-size:14px}}html,body{height:100%}body.noscroll{overflow:hidden}.book-container{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;height:100vh;padding:8vh 0;transform:scale(1.02);transform-origin:top center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;position:relative;z-index:1000}.book-container.bm-positive{--page-color: #f0ebe3;--text-color: var(--bm-text);--button1-color: color-mix(in srgb, var(--bm-accent-pos) 40%, #1a1f29);--button1-text-color: #061311;--button2-color: color-mix(in srgb, var(--bm-accent-pos) 25%, #0e131b)}.book-container .book:after{content:"";position:absolute;top:-2%;right:-2%;bottom:-2%;left:-2%;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 2px,transparent 3px),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 120 120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="2" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="120" height="120" filter="url(%23n)" opacity="0.08"/></svg>');background-size:auto,180px 180px;mix-blend-mode:overlay;border-radius:16px}.book{position:relative;transform:translate(50%);width:60vh;height:80vh;aspect-ratio:3 / 4;margin:0 auto;perspective:2000px;display:flex;justify-content:center;transform-style:preserve-3d;background:linear-gradient(165deg,var(--bm-bg-alt),var(--bm-bg));border-radius:16px;box-shadow:0 10px 30px #00000059,inset 0 0 0 1px var(--bm-paper-edge);opacity:0;animation:book-fade-in .42s ease-out forwards;z-index:1}.page{position:absolute;width:100%;height:100%;display:flex;transform-style:preserve-3d;transition:opacity .5s ease}.page.visible{opacity:1}.cover-front{flex:1;width:100%;height:100%;overflow:hidden;border-radius:0 15px 15px 0}.cover-image{width:100%;height:100%;object-fit:cover;display:block}.content-container{width:100%;height:100%;padding:30px;box-sizing:border-box;display:flex;flex-direction:column;font-size:.7rem;font-family:Courier Prime,Courier,monospace;color:#3a3a4e}.input-container{margin-top:20px;width:100%}.image-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.page-image{width:100%;height:100%;object-fit:stretch;border:2px solid black;border-radius:4px;display:flex}.empty-image{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#0000000d;color:#777;font-style:italic}.navigation{display:flex;justify-content:center;align-items:center;margin-top:20px;width:100%}.navigation-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f3eadfeb;color:#3a3a4e;border:1px solid rgba(0,0,0,.18);border-radius:999px;font-size:1.1rem;font-family:Courier Prime,Courier,monospace;font-weight:700;cursor:pointer;margin:0 20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 12px #0000002e;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s ease}.navigation-button:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #0000003d}.navigation-button:active:not(:disabled){transform:translateY(0) scale(.99);box-shadow:0 4px 10px #0000002e}.navigation-button:disabled{background:#f3eadf8c;color:#3a3a4e8c;cursor:not-allowed;box-shadow:none}.prev-button:before{content:"❮";font-size:1.1rem;line-height:1;position:relative;top:1px}.next-button:before{content:"❯";font-size:1.1rem;line-height:1;position:relative;top:1px}.page-indicator{margin:0 30px;font-size:.9rem;font-weight:600;font-family:Courier Prime,Courier,monospace;color:#3a3a4e;opacity:.7}.progress{position:fixed;top:26px;left:50%;transform:translate(-50%);z-index:1100}.progress__fill{display:none}.progress__text{font-size:.95rem;font-family:Courier Prime,Courier,monospace;color:#3a3a4e;font-weight:700;letter-spacing:.5px;white-space:nowrap}@media (max-width: 768px){.book-container{transform:scale(.6);transform-origin:top center;padding:6vh 0}.book{height:60vh;transform:none;margin-left:auto;margin-right:auto}.content-container,.image-container{padding:15px}.page-content{font-size:1rem}.navigation-button{width:40px;height:40px;font-size:1.2rem}.page-indicator{font-size:1rem}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:4000;opacity:0;animation:modal-backdrop-in .2s ease-out forwards}.modal-card{width:min(520px,92vw);background:#f3eadff2;color:#111;border:1px solid rgba(200,200,220,.3);border-radius:16px;padding:24px 28px;font-family:Courier Prime,Courier,monospace;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 32px #0000002e,inset 0 0 20px #ffffff80;opacity:0;animation:modal-pop .24s ease forwards}.modal-card h3{margin:0 0 8px;font-size:1.1rem;color:#111;font-weight:700}.modal-card p{margin:0 0 16px;font-size:.9rem;color:#111}.modal-card .modal-qr-label{font-size:1.1rem;font-weight:700;margin-bottom:12px}.modal-qr-container{display:flex;justify-content:center;margin-bottom:16px;padding:12px;background:#fff;border-radius:8px}.modal-card .modal-qr-question{font-size:1.1rem;font-weight:400;text-align:center;margin-bottom:16px}.story-title-input{width:100%;box-sizing:border-box;padding:10px 14px;font-size:.9rem;font-family:Courier Prime,Courier,monospace;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#fff9;color:#3a3a4e;outline:none;transition:box-shadow .16s ease,border-color .16s ease;margin-bottom:12px}.story-title-input::placeholder{color:#00000073}.story-title-input:focus{border-color:#8a6a3a80;box-shadow:0 0 0 3px #8a6a3a1a}@media (max-width: 480px){.book-container{transform:scale(.82)}.story-title-input{padding:10px 12px;font-size:.95rem}}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.text{width:100%;height:100px;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:10px;font-size:.85rem;font-family:Courier Prime,Courier,monospace;color:#3a3a4e;background:#fff9;resize:vertical}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px 18px;font-weight:700;font-family:Courier Prime,Courier,monospace;text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem;cursor:pointer;transition:transform .15s,box-shadow .15s}.btn.primary{background:linear-gradient(180deg,#fbf7f3,#f0ebe3);color:#111;box-shadow:0 4px 12px #00000026}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0003}.btn.ghost{background:transparent;color:#111;border-color:#0000001f}.btn:focus,.btn:focus-visible{outline:none}.page-back-image{opacity:0;transition:opacity .38s ease}.page-back-image.is-loaded{opacity:1}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0}to{opacity:1}}@keyframes book-fade-in{0%{opacity:0}to{opacity:1}}.music-toggle{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(200,200,220,.2);background:#1c1c1e8c;color:#f0ebe3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000038;cursor:pointer;outline:none;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s ease}.music-toggle:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 22px #00000052}.music-toggle:active{transform:translateY(0) scale(.99)}.music-toggle:focus,.music-toggle:focus-visible{outline:none}.music-toggle__icon{position:relative;display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1}.music-toggle__icon:after{content:"";position:absolute;width:130%;height:2px;background:#f0ebe3;border-radius:2px;transform:rotate(-45deg);transition:opacity .15s ease}.music-toggle--on .music-toggle__icon:after{opacity:0}.music-controls{position:fixed;top:18px;right:130px;z-index:1100;display:flex;align-items:center;gap:10px}.music-controls .music-toggle{position:static}.music-volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:90px;height:4px;border-radius:2px;background:#f0ebe340;outline:none;cursor:pointer}.music-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#f0ebe3;cursor:pointer;box-shadow:0 1px 4px #0006}.music-volume-slider::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:#f0ebe3;cursor:pointer}.experimental-toggle{position:fixed;top:18px;right:18px;z-index:1100;padding:12px 18px;min-width:56px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-family:Courier Prime,Courier,monospace;border-radius:999px;border:1px solid rgba(200,200,220,.2);background:#1c1c1e8c;color:#f0ebe3;font-weight:700;letter-spacing:.5px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000038;cursor:pointer;outline:none;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s ease}.experimental-toggle:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 22px #00000052}.experimental-toggle:active{transform:translateY(0) scale(.99)}.experimental-toggle:focus,.experimental-toggle:focus-visible{outline:none}.experimental-toggle--active{background:#1c1c1ed9;color:#f0ebe3;border-color:#c8c8dc4d}.input-box{position:relative;width:100%;font-family:inherit;transition:opacity 4s ease}.input-wrapper{display:flex;border-radius:6px;overflow:hidden;border:1px solid rgba(0,0,0,.1);background-color:#faf7f2}.input-textarea{flex:1;padding:12px;min-height:100px;font-family:inherit;font-size:1rem;color:#111;border:none;resize:none;outline:none;background-color:transparent}.input-textarea::placeholder{color:#887870}.submit-button{display:flex;align-items:center;justify-content:center;width:40px;background-color:#d8d3cb;border:none;color:#666;cursor:not-allowed;transition:all .2s ease}.submit-button.ready{background-color:#5a5248;color:#f3ead8;cursor:pointer}.submit-button.ready:hover{background-color:#3d3830}.submit-button .arrow{font-size:1.5rem;transition:transform .2s ease}.input-progress-container{position:relative;height:2px;width:100%;margin-top:4px;background-color:#ddd8d0;border-radius:2px}.input-progress-bar{position:absolute;top:0;left:0;height:100%;background-color:#8a7a6a;border-radius:2px;transition:width .3s ease,opacity .3s ease}.input-counter{position:absolute;right:0;top:6px;font-size:.75rem;font-family:Courier Prime,Courier,monospace;color:#887870}.input-box.disabled{opacity:0;pointer-events:none;transition:opacity 2s ease}@keyframes flash{0%{box-shadow:0 0 #4299e100}50%{box-shadow:0 0 0 4px #4299e180}to{box-shadow:0 0 #4299e100}}.input-box.flash .input-wrapper{animation:flash .5s ease-out}@media (max-width: 600px){.input-textarea{padding:12px;font-size:.9rem}.submit-button{width:40px}.input-counter{font-size:.7rem}}.page-container{perspective:1000px}.flip-animation{transform:rotateY(-180deg);transition:transform .9s ease;transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.rotate-y-180{transform:rotateY(-180deg)}.page{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:left center;transition:transform .9s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;pointer-events:none}.page.flipped{transform:rotateY(-180deg);z-index:0}.page.flipping-forward{transform:rotateY(-180deg);transition:transform .9s cubic-bezier(.4,0,.2,1);z-index:2000;pointer-events:none}.page.flipping-backward{transform:rotateY(0);transition:transform .9s cubic-bezier(.4,0,.2,1);z-index:2000;pointer-events:none}.page.active{pointer-events:auto;box-shadow:0 5px 25px #00000026;z-index:1000}.page.active:hover{box-shadow:0 8px 35px #0000001a;transition:box-shadow .3s ease}.page-front,.page-back{position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background-color:var(--page-color, #f0ebe3);display:flex;flex-direction:column}.page-front{padding:30px;overflow:auto}.cover-front{padding:0}.page-front{border-radius:0 10px 10px 0;box-shadow:2px 0 5px #0000001a;transform:rotateY(0);color:#111}.page-back{border-radius:10px 0 0 10px;box-shadow:-2px 0 5px #0000001a;transform:rotateY(-180deg);padding:1vh}.page-content{flex:1;font-size:1rem;font-family:Courier Prime,Courier,monospace;line-height:1.6;overflow:auto;text-align:left;padding-bottom:0rem;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}.page-empty{color:#887870;font-style:italic;font-family:Courier Prime,Courier,monospace;text-align:center;margin-top:40%}.page-back-content{font-style:italic;width:100%;height:100%;position:relative}.cover-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border:none;border-radius:0}.page-back-image-container{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0}.page-back-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:stretch;border:2px solid black;border-radius:4px;box-shadow:none}.page-back-image-prev{z-index:1;opacity:1}.page-back-image-current{z-index:2;opacity:0;transition:opacity .6s ease-in-out}.page-back-image-current.is-loaded{opacity:1}.page-back-image-appearance{opacity:0;transform:scale(.95);transition:opacity .5s ease,transform .5s ease}.page-number{position:absolute;bottom:10px;right:20px;font-size:.9rem;font-family:Courier Prime,Courier,monospace;color:#666;z-index:10}.back-number{right:auto;left:20px;color:#fffc;text-shadow:0 0 3px rgba(0,0,0,.7)}@media (max-width: 768px){.page-front,.page-back{padding:20px}.page-content,.page-back-content{font-size:1rem}.page-back-image{max-height:30vh}}.word{opacity:0;transition:opacity .8s ease-in}.word.visible{opacity:1}.object-prompt{position:fixed;left:18px;top:0;bottom:0;width:280px;z-index:2100;padding:0;background:#d8d3cb;border:1px solid var(--bm-border, rgba(0, 0, 0, .1));border-radius:0;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column}.object-list{overflow-y:scroll;flex:1;padding:0 16px;scrollbar-width:none}.object-instruction{margin-bottom:14px;padding:10px;background:#ef9f001a;border-radius:8px;border:1px solid rgba(239,159,0,.2)}.object-instruction p{margin:0;font-size:1.3rem;color:var(--bm-accent-pos, #a36d00);font-weight:600;line-height:1.4}.object-card{background:#f0ebe3;border:none;outline:none;border-radius:10px;padding:12px;cursor:pointer;transition:all .18s ease;position:relative}.object-card+.object-card{margin-top:12px}.object-card:hover{transform:translateY(-2px)}.object-card.selected{opacity:.75}.object-card.selected .object-image-container{position:relative}.object-card.selected .object-image-container:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;background:#00000059;border-radius:8px}.object-image-container{width:100%;border-radius:8px;overflow:hidden;background:#0000000d;margin-bottom:10px}.object-image{width:100%;height:auto;display:block}.object-description{margin-bottom:8px}.object-description h3{font-family:Courier Prime,Courier,monospace;margin:0;text-align:center}.object-description p{margin:0;font-size:.9rem;color:var(--bm-text, #333333);line-height:1.4}.object-hint{text-align:center;font-size:.85rem;font-family:Courier Prime,Courier,monospace;color:var(--bm-muted, #666666);font-style:italic;padding:6px;opacity:.8}.object-selected-badge{display:none}@media (max-width: 1024px){.object-prompt{left:10px;width:240px}}@media (max-width: 768px){.object-prompt{position:relative;left:auto;top:auto;transform:none;width:100%;margin:16px auto;max-width:400px}}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#00000040;animation:onb-fade-in .3s ease-out}@keyframes onb-fade-in{0%{opacity:0}to{opacity:1}}.onboarding-popup{background:#f3eadfd9;color:#111;border:1px solid rgba(200,200,220,.3);border-radius:16px;padding:2.5rem 2.5rem 2rem;max-width:500px;width:90vw;text-align:left;font-family:Courier Prime,Courier,monospace;-webkit-backdrop-filter:blur(8px) saturate(100%);backdrop-filter:blur(8px) saturate(100%);box-shadow:0 8px 32px #0000002e,inset 0 0 20px #ffffff80;animation:onb-popup-in .4s cubic-bezier(.16,1,.3,1)}@keyframes onb-popup-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.onboarding-popup__title{font-family:Courier Prime,Courier,monospace;font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:#111}.onboarding-popup__body{font-size:1.05rem;line-height:1.65;margin:0 0 1.8rem;color:#111;white-space:pre-line}.onboarding-popup__btn{display:inline-block;padding:.7rem 2.5rem;font-size:1rem;font-weight:700;font-family:Courier Prime,Courier,monospace;text-transform:uppercase;letter-spacing:2px;color:#111;background:linear-gradient(180deg,#fbf7f3,#f0ebe3);border:1px solid rgba(0,0,0,.08);border-radius:12px;cursor:pointer;box-shadow:0 8px 22px #0000002e,0 2px 8px #b46e460f inset;transition:background .2s,transform .15s,box-shadow .15s}.onboarding-popup__btn:hover{transform:translateY(-1px) scale(1.005);box-shadow:0 8px 18px #00000024}.onboarding-popup__btn:active{transform:translateY(1px) scale(.996)}.onboarding-popup__btn:focus,.onboarding-popup__btn:focus-visible{outline:none}.onboarding-backdrop--tutorial{background:transparent;pointer-events:none}.onboarding-backdrop--tutorial:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;pointer-events:auto;z-index:-1}.onboarding-spotlight{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px #0000004d;z-index:9001;pointer-events:none;transition:top .35s ease,left .35s ease,width .35s ease,height .35s ease;background:transparent}.onboarding-tooltip{position:fixed;z-index:9002;background:#1c1c1e;color:#f0ebe3;border:1px solid rgba(200,200,220,.2);border-radius:12px;padding:1.2rem 1.5rem 1rem;max-width:400px;width:max-content;font-family:Courier Prime,Courier,monospace;box-shadow:0 12px 40px #00000073;pointer-events:auto;animation:onb-tooltip-in .3s cubic-bezier(.16,1,.3,1)}@keyframes onb-tooltip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.onboarding-tooltip__text{margin:0 0 1rem;font-size:.95rem;line-height:1.55;color:#d4cdc3}.onboarding-tooltip__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.onboarding-tooltip__counter{font-size:.8rem;color:#888;white-space:nowrap}.onboarding-tooltip__actions{display:flex;align-items:center;gap:.6rem}.onboarding-tooltip__skip{background:none;border:none;color:#999;font-size:.85rem;font-family:Courier Prime,Courier,monospace;cursor:pointer;padding:.35rem .6rem;border-radius:6px;outline:none;transition:color .2s,background .2s}.onboarding-tooltip__skip:hover{color:#ccc;background:#ffffff0f}.onboarding-tooltip__skip:focus,.onboarding-tooltip__skip:focus-visible{outline:none}.onboarding-tooltip__next{padding:.45rem 1.2rem;font-size:.9rem;font-weight:700;font-family:Courier Prime,Courier,monospace;text-transform:uppercase;letter-spacing:1px;color:#3a3a4e;background:linear-gradient(180deg,#e8ddd0,#ddd0c0);border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #0000002e;transition:transform .15s,box-shadow .15s}.onboarding-tooltip__next:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000038}.onboarding-tooltip__next:active{transform:translateY(0)}.onboarding-tooltip__next:focus,.onboarding-tooltip__next:focus-visible{outline:none}.login-root{position:relative;min-height:100vh;overflow:hidden;background:transparent;color:#2c2c3e}.login-brand{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:2000;min-height:56px;display:inline-flex;align-items:center;font-family:Courier Prime,Courier,monospace;font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#1c1c1ebf}.login-overlay{position:relative;z-index:1;display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{width:min(1100px,92vw);background:#f3eadff2;border:1px solid rgba(200,200,220,.3);border-radius:16px;font-family:Courier Prime,Courier,monospace;padding:28px 28px 22px;-webkit-backdrop-filter:blur(8px) saturate(100%);backdrop-filter:blur(8px) saturate(100%);box-shadow:0 8px 32px #00000014,inset 0 0 20px #ffffff80;position:relative}.lang-inline{position:absolute;top:16px;right:20px;display:flex;gap:0;border:1px solid rgba(0,0,0,.18);border-radius:6px;overflow:hidden;font-family:Courier Prime,Courier,monospace}.lang-inline button,.lang-fab button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:7px 13px;font-family:inherit;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#888;background:transparent;cursor:pointer;outline:none;transition:background .15s,color .15s}.lang-inline button.active,.lang-fab button.active{background:#1e1e1e99;color:#f3ead8}.lang-inline button:not(.active):hover,.lang-fab button:not(.active):hover{color:#333}.login-card h1{font-size:1.1rem;line-height:1.5;color:#111;font-weight:700}.lead{font-size:1.1rem;line-height:1.5;color:#111}.context-wrapper{position:relative}.context-tabs{position:absolute;top:0;left:20px;transform:translateY(-100%);display:flex;gap:3px;z-index:2}.context-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#f3eadf59;color:#11111180;font-family:Courier Prime,Courier,monospace;font-size:.75rem;font-weight:700;width:52px;height:22px;cursor:pointer;border-radius:4px 4px 0 0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;outline:none}.context-tab.active{background:#f3eadff2;color:#111}.context-tab:not(.active):hover{background:#f3eadf8c;color:#111111b3}.context-block{margin:0 0 16px;padding:14px 18px;border-left:3px solid rgba(138,106,58,.5);background:#ffffff40;border-radius:0 4px 4px 0;font-size:1.1rem;line-height:1.5;color:#111}.instructions{font-size:1.1rem;line-height:1.5;color:#111}.hint{opacity:.7;font-style:italic;color:#5a5a6e}.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}.cta-row--da{margin-top:10px}.side-note{font-size:.95rem;color:#4a4a5e;opacity:.75;margin-top:12px;font-weight:600}.btn-primary,.btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(80,80,100,.16);padding:15px 27px;border-radius:12px;cursor:pointer;box-shadow:0 5px 14px #0000001f,inset 0 1px #ffffff5c;transition:transform .14s cubic-bezier(.2,.9,.2,1),box-shadow .14s ease,filter .14s ease;font-weight:700;letter-spacing:.2px;will-change:transform,box-shadow;font-family:Courier Prime,Courier,monospace;text-transform:uppercase;letter-spacing:2px}.btn-primary:before{content:"";position:absolute;left:-40%;top:-30%;width:180%;height:120%;background:linear-gradient(90deg,#ffffff1f,#ffffff05,#ffffff14);transform:rotate(-20deg) translateY(6px);opacity:.08;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 10px 24px #00000029,0 3px 10px #0000000d inset;border-color:#6464783d}.btn-primary:hover{transform:translateY(-1px) scale(1.005);box-shadow:0 8px 18px #00000024,0 3px 10px #0000000a inset}.btn-primary:hover:before{transform:rotate(-20deg) translateY(0);opacity:.12}.btn-primary{background:linear-gradient(180deg,#fbf7f3,#f0ebe3);color:#3a3a4e;text-shadow:0 1px 0 rgba(0,0,0,.14);border-color:#00000014;box-shadow:0 8px 22px #0000002e,0 2px 8px #b46e460f inset;transform:translateY(0) scale(1)}.btn-primary:before{content:"";position:absolute;left:-40%;top:-30%;width:180%;height:120%;background:linear-gradient(90deg,#ffffff2e,#ffffff0a,#ffffff1f);transform:rotate(-20deg) translateY(6px);opacity:.12;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.btn-secondary{background:linear-gradient(180deg,#f2f2f4eb,#e8e8ebe6);color:#2a2a36;border-color:#5a5a6e2e;box-shadow:0 5px 14px #00000014,inset 0 1px #ffffff80}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 12px 30px #0003,0 4px 12px #0000000f inset;border-color:#64647847}.btn-primary:hover:before{transform:rotate(-20deg) translateY(0);opacity:.22}.btn-primary:active,.btn-secondary:active{transform:translateY(1px) scale(.996);box-shadow:0 6px 12px #00000029,inset 0 2px 6px #0000000d}.btn-primary:focus,.btn-primary:focus-visible,.btn-secondary:focus,.btn-secondary:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.btn-primary:before,.btn-primary,.btn-secondary{transition:none}.btn-primary:hover,.btn-secondary:hover{transform:none;box-shadow:0 8px 20px #0000001f}}.cc-license{position:absolute;top:.2em;left:1em;font-size:.95rem;font-family:Courier Prime,Courier,monospace;color:var(--bm-muted, #9aa2b1);margin-top:12px;text-align:center;padding-right:4em;vertical-align:middle;opacity:.85}.cc-license img{vertical-align:middle;height:2.8em;width:auto;opacity:.65}.login-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:login-modal-fade-in .24s ease-out}.login-modal-card{position:relative;max-width:560px;width:100%;background:linear-gradient(135deg,#fffffff2,#f5f2eeeb);border:1px solid rgba(200,200,220,.4);border-radius:16px;padding:32px;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff80 inset;animation:login-modal-pop .28s cubic-bezier(.2,.9,.3,1.1)}.login-modal-card h3{margin:0 0 16px;font-size:1.75rem;color:#2c2c3e;font-weight:700}.login-modal-card p{margin:0 0 14px;font-size:1rem;line-height:1.6;color:#4a4a5e}.login-modal-card p:last-of-type{margin-bottom:24px}.login-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#00000014;color:#5a5a6e;font-size:1.5rem;line-height:1;border-radius:6px;cursor:pointer;transition:all .16s ease}.login-modal-close:hover{background:#00000026;color:#2c2c3e;transform:scale(1.05)}.login-modal-actions{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}.login-modal-contact{font-size:.9rem;color:#5a5a6e;font-style:italic;flex-shrink:0}.login-modal-buttons{display:flex;gap:12px;flex-wrap:wrap}.login-modal-btn{padding:12px 24px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .18s ease;text-decoration:none;display:inline-block;text-align:center;border:2px solid transparent}.login-modal-btn.primary{background:linear-gradient(135deg,#5cff9ad9,#4cd786bf);border-color:#4cd786cc;color:#1a1a1a;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 4px 16px #4cd78666}.login-modal-btn.primary:hover{background:linear-gradient(135deg,#5cff9af2,#4cd786d9);border-color:#4cd786;transform:translateY(-3px) scale(1.02);box-shadow:0 8px 28px #4cd78680}.login-modal-btn.primary:active{transform:translateY(-1px) scale(1.01);box-shadow:0 4px 16px #4cd78666}.login-modal-btn.secondary{background:transparent;border-color:#6464784d;color:#5a5a6e}.login-modal-btn.secondary:hover{border-color:#64647880;color:#2c2c3e;background:#00000008}@keyframes login-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes login-modal-pop{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}:root{--dl-bg: #120e0b;--dl-amber: #c8973a;--dl-amber-dim: rgba(200, 151, 58, .18);--dl-amber-glow: rgba(200, 151, 58, .08);--dl-fg: #ebe7de;--dl-muted: #a89880;--dl-panel: rgba(30, 20, 12, .82);--dl-panel-bright: rgba(38, 26, 16, .92);--dl-card-border: rgba(200, 151, 58, .13);--dl-grid: rgba(200, 151, 58, .04)}.dl-root{position:relative;min-height:100vh;background:radial-gradient(1200px 700px at 50% -5%,#2a1e12 0%,var(--dl-bg) 55%,#080604 100%);background-color:var(--dl-bg);color:var(--dl-fg);overflow-x:hidden;font-family:Courier Prime,Courier,monospace}body:has(.dl-root){background-color:var(--dl-bg)}.dl-bg:before,.dl-bg:after{content:"";position:fixed;top:-10vh;right:-10vw;bottom:-10vh;left:-10vw;pointer-events:none;z-index:0}.dl-bg:before{background-image:linear-gradient(var(--dl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--dl-grid) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at 50% 25%,black 30%,transparent 75%);mask-image:radial-gradient(circle at 50% 25%,black 30%,transparent 75%)}.dl-bg:after{background:radial-gradient(700px 400px at 20% 15%,rgba(180,120,40,.14),transparent 60%),radial-gradient(500px 300px at 80% 70%,rgba(140,80,20,.1),transparent 60%);filter:blur(18px)}.dl-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 55%,rgba(0,0,0,.7));z-index:1}.dl-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:40px clamp(16px,4vw,48px) 20px;background:linear-gradient(180deg,#c8973a0a,#c8973a00);backdrop-filter:saturate(1.1) blur(6px);-webkit-backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid rgba(200,151,58,.15);box-shadow:0 12px 30px #0006}.dl-title{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:baseline;padding-left:160px}.dl-crest{grid-row:1 / span 2;grid-column:1;font-family:Courier Prime,Courier,monospace;font-size:clamp(28px,5vw,44px);color:var(--dl-amber);text-shadow:0 0 18px rgba(200,151,58,.4)}.dl-title h1{grid-column:2;grid-row:1;font-family:Courier Prime,Courier,monospace;margin:0;display:flex;flex-direction:column;gap:4px}.dl-title-main{font-size:clamp(28px,5vw,48px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c8b89a;text-shadow:0 0 32px rgba(200,151,58,.22),0 2px 4px rgba(0,0,0,.5);line-height:1}.dl-title-rule{display:block;height:1px;width:100%;background:linear-gradient(90deg,#c8973a99,#c8973a1a);margin:2px 0}.dl-title-sub{font-size:clamp(12px,1.85vw,17.5px);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--dl-muted);line-height:1;text-align:left}.dl-sub{grid-column:2;grid-row:2;color:var(--dl-muted);font-size:.9rem;font-family:Courier Prime,Courier,monospace}.dl-actions{display:flex;align-items:center;gap:12px}.dl-filters{display:flex;align-items:center;gap:12px;padding:6px 10px;border:1px solid rgba(200,151,58,.15);border-radius:10px;background:#140d0899;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dl-day-filter{display:flex;align-items:center}.dl-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#140d08b3;color:#b8aa96;border:1px solid rgba(200,151,58,.2);padding:8px 12px;border-radius:8px;font-family:Courier Prime,Courier,monospace;font-size:.9rem;cursor:pointer;outline:none}.dl-select:focus{border-color:#c8973a66}.dl-search{position:relative}.dl-search input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#140d08b3;border:1px solid rgba(200,151,58,.15);color:#b8aa96;padding:10px 14px;border-radius:10px;width:min(44vw,380px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);outline:none;font-family:Courier Prime,Courier,monospace;font-size:.9rem;transition:border-color .15s ease}.dl-search input::placeholder{color:var(--dl-muted);opacity:.6}.dl-search input:focus{border-color:#c8973a59}.dl-search-glow{position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px;pointer-events:none;border-radius:16px;background:radial-gradient(180px 100px at 20% 50%,rgba(200,151,58,.07),transparent 60%);filter:blur(8px)}.dl-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(12px,2vw,20px);padding:24px clamp(16px,4vw,48px) 48px;background:radial-gradient(900px 400px at 15% 10%,rgba(160,100,30,.1),transparent 60%),radial-gradient(700px 350px at 85% 80%,rgba(120,70,20,.08),transparent 65%),repeating-linear-gradient(90deg,#1e140ce6,#1e140ce6 28px,#22170ee6 28px,#22170ee6 56px);border-top:1px solid rgba(200,151,58,.12);box-shadow:inset 0 8px 32px #0006}.dl-grid:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(180deg,#c8973a1f,#c8973a00);pointer-events:none}.dl-empty{color:var(--dl-muted);grid-column:1 / -1;text-align:center;padding:60px 0;font-family:Courier Prime,Courier,monospace;font-style:italic}.dl-card{--accent: #c8973a;position:relative;border-radius:10px;overflow:hidden;background:var(--dl-panel-bright);border:1px solid var(--dl-card-border);box-shadow:inset 0 0 0 1px #ffffff08,0 8px 24px #00000080;transition:transform .15s ease,box-shadow .2s ease}.dl-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(130deg,#ffffff0f,#fff0 35%,#c8973a0a 65%,#fff0 85%);mix-blend-mode:screen;pointer-events:none}.dl-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #c8973a2e,0 14px 36px #0000008c,0 0 20px #c8973a14}.dl-card-frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dl-spine{position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(90deg,rgba(200,151,58,.12),transparent);box-shadow:4px 0 10px #00000040 inset}.dl-plate{position:absolute;top:12px;left:12px;right:12px;bottom:12px;border-radius:8px;border:1px solid rgba(200,151,58,.07);background:linear-gradient(180deg,#c8973a0a,#c8973a00)}.dl-ambient{position:absolute;top:-30%;right:-20%;bottom:-30%;left:-20%;background:radial-gradient(500px 240px at 10% 10%,rgba(200,151,58,.22) 0%,transparent 60%),radial-gradient(700px 360px at 120% 40%,rgba(180,120,40,.14) 0%,transparent 70%);filter:blur(38px) saturate(1.1);opacity:.35}.dl-card:hover .dl-ambient{opacity:.5;filter:blur(32px) saturate(1.2)}.dl-thumb{position:relative;width:100%;aspect-ratio:4 / 3;background:#140d0899;overflow:hidden;border-bottom:1px solid rgba(200,151,58,.1)}.dl-thumb img{width:100%;height:100%;object-fit:cover;display:block}.dl-thumb.ph{background:radial-gradient(200px 120px at 30% 30%,rgba(200,151,58,.14) 0%,transparent 60%),radial-gradient(320px 200px at 85% 65%,rgba(160,100,30,.1) 0%,transparent 70%),linear-gradient(180deg,#ffffff05,#fff0)}.dl-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,#ffffff1a,#fff0 30%,#c8973a0d 65%,#fff0 85%);mix-blend-mode:screen;pointer-events:none}.dl-card-body{position:relative;padding:14px 16px 52px}.dl-card-title{font-family:Courier Prime,Courier,monospace;font-size:1.1rem;font-weight:700;margin:0 0 6px;color:#d8ccba;letter-spacing:.02em}.dl-stamp{color:var(--dl-muted);font-size:.8rem;font-family:Courier Prime,Courier,monospace}.dl-card-cta{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.3))}.dl-delete{background:#50141273;color:#d8b5ad;border:1px solid rgba(190,98,84,.35);padding:5px 10px;border-radius:6px;cursor:pointer;font-family:Courier Prime,Courier,monospace;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:background .15s ease,border-color .15s ease,color .15s ease}.dl-delete:hover{background:#8026208c;border-color:#d36d5e7a;color:#f0d3cd}.dl-delete:disabled{opacity:.55;cursor:default}.dl-delete:focus,.dl-delete:focus-visible{outline:none}.dl-resume{background:#1e140c99;color:#c4b49e;border:1px solid rgba(200,151,58,.2);padding:7px 16px;border-radius:6px;cursor:pointer;font-family:Courier Prime,Courier,monospace;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .15s ease,border-color .15s ease}.dl-resume:hover{background:#c8973a1f;border-color:#c8973a59}.dl-resume:disabled{opacity:.35;cursor:default}.dl-resume:focus,.dl-resume:focus-visible{outline:none}.dl-delete-prompt{display:flex;align-items:center;gap:6px;width:100%}.dl-delete-prompt input{flex:1;background:#50141259;border:1px solid rgba(190,98,84,.45);color:#f0d3cd;font-family:Courier Prime,Courier,monospace;font-size:.8rem;padding:5px 8px;border-radius:4px;outline:none;letter-spacing:.1em}.dl-delete-prompt input.shake{animation:dl-shake .35s ease;border-color:#dc3c28cc}.dl-delete-prompt button{background:#50141273;color:#d8b5ad;border:1px solid rgba(190,98,84,.35);padding:5px 8px;border-radius:4px;cursor:pointer;font-family:Courier Prime,Courier,monospace;font-size:.72rem;font-weight:700;text-transform:uppercase}.dl-delete-prompt button:focus{outline:none}@keyframes dl-shake{0%{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}.dl-footer{position:relative;z-index:2;padding:24px clamp(16px,4vw,48px) 60px;display:flex;align-items:center;justify-content:space-between;color:var(--dl-muted)}.dl-ornament{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(200,151,58,.3),transparent);margin-right:20px}.dl-footer-contact{display:flex;gap:24px;font-family:Courier Prime,Courier,monospace;font-size:1rem;color:#c4b49e}.dl-footer-contact a{color:inherit;text-decoration:underline;text-decoration-color:#c8973a66;transition:color .15s ease}.dl-footer-contact a:hover{color:#d9c9b2}.dl-card-qr{display:flex;flex-direction:column;cursor:default}.dl-card-qr-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:0}.dl-card-qr-inner>svg{width:100%!important;height:auto!important;max-width:100%;display:block}.dl-card-qr-label{margin:16px 0 0;font-family:Courier Prime,Courier,monospace;font-size:1.1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#d8ccba;text-align:center}.dl-root .app-back-btn{color:#b8aa96}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.dl-sentinel{height:56px}.seg-group{display:inline-flex;border:1px solid rgba(200,151,58,.15);border-radius:8px;overflow:hidden;background:#140d0880}.seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--dl-fg);border:0;padding:8px 10px;font-size:.9rem;font-family:Courier Prime,Courier,monospace;cursor:pointer}.seg-btn+.seg-btn{border-left:1px solid rgba(200,151,58,.1)}.seg-btn.active{background:#c8973a1a;color:var(--dl-amber)}.seg-btn:hover{background:#c8973a0f}.dl-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000c;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dl-modal-fade-in .24s ease-out}.dl-modal-card{position:relative;max-width:560px;width:100%;background:linear-gradient(135deg,#241a10,#1a110a);border:1px solid rgba(200,151,58,.2);border-radius:12px;padding:32px;box-shadow:0 20px 60px #000000b3,0 0 0 1px #c8973a0f inset;animation:dl-modal-pop .28s cubic-bezier(.2,.9,.3,1.1);font-family:Courier Prime,Courier,monospace}.dl-modal-card h3{margin:0 0 16px;font-size:1.6rem;color:var(--dl-fg);font-weight:700}.dl-modal-card p{margin:0 0 14px;font-size:1rem;line-height:1.6;color:var(--dl-muted)}.dl-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:1px solid rgba(200,151,58,.2);background:#c8973a0f;color:var(--dl-muted);font-size:1.4rem;line-height:1;border-radius:6px;cursor:pointer;transition:all .16s ease}.dl-modal-close:hover{background:#c8973a24;color:var(--dl-fg)}.dl-modal-actions{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}.dl-modal-btn{padding:11px 22px;font-size:.95rem;font-weight:700;font-family:Courier Prime,Courier,monospace;text-transform:uppercase;letter-spacing:.08em;border-radius:8px;cursor:pointer;transition:all .18s ease;text-decoration:none;display:inline-block;text-align:center}.dl-modal-btn.primary{background:#c8973a33;border:1px solid rgba(200,151,58,.5);color:var(--dl-amber)}.dl-modal-btn.primary:hover{background:#c8973a4d;transform:translateY(-2px);box-shadow:0 6px 20px #c8973a33}.dl-modal-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--dl-muted)}.dl-modal-btn.secondary:hover{border-color:#ffffff40;color:var(--dl-fg)}@keyframes dl-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dl-modal-pop{0%{opacity:0;transform:scale(.93) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 720px){.dl-header{flex-direction:column;align-items:stretch;gap:16px;padding:24px 16px 14px}.dl-actions{width:100%;flex-wrap:wrap;align-items:stretch;gap:10px}.dl-search,.dl-search input{width:100%}.dl-filters{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.dl-select{max-width:100%}}.bg-slide{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:opacity 2s ease-in-out;z-index:0}.lang-fab{position:fixed;right:18px;top:84px;z-index:1100;display:inline-flex;align-items:center;font-family:Courier Prime,Courier,monospace;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:#f3eadfbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 12px #0000002e;overflow:hidden}.app-container .lang-fab{top:18px;right:auto;left:150px}.app-container{width:100%;min-height:100vh;display:flex;flex-direction:column;transition:all .4s ease}.loading{display:flex;justify-content:center;align-items:center;height:100vh;width:100%;font-size:1.5rem;color:var(--text-color, black);background-color:var(--background-color, #f7f4ef)}.loading:after{content:"";width:30px;height:30px;margin-left:15px;border:3px solid rgba(0,0,0,.2);border-top-color:var(--button1-color, #ef9f00);border-radius:50%;animation:loading-spinner 1s infinite linear}@keyframes loading-spinner{to{transform:rotate(360deg)}}.login-container{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--background-color, #f7f4ef)}.login-form{background-color:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 5px 15px #0000001a;width:100%;max-width:400px;transition:transform .3s ease,box-shadow .3s ease}.login-form:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.login-form h2{text-align:center;margin-bottom:1.5rem;color:var(--button1-color, #ef9f00);font-size:1.8rem}.login-form text{text-align:center;margin-bottom:1.5rem;color:#555;font-size:1rem;display:block;margin-top:-10px}.form-group{margin-bottom:1.2rem;flex-direction:column;align-items:flex-start}.login-button{width:100%;padding:.85rem;background-color:var(--button1-color, #ef9f00);color:var(--button1-text-color, white);border:none;border-radius:4px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.login-button:hover{background-color:var(--button2-color, #9d6800)}.login-button:active{transform:scale(.98)}.book-view{flex:1;width:100%;transition:transform .5s ease;position:relative}.book-view.shifted{transform:translate(16vw)}.app-back-btn{position:fixed;top:18px;left:18px;z-index:2000;padding:12px 18px;min-height:56px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(200,200,220,.2);background:#1c1c1e8c;color:#f0ebe3;font-family:Courier Prime,Courier,monospace;font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 4px 14px #00000038;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;outline:none;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s ease}.app-back-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 22px #00000052}.app-back-btn:active{transform:translateY(0) scale(.99)}.app-library-btn{position:fixed;top:18px;right:18px;z-index:2000;padding:12px 18px;min-height:56px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(200,200,220,.2);background:#1c1c1e8c;color:#f0ebe3;font-family:Courier Prime,Courier,monospace;font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 4px 14px #00000038;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;outline:none;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s ease}.app-library-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 22px #00000052}.app-library-btn:active{transform:translateY(0) scale(.99)}@media (max-width: 768px){.book-view.shifted{transform:translate(0)}.login-form{padding:2rem;margin:0 1rem}}.sr-root{position:relative;min-height:100vh;background:radial-gradient(1200px 700px at 50% -5%,#2a1e12,#120e0b 55%,#080604);color:#ebe7de;font-family:Courier Prime,Courier,monospace;overflow-x:hidden;display:grid;grid-template-rows:auto 1fr auto}.sr-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(200,151,58,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(200,151,58,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at 50% 25%,black 30%,transparent 75%);mask-image:radial-gradient(circle at 50% 25%,black 30%,transparent 75%)}.sr-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 55%,rgba(0,0,0,.7));z-index:1}.sr-header{position:relative;z-index:2;max-width:min(760px,92vw);margin:0 auto;padding:120px clamp(16px,4vw,32px) 24px;width:100%;box-sizing:border-box}.sr-hgroup{display:flex;flex-direction:column;gap:6px}.sr-title{margin:0;font-family:Courier Prime,Courier,monospace;font-size:clamp(26px,5vw,44px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#c8b89a;text-shadow:0 0 32px rgba(200,151,58,.2),0 2px 4px rgba(0,0,0,.5);line-height:1.1}.sr-date{font-size:.85rem;color:#a89880;letter-spacing:.06em}.sr-rule{display:block;height:1px;background:linear-gradient(90deg,#c8973a80,#c8973a14);margin-top:16px}.sr-header-actions{margin-top:14px}.sr-sound-btn{background:none;border:1px solid rgba(200,151,58,.3);color:#a89880;font-family:Courier Prime,Courier,monospace;font-size:.78rem;letter-spacing:.1em;padding:6px 14px;border-radius:4px;cursor:pointer;transition:color .2s,border-color .2s}.sr-sound-btn:hover{color:#c8b89a;border-color:#c8973a99}.sr-sound-btn--on{color:#c8973a;border-color:#c8973a99}.sr-article{position:relative;z-index:2;max-width:min(760px,92vw);margin:0 auto;padding:8px clamp(16px,4vw,32px) 48px;width:100%;box-sizing:border-box}.sr-turn{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.sr-bubble{max-width:78%;border-radius:14px;padding:14px 18px}.sr-bubble-user{align-self:flex-start;border-bottom-left-radius:4px;background:#f5ede0f7;border-left:3px solid rgba(200,151,58,.45)}.sr-bubble-ai{align-self:flex-end;background:#e4dcd2eb;border-bottom-right-radius:4px;border-right:3px solid rgba(180,160,130,.3)}.sr-p{margin:0;font-size:clamp(15px,2vw,17px);line-height:1.85;letter-spacing:.01em;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;font-family:Courier Prime,Courier,monospace;color:#111;font-weight:400}.sr-root .app-back-btn{color:#b8aa96}.sr-images{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.sr-figure{margin:0;border-radius:8px;overflow:hidden;border:1px solid rgba(200,151,58,.15);aspect-ratio:3 / 4;background:#1e140c99}.sr-figure img{width:100%;height:100%;display:block;object-fit:cover}.sr-status{position:relative;z-index:2;max-width:min(760px,92vw);margin:24px auto;padding:16px clamp(16px,4vw,32px);color:#a89880;font-family:Courier Prime,Courier,monospace}.sr-error{color:#e07070}.sr-footer{position:relative;z-index:2;max-width:min(760px,92vw);margin:0 auto;padding:16px clamp(16px,4vw,32px) 48px;width:100%;box-sizing:border-box;display:flex;align-items:center;gap:16px}.sr-ornament{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(200,151,58,.3),transparent)}.sr-footer-contact{display:flex;gap:20px;font-family:Courier Prime,Courier,monospace;font-size:.85rem;color:#c4b49e}.sr-footer-contact a{color:inherit;text-decoration:underline;text-decoration-color:#c8973a66}.sr-footer-contact a:hover{color:#d9c9b2}:root{--background-color: #f7f4ef;--text-color: black;--button1-color: #ef9f00;--button1-text-color: white;--button2-color: #9d6800;--button2-text-color: white;--button3-color: #dfa642;--options-container-color: #b98622;--input-container-color: white;--guide-container-color: #f9ddb6;--page-color: #f0ebe3;--bm-bg: #f7f4ef;--bm-bg-alt: #ffffff;--bm-text: #333333;--bm-muted: #666666;--bm-accent-pos: #ef9f00;--bm-border: rgba(0, 0, 0, .1)}body.theme-brown{--background-color: #f7f4ef;--text-color: black;--button1-color: #ef9f00;--button1-text-color: white;--button2-color: #9d6800;--button2-text-color: white;--button3-color: #dfa642;--options-container-color: #b98622;--input-container-color: white;--guide-container-color: #f9ddb6}body.theme-5{--background-color: #adb2a1;--text-color: black;--button1-color: #495236;--button1-text-color: white;--button2-color: #495236;--button2-text-color: white;--button3-color: #495236;--options-container-color: #999d98;--input-container-color: #fbdbb0;--guide-container-color: #5c6941;--page-color: #f0ebe3;background:url(/public/horror_tile.jpg) repeat top left fixed}body.theme-2{--background-color: #adb2a1;--text-color: black;--button1-color: #495236;--button1-text-color: white;--button2-color: #495236;--button2-text-color: white;--button3-color: #495236;--options-container-color: #69a561;--input-container-color: #fbdbb0;--guide-container-color: #5c6941;--page-color: #f0ebe3;background:url(/public/leaf_tile.jpg) repeat top left fixed}body.theme-4{--background-color: #c0ced8;--text-color: black;--button1-color: #24437d;--button1-text-color: white;--button2-color: #0c3196;--button2-text-color: white;--button3-color: #5b68dd;--options-container-color: #686ac0;--input-container-color: #fbdbb0;--guide-container-color: #8e99ff;--page-color: #f0ebe3}body.theme-1{--background-color: #d5c7b7;--text-color: black;--button1-color: #67564b;--button1-text-color: white;--button2-color: #7a7369;--button2-text-color: white;--button3-color: #67564b;--options-container-color: #d7c8b2;--input-container-color: #fbdbb0;--guide-container-color: #9f936c;--page-color: #f0ebe3;background:url(/public/anime_tile.jpg) repeat top left fixed}body.theme-3{--background-color: #a9a5a5;--text-color: black;--button1-color: #484848;--button1-text-color: white;--button2-color: #4f413c;--button2-text-color: white;--button3-color: #b0b1b4;--options-container-color: #d7c8b2;--input-container-color: #fbdbb0;--guide-container-color: #9f936c;--page-color: #f0ebe3;background:url(/public/star_tile.jpg) repeat top left fixed}body.theme-sandbox{--background-color: #ecf0f7;--text-color: #1a1b25;--button1-color: #3b82f6;--button1-text-color: white;--button2-color: #6366f1;--button2-text-color: white;--button3-color: #10b981;--options-container-color: #93c5fd;--input-container-color: #f0f9ff;--guide-container-color: #dbeafe;--page-color: #fefefe;background:linear-gradient(135deg,#ecf0f7,#dbeafe)}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:transparent;color:var(--text-color);padding-bottom:6vh}.book-view{transition:transform .5s ease;width:100%}.book-view.shifted{transform:translate(10vw)}.hide-sandbox-button:hover{background-color:#226f95;box-shadow:0 15px 20px #2ee59d66;color:#fff}.hide-sandbox-button:active{transform:translateY(-1px)}.connection-warning{color:#ff6b6b;background-color:#000000b3;padding:8px 16px;border-radius:4px;font-size:14px}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--background-color)}.login-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:1.5rem;color:var(--button1-color)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input{width:100%;padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.login-button{width:100%;padding:.75rem;background-color:var(--button1-color);color:var(--button1-text-color);border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s}.login-button:hover{background-color:var(--button2-color)}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:var(--text-color)}@media only screen and (max-width: 950px){.hide-sandbox-button{display:none}.book-view.shifted{transform:translate(0)}}
