*{box-sizing:border-box}html{color-scheme:light}body{margin:0;padding:12px;background:transparent;color:#171717;font:15px/1.5 Georgia,serif}button,input,select{font:13px/1.4 ui-monospace,monospace;color:#171717}button{cursor:pointer;background:#e8e5dc;border:1px solid #171717;box-shadow:2px 2px 0 #171717;padding:7px 12px}button:hover{background:#f8f5eb}button:active{box-shadow:none;transform:translate(1px,1px)}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #5b5685;outline-offset:3px}@font-face{font-family:Coustard;src:url('assets/figma/Coustard-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
#main{width:min(100%,270px);margin:auto;container-type:inline-size}
/* Display the 540 × 891 artwork inside the 627 × 1401 export without its transparent canvas margins. The source PNG stays unchanged. */
.tarot-tile{position:relative;aspect-ratio:180/297;color:#030303;font-family:Coustard,Georgia,serif}
.tarot-background-window{position:absolute;inset:0;overflow:hidden;pointer-events:none}.tarot-background{position:absolute;left:-6.296296%;top:-4.377104%;display:block;width:116.111111%;height:157.239057%;max-width:none;image-rendering:pixelated;pointer-events:none}
.tarot-heading{position:absolute;left:8.4%;top:1.75%;width:68%;height:9.65%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0}
.tarot-heading h2{font:400 7.25cqw/1 Coustard,Georgia,serif;letter-spacing:.02em;margin:0;white-space:nowrap}
.tarot-heading small{font:400 5.58cqw/1.3 Coustard,Georgia,serif;letter-spacing:.02em;white-space:nowrap}
.tarot-tile button{border:0;box-shadow:none;background:transparent;padding:0;margin:0;color:inherit}
.tarot-tile button:hover{background:transparent;filter:brightness(1.12)}
.tarot-tile button:active{transform:none;filter:brightness(.9)}
.tarot-tile .tarot-icon-button{display:grid;place-items:center;cursor:pointer;line-height:0}
.tarot-icon-button img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.setup-icon{position:absolute;right:0;top:0;width:14.53%;height:8.28%}
.tarot-tile .tarot-card-button{position:absolute;left:21.67%;top:14.14%;width:63.89%;height:64.98%;display:block;line-height:0}
.tarot-card-image{display:block;width:100%;height:100%;object-fit:contain}.reversed{transform:rotate(180deg)}
.tarot-caption{position:absolute;left:8.89%;top:81.48%;width:90%;height:11.11%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 1.1cqw}
.tarot-card-title{display:flex;align-items:center;justify-content:center;gap:0;max-width:100%;min-width:0;flex-shrink:0}
.tarot-card-title strong{font:400 7.25cqw/1 Coustard,Georgia,serif;letter-spacing:.02em;color:#fff18a;-webkit-text-stroke:1.8px #111;paint-order:stroke fill;text-shadow:.5px .5px #111;white-space:nowrap}
.tarot-card-title strong.long-title{font-size:6cqw}
.tarot-tile .info-icon{width:8.4cqw;height:8.4cqw;flex:none}
.tarot-meaning{font:400 4.5cqw/1.08 Coustard,Georgia,serif;letter-spacing:.01em;margin:0;max-width:100%;white-space:normal;text-wrap:balance;flex-shrink:0}
.tarot-tile .tarot-empty{position:absolute;left:21.67%;top:14.14%;width:63.89%;height:64.98%;color:#d9d9d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font:400 7cqw Coustard,Georgia,serif}.tarot-empty span:first-child{font-size:24cqw}.empty-caption{font-size:6cqw}
dialog{background:#eeece3;border:2px solid #171717;box-shadow:5px 5px 0 #171717;padding:20px;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);color:#171717}dialog::backdrop{background:#0008}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.dialog-top h2{font:normal 24px Georgia,serif;margin:0}.dialog-top button{font-size:22px;padding:0 10px}.tarot-year{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.tarot-year label{display:flex;align-items:center;gap:8px}.tarot-year input{width:82px;padding:7px}.tarot-months{display:grid;gap:12px}.tarot-month-row{display:grid;grid-template-columns:86px minmax(0,1fr) 100px;gap:8px;align-items:center}.tarot-month-row select{width:100%;min-width:0;padding:7px 4px;background:#fffdf7;border:1px solid #777}.tarot-month-row select:disabled{opacity:.5}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.primary{background:#cccbb9}.tarot-detail-image{display:block;width:175px;max-width:65%;height:auto;margin:0 auto 22px}.tarot-details>p{text-align:center}.tarot-detail-section{margin:18px 0}.tarot-detail-section h3{font-size:18px;margin-bottom:8px}.tarot-detail-section ul{padding-left:22px}.tarot-detail-section li{margin-bottom:5px}summary{cursor:pointer}#toast:empty{display:none}#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);max-width:90%;background:#eeece3;border:1px solid #171717;padding:10px 16px;z-index:5;font:13px/1.4 ui-monospace,monospace}#tarot-save-error{color:#8a2525}@media(max-width:440px){.tarot-month-row{grid-template-columns:minmax(0,1fr) 100px}.tarot-month-row label{grid-column:1/-1}}

/* Setup and card library use the same grey panels and pixel edges as the widget. */
[hidden]{display:none!important}button:disabled{cursor:not-allowed;opacity:.5}dialog{font:14px/1.5 Coustard,Georgia,serif;background:#d0d0d0;border:2px solid #141414;box-shadow:inset 2px 2px #fff,inset -2px -2px #777,5px 5px #111;width:min(660px,calc(100% - 24px));padding:18px}.dialog-top{padding-bottom:12px;border-bottom:1px solid #888;margin-bottom:16px}.dialog-top h2{font:400 23px Coustard,Georgia,serif}.dialog-top button{flex:none}dialog button{background:#ddd;box-shadow:inset 1px 1px #fff,2px 2px #555;border:1px solid #444;min-height:32px}dialog button:hover{background:#eee}dialog input,dialog select{background:#f8f8f3;border:1px solid #666;border-radius:0;padding:8px;font:13px ui-monospace,monospace}dialog input[type=radio]{padding:0;accent-color:#423779}.setup-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:16px}.setup-toolbar label{display:flex;gap:8px;align-items:center}.setup-toolbar input{width:86px}.setup-toolbar button{min-width:34px;font-size:20px;padding:2px}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.month-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px!important;min-width:0;text-align:center}.month-label{font:14px Coustard,Georgia,serif}.month-thumbnail{height:94px;max-width:100%;object-fit:contain}.month-tile strong{font:12px/1.3 Coustard,Georgia,serif;overflow-wrap:anywhere}.month-tile small,.month-empty{font-size:10px;color:#494949}.month-placeholder{height:94px;display:grid;place-items:center;font-size:28px;color:#696969}.setup-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px}.setup-actions button:first-child{margin-right:auto}.primary{background:#b9b4cc!important}.form-error{color:#802a2a;font:12px/1.5 ui-monospace,monospace}.form-error:empty{display:none}.storage-copy,.muted{font:11px/1.5 ui-monospace,monospace;color:#464646}.storage-copy{margin:16px 0 0}.back-button{margin-bottom:16px}.picker-selected{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;padding:12px;background:#e1e1dd;border:1px solid #888;margin-bottom:16px}.picker-preview{width:80px;height:140px;object-fit:contain}.picker-placeholder{height:140px;display:grid;place-items:center;font-size:44px}.picker-selected p{margin:0 0 8px}.orientation{border:0;padding:0;margin:10px 0 14px;display:flex;flex-wrap:wrap;gap:10px;font:12px ui-monospace,monospace}.orientation legend{margin-bottom:8px}.orientation label{display:flex;align-items:center;gap:3px}.picker-selected button{font-size:11px;margin:0 6px 6px 0;padding:6px}.picker-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr);gap:12px}.picker-filters label,.file-label{display:flex;flex-direction:column;gap:5px;font:12px ui-monospace,monospace}.picker-filters input,.picker-filters select{width:100%;min-width:0}.card-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.card-choice{padding:7px!important;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px!important;min-width:0}.card-choice img{width:100%;aspect-ratio:3/5;object-fit:contain}.card-choice[aria-pressed=true]{outline:3px solid #625283;outline-offset:0;background:#e7e1f0}.no-results{grid-column:1/-1}.backup-section{padding:14px;border:1px solid #888;margin-bottom:14px;background:#e1e1dd}.backup-section h3{font-size:16px;margin:0 0 8px}.backup-section p{font-size:12px}.file-label input{max-width:100%;font-size:11px}.restore-review{border-top:1px solid #999;margin-top:16px;padding-top:12px}.restore-review button{margin:4px 8px 4px 0}.browse-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.browse-months button{display:flex;flex-direction:column;gap:5px;min-width:0;padding:10px}.browse-months strong{font:14px Coustard,Georgia,serif}.browse-months small{font-size:10px;overflow-wrap:anywhere}.browse-months [aria-current]{background:#c8c1d9}.tarot-heading .month-nav{font:400 5.58cqw/1.3 Coustard,Georgia,serif;letter-spacing:.02em;white-space:nowrap;cursor:pointer}.month-nav:hover{text-decoration:underline}.tarot-card-title{width:100%}.tarot-card-title strong{min-width:0}.tarot-details h3{font-weight:400}.tarot-details .tarot-detail-section{border-top:1px solid #aaa;padding-top:12px}#storage-notice{max-width:400px;margin:12px auto;font:12px/1.5 ui-monospace,monospace;color:#802a2a}#storage-notice:empty{display:none}
@media(max-width:480px){dialog{padding:14px}.year-grid{gap:8px}.month-tile{padding:8px 5px!important}.card-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.picker-selected{gap:12px}.browse-months{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-actions button:first-child{margin-right:0}.setup-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Twelve-card yearly draw; the compact main widget keeps its original size. */
.year-draw-entry{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 0 18px;padding:15px;background:#e2dfe8;border:1px solid #8c8498}
.year-draw-entry span{font:11px/1.5 ui-monospace,monospace;text-align:center;color:#494353}
dialog.year-draw-dialog{width:min(680px,calc(100% - 24px))}
.year-draw .back-button{margin-bottom:10px}
.year-shuffle-stage{height:260px;position:relative;overflow:hidden;border:1px solid #393044;background:radial-gradient(ellipse at center,#4b3b66,#251c36);box-shadow:inset 0 0 40px #0d081b55}
.year-start-card,.year-motion-card{position:absolute;left:50%;top:50%;width:90px;height:147px;translate:-50% -50%;will-change:transform}
.year-start-card:nth-child(1){transform:translate(-88px,8px) rotate(-13deg)}
.year-start-card:nth-child(2){transform:translate(0,-8px)}
.year-start-card:nth-child(3){transform:translate(88px,8px) rotate(13deg)}
.year-card-back{display:block;position:relative;width:100%;height:100%;pointer-events:none}
.year-card-back .year-card-shape{position:absolute;width:220%;height:145%;max-width:none;left:-59%;top:-22%;filter:brightness(0)}
.year-card-back .year-card-art{position:absolute;left:7%;top:5%;width:86%;height:90%;object-fit:cover;border-radius:6% / 4%}
.year-draw-copy{font:14px/1.6 Coustard,Georgia,serif;text-align:center;margin:15px 0}
.year-reversals{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;margin:10px 0}
.year-reversals input{accent-color:#635480}
.year-draw-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0 6px}
.year-draw-actions .primary{min-width:150px}
.year-draw .storage-copy{text-align:center}
.year-month-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0 20px}
.year-month-slot{font:11px/1.4 ui-monospace,monospace;text-align:center;padding:7px 2px;border:1px solid #9c97a4;color:#645d70;background:#e5e2e9}
.year-month-slot.is-picked{color:#254d35;background:#d7e5d4}
.year-month-slot[aria-current]{outline:2px solid #635480;color:#302440}
.year-deck{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,110px);grid-auto-columns:68px;gap:8px;overflow-x:auto;padding:14px 8px 18px;background:#30243f;border:1px solid #453355;scrollbar-color:#bcb2cd #30243f}
dialog .year-deck-card{padding:0;width:68px;height:110px;min-height:0;background:transparent;border:0;box-shadow:none;border-radius:5px}
dialog .year-deck-card:hover{background:transparent;transform:translateY(-4px)}
.year-deck-card.is-picked{visibility:hidden}
.year-deck-card:focus-visible{outline:3px solid #f7df81;outline-offset:1px}
.year-deck-nav{display:flex;justify-content:space-between;align-items:center;margin:10px 0;font:11px ui-monospace,monospace}
#year-deck-seek{width:100%;accent-color:#635480;padding:0}
.year-draw-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.year-result{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;background:#e5e2e9;border:1px solid #9c97a4;padding:8px;min-width:0}
.year-result h3{font:13px Coustard,Georgia,serif;margin:0 0 4px}
.year-result img{width:100%;aspect-ratio:3/5;object-fit:contain;border-radius:4px}
.year-result strong{font:11px/1.4 Coustard,Georgia,serif;overflow-wrap:anywhere}
.year-result small{font:10px/1.4 ui-monospace,monospace;color:#645d70}
@media(max-width:480px){.year-draw-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.year-result{padding:6px}.year-shuffle-stage{height:230px}.year-month-slots{gap:4px}.year-draw-entry{padding:12px 7px}.year-draw-entry span{font-size:10px}}

.year-start-month{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:16px 0}
.year-result button{font-size:11px;margin-top:auto;width:100%;padding:5px}
.year-meaning{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:start;padding:12px 0}
.year-meaning img{width:100%;border-radius:5px}.year-meaning h3{font-weight:400;margin:0 0 8px}.year-meaning p{font-size:12px;color:#51455e}.year-meaning ul{padding-left:18px}.year-meaning li{margin:0 0 10px}
@media(max-width:480px){.year-meaning{grid-template-columns:90px minmax(0,1fr);gap:14px}.year-meaning li{font-size:12px}.year-month-slot{font-size:10px}}

.setup-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 24px}
dialog .setup-choice{display:flex;flex-direction:column;gap:12px;text-align:left;padding:20px;min-width:0}
.setup-choice strong{font:400 18px/1.3 Coustard,Georgia,serif}.setup-choice span{font:12px/1.6 ui-monospace,monospace}
.setup-menu,.saved-meaning-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.setup-menu button{flex:1}
@media(max-width:480px){.setup-choices{grid-template-columns:1fr}.setup-choice{padding:16px!important}}
