:root{--paper:#f3eee1;--paper-dark:#e6dcc8;--ink:#26394d;--ink-light:#52677b;--muted:#756f66;--gold:#a58c5c;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.tarot-page{background:radial-gradient(circle at 20% 15%, #ffffffb3, transparent 35%), radial-gradient(circle at 80% 85%, #d2c9b440, transparent 40%), var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:30px 18px;display:flex;position:relative;overflow:hidden}.tarot-page:before{content:"";opacity:.28;pointer-events:none;background-image:radial-gradient(#26394d0e .7px,#0000 .7px);background-size:5px 5px;position:absolute;inset:0}.tarot-card{background:var(--ink);width:min(520px,100%);padding:8px;position:relative;box-shadow:0 18px 45px #26394d2e,0 3px 8px #26394d1f}.tarot-card:before{content:"";border:1px solid var(--paper);pointer-events:none;position:absolute;inset:5px}.tarot-card-inner{border:1px solid var(--ink);background:radial-gradient(circle at 50% 30%, #ffffff73, transparent 45%), var(--paper);flex-direction:column;align-items:center;min-height:720px;padding:24px 30px 28px;display:flex;position:relative}.tarot-card-inner:before{content:"";pointer-events:none;border:1px solid #26394dbf;position:absolute;inset:12px}.tarot-card-inner:after{content:"";pointer-events:none;border:1px solid #26394d59;position:absolute;inset:17px}.card-number{z-index:2;letter-spacing:.15em;color:var(--ink);margin-top:3px;font-size:13px;font-weight:700;position:relative}.card-ornament{z-index:2;color:var(--ink);margin-top:5px;font-size:19px;position:relative}.celestial-art{z-index:1;width:min(390px,100%);color:var(--ink);filter:contrast(.95);margin-top:2px;margin-bottom:-5px;position:relative}.celestial-svg{width:100%;height:auto;display:block}.card-title{z-index:2;align-items:center;gap:12px;width:100%;margin-top:-3px;display:flex;position:relative}.card-title h1{text-align:center;letter-spacing:.04em;white-space:nowrap;margin:0;font-size:clamp(25px,6vw,34px);font-weight:400;line-height:1.1}.title-line{background:var(--ink);opacity:.65;flex:1;height:1px}.card-subtitle{z-index:2;color:var(--ink);letter-spacing:.23em;text-align:center;margin:11px 0 0;font-size:11px;font-weight:700;position:relative}.card-description{z-index:2;max-width:330px;color:var(--muted);text-align:center;margin:15px 0 22px;font-size:14px;line-height:1.65;position:relative}.tarot-button{z-index:2;border:1px solid var(--ink);background:var(--ink);min-width:230px;color:var(--paper);letter-spacing:.13em;cursor:pointer;justify-content:center;align-items:center;gap:15px;padding:13px 22px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s,color .2s,transform .2s;display:flex;position:relative}.tarot-button:hover{background:var(--paper);color:var(--ink);transform:translateY(-2px)}.tarot-button:active{transform:translateY(0)}.tarot-button span{font-size:10px}.voting-info{z-index:2;color:var(--muted);letter-spacing:.17em;text-align:center;flex-direction:column;align-items:center;margin-top:20px;font-size:10px;display:flex;position:relative}.voting-info strong{color:var(--ink);letter-spacing:.08em;margin-top:5px;font-size:13px}.bottom-ornament{z-index:2;color:var(--ink);align-items:center;gap:12px;margin-top:auto;padding-top:25px;font-size:14px;display:flex;position:relative}.bottom-ornament span:nth-child(2){font-size:20px}.loading,.error{color:var(--ink);text-align:center}.error h1{font-size:28px}.error p{color:var(--muted)}@media (width<=480px){.tarot-page{padding:14px 10px}.tarot-card{padding:6px}.tarot-card-inner{min-height:680px;padding:21px 22px 24px}.card-title h1{font-size:23px}.celestial-art{width:100%}.card-description{max-width:280px}}.page{background:radial-gradient(circle at 20% 15%, #ffffffa6, transparent 35%), radial-gradient(circle at 80% 85%, #d2c9b438, transparent 40%), var(--paper);min-height:100vh;color:var(--ink);justify-content:center;align-items:flex-start;padding:32px 18px;display:flex;position:relative}.page:before{content:"";opacity:.25;pointer-events:none;background-image:radial-gradient(#26394d0f .7px,#0000 .7px);background-size:5px 5px;position:fixed;inset:0}.registration-card{z-index:1;background:var(--paper);border:2px solid var(--ink);width:min(560px,100%);padding:46px 42px 40px;position:relative;box-shadow:0 12px 30px #26394d1f}.registration-card:before{content:"";border:1px solid var(--ink);opacity:.55;pointer-events:none;position:absolute;inset:8px}.registration-header{z-index:1;text-align:center;margin-bottom:36px;position:relative}.registration-symbol{color:var(--ink);margin-bottom:8px;font-size:18px}.registration-header h1{color:var(--ink);letter-spacing:.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:400}.registration-header p{max-width:360px;color:var(--muted);margin:10px auto 0;font-size:14px;line-height:1.6}.registration-header:after{content:"✦";width:130px;color:var(--ink);border-bottom:1px solid #26394d73;justify-content:center;align-items:center;margin:20px auto 0;padding-bottom:7px;font-size:8px;display:flex}.form-section{z-index:1;margin-bottom:30px;position:relative}.form-section>label:first-child{color:var(--ink);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.form-help{color:var(--muted);margin:-1px 0 13px;font-size:13px;line-height:1.5}.form-section input[type=text]{width:100%;color:var(--ink);background:#fff3;border:1px solid #26394d8c;border-radius:0;outline:none;padding:14px 15px;font-family:Georgia,Times New Roman,serif;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-section input[type=text]:focus{border-color:var(--ink);box-shadow:0 0 0 2px #26394d14}.form-section input[type=text]::placeholder{color:#989087}.photo-upload{border:1px dashed var(--ink);min-height:145px;color:var(--ink);cursor:pointer;text-align:center;background:#26394d06;flex-direction:column;justify-content:center;align-items:center;padding:24px;transition:background .2s,transform .2s;display:flex}.photo-upload:hover{background:#26394d0f;transform:translateY(-1px)}.photo-icon{filter:grayscale();opacity:.75;margin-bottom:10px;font-size:28px}.photo-upload>span:not(.photo-icon){font-size:14px;font-weight:700}.photo-upload small{color:var(--muted);margin-top:6px;font-size:12px}.contest-list{flex-direction:column;gap:9px;display:flex}.contest-option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff1f;border:1px solid #26394d61;border-radius:0;align-items:center;padding:14px 15px;font-family:inherit;transition:background .18s,border-color .18s,transform .18s;display:flex}.contest-option:hover{border-color:var(--ink);background:#26394d0b;transform:translate(2px)}.contest-option.selected{border-color:var(--ink);background:var(--ink);color:var(--paper)}.contest-check{border:1px solid;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:13px;font-size:13px;display:flex}.contest-info{flex-direction:column;gap:4px;display:flex}.contest-info strong{letter-spacing:.02em;font-size:14px}.contest-info small{color:var(--muted);font-size:12px;line-height:1.4}.contest-option.selected .contest-info small{color:#f3eee1b8}.form-error{z-index:1;color:#743f39;background:#8c4d4512;border-left:3px solid #8c4d45;margin-bottom:18px;padding:11px 13px;font-size:13px;line-height:1.5;position:relative}.enter-button{z-index:1;border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--paper);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;border-radius:0;padding:14px 20px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700;transition:background .2s,color .2s,transform .2s;position:relative}.enter-button:hover:not(:disabled){background:var(--paper);color:var(--ink);transform:translateY(-2px)}.enter-button:active:not(:disabled){transform:translateY(0)}.enter-button:disabled{opacity:.38;cursor:not-allowed}.registration-success{z-index:1;border:1px solid var(--ink);width:70px;height:70px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;margin:25px auto;font-size:28px;display:flex;position:relative}@media (width<=600px){.page{padding:12px 9px}.registration-card{padding:38px 27px 32px}.registration-header{margin-bottom:30px}.registration-header h1{font-size:27px}.form-section{margin-bottom:25px}.contest-option{padding:13px}.photo-upload{min-height:130px}}.dashboard-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ink)!important;margin-bottom:6px!important;font-size:10px!important}.dashboard-entry{z-index:1;text-align:center;border:1px solid #26394d66;margin-bottom:30px;padding:18px;position:relative}.dashboard-entry-label{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px;font-size:10px;font-weight:700}.dashboard-entry h2{color:var(--ink);margin:14px 0 0;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:400}.dashboard-photo{object-fit:contain;width:100%;max-height:350px;display:block}.dashboard-photo-placeholder{height:150px;color:var(--ink);background:#26394d0a;justify-content:center;align-items:center;font-size:26px;display:flex}.dashboard-actions{z-index:1;flex-direction:column;gap:10px;display:flex;position:relative}.dashboard-secondary-button{border:1px solid var(--ink);width:100%;color:var(--ink);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;padding:13px 18px;font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:700;transition:background .2s,color .2s}.dashboard-secondary-button:hover{background:var(--ink);color:var(--paper)}.edit-actions{flex-direction:column;gap:10px;display:flex}.entry-type-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.entry-type-option{min-height:100px;color:var(--ink);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #26394d66;flex-direction:column;justify-content:center;align-items:center;padding:12px 8px;font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:700;transition:background .2s,color .2s,transform .2s;display:flex}.entry-type-option:hover{border-color:var(--ink);transform:translateY(-2px)}.entry-type-option.selected{background:var(--ink);color:var(--paper)}.entry-type-symbol{letter-spacing:2px;min-height:25px;margin-bottom:8px;font-size:17px}.automatic-contest{text-align:center;border:1px solid #26394d66;flex-direction:column;align-items:center;padding:22px 16px;display:flex}.automatic-contest>span{margin-bottom:8px}.automatic-contest strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.automatic-contest small{color:var(--muted);margin-top:7px;line-height:1.5}@media (width<=480px){.entry-type-grid{gap:5px}.entry-type-option{min-height:88px;padding:10px 4px;font-size:9px}.entry-type-symbol{font-size:14px}}.edit-cancel-button{width:100%;color:var(--ink-light);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:12px;font-family:Georgia,Times New Roman,serif;font-size:13px}.edit-cancel-button:hover{color:var(--ink);text-decoration:underline}.edit-cancel-button:disabled{opacity:.5;cursor:default}.costume-photo-preview{background:#140f2314;border:2px solid #b7a0cf;border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:300px;height:350px;margin:16px auto;display:flex;overflow:hidden}.costume-photo-preview img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.dashboard-photo{background:#140f2314;border:2px solid #b7a0cf;border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:350px;height:400px;margin:20px auto;display:flex;overflow:hidden}.dashboard-photo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}@media (width<=600px){.dashboard-photo{max-width:100%;height:350px}}.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.vote-card{background:#f5f0e4;border:1px solid #a9a394;border-radius:4px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px;display:flex}.vote-card.selected{background:#e8e5db;border:2px solid #283f55}.vote-costume-name{text-align:center;overflow-wrap:anywhere;min-height:0;margin:0;font-size:1rem;line-height:1.2}.vote-image-container{aspect-ratio:3/4;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.vote-photo{object-fit:contain;border-radius:4px;width:100%;height:100%}.vote-no-photo{color:#777;text-align:center;font-size:.85rem}.vote-button,.vote-own-entry{box-sizing:border-box;text-align:center;border-radius:4px;justify-content:center;align-items:center;width:100%;min-height:30px;margin-top:0;padding:5px 8px;font-family:inherit;font-size:.85rem;display:flex}.vote-button{color:#f5f0e4;cursor:pointer;background:#283f55;border:none}.vote-button:disabled{opacity:.4;cursor:not-allowed}.vote-own-entry{color:#777;border:1px solid #a9a394}@media (width<=400px){.vote-grid{gap:10px}.vote-card{gap:8px;padding:8px}.vote-costume-name{font-size:.9rem}}.vote-category{background:#f5f0e4;border:1px solid #a9a394;border-radius:5px;margin-top:12px;transition:background .2s,border-color .2s;overflow:hidden}.vote-category.has-voted{background:#e7eee7;border-color:#668977}.vote-category-header{color:#283f55;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;display:flex}.vote-category-title{flex:1;min-width:0}.vote-category-title h2{margin:0;font-size:1.15rem}.vote-category-hint,.vote-category-selection{margin:5px 0 0;font-size:.85rem}.vote-category-hint{color:#777}.vote-category-selection{color:#38634c;font-weight:600}.vote-category-chevron{flex-shrink:0;font-size:1.5rem;line-height:1}.vote-category-content{border-top:1px solid #c7c1b4;padding:12px}.vote-category-content .vote-grid{margin-top:0}.vote-empty-category{text-align:center;color:#777;margin:8px 0}
