.app{min-height:100vh;padding:2rem;display:flex;justify-content:center;align-items:center;position:relative}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:90}.app.panel-setup-mode{justify-content:center;align-items:flex-start;padding:1.25rem}.app.review-mode{justify-content:flex-start;align-items:flex-start;padding:1.25rem}.container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:1400px;animation:fadeIn .5s ease-in}.container.review-mode{max-width:none;width:calc(100vw - 2.5rem);max-height:none;overflow:visible;display:flex;flex-direction:column}.branding-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e8e8e8}.branding-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle{border:1px solid #d9dcf8;background:#f4f5ff;color:#5568d3;border-radius:999px;padding:.35rem .8rem;font-size:.85rem;font-weight:600;cursor:pointer}.theme-toggle:hover{background:#e9ecff}.branding-link{color:#667eea;font-size:.95rem;text-decoration:none;font-weight:600}.branding-link:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.title{font-size:3rem;text-align:center;color:#667eea;margin-bottom:.25rem;font-weight:700}.title-link{color:inherit;text-decoration:none}.title-link:hover{text-decoration:underline}.subtitle-shell{position:relative;display:flex;justify-content:center;margin-bottom:2rem;overflow:visible}.subtitle-shell:before,.subtitle-shell:after{content:"";position:absolute;width:6px;height:6px;border-radius:999px;opacity:0;pointer-events:none}.subtitle-shell:before{left:calc(50% - 130px);top:50%;background:#8ea0ff}.subtitle-shell:after{left:calc(50% + 122px);top:50%;background:#93e6da}.subtitle{text-align:center;color:#888;font-size:1.1rem;margin:0;transition:color .6s ease}.subtitle-shell.is-animating .subtitle{animation:taglineFadeRise .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.is-animating:before{animation:subtitleSparkleLeft .8s ease-out}.subtitle-shell.is-animating:after{animation:subtitleSparkleRight .8s ease-out}.subtitle-shell.anim-fade-rise.is-animating .subtitle{animation:taglineFadeRise .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-color-bloom.is-animating .subtitle{animation:taglineColorBloom .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-gentle-slide.is-animating .subtitle{animation:taglineGentleSlide .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-soft-bounce.is-animating .subtitle{animation:taglineSoftBounce .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-breathe.is-animating .subtitle{animation:taglineBreathe .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-rubber-band.is-animating .subtitle{animation:taglineRubberBand .7s cubic-bezier(.34,1.56,.64,1) both}.subtitle-shell.anim-typewriter-pop.is-animating .subtitle{animation:taglineTypewriterPop .9s steps(8,end) both}.subtitle-shell.anim-wobble-jello.is-animating .subtitle{animation:taglineWobbleJello .85s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-neon-flare.is-animating .subtitle{animation:taglineNeonFlare .75s ease-out both}.subtitle-shell.anim-flip-in.is-animating .subtitle{animation:taglineFlipIn .8s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-sling-left.is-animating .subtitle{animation:taglineSlingLeft .75s cubic-bezier(.34,1.56,.64,1) both}.subtitle-shell.anim-sling-right.is-animating .subtitle{animation:taglineSlingRight .75s cubic-bezier(.34,1.56,.64,1) both}.subtitle-shell.anim-drop-settle.is-animating .subtitle{animation:taglineDropSettle .9s cubic-bezier(.22,1,.36,1) both}.subtitle-shell.anim-glitch-in.is-animating .subtitle{animation:taglineGlitchIn .65s steps(1,end) both}@keyframes taglineFadeRise{0%{opacity:0;transform:translateY(10px) scale(.98);filter:blur(2px)}60%{opacity:1;transform:translateY(-2px) scale(1.005);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes taglineColorBloom{0%{opacity:0;transform:scale(.94);filter:blur(3px) saturate(.4)}50%{opacity:1;transform:scale(1.02);filter:blur(0) saturate(1.4)}to{opacity:1;transform:scale(1);filter:blur(0) saturate(1)}}@keyframes taglineGentleSlide{0%{opacity:0;transform:translate(-20px);filter:blur(2px)}55%{opacity:1;transform:translate(3px);filter:blur(0)}to{opacity:1;transform:translate(0);filter:blur(0)}}@keyframes taglineSoftBounce{0%{opacity:0;transform:translateY(14px) scale(.96)}45%{opacity:1;transform:translateY(-4px) scale(1.01)}70%{transform:translateY(2px) scale(.998)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes taglineBreathe{0%{opacity:0;transform:scale(.92);letter-spacing:-.02em}50%{opacity:1;transform:scale(1.02);letter-spacing:.01em}to{opacity:1;transform:scale(1);letter-spacing:normal}}@keyframes taglineRubberBand{0%{opacity:0;transform:scaleX(.3) scaleY(1.2)}30%{opacity:1;transform:scaleX(1.15) scaleY(.88)}50%{transform:scaleX(.92) scaleY(1.06)}70%{transform:scaleX(1.04) scaleY(.97)}to{opacity:1;transform:scale(1)}}@keyframes taglineTypewriterPop{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(.98)}70%{opacity:1;clip-path:inset(0 0 0 0);transform:scale(.98)}85%{transform:scale(1.04)}to{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1)}}@keyframes taglineWobbleJello{0%{opacity:0;transform:skew(-12deg) scale(.95)}25%{opacity:1;transform:skew(8deg) scale(1.02)}45%{transform:skew(-5deg) scale(1.01)}65%{transform:skew(3deg) scale(1.005)}80%{transform:skew(-1deg) scale(1)}to{opacity:1;transform:skew(0) scale(1)}}@keyframes taglineNeonFlare{0%{opacity:0;text-shadow:0 0 0 transparent;filter:brightness(.6)}15%{opacity:1;text-shadow:0 0 20px currentColor,0 0 40px currentColor;filter:brightness(1.6)}30%{text-shadow:0 0 4px currentColor;filter:brightness(.9)}50%{text-shadow:0 0 16px currentColor,0 0 30px currentColor;filter:brightness(1.4)}75%{text-shadow:0 0 6px currentColor;filter:brightness(1.05)}to{opacity:1;text-shadow:0 0 0 transparent;filter:brightness(1)}}@keyframes taglineFlipIn{0%{opacity:0;transform:perspective(600px) rotateX(-80deg) translateY(10px)}50%{opacity:1;transform:perspective(600px) rotateX(15deg) translateY(-3px)}75%{transform:perspective(600px) rotateX(-5deg) translateY(1px)}to{opacity:1;transform:perspective(600px) rotateX(0) translateY(0)}}@keyframes taglineSlingLeft{0%{opacity:0;transform:translate(60px) rotate(3deg) scale(.9)}40%{opacity:1;transform:translate(-8px) rotate(-1deg) scale(1.02)}70%{transform:translate(3px) rotate(.5deg) scale(1)}to{opacity:1;transform:translate(0) rotate(0) scale(1)}}@keyframes taglineSlingRight{0%{opacity:0;transform:translate(-60px) rotate(-3deg) scale(.9)}40%{opacity:1;transform:translate(8px) rotate(1deg) scale(1.02)}70%{transform:translate(-3px) rotate(-.5deg) scale(1)}to{opacity:1;transform:translate(0) rotate(0) scale(1)}}@keyframes taglineDropSettle{0%{opacity:0;transform:translateY(-30px) scale(1.08)}35%{opacity:1;transform:translateY(6px) scale(.97)}55%{transform:translateY(-3px) scale(1.01)}75%{transform:translateY(1px) scale(.998)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes taglineGlitchIn{0%{opacity:0;transform:translate(0);clip-path:inset(0 0 100% 0)}10%{opacity:1;transform:translate(-3px,2px);clip-path:inset(0 0 60% 0)}20%{transform:translate(4px,-1px);clip-path:inset(0 0 30% 0)}30%{transform:translate(-2px,1px);clip-path:inset(0 0 0 0)}40%{transform:translate(2px,-2px);filter:hue-rotate(30deg)}50%{transform:translate(-1px);filter:hue-rotate(-20deg)}60%{transform:translate(1px,1px);filter:hue-rotate(10deg)}70%{transform:translate(0);filter:hue-rotate(0deg)}to{opacity:1;transform:translate(0);filter:hue-rotate(0deg);clip-path:inset(0 0 0 0)}}@keyframes subtitleSparkleLeft{0%{transform:translate(0) scale(.6);opacity:0}35%{transform:translate(-13px,-9px) scale(1.5);opacity:.86}to{transform:translate(-21px,-15px) scale(.8);opacity:0}}@keyframes subtitleSparkleRight{0%{transform:translate(0) scale(.6);opacity:0}35%{transform:translate(13px,-9px) scale(1.5);opacity:.86}to{transform:translate(21px,-15px) scale(.8);opacity:0}}.tagline-toggle{border:1px solid #d9dcf8;background:#f4f5ff;color:#5568d3;border-radius:999px;padding:.25rem .7rem;font-size:.75rem;font-weight:600;cursor:pointer}.tagline-toggle:hover{background:#e9ecff}.feature-history{background:#fbfbff;border:1px solid #eceeff;border-radius:10px;padding:.75rem 1rem;margin-bottom:1.5rem}.feature-history-toggle{width:100%;display:flex;align-items:center;gap:.45rem;border:none;background:transparent;text-align:left;cursor:pointer;color:#667eea;font-size:.95rem;font-weight:700}.feature-history-caret{display:inline-block;transform:rotate(0);transition:transform .2s ease}.feature-history-caret.open{transform:rotate(90deg)}.feature-history ul{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;max-height:360px;overflow-y:auto;padding-right:.35rem}.feature-history li{display:grid;grid-template-columns:110px 1fr;gap:.75rem;align-items:start}.feature-history-date{font-size:.85rem;color:#5568d3;font-weight:600}.feature-history li strong{color:#333;font-size:.95rem}.feature-history li p{margin:.2rem 0 0;color:#666;font-size:.9rem;line-height:1.4}.input-section{display:flex;flex-direction:column;gap:1.5rem}.controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.control-group label{font-weight:600;color:#333;font-size:.9rem}.control-label-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.panel-enabled-badge{border:1px solid #d9dcf8;background:#f4f5ff;color:#5568d3;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;white-space:nowrap}.panel-mode-group,.panel-persona-group{min-width:280px}.panel-toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:500!important;color:#444}.panel-toggle-label input{width:16px;height:16px}.panel-persona-list{border:2px solid #e0e0e0;border-radius:8px;background:#fff;max-height:128px;overflow-y:auto;padding:.45rem;display:flex;flex-direction:column;gap:.2rem}.panel-persona-item{display:flex;gap:.45rem;align-items:center;font-weight:500!important;color:#333;padding:.2rem .1rem}.panel-persona-item input{width:15px;height:15px}.persona-select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s;background:#fff}.persona-select:focus{outline:none;border-color:#667eea}.file-upload-label{display:inline-block;padding:.75rem 1.5rem;background:#667eea;color:#fff;border-radius:8px;cursor:pointer;transition:background .3s;text-align:center;font-weight:600}.file-upload-label:hover{background:#5568d3}.file-upload{display:none}.code-input{width:100%;min-height:400px;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;line-height:1.5;resize:vertical;transition:border-color .3s}.code-input:focus{outline:none;border-color:#667eea}.code-editor-wrapper{border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:border-color .3s}.code-editor-wrapper:focus-within{border-color:#667eea}.code-editor-wrapper .cm-editor{font-size:.95rem;min-height:420px}.code-editor-wrapper .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;line-height:1.5}.code-input-mobile{display:none}.button-group{display:flex;gap:1rem;justify-content:center}.btn{padding:1rem 2.5rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.error{background:#fee;color:#c33;padding:1rem;border-radius:8px;border-left:4px solid #c33;animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.loading-spinner{display:flex;gap:.5rem}.loading-spinner>div{width:18px;height:18px;background-color:#667eea;border-radius:100%;animation:bounce 1.4s infinite ease-in-out both}.loading-spinner .bounce1{animation-delay:-.32s}.loading-spinner .bounce2{animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-text{color:#667eea;font-size:1.1rem;font-weight:500}.results-section{display:flex;flex-direction:column;gap:1.5rem}.container.review-mode .results-section{min-height:0;flex:1;overflow:visible;padding-right:0}.results-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.results-header h2{color:#667eea;font-size:1.5rem;margin-bottom:.25rem}.model-badge{display:inline-block;background:#f0f0f0;color:#666;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500}.side-by-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;margin-top:1rem;align-items:stretch}.container.review-mode .side-by-side{min-height:0;flex:1}.panel-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.panel-code-toggle-section{border:1px solid #e0e0e0;border-radius:8px;padding:.65rem .85rem;background:#fafaff}.panel-code-toggle{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:#667eea;text-align:left;cursor:pointer}.panel-code-box{margin-top:.75rem;max-height:none;overflow:visible;padding-right:0}.panel-code-box .code-display{max-height:none}.container.review-mode .panel-review-grid .review-display,.container.review-mode .panel-code-box .code-display{max-height:none;overflow-y:visible}.container.review-mode .side-by-side .code-display,.container.review-mode .side-by-side .review-display{max-height:calc(100vh - 250px);min-height:320px;overflow-y:auto}@media (max-width: 1024px){.side-by-side{grid-template-columns:1fr}}.panel{display:flex;flex-direction:column;gap:1rem;min-width:0}.container.review-mode .panel{min-height:0}.review-panel{animation:reviewPanelIn .35s ease-out}@keyframes reviewPanelIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.panel h3{color:#333;font-size:1.2rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.code-display{background:#f8f8f8;padding:1.5rem;border-radius:8px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;border:1px solid #e0e0e0;white-space:pre-wrap;word-wrap:break-word;max-height:70vh;overflow-y:auto}.code-display--linked{padding:.75rem 0;white-space:normal}.code-line{display:grid;grid-template-columns:56px minmax(0,1fr);gap:.75rem;align-items:start;padding:.12rem 1rem;transition:background-color .15s ease}.code-line.is-highlighted{background:#caf1ec}.code-line-number{text-align:right;color:#7e879f;-webkit-user-select:none;user-select:none}.code-line-content{white-space:pre;min-width:0}.line-ref-link{border:none;background:transparent;color:#5568d3;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.review-display{background:#f8f8f8;padding:1.5rem;border-radius:8px;overflow-y:auto;max-height:70vh;line-height:1.8;border:1px solid #e0e0e0;white-space:pre-wrap;word-wrap:break-word}.review-display h1,.review-display h2,.review-display h3,.review-display h4{margin:0 0 .75rem;line-height:1.3}.review-display p{margin:0 0 .75rem}.review-display ul,.review-display ol{margin:0 0 .75rem 1.25rem}.review-display pre{background:#efefef;border:1px solid #ddd;border-radius:6px;padding:.75rem;overflow-x:auto}.review-display code{font-family:Consolas,Monaco,Courier New,monospace}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px}::-webkit-scrollbar-thumb{background:#667eea;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#5568d3}.custom-select-wrapper{position:relative}.custom-select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left;font-family:inherit;transition:border-color .3s}.custom-select:hover{border-color:#667eea}.custom-select-arrow{color:#666;font-size:.8rem}.custom-select-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-top:none;border-radius:0 0 8px 8px;z-index:100;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.custom-select-option{padding:.6rem .75rem;cursor:pointer;transition:background .15s,color .05s}.custom-select-option:hover{background:#f0f0ff}.custom-select-option.selected{background:#667eea;color:#fff}.footer-note{margin-top:2rem;text-align:center;color:#666;font-size:.9rem}.container.review-mode .footer-note{margin-top:1rem}.footer-note a{color:#667eea;text-decoration:none}.footer-note a:hover{text-decoration:underline}.app.theme-dark .container{background:#151923;box-shadow:0 20px 60px #0000008c}.app.theme-dark .branding-bar{border-bottom-color:#2e3547}.app.theme-dark .title,.app.theme-dark .results-header h2{color:#8ea0ff}.app.theme-dark .subtitle,.app.theme-dark .footer-note,.app.theme-dark .feature-history li p,.app.theme-dark .loading-text,.app.theme-dark .model-badge{color:#b9c1d8}.app.theme-dark .control-group label,.app.theme-dark .panel h3,.app.theme-dark .feature-history li strong,.app.theme-dark .review-display,.app.theme-dark .code-display,.app.theme-dark .custom-select,.app.theme-dark .persona-select{color:#e8ecfb}.app.theme-dark .feature-history{background:#1c2333;border-color:#2f3a53}.app.theme-dark .panel-code-toggle-section{background:#1c2333;border-color:#36405c}.app.theme-dark .panel-code-toggle,.app.theme-dark .feature-history-toggle,.app.theme-dark .feature-history-date,.app.theme-dark .branding-link,.app.theme-dark .footer-note a,.app.theme-dark .custom-select-arrow{color:#9aa9ff}.app.theme-dark .panel-enabled-badge,.app.theme-dark .theme-toggle,.app.theme-dark .tagline-toggle{border-color:#3a4564;background:#242d44;color:#c7d1ff}.app.theme-dark .theme-toggle:hover,.app.theme-dark .tagline-toggle:hover{background:#2a3550}.app.theme-dark .custom-select,.app.theme-dark .persona-select,.app.theme-dark .code-editor-wrapper,.app.theme-dark .review-display,.app.theme-dark .code-display,.app.theme-dark .results-header,.app.theme-dark .panel h3,.app.theme-dark .error,.app.theme-dark .custom-select-options,.app.theme-dark .panel-persona-list{border-color:#36405c}.app.theme-dark .custom-select,.app.theme-dark .persona-select,.app.theme-dark .custom-select-options,.app.theme-dark .review-display,.app.theme-dark .code-display,.app.theme-dark .model-badge,.app.theme-dark .btn-secondary,.app.theme-dark .file-upload-label,.app.theme-dark .panel-persona-list{background:#20283a}.app.theme-dark .panel-toggle-label,.app.theme-dark .panel-persona-item{color:#e6ebff}.app.theme-dark .custom-select-option:hover,.app.theme-dark .btn-secondary:hover:not(:disabled){background:#2b3550}.app.theme-dark .btn-secondary{color:#e6ebff}.app.theme-dark .code-line.is-highlighted{background:#1e5160}.app.theme-dark .code-line-number{color:#9ea9c8}.app.theme-dark .line-ref-link{color:#9aa9ff}.app.theme-dark .file-upload-label,.app.theme-dark .btn-primary,.app.theme-dark .custom-select-option.selected{background:#5d74ff}.app.theme-dark .btn-primary:hover:not(:disabled),.app.theme-dark .file-upload-label:hover{background:#4f67ea}.app.theme-dark .code-editor-wrapper:focus-within,.app.theme-dark .custom-select:hover,.app.theme-dark .persona-select:focus{border-color:#7f92ff}.app.theme-dark .code-input-mobile{background:#20283a;color:#e8ecfb;border-color:#36405c}.app.theme-dark .code-input-mobile:focus{border-color:#7f92ff}.app.theme-dark .error{background:#3a1f2b;color:#ffb3cb}.persona-option-row{display:flex;align-items:center;gap:.7rem}.persona-option-checkbox{width:16px;height:16px}@media (max-width: 768px){.app{padding:.5rem;align-items:flex-start}.app.review-mode{padding:.35rem}.container{padding:1rem;border-radius:12px;box-shadow:0 8px 30px #0003}.container.review-mode{width:calc(100vw - .7rem)}.branding-bar{flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem}.branding-actions{flex-wrap:wrap;gap:.4rem}.branding-link{font-size:.82rem}.theme-toggle,.tagline-toggle{font-size:.72rem;padding:.25rem .6rem}.title{font-size:2rem;margin-bottom:.15rem}.subtitle{font-size:.92rem;padding:0 .25rem}.subtitle-shell{margin-bottom:1rem}.feature-history{padding:.5rem .65rem;margin-bottom:1rem}.feature-history-toggle{font-size:.85rem}.feature-history ul{max-height:240px}.feature-history li{grid-template-columns:1fr;gap:.15rem}.feature-history-date{font-size:.78rem}.feature-history li strong{font-size:.88rem}.feature-history li p{font-size:.82rem}.controls{flex-direction:column;gap:.75rem}.control-group{min-width:0;width:100%}.control-group label{font-size:.85rem}.panel-mode-group,.panel-persona-group{min-width:0}.custom-select,.persona-select{font-size:.9rem;padding:.6rem .75rem}.file-upload-label{padding:.6rem 1rem;font-size:.9rem;width:100%}.code-editor-wrapper{display:none}.code-input-mobile{display:block;width:100%;min-height:180px;max-height:50vh;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.5;resize:vertical;-webkit-overflow-scrolling:touch;-webkit-appearance:none;transition:border-color .3s;background:#fff;color:#333}.code-input-mobile:focus{outline:none;border-color:#667eea}.button-group{flex-direction:column;gap:.5rem}.btn{padding:.75rem 1.25rem;font-size:.95rem;width:100%;text-align:center}.results-header{flex-direction:column;gap:.75rem;align-items:flex-start}.results-header h2{font-size:1.15rem}.results-header .button-group{flex-direction:row;flex-wrap:wrap;width:100%}.results-header .button-group .btn{flex:1 1 auto;padding:.6rem .75rem;font-size:.82rem;min-width:0}.side-by-side{grid-template-columns:1fr;gap:1rem}.container.review-mode .side-by-side .code-display,.container.review-mode .side-by-side .review-display{max-height:50vh;min-height:180px;-webkit-overflow-scrolling:touch}.code-display{padding:.75rem;font-size:.78rem;max-height:50vh;-webkit-overflow-scrolling:touch}.code-line{grid-template-columns:36px minmax(0,1fr);gap:.4rem;padding:.08rem .5rem}.code-line-number{font-size:.72rem}.review-display{padding:.85rem;max-height:60vh;line-height:1.6;font-size:.9rem;-webkit-overflow-scrolling:touch}.review-display pre{font-size:.78rem;padding:.5rem}.panel-review-grid{grid-template-columns:1fr;gap:.75rem}.panel h3{font-size:1rem}.panel-code-toggle-section{padding:.5rem .65rem}.panel-code-toggle{font-size:.85rem}.footer-note{font-size:.8rem;margin-top:1.25rem;line-height:1.5}.loading-text{font-size:.95rem}.loading-spinner>div{width:14px;height:14px}.error{font-size:.88rem;padding:.75rem}.custom-select-options{max-height:220px}.custom-select-option{padding:.7rem .75rem}.confetti-canvas{opacity:.75}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100%}code{font-family:Consolas,Monaco,Courier New,monospace}
