:root{--color-primary: #1a237e;--color-primary-dark: #0d1b4d;--color-primary-light: #3949ab;--color-secondary: #5d4e37;--color-success: #2e7d32;--color-error: #8b0000;--color-warning: #bf360c;--color-background: #f5f0e6;--color-surface: #faf8f0;--color-text: #1a1a1a;--color-text-secondary: #5c5c5c;--color-border: #333333;--color-border-light: #999999;--color-stamp-red: #8b0000;--color-stamp-green: #2e7d32;--color-seal: #8b4513;--border-radius: 0;--shadow-sm: 2px 2px 0 rgba(0, 0, 0, .1);--shadow-md: 3px 3px 0 rgba(0, 0, 0, .15);--shadow-lg: 4px 4px 0 rgba(0, 0, 0, .2);--shadow-paper: 0 1px 1px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .12), 0 4px 4px rgba(0, 0, 0, .12);--font-typewriter: "Special Elite", "Courier New", monospace;--font-body: "Courier Prime", "Courier New", monospace;--font-handwritten: "Permanent Marker", cursive;--font-numbers: "Roboto Mono", monospace;--font-family: var(--font-body)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family);background-color:var(--color-secondary);background-image:linear-gradient(135deg,#5d4e37,#3d2e1c);color:var(--color-text);line-height:1.6;min-height:100vh;padding:1rem}.app{min-height:calc(100vh - 2rem);display:flex;flex-direction:column;max-width:850px;margin:0 auto;background-color:var(--color-surface);box-shadow:var(--shadow-paper);border:1px solid var(--color-border-light)}.app-nav{background-color:transparent;border-bottom:3px solid var(--color-border);padding:1rem 2rem;text-align:center}.app-nav .logo{font-family:var(--font-typewriter);color:var(--color-text);text-decoration:none;font-size:1.75rem;text-transform:uppercase;letter-spacing:.15em;border-bottom:2px solid var(--color-border);padding-bottom:.25rem}main{flex:1;padding:1.5rem 2rem;max-width:100%;width:100%;background-color:var(--color-surface)}.app-footer{background-color:transparent;border-top:1px solid var(--color-border-light);color:var(--color-text-secondary);text-align:right;padding:.5rem 2rem;font-size:.75rem;font-family:var(--font-body)}h1{font-family:var(--font-typewriter);font-size:2rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em}h2{font-family:var(--font-typewriter);font-size:1.5rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.08em}h3{font-family:var(--font-typewriter);font-size:1.25rem;margin-bottom:.5rem;letter-spacing:.05em}button{font-family:var(--font-typewriter);font-size:1rem;cursor:pointer;border:2px solid var(--color-border);border-radius:0;padding:.75rem 1.5rem;background-color:var(--color-surface);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm);transition:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button:hover:not(:disabled){background-color:var(--color-background);transform:translate(1px,1px);box-shadow:1px 1px #0000001a}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}button:disabled{opacity:.5;cursor:not-allowed}.primary-button{background-color:var(--color-border);color:var(--color-surface);border-color:var(--color-border)}.primary-button:hover:not(:disabled){background-color:var(--color-text)}.secondary-button{background-color:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border)}.secondary-button:hover:not(:disabled){background-color:var(--color-background)}.noodle-button{background-color:var(--color-stamp-red);border-color:var(--color-stamp-red);color:#fff;font-size:1.125rem;padding:.875rem 1.75rem;box-shadow:var(--shadow-md)}.noodle-button:hover:not(:disabled){background-color:#6d0000}.second-button{background-color:var(--color-stamp-green);border-color:var(--color-stamp-green);color:#fff;font-size:1.125rem;padding:.875rem 1.75rem;box-shadow:var(--shadow-md)}.second-button:hover:not(:disabled){background-color:#1b5e20}.close-button{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.close-button:hover:not(:disabled){background-color:#6d0000}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-family:var(--font-typewriter);font-weight:400;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;color:var(--color-text)}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}input[type=text],input[type=date],input[type=time],textarea{width:100%;padding:.625rem .75rem;font-size:1rem;font-family:var(--font-body);border:2px solid var(--color-border);border-radius:0;background-color:#fffef8;transition:none}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);background-color:#fff}textarea{min-height:80px;resize:vertical;line-height:1.5}.error-message{background-color:var(--color-surface);color:var(--color-error);padding:1rem;border-radius:0;margin-bottom:1rem;border:2px solid var(--color-error);font-family:var(--font-typewriter)}.action-message{background-color:var(--color-surface);color:var(--color-success);padding:1rem;border-radius:0;margin-bottom:1rem;border:2px solid var(--color-success);text-align:center;font-family:var(--font-typewriter)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-text-secondary);font-family:var(--font-typewriter);text-transform:uppercase;letter-spacing:.1em}.home-page{text-align:center}.home-header{margin-bottom:2rem;border-bottom:2px solid var(--color-border);padding-bottom:1.5rem}.home-header h1{font-family:var(--font-typewriter);font-size:2.5rem;color:var(--color-text);margin-bottom:.5rem}.tagline{font-size:1rem;color:var(--color-text-secondary);font-family:var(--font-body);font-style:italic}.create-session-form{background-color:var(--color-surface);padding:1.5rem;border:3px double var(--color-border);box-shadow:var(--shadow-paper);text-align:left;margin-bottom:2rem}.create-session-form h2{text-align:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border-light)}.recent-sessions{text-align:left;margin-bottom:2rem}.recent-sessions ul{list-style:none}.recent-sessions li{margin-bottom:.5rem}.session-link{width:100%;display:flex;justify-content:space-between;background-color:var(--color-surface);padding:.875rem 1rem;border:2px solid var(--color-border);text-align:left;font-family:var(--font-body)}.session-link:hover{background-color:var(--color-background);border-color:var(--color-primary)}.session-name{font-weight:700}.session-code{color:var(--color-text-secondary);font-size:.875rem;font-family:var(--font-numbers)}.rules-section{background-color:var(--color-surface);padding:1.5rem;border:2px solid var(--color-border);box-shadow:var(--shadow-sm);text-align:left}.rules-section h3{border-bottom:1px solid var(--color-border-light);padding-bottom:.5rem;margin-bottom:1rem}.rules-section ol{margin-left:1.5rem;font-family:var(--font-body)}.rules-section li{margin-bottom:.5rem}.join-page{text-align:center}.session-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.session-header .location{color:var(--color-text-secondary);font-family:var(--font-body)}.session-header .date{color:var(--color-text-secondary);font-size:.875rem;font-family:var(--font-numbers)}.participant-count{color:var(--color-primary);font-weight:700;font-family:var(--font-numbers)}.join-form{background-color:var(--color-surface);padding:1.5rem;border:3px double var(--color-border);box-shadow:var(--shadow-paper);text-align:left;max-width:400px;margin:0 auto 2rem}.join-form h2{text-align:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border-light)}.invite-code-display{color:var(--color-text-secondary);font-size:.875rem;font-family:var(--font-numbers)}.active-session-page{max-width:600px;margin:0 auto}.session-status{background-color:var(--color-surface);padding:1rem;border:2px solid var(--color-border);margin-bottom:1rem;text-align:center}.status-badge{font-family:var(--font-typewriter);font-weight:400;color:var(--color-text);text-transform:uppercase;letter-spacing:.1em}.noodle-status{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--color-border)}.noodle-called{display:inline-block;font-family:var(--font-typewriter);font-size:1.125rem;color:var(--color-stamp-red);border:3px solid var(--color-stamp-red);padding:.5rem 1rem;transform:rotate(-2deg);text-transform:uppercase;letter-spacing:.1em;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,0,0,.05) 2px,rgba(139,0,0,.05) 4px)}.noodle-seconded{display:inline-block;font-family:var(--font-typewriter);color:var(--color-stamp-green);border:3px solid var(--color-stamp-green);padding:.5rem 1rem;transform:rotate(1deg);text-transform:uppercase;letter-spacing:.1em;margin-left:.5rem}.countdown{font-family:var(--font-numbers);font-size:1.75rem;font-weight:700;color:var(--color-warning);margin-top:.75rem;letter-spacing:.05em}.session-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;justify-content:center}.session-content{display:flex;flex-direction:column;gap:1rem}.participant-list{background-color:var(--color-surface);padding:1rem;border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.participant-list h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.participant-list ul{list-style:none}.participant-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border-light);font-family:var(--font-body)}.participant-list li:last-child{border-bottom:none}.participant-list li.current{font-weight:700}.participant-status.submitted{color:var(--color-stamp-green);font-family:var(--font-typewriter);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.participant-status.pending{color:var(--color-text-secondary);font-family:var(--font-body);font-style:italic}.submitted-message{background-color:var(--color-surface);padding:2rem;border:3px solid var(--color-stamp-green);text-align:center}.submitted-message h3{color:var(--color-stamp-green);font-family:var(--font-typewriter)}.scorecard{background-color:var(--color-surface);padding:1.5rem;border:3px double var(--color-border);box-shadow:var(--shadow-paper);position:relative}.scorecard h2{text-align:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-border);color:var(--color-text);font-family:var(--font-typewriter)}.scorecard-category{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed var(--color-border-light)}.scorecard-category:last-of-type{border-bottom:none}.scorecard-category label{display:block;font-family:var(--font-typewriter);font-weight:400;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.category-hint{font-family:var(--font-handwritten);font-size:.9rem;color:var(--color-text-secondary);font-style:normal;margin-bottom:.5rem;transform:rotate(-.5deg)}.scorecard-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--color-background);border:2px solid var(--color-border);margin-bottom:1.5rem}.scorecard-total label{font-family:var(--font-typewriter);font-weight:400;text-transform:uppercase;letter-spacing:.1em}.total-value{font-family:var(--font-numbers);font-size:1.75rem;font-weight:700;color:var(--color-primary)}.submit-button{width:100%;background-color:var(--color-border);color:var(--color-surface);border-color:var(--color-border);font-size:1rem;padding:1rem}.submit-button:hover:not(:disabled){background-color:var(--color-text)}.scale-selector{margin-top:.5rem}.scale-buttons{display:flex;gap:.25rem;flex-wrap:wrap}.scale-button{width:36px;height:36px;padding:0;border-radius:0;background-color:var(--color-surface);border:2px solid var(--color-border);font-family:var(--font-numbers);font-weight:500;font-size:.9rem;box-shadow:none}.scale-button:hover:not(:disabled),.scale-button:focus:not(:disabled):not(.selected){border-color:var(--color-primary);background-color:var(--color-background);transform:none}.scale-button:focus{outline:none}.scale-button.selected,.scale-button.selected:focus,.scale-button.selected:active{background-color:var(--color-border);border-color:var(--color-border);color:var(--color-surface)}.scale-label-display{margin-top:.5rem;font-family:var(--font-body);font-size:.85rem;color:var(--color-text-secondary);font-style:italic}.yes-no-buttons{display:flex;gap:.5rem}.yes-no-button{flex:1;padding:.875rem;background-color:var(--color-surface);border:2px solid var(--color-border);font-family:var(--font-typewriter);box-shadow:none}.yes-no-button:hover:not(:disabled),.yes-no-button:focus:not(:disabled):not(.selected){border-color:var(--color-primary);transform:none}.yes-no-button:focus{outline:none}.yes-no-button.selected,.yes-no-button.selected:focus,.yes-no-button.selected:active{background-color:var(--color-border);border-color:var(--color-border);color:var(--color-surface)}.results-page{max-width:600px;margin:0 auto}.results-header{text-align:center;margin-bottom:2rem}.results-header h1{color:var(--color-text);font-family:var(--font-typewriter)}.results-display{background-color:var(--color-surface);border:3px double var(--color-border);box-shadow:var(--shadow-paper);overflow:visible;position:relative}.results-display:before{content:"";position:absolute;top:-40px;right:20px;width:120px;height:120px;background-image:url(/beer_snob.png);background-size:contain;background-repeat:no-repeat;background-position:center;transform:rotate(5deg);opacity:.9;z-index:10;filter:sepia(30%) contrast(1.1)}.results-display .results-header{background-color:var(--color-surface);color:var(--color-text);padding:1.5rem;margin-bottom:0;border-bottom:2px solid var(--color-border);text-align:center}.results-display .results-header h2{margin-bottom:.25rem;font-family:var(--font-typewriter)}.results-display .results-header .location{color:var(--color-text-secondary);font-family:var(--font-body)}.overall-score{text-align:center;padding:2rem;background-color:var(--color-background);border-bottom:2px solid var(--color-border)}.overall-number{font-family:var(--font-numbers);font-size:2.5rem;font-weight:700;line-height:1;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;border:3px solid var(--color-primary);border-radius:50%;width:110px;height:110px}.overall-label{font-family:var(--font-typewriter);font-size:1rem;color:var(--color-text-secondary);margin-top:.5rem;text-transform:uppercase;letter-spacing:.1em}.category-averages{padding:1.5rem}.category-averages h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.category-bar{display:flex;align-items:center;margin-bottom:.75rem}.category-label{width:120px;font-family:var(--font-typewriter);font-weight:400;font-size:.8rem;text-transform:uppercase}.bar-container{flex:1;height:20px;background-color:transparent;border:2px solid var(--color-border);position:relative;overflow:hidden}.bar-fill{height:100%;background:repeating-linear-gradient(45deg,var(--color-primary),var(--color-primary) 2px,var(--color-primary-light) 2px,var(--color-primary-light) 4px);transition:width .3s ease}.bar-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--font-numbers);font-weight:700;font-size:.8rem;color:var(--color-text)}.would-return-summary{text-align:center;padding:1.5rem;background-color:var(--color-surface);border-top:2px solid var(--color-border);border-bottom:2px solid var(--color-border)}.would-return-summary .percentage{font-family:var(--font-numbers);font-size:2.5rem;font-weight:700;color:var(--color-stamp-green)}.would-return-summary .label{display:block;color:var(--color-text-secondary);font-family:var(--font-typewriter);text-transform:uppercase;font-size:.8rem;letter-spacing:.1em}.individual-scores{padding:1.5rem}.individual-scores h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.individual-score{border:2px solid var(--color-border);margin-bottom:.5rem;overflow:hidden}.score-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background-color:var(--color-background);text-align:left;border-radius:0;font-family:var(--font-body);box-shadow:none}.score-header:hover{background-color:#eee8dc;transform:none}.score-total{font-family:var(--font-numbers);font-weight:700;color:var(--color-primary);margin-left:auto;margin-right:.5rem}.expand-icon{color:var(--color-text-secondary)}.score-details{padding:1rem;border-top:1px solid var(--color-border-light);font-family:var(--font-body)}.score-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.score-row{display:flex;justify-content:space-between}.score-meta{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border-light)}.would-return.yes{color:var(--color-stamp-green);font-family:var(--font-typewriter);text-transform:uppercase}.would-return.no{color:var(--color-stamp-red);font-family:var(--font-typewriter);text-transform:uppercase}.score-comments,.score-suggestions{margin-top:.5rem;font-size:.875rem;font-family:var(--font-body)}.results-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.results-footer{text-align:center;padding:1rem;font-family:var(--font-typewriter);font-size:.75rem;color:var(--color-text-secondary);border-top:1px solid var(--color-border-light);text-transform:uppercase;letter-spacing:.05em}.share-button{background-color:var(--color-border);color:var(--color-surface);border-color:var(--color-border)}.share-button:hover:not(:disabled){background-color:var(--color-text)}.scale-legend{background-color:var(--color-surface);padding:1.5rem;border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.scale-legend h4{margin-bottom:1rem;font-family:var(--font-typewriter);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--color-border-light);padding-bottom:.5rem}.scale-legend ul{list-style:none}.scale-legend li{display:flex;gap:1rem;padding:.25rem 0;font-family:var(--font-body)}.legend-score{font-family:var(--font-numbers);font-weight:700;color:var(--color-primary);width:24px}@media(max-width:600px){html{font-size:14px}body{padding:.5rem}.app{min-height:calc(100vh - 1rem)}.app-nav{padding:.75rem 1rem}main{padding:1rem}.home-header h1{font-size:2rem}.form-row{flex-direction:column}.scale-buttons{max-width:180px}.scale-button{width:32px;height:32px;padding:0;font-size:.8rem}.overall-number{font-size:2rem;width:90px;height:90px}.category-label{width:90px;font-size:.7rem}.results-actions{flex-direction:column}.results-display:before{width:80px;height:80px;top:-25px;right:10px}.category-hint{font-size:.8rem}}
